家居装修知识
模具知识|AutoCAD下绘制直线对称中心线的方法
2017-05-26  浏览:48
模具之家讯:AutoCAD是目前国内应用最广范的CAD系统之一,AutoCAD 功能强大,是一个通用的CAD平台,但是如果不根据本专业的需要进行二次开发,使用起来是很不方便的。画对称中心线是机械设计中经常遇到的一个问题。

笔者用AutoLISP依据国家标准开发了两个程序,可以很方便地解决直线对称中心线的问题。

第一个程序适用于两条边是连续直线的情况。使用方法是:用LOAD命令装入GLS.LSP,运行C:GSL,依据屏幕提示,分别选择两边,自动绘制出中心线。

GSL.LSP:

(defun mid(pt1 pt2 ) 计算两点之中点的功能函数

(setq pt (mapcar'+pt1 pt2 ))

(setq pt (mapcar'/pt'(2 2 2)))

)

(defun c:gsl/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 (setqe(entget (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 "\nC:GSL has loaded")

(Princ "\n forsymmetry line")

(princ)

第二个程序适用于阶梯轴,阶梯孔等各种情况。使用方法是:用LOAD命令装入GLS1.LSP,运行C:GSL1,依据屏幕提示,分别选择两边的端点,自动绘制出中心线。

GSL1.LSP

(defun mid(pt1 pt2 )

(setq pt (mapcar '+ pt1 pt2 ))

(setq pt (mapcar '/ pt '(2 2 2)))

)

(defun c:gsl1(/ p1 p1 p3 p4 a )

 ;;保存环境变量

 (setq os (getvar "osmode"))

 (setq cm (getvar "cmdecho"))

 ;;设置环境变量

 (setvar "osmode" 33)

 (setvar "cmdecho" 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 "\nC:GSL1 has loaded")

(Princ "\n forsymmetry line")

Princ
模具之家为您提供最全面的塑胶,塑料,模具,模具设计,塑胶模具品牌的装修知识点和各种塑胶模具的导购与在线购买服务,拥有最便宜的塑胶模具价格和最优质的售后服务,敬请登陆模具之家:http://muju.jc68.com/
更多»您可能感兴趣的文章:
更多»有关 模具 的产品:
广州模具货架,重型货架,带抽屉模具架

广州模具货架,重型货架,带抽屉模具架

价格:3200.00/套

广州模具架

广州模具架

价格:3800.00/套

品质优8407模具钢圆钢【一胜百】

品质优8407模具钢圆钢【一胜百】

价格:到店咨询

S136H模具钢板 大圆棒

S136H模具钢板 大圆棒

价格:到店咨询

718S板【一胜百】塑胶模具钢

718S板【一胜百】塑胶模具钢

价格:到店咨询

20CrMnTi齿轮钢【塑胶模具钢】板

20CrMnTi齿轮钢【塑胶模具钢】板

价格:5.30/千克

易博仕铝方通吊顶木纹铝方通厂家直销

易博仕铝方通吊顶木纹铝方通厂家直销

价格:7.50/米

易博仕勾搭式垂帘铝挂片吊顶天花

易博仕勾搭式垂帘铝挂片吊顶天花

价格:8.50/米

供应易博仕氟碳铝单板幕墙铝单板厂家直销

供应易博仕氟碳铝单板幕墙铝单板厂家直销

价格:198.00/平方米

供应易博仕氟碳铝单板幕墙铝单板厂家直销

供应易博仕氟碳铝单板幕墙铝单板厂家直销

价格:198.00/平方米

易博仕铝天花吊顶明架跌级铝扣板600*600厂家直销

易博仕铝天花吊顶明架跌级铝扣板600*600厂家直销

价格:38.00/平方米

供应易博仕c型铝条扣 防风铝条扣天花厂家直销

供应易博仕c型铝条扣 防风铝条扣天花厂家直销

价格:38.00/平方米

  • 头条资讯
  • 发表评论 | 0评
  • 评论登陆
  • 移动社区 建材风水 木板之家 电工之家 壁纸之家 净化之家 安防之家 水暖之家 洁具之家 窗帘头条 家饰之窗 老姚之家 灯饰之家 电气之家 全景头条 陶瓷之家 照明之家 防水之家 防盗之家 博一建材 卫浴之家 区快洞察 建材 郑州建材 周口建材 信阳建材 商丘建材 南阳建材 漯河建材 许昌建材 濮阳建材 焦作建材 新乡建材 鹤壁建材 安阳建材 洛阳建材 开封建材 武汉建材 天门建材 企业之家 驻马店建材 三门峡建材 平顶山建材 神农架建材 建材之家 720全景
    (c)2015-2017 BO-YI.COM SYSTEM All Rights Reserved