python二次开发cad教程 cad 二次开发教程
2.11.2 操作选择集
1.向选择集中加入图元
( ssadd name ss) 函数用于向选择集中加入图元 , 函数返回加入新图元后的选择集 。如果不带任何变元参数时(ssadd)表示建立一个空的选择集 , 只带name参数时 , 表示建立只包含名为name图元的选择集 。如果带2个参数 , 表明将name图元加入到指定的选择集中 , 若选择集中已有此图元 , 则忽略添加请求 , 并且不报告错误 。
ssadd创建的选择集可以包含图纸空间的图元 , 也可包模型空间的图元 , 我们也可在应用程序中用DXF组码的67位码过滤 , 去掉不需要的图元 , 67组码值为1 , 指定图元处理图纸空间 。
2.从选择集中删除图元
(ssdel name ss)从选择集ss中删除名称为name的图元 。
3.获取选择集中的图元数目
(sslength ss)
4.访问选择集图元
(ssname ss n) , 返回选择集中第n个图元名 , 序号为从0开始计数的整数 。
(ssanme ss0) 第一个图元;
(ssanme ss l-1) l为图元数目 , 返回最后一个图元名 。
5.测试某个图元是否在选择集中
(ssmemb name ss) , 存在返回图元名 , 不存在返回nil 。
6.删除选择集 , 释放内存 。(setq ss nil)
2.11.3 应用实例
因为比较重要 , 现具体说2个实例 。
例1:选择屏幕上要保留的图形 , 删除其它未被选中的图形 。
(defun c:delnot( / ss1 ss2 ss3 n ent)
(setq ss1 (ssget) ss2 (ssget “X”) )
(if (not ss1)
(command “erase” ss2 “”)
(progn
(setq ss3 (ssadd) n 0 )
(repeat (sslength ss2 )
(setq ent (ssname ss2 n))
(if (not (ssmemb ent ss1))
(ssadd ent ss3)
)
(setq n (1+ n))
【python二次开发cad教程 cad 二次开发教程】)
(command “erase” ss3 “” “redraw”)
)
)
)
例2:改变现行图形中所有文本尺寸大小 。
(defun c:change( / a ts n index b1 b c d b2)
(setq a (ssget “X” ‘((0 . “TEXT”))))
(setq ts (getdist “\n输入新的文本大小:”))
(setq n (sslength a))
(setq index 0)
(repeat n
(setq b1 (entget (ssname a index)))
(setq index (1+ index))
(setq c (assoc 40 b1))
(setq d (cons (car c) ts))
(setq b2 (subst d c b1))
(entmod b2)
)
(princ)
)
推荐阅读
- 永久免费正版cad类软件安装教程 cad破解器怎么使用
- 计算机专业学习Python的意义 python学习入门教程
- 看懂cad图纸教程 如何看cad图纸尺寸
- 正则表达式语法大全 python正则表达式语法大全
- 用python处理excel数据 python提取数据指定列
- python图形化编程工具 matplotlib数据可视化
- cad坐标画图操作方法 cad画点命令快捷键
- cad隐藏的工具栏恢复 cad菜单栏怎么调出来快捷键
- 浩辰cad和autocad区别 cad对比度怎么设置
- cad等比例缩放操作方法 cad等比例缩小步骤