CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 文档中心

entmod(AutoLISP)

2023-1-7 20:53| 发布者: admin| 查看: 475| 评论: 0|来自: AutoCAD

摘要: 修改对象(实体)的定义数据

修改对象(实体)的定义数据

支持的平台:视窗和 Mac OS

签名

(entmod elist)
电子列表

类型:列表

采用类似于函数返回的格式的实体定义数据。entget

对于具有浮点值(如厚度)的实体字段,接受整数值并将其转换为浮点。同样,如果为整数实体字段(如颜色编号)提供浮点值,则会截断该值并将其转换为整数。entmodentmod

返回值

类型:列出或无

如果成功,则返回提供给它的elist。如果 ifis 无法修改指定的实体,该函数将返回。entmodentmodnil

言论

该函数更新elist 中 -1 组指定的实体名称的数据库信息。AutoLISP 更新数据库的主要机制是检索实体、修改定义实体的列表以及更新数据库中的实体。该函数可以修改图形和非图形对象。entmodentgetentmodentmod

函数可以进行的更改存在限制:entmod

  • 无法更改实体的类型和句柄。如果要执行此操作,请使用删除实体,然后使用 theorfunction 创建一个新实体。entdelcommandentmake
  • 该函数不能更改内部字段,例如 seqend 实体的 -2 组中的实体名称。更改此类字段的尝试将被忽略。entmod
  • 不能使用该函数修改视口实体。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))

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-19 12:24

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部