欢迎来到天天文库
浏览记录
ID:43484463
大小:361.32 KB
页数:23页
时间:2019-10-07
《CAD中心线命令zx加载程序语言》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、CAD中心线命令“zx”加载程序将以下程序字段复制粘贴到文本中,把文本格式改为.lsp格式,然后CAD进行加载(工具-AUTOLISP-加载应用程序,)选中文件加载即可。程序段中文字标明可修改的部分,可以根据需要进行修改。Q1105532703留言解决问题。CAD命令”zx”,回车,选中图块确认,(单个或多个可选)效果如图:;主程序(defunc:zx;中心线v1.3(命令“zx”可以修改的)(/ssss2ss3sslenllentypeminpmaxpcen_pocen_ucen_dcen_fxc
2、en_zxenen1nsi_sicolltlaysc1sc2sc3sc4p1p2p3p4p5p6p7p8p9ang1ang2p5p6rrobjcrdrlstptlstsscirlst2d1d2d3d4sameptlenlst3lst4p55)(defunfy-LineFormat;线的格式(objlayltsccol/qm40);图元名/obj对象图层线型圆0.8/线0.4颜色(vl-load-com)(if(=(typeobj)'ENAME)(setqobj(vlax-ename->vla-obj
3、ectobj)))(vla-put-layerobjlay)(vla-put-Linetypeobjlt)(vla-put-Colorobjcol)(setqqm40(cdr(assoc40(tblsearch"ltype"lt))))(if(and(/=qm400)(/=sc0))(vla-put-LinetypeScaleobj(*(vla-get-Lengthobj)(/scqm40(getvar"LTSCALE")))))(vla-updateobj)(princ))(defun2Line-
4、center;两线中心线(en1en2/p1p2p3p4p5p6ang1ang2p1_2p3_4)(setqp1(vlax-curve-getstartpointen1)p2(vlax-curve-getendpointen1)p3(vlax-curve-getstartpointen2)p4(vlax-curve-getendpointen2)p5(intersp1p2p3p4nil))(cond(p5;不平行(ifsi_si;交叉线(progn;点选(setqd1(vlax-curve-getc
5、losestpointtoen1(cadr(nth3(carssx)))))(setqd2(vlax-curve-getclosestpointtoen2(cadr(nth3(cadrssx)))))(if(=(rtos(anglep5d1)28)(rtos(anglep5p1)28))(setqd3p1)(setqd3p2))(if(=(rtos(anglep5d2)28)(rtos(anglep5p3)28))(setqd4p3)(setqd4p4))(setqang1(anglep5d3))(
6、setqang2(anglep5d4))(setqp6(polarp5(-(maxang1ang2)(/(abs(-ang1ang2))2))1))(setqp6(intersp5p6d3d4nil))(setqp6(polarp5(anglep5p6)(+(distancep5p6)(*(distancep5p6)sc2))))(fy-LineFormat(makelinep5p6)layltsc4col))(progn;窗选(setqsameptlen(length(vl-removenil(l
7、ist(equalp1p51e-8)(equalp2p51e-8)(equalp3p51e-8)(equalp4p51e-8)))))(cond((and(intersp1p2p3p4)(=sameptlen0));交叉线(setqang1(anglep5p1))(setqang2(anglep5p3))(setqang3(anglep5p2))(setqang4(anglep5p4))(setqp6(polarp5(-(maxang1ang2)(/(abs(-ang1ang2))2))1))(se
8、tqp7(polarp5(-(maxang2ang3)(/(abs(-ang2ang3))2))1))(setqp8(polarp5(-(maxang3ang4)(/(abs(-ang3ang4))2))1))(setqp9(polarp5(-(maxang4ang1)(/(abs(-ang4ang1))2))1))(setqp6(intersp5p6p1p3nil))(setqp7(intersp5p7p3p2nil))(setqp8(intersp5p8p2p4n
此文档下载收益归作者所有