修改对象(实体)的定义数据 支持的平台:视窗和 Mac OS 签名(entmod elist)
返回值类型:列出或无 如果成功,则返回提供给它的elist。如果 ifis 无法修改指定的实体,该函数将返回。entmodentmodnil 言论该函数更新elist 中 -1 组指定的实体名称的数据库信息。AutoLISP 更新数据库的主要机制是检索实体、修改定义实体的列表以及更新数据库中的实体。该函数可以修改图形和非图形对象。entmodentgetentmodentmod 函数可以进行的更改存在限制:entmod
您可以将实体的空间可见性字段更改为 0 或 1(视口对象除外)。如果使用修改块定义中的图元,则修改会影响图形中块的所有实例。entmod 在执行负顶点实体之前,应读取或写入折线实体的标头。如果最近处理的折线图元与折点所属的折线图元不同,则宽度信息(40 和 41 组)可能会丢失。entmod 谨慎:可用于修改块定义中的图元,但这样做可能会创建自引用块,这将导致 AutoCAD 停止。entmod
注意:在 AutoCAD 2004 及更高版本中,该函数在颜色操作中具有新的行为。DXF 组代码 62 保存 AutoCAD 颜色索引 (ACI) 值,但代码 420 保存真颜色值。如果真彩色值和 ACI 值冲突,AutoCAD 将使用 420 值,因此在尝试使用代码 62 值之前,应删除代码 420 值。entmod
例子以下命令序列获取实体的属性,然后修改实体。 将变量设置为图形中第一个图元的名称:en1 (setq en1 (entnext)) <Entity name: 2c90520> 设置一个名为实体实体数据的变量:eden1 (setq ed (entget en1)) ((-1 . <Entity name: 2c90520>) (0 . "CIRCLE") (5 . "4C") (100 . "AcDbEntity") (67 . 0) (8 . "0") (100 . "AcDbCircle") (10 3.45373 6.21635 0.0) (40 . 2.94827) (210 0.0 0.0 1.0)) 将图层组从图层 0 更改为图层 1:ed (setq ed (subst (cons 8 "1") (assoc 8 ed) ed )) ((-1 . <Entity name: 2c90520>) (0 . "CIRCLE") (5 . "4C") (100 . "AcDbEntity") (67 . 0) (8 . "1") (100 . "AcDbCircle") (10 3.45373 6.21635 0.0) (40 . 2.94827) (210 0.0 0.0 1.0)) 修改图形中图元的图层:en1 (entmod ed)((-1 . <Entity name: 2c90520>) (0 . "CIRCLE") (5 . "4C") (100 . "AcDbEntity") (67 . 0) (8 . "1") (100 . "AcDbCircle") (10 3.45373 6.21635 0.0) (40 . 2.94827) (210 0.0 0.0 1.0)) |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2024-12-15 14:38
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.