资源描述:
AutoCAD下绘制直线对称中心线的方法 AutoCAD是目前国内应用最广范的CAD系统之一,AutoCAD 功能强大,是一个通用的CAD平台,但是如果不根据本专业的需要进行二次开发,使用起来是很不方便的。画对称中心线是机械设计中经常遇到的一个问题。 笔者用AutoLISP依据国家标准开发了两个程序,可以很方便地解决直线对称中心线的问题。 第一个程序适用于两条边是连续直线的情况。使用方法是用LOAD命令装入GLS.LSP,运行CGSL,依据屏幕提示,分别选择两边,自动绘制出中心线。 GSL.LSP defun midpt1 pt2 计算两点之中点的功能函数 setq pt mapcarpt1 pt2 setq pt mapcar/pt2 2 2 defun cgsl/m cl1 cl cl2 e pt pt1 pt2 pt3 pt4 a SETQ M 1 WHILE M SETQ CL1 ENTSEL“\n选择第一条直线 “ cond not cl1 prompt“\n 没有发现实体“ /“LINE“cdr assoc 0 setqeentget car cl1 prompt“\n 所选不是直线“ t prompt“找到了第一条直线” setq m nil;退出循环 setq cl ssget nth 0 cdr cl1;取得第一条直线的实体数据 SETQ M 1 WHILE M SETQ CL2 ENTSEL“\n选择第二条直线“ if cl2 if ssmemb car cl2 cl progn princ“\n选择重复,重新选择“ setq cl2 nil cond not cl2 prompt“没有发现实体或重复“ /“LINE“cdr assoc 0 setq e entget car cl2 prompt“\n 所选不是直线“ t prompt“\n两条直线已经选择完毕“ setq m nil;;;退出循环 ;;;取得第一直线两端点的坐标 setq pt1 cdr assoc 10 e pt2 cdr assoc 11 e setq e entget car cl1;;取得第二条直线的实体数据 ;;;取得第二直线两端点的坐标 setq pt3 cdr assoc 10 e pt4 cdr assoc 11 e ;;调整端点 if inters pt1 pt3 pt2 pt4 t setq pt pt1 pt1 pt2 pt2 pt ;;;计算两端中点坐标 setq pt1 mid pt1 pt3 setq pt2 mid pt2 pt4 setq a angle pt1 pt2;计算中心线的倾角 setq pt2 polar pt2 a 2.5;;计算中心线的第一个端点 setq pt1 polar pt1 +pi a 2.5 command“layer““SET“5““;;设置中心线层 command “line“ pt1 pt2 ““;;画出中心线 princ “\nCGSL has loaded“ Princ “\n for symmetry line“ princ 第二个程序适用于阶梯轴,阶梯孔等各种情况。使用方法是用LOAD命令装入GLS1.LSP,运行CGSL1,依据屏幕提示,分别选择两边的端点,自动绘制出中心线。 GSL1.LSP defun midpt1 pt2 setq pt mapcar pt1 pt2 setq pt mapcar / pt 2 2 2 defun cgsl1/ p1 p1 p3 p4 a ;;保存环境变量 setq os getvar “osmode“ setq cm getvar “echo“ ;;设置环境变量 setvar “osmode“ 33 setvar “echo“ 0 ;;依次读取两条直线的端点 initget 1 setq p1 getpoint“\n选择第一条直线的第一个点“ initget 1 setq p2 getpoint“\n选择第一条直线的第二个点“ initget 1 setq p3 getpoint“\n选择第二条直线的第一个点“ initget 1 setq p4 getpoint“\n选择第二条直线的第二个点“ ;;;;恢复环境变量 setvar “osmode“ os setq p1 mid p1 p3 setq p2 mid p2 p4 setq a angle p1 p2 setq p2 polar p2 a 2.5 setq p1 polar p1 pi a 2.5 command “layer“ “set“ 5 ““ command “line“ p1 p2 ““ princ “\nCGSL1 has loaded“ Princ “\n for symmetry line“ Princ
展开阅读全文