实体数据函数对图形所做的更改将反映在图形屏幕上,前提是要删除、取消删除、修改或创建的实体位于当前可见的区域和图层上。 有一个例外;修改子实体时,它不会更新整个(复杂)实体的图像。例如,如果应用程序使用 100 次调用修改旧式折线的 100 个顶点,则重新计算和重新显示整个折线所需的时间非常慢。相反,应用程序可以执行一系列子实体修改,然后通过对函数的单个调用重新显示整个实体。entmodentmodentupd 请考虑以下几点;如果当前图形中的第一个图元是具有多个折点的旧式折线,则以下代码将修改折线的第二个折点并重新生成其显示。 (setq e1 (entnext)) ; Sets e1 to the polyline's entity name. (setq v1 (entnext e1)) ; Sets v1 to its first vertex. (setq v2 (entnext v1)) ; Sets v2 to its second vertex. (setq v2d (entget v2)) ; Sets v2d to the vertex data. (setq v2d (subst '(10 1.0 2.0 0.0) (assoc 10 v2d) ; Changes the vertex's location in v2d v2d ; to point (1,2,0). ) ) (entmod v2d) ; Moves the vertex in the drawing. (entupd e1) ; Regenerates the polyline entity e1. 的参数可以指定主实体或子实体。无论哪种情况,都会重新生成整个实体。虽然它的主要用途是复杂图元,但可以再生当前图形中的任何图元。entupdentupdentupd 注意:要确保块参照的所有实例都已更新,必须通过调用 AutoCAD REGEN 命令(使用 )来重新生成图形。如果修改后的实体位于块定义中,则该函数是不够的。commandentupd
相关概念父主题: |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2024-12-15 14:34
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.