AutoLISP 例程必须获取对象的实体名称,才能对实体数据或选择集函数进行后续调用。 Theandfunctions 提示用户以交互方式选择绘图区域中的对象,并不仅返回所选对象的实体名称,还返回供例程使用的其他信息。该函数返回所选对象的实体名称以及单击输入设备上的指针按钮时选取框的中心。entselnentselentsel 某些实体操作需要知道选择对象的点。现有 AutoCAD 命令集中的示例包括:中断、修剪和扩展。该函数返回与该函数相同的信息,除非选择了复合体,例如折线或块。如果这两个函数前面有调用 to 的关键字,则它们都接受关键字。nentselentselinitget 该函数按顺序检索实体名称。调用 ifis 时不带参数,它返回图形数据库中第一个实体的名称。如果其参数是当前图形中图元的名称,则返回后续图元的名称。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 )
GMT+8, 2024-5-19 15:56
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.