利用AutoLISP管理图形数据库课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《利用AutoLISP管理图形数据库课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 利用 AutoLISP 管理 图形 数据库 课件
- 资源描述:
-
1、5.1 选择集的处理所谓选择集是指图形中选定的部分图元或所有图元的集合。Auto LISP提供了选择以下六种有关选择集的处理函数:1)ssget-创建选择集2)ssadd-把图元加到选择集中3)ssdel-从选择集中删除图元4)sslength测定选择集中的图元数5)ssname-从选择集中获取图元名6)ssmemb-测试图元是否为选择集成员5.1.1 创建选择集n调用格式1:(ssget 方式 点1 点2)有如下形式:n1)(ssget)不带任何参数,请求进行一般图元选择。n2)(ssget (20 35)-选择通过点“20,35”的图元。n3)(ssget “L”)-选择最新加入数据库的图
2、元。n4)(ssget “P”)-选择前一次已选择过的图元。n5)(ssget “W”(0 0)(5 5)-选择窗口内的图元。n6)(ssget “C”(0 0)(5 5)-选择窗口涉及的图元。n7)(ssget “wp”点1 点2)-多边形窗口方式选择。n8)(ssget “cp”点1 点2)-多边形窗叉方式选择。n9)(ssget “F”点1 点2)-折线方式选择。n10)(ssget “X”)-选择全部图元。调用格式2:(ssget “X”过滤表)n例如:n(ssget“x”(0 .“CIRCLE”)-选择所有的圆。n(ssget “x”(8 .“3”)-选择层3上的所有图元。n(ssg
3、et “x”(0 .“CIRCLE”)(8 .“3”)(62 .1)n-选择层3上红颜色的圆。n说明:n1)用ssget函数只能选择主图元,而不能选择子图元。n2)选择集可以保存于AutoLISP变量中。如:n(setq s1(ssget “x”(0 .“LINE”)(8.“3”)n3)选择集中的图元是唯一的。n4)当前图形中建立的选择集数量不能多于128个,如果超过这个极限,则ssget函数将返回nil。过滤DXF码组码 意义 数据类型 应用0 图元类型 字符串 (0 .“CIRCLE”)2 插入块名 字符串 (2 .“BLOCK”)3 尺寸图元方式 字符串 (3 .“TOLERANCE”)
4、6 线形名 字符串 (6 .“CONTINUOUS”)7 字型名 字符串 (7 .“STANDARD”)8 层名 字符串 (8 .“BLOCK”)38 标高 实型 (38 .5.0)39 厚度 实型 (39 .8.0)62 颜色号 整型 (62 .1)构造选择集举例:(setq a1(ssget (0 .“TEXT”);选择文本加入选择集(setq a2(ssget (0 .“LINE”);选择线图元加入选择集(setq a3(ssget “L”(0 .“CIRCLE”);选择最近画的一个圆(setq a4(ssget “P”(8 .“1”);选择前一个选择集中1层上 的 图 元(setq a
5、5(ssget “X”(62 .3);选择绿色图元加入选择集(setq a6(ssget “X”(0 .“CIRCLE”)(8 .“2”)(62 .1);选择2层上红色圆加入选择集(1)通配符模式n过滤器序列中指定的符号名称可包含通配符模式,常用的通配符如下:n?匹配任何单个字符n 匹配任何单个字母n#匹配任何单个数字n.匹配除字母和数字之外的任何单个字符n*匹配任何字符串,包括null串n-匹配连字符范围内的字符,如1-5n通配符可单独使用,也可组合使用,其中最常用的是“*”n和“?”。例如:n(setq s(ssget“X”(8.“A*”);表示层名第一个子母为A的所有层均被加入选择集。(
6、2)关系测试n=等于n!=/=不等于n 大于n=大于等于n*恒为真n&位与n&=位屏蔽n例如:(setq s(ssget“X”(0.“CIRCLE”)(-4.”)n(40.20.0);所有半径大于20的圆加入选择集。(3)逻辑分组n通过应用逻辑分组运算符,可以创建更为复杂的多层嵌套关系测试。n逻辑分组运算符如下:n 与运算,测试一个或多个DXF组n 或运算,测试一个或多个DXF组n 异或运算,测试两个DXF组n 非运算,测试一个DXF组n例如:n(setq s(ssget“X”(-4.“”)n表示创建由1层或2层上的图元组成的选择集。5.1.2 操作选择集n1)(ssadd 图元名选择集);向
7、选择集中加入图元n建立空集-(setq s1(ssadd)n建立只有一个图元的选择集-n (setq s2(ssadd 图元名)n2)(ssdel 图元名选择集);从选择集中删除图元n3)(sslength 选择集);获取选择集中图元个数(说明:使用sslength应保证所构造的选择集不为nil.)n4)(ssname 选择集序号);获取选择集中图元名n5)(ssmemb 图元名选择集);测试指定图元是否为 n 选择集中成员。是则返回该图元名,否则返回nil.n若要释放选择集s,可执行:(setq s nil)5.1.3 选择集操作函数实例n例1:选择屏幕上要保留的图形,删除其它为被选种的图形
8、。n(defun c:remainder(/s1 s2 s3 n ent)n(setq s1(ssget)s2(ssget“x”)n(if(not s1)(command“erase”s2“”)n (progn(setq s3(ssadd)n 0)n (repeat(sslength s2)(setq ent(ssname s2 n)n (if(not(ssmemb ent s1)(ssadd ent s3)n (setq n(1+n);repeatn (command“erase”s3“”“redraw”);progn n);ifn);end例2:改变现行图形中所有文本的尺寸大小n(defu
展开阅读全文