sssetfirst (AutoLISP)
设置选择和抓取哪些对象 支持的平台:Windows 和 Mac OS 签名(sssetfirst gripset [pickset])
返回值类型:列表 指定的一个或多个选择集。 言论gripset 参数将被忽略;PickSet 指定的对象的选择集被选中并夹持。 您负责创建有效的选择集。例如,您可能需要验证选择集中是否不包括背景纸空间视口(DXF 组代码 69)。您可能还需要确保所选对象属于当前布局,如以下代码所示: (setq ss (ssget (list (cons 410 (getvar "ctab"))))) 例子首先,画一个正方形并构建三个选择集。首先绘制边 1 并创建一个选择集以包含绘制的线: (entmake (list (cons 0 "line") '(10 0.0 0.0 0.0)'(11 0.0 10.0 0.0))) ((0 . "line") (10 0.0 0.0 0.0) (11 0.0 10.0 0.0)) (setq pickset1 (ssget "_l")) <Selection set: a5> 变量指向创建的选择集。pickset1 绘制侧 2 并将其添加到选择集中:pickset1 (entmake (list (cons 0 "line") '(10 0.0 10.0 0.0)'(11 10.0 10.0 0.0))) ((0 . "line") (10 0.0 10.0 0.0) (11 10.0 10.0 0.0)) (ssadd (entlast) pickset1) <Selection set: a5> 创建另一个选择集以仅包含第 2 侧: (setq 2onlyset (ssget "_l")) <Selection set: a8> 绘制侧 3 并将其添加到选择集中:pickset1 (entmake (list (cons 0 "line") '(10 10.0 10.0 0.0)'(11 10.0 0.0 0.0))) ((0 . "line") (10 10.0 10.0 0.0) (11 10.0 0.0 0.0)) (ssadd (entlast) pickset1) <Selection set: a5> 创建另一个选区,并在选区集中包括第 3 侧: (setq pickset2 (ssget "_l")) <Selection set: ab> 变量指向新的选择集。pickset2 绘制第 4 侧并将其添加到 和 选择集中:pickset1pickset2 (entmake (list (cons 0 "line") '(10 10.0 0.0 0.0)'(11 0.0 0.0 0.0))) ((0 . "line") (10 10.0 0.0 0.0) (11 0.0 0.0 0.0)) (ssadd (entlast) pickset1) <Selection set: a5> (ssadd (entlast) pickset2) <Selection set: ab> 此时,包含第 1-4 侧,包含第 3 侧和 4,仅包含第 2 侧。pickset1pickset22onlyset 打开手柄并选择以下所有对象:pickset1 (sssetfirst nil pickset1) (nil <Selection set: a5>) 打开手柄并选择以下所有对象:pickset2 (sssetfirst nil pickset2) (nil <Selection set: ab>) 打开手柄并选择以下所有对象:2onlyset (sssetfirst nil 2onlyset) (nil <Selection set: a8>) 每次调用都会替换上一次调用中抓取和选择的选择集。sssetfirstsssetfirst 注意:当AutoCAD正在执行命令时,请勿调用。sssetfirst
相关概念 |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2024-12-15 11:48
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.