关于访问对象的实体名称 (AutoLISP) 
AutoLISP 例程必须获取对象的实体名称,才能对实体数据或选择集函数进行后续调用。 和 函数提示用户以交互方式选择绘图区域中的对象,不仅返回所选对象的实体名称,还返回例程使用的附加信息。该函数返回所选对象的实体名称和单击输入设备上的指针按钮时选择框的中心。entselnentselentsel 某些实体操作需要了解选择对象的点。现有 AutoCAD 命令集中的示例包括:BREAK、TRIM 和 EXTEND。该函数返回与函数相同的信息,除非选择了复合体(如折线或块)。如果这两个函数前面都带有对 的调用,则这两个函数都接受关键字。nentselentselinitget 该函数按顺序检索实体名称。如果不带参数调用,则返回图形数据库中第一个图元的名称。如果其参数是当前图形中某个图元的名称,则返回后续图元的名称。entnextentnextentnext 该函数检索数据库中最后一个实体的名称。最后一个实体是最近创建的主实体,因此可以调用该实体来获取刚刚通过调用 创建的实体的名称。entlastentlastcommand 您可以将返回的实体名称设置为传递给此函数的相同变量名称。这将“遍历”单个实体名称变量,如以下示例代码所示:entnext (setq one_ent (entnext))         ; Gets name of first entity.
(while one_ent
..
                                 ; Processes new entity.
.
(setq one_ent (entnext one_ent))
)                                ; Value of one_ent is now nil.
下面的示例代码演示了如何结合使用以创建选择集并将成员添加到现有集。ssaddentnext (setq e1 (entnext))
(if (not e1)                           ; Sets e1 to name of first entity.
  (princ "\nNo entities in drawing. ")
  (progn
    (setq ss (ssadd))                  ; Sets ss to a null selection set.
    (ssadd e1 ss)                      ; Returns selection set ss with e1 added.
    (setq e2 (entnext e1))             ; Gets entity following e1.
    (ssadd e2 ss)                      ; Adds e2 to selection set ss.
  )
)
    相关概念父主题: | 
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1   苏公网安备32011402011833)
GMT+8, 2025-11-4 14:07
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.