autocad下绘制直线对称中心线的方法

autocad下绘制直线对称中心线的方法

ID:12795097

大小:26.00 KB

页数:6页

时间:2018-07-19

autocad下绘制直线对称中心线的方法_第1页
autocad下绘制直线对称中心线的方法_第2页
autocad下绘制直线对称中心线的方法_第3页
autocad下绘制直线对称中心线的方法_第4页
autocad下绘制直线对称中心线的方法_第5页
资源描述:

《autocad下绘制直线对称中心线的方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、AutoCAD下绘制直线对称中心线的方法  AutoCAD是目前国内应用最广范的CAD系统之一,AutoCAD功能强大,是一个通用的CAD平台,但是如果不根据本专业的需要进行二次开发,使用起来是很不方便的。画对称中心线是机械设计中经常遇到的一个问题。  笔者用AutoLISP依据国家标准开发了两个程序,可以很方便地解决直线对称中心线的问题。  第一个程序适用于两条边是连续直线的情况。使用方法是:用LOAD命令装入GLS.LSP,运行C:GSL,依据屏幕提示,分别选择两边,自动绘制出中心线。GSL.LSP:(defunmid(pt1p

2、t2)计算两点之中点的功能函数(setqpt(mapcar'+pt1pt2))(setqpt(mapcar'/pt'(222))))(defunc:gsl/mcl1clcl2eptpt1pt2pt3pt4a) (SETQM1) (WHILEM  (SETQCL1(ENTSEL"选择第一条直线"))  (cond   ((notcl1) (prompt"没有发现实体"))  ((/="LINE"(cdr(assoc0(setqe(entget(carcl1))))))(prompt"所选不是直线")  )  (t(prom

3、pt"找到了第一条直线”)   (setqmnil);退出循环  ) ))(setqcl(ssget(nth0(cdrcl1))));取得第一条直线的实体数据(SETQM1)(WHILEM (SETQCL2(ENTSEL"选择第二条直线")) (ifcl2  (if(ssmemb(carcl2)cl)    (progn     (princ"选择重复,重新选择")     (setqcl2nil)    )  ) ) (cond  ((notcl2)(prompt"没有发现实体或重复")) ((/="LINE"(cdr(a

4、ssoc0(setqe(entget(carcl2))))))     (prompt"所选不是直线")  )  (t(prompt"两条直线已经选择完毕")   (setqmnil);;;退出循环  ) ) );;;取得第一直线两端点的坐标 (setqpt1(cdr(assoc10e))pt2(cdr(assoc11e))) (setqe(entget(carcl1)));;取得第二条直线的实体数据;;;取得第二直线两端点的坐标 (setqpt3(cdr(assoc10e))pt4(cdr(assoc11e)));;调整端

5、点 (if(interspt1pt3pt2pt4t)  (setqptpt1     pt1pt2    pt2pt  ) );;;计算两端中点坐标 (setqpt1(midpt1pt3)) (setqpt2(midpt2pt4)) (setqa(anglept1pt2));计算中心线的倾角 (setqpt2(polarpt2a2.5));;计算中心线的第一个端点 (setqpt1(polarpt1(+pia)2.5)) (command"layer""SET"5"");;设置中心线层 (command"line"pt1pt2"")

6、;;画出中心线)(princ"C:GSLhasloaded")(Princ"forsymmetryline")(princ)  第二个程序适用于阶梯轴,阶梯孔等各种情况。使用方法是:用LOAD命令装入GLS1.LSP,运行C:GSL1,依据屏幕提示,分别选择两边的端点,自动绘制出中心线。GSL1.LSP(defunmid(pt1pt2)  (setqpt(mapcar'+pt1pt2))  (setqpt(mapcar'/pt'(222))))(defunc:gsl1(/p1p1p3p4a) ;;保存环境变量 (setqos

7、(getvar"osmode")) (setqcm(getvar"cmdecho")) ;;设置环境变量 (setvar"osmode"33) (setvar"cmdecho"0) ;;依次读取两条直线的端点 (initget1) (setqp1(getpoint"选择第一条直线的第一个点")) (initget1) (setqp2(getpoint"选择第一条直线的第二个点")) (initget1) (setqp3(getpoint"选择第二条直线的第一个点")) (initget1) (setqp4(getpoin

8、t"选择第二条直线的第二个点")) ;;;;恢复环境变量 (setvar"osmode"os) (setqp1(midp1p3)) (setqp2(midp2p4)) (setqa(anglep1p2)) (setqp2(pola

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。