entmod (AutoLISP)
修改对象(实体)的定义数据 支持的平台:Windows 和 Mac OS 签名(entmod elist)
返回值类型:列出或无 如果成功,则返回提供给它的 elist。如果无法修改指定的实体,则函数返回 。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> 设置一个名为 entity data 的变量: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, 2025-3-14 08:40
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.