欢迎来到天天文库
浏览记录
ID:37904661
大小:43.00 KB
页数:4页
时间:2019-06-02
《VISUAL LISP 学习笔记》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、图层管理1解锁所有图层1解冻所有图层1多义线1修改等高线高层1VISUALLISP关于点的命令3图层管理解锁所有图层(defunUnLock_All_Layers()(vlax-forn(vla-get-layers(vla-get-ActiveDocument(vlax-get-acad-object)))(vla-put-lockn:vlax-false)))解冻所有图层(defunUnFreeze_All_Layers()(vlax-forn(vla-get-layers(vla-get-ActiveDocument(vlax-get-acad-object
2、)))(if(/=(vla-get-namen)(getvar"clayer"));;也可以用(not(equal(vla-get-activelayeradoc)item))判断(vla-put-Freezen:vlax-false))))多义线修改等高线高层(defunggcZ(KZzhizhi2/ssss4aenendn)(Setqss(Ssget));;;返回一个对象(图元)选择集(ifss(progn(setqss4(sslengthss));;;求选择集的长度(setqn0)(while(/=ss4n)(setqen(ssnamessn));;;从选择
3、集中选择第n个对象(setqend(entgeten))(setqa(cdr(assoc0end)))(if(=a"LWPOLYLINE")(progn(setqend(subst(cons38zhi)(assoc38end)end))(entmodend)))(setqn(+n1))(if(/=(strcasekz)"A")(SETQZHI(+ZHIZHI2)))))(princ"未选中目标")))(defunc:ggc()(setqb(getstring"单线修改或全修改(AORS)"))(IF(=b"")(SETQb"A"))(if(=b"A"
4、)(progn(setqa(getreal"高程欲修改成?<0>"))(ifa()(setqa0))(SETQA20))(progn(setqa(getreal"起始高程欲修改成?<0>"))(SETQA2(getreal"高程增量?<5>"))(ifa()(setqa0))(ifa2()(setqa25))))(ggcZBaa2));;改多义线高程---------------------无痕.2004.1;(chel)(defunchel()(setqelv(getdist"新高程:"))(while(and(princ"选则高程多义线(回
5、车退出):")(setqss(ssget'((0."*polyline")))))(setqssv(vla-get-activeselectionset(vla-get-activedocument(vlax-get-acad-object))))(vlax-forobjssv(vlax-putobj'Elevationelv))))VISUALLISP关于点的命令1、定义点信息(1)普通定义方式 (setqpt'(2.03.00.0)) ;定义点坐标为(2,3,0),注意此时pt后要加单引号 (setqpt(quote(2.03.00.0))
6、;QUOTE函数和'的含义相同(2)参数定义方式 如果点坐标为变量参数,则定义方式为 (setqpt'(listxyz)) 例如 (setqx2.0y3.0z0.0) (setqpt(listxy)) ;注意此时pt后不能加单引号 结果 pt=(2.0,3.0) LIST函数:将任意数目的表达式组合成一个表,本函数常用于定义二维或三维点变量(由两个或三个实数组成的表) 类似命令:APPEND函数:将任意多个表组合成一个表2、点坐标的提取(1)提取点的X坐标 CAR (setqx_val(ca
7、rpt)) (carlist)返回list中的第一个元素(2)提取点的Y坐标CADR (setqy_val(cadrpt)) (cadrlist)返回list中的第二个元素(3)提取点的Z坐标CADDR (caddrlist)返回list中的第三个元素(4)CAR与CDR AutoCAD允许CAR与CDR多重嵌套(4层),CAR表示提取第1个值,CDR表示删除第1个值。嵌套过程从后向前,如CDDR表示(cdr(cdrx)),则对x列表删除前两个值。若x=(5589),则(cddrx)=(89);CADR表示(car(cdrx)),(c
8、adrx)
此文档下载收益归作者所有