CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2021 开发者帮助

关于修改选择集 (AutoLISP)

2024-5-18 18:28| 发布者: admin| 查看: 115| 评论: 0|原作者: admin|来自: AutoCAD

关于修改选择集 (AutoLISP)

创建选择集后,可以使用 和 向其添加实体或从中删除实体。ssaddssdel

您可以使用该函数创建新的选择集或将实体添加到现有选择集。下面的示例代码创建一个选择集,其中包括当前图形中的第一个和最后一个图元 ( 和 ):ssaddentnextentlast

(setq fname (entnext))                 ; Gets first entity in the drawing.
(setq lname (entlast))                 ; Gets last entity in the drawing.
(if (not fname)
  (princ "\nNo entities in drawing. ")
  (progn
    (setq ourset (ssadd fname))        ; Creates a selection set 
                                       ; of the first entity.
    (ssadd lname ourset)               ; Adds the last entity to 
                                       ; the selection set.
  )
)

即使数据库中只有一个实体(在这种情况下,两个实体都将其参数设置为相同的实体名称),该示例也能正确运行。如果传递了选择集中已有的实体的名称,则会忽略该请求,并且不会报告错误。entnextentlastssadd

下面的示例代码从上一示例中创建的选择集中删除第一个实体:

(ssdel fname ourset)

如果图形中有多个图元(即,如果 和 不相等),则选择集仅包含图形中的最后一个图元。fnamelnameoursetlname

该函数返回选择集中的实体数,并测试特定实体是否是选择集的成员。最后,该函数使用选择集中的索引返回选择集中特定实体的名称(选择集中的实体从 0 开始编号)。sslengthssmembssname

以下示例代码显示了对 的调用:ssname

(setq sset (ssget))                     ; Prompts the user to create
                                        ; a selection set.
(setq ent1 (ssname sset 0))             ; Gets the name of the first
                                        ; entity in sset.
(setq ent4 (ssname sset 3))             ; Gets the name of the fourth
                                        ; entity in sset.
(if (not ent4)
  (princ "\nNeed to select at least four entities. ")
)
(setq ilast (sslength sset))            ; Finds index of the last
                                        ; entity in sset.
                                        ; Gets the name of the last
                                        ; entity in sset.
(setq lastent (ssname sset (1- ilast)))

无论如何将实体添加到选择集中,该集都不会包含重复的实体。如果多次添加同一实体,则忽略以后添加的内容。因此,准确返回指定选择集中非重复图元的数量。sslength


路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2024-12-15 23:59

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部