在图形中创建一个新图元
(entmake [elist])
entmake 函数能够定义图形或非图形对象。
参数
elist
图元定义数据表,其格式与 entget 函数所返回表的格式相似。elist 参数必须包含创建图元的全部必要数据。如果省略了任何一个必须的定义数据,该函数就会返回 nil 并拒绝创建该图元。如果省略了可选的定义数据(如图层),entmake 使用缺省值。
图元类型(如 CIRCLE 或 LINE)必须是 elist 参数所指的表中的第一项或第二项。如果是第二项,那么第一项必须是图元名。在这种情况下,entmake 函数创建新图元时会忽略图元名。如果 elist 参数中包含了图元句柄,该句柄也会被忽略。
返回值
如果成功,则 entmake 返回定义数据的图元表。如果 entmake 无法创建图元,则返回 nil。
块定义完成后(对 endblk 使用 entmake)返回块名,而不是通常返回的图元表。关于定义块的详细信息,请参见 《Visual LISP 开发人员手册》中的创建复杂图元。
示例
下面的代码创建一个红色的圆 (color 62),圆心为 (4,4),半径为 1。可选的图层和线型选项都被省略了,因此假设其为缺省值。
命令: (entmake '((0 . "CIRCLE") (62 . 1) (10 4.0 4.0 0.0) (40 . 1.0)))
((0 . "CIRCLE") (62 . 1) (10 4.0 4.0 0.0) (40 . 1.0))
使用说明
不能使用 entmake 创建视口对象。
只有插入图元才承认 66 组码,表示属性跟随。多段线的 66 组码被强制性地置为 1 以表示顶点跟随,其他图元该组码的缺省值为 0。紧随多段线图元后的只能是顶点图元。
调用 entmake 函数时,尺寸图元的组码 2(块名部分)是可选的。如果在图元定义数据表中省略了块名,AutoCAD 将创建一个新块;否则它用提供的块名创建尺寸。
由于历史原因,entmake 忽略以下图元类型的 DXF 组码 100:
参阅
entdel、 entget、 entmod 和 handent 函数。《AutoLISP开发人员手册》中的 图元数据函数 介绍在图形中创建图元的其他信息, 向图形中添加图元专门介绍 entmake 的使用, 创建复杂图元介绍创建复杂图元的信息。
明经通道 版权所有 未经许可 不得传播 | 评论 |