分享一个画铆装螺母的小程序
本帖最后由 王航 于 2013-5-29 14:19 编辑与大家分享一个画铆装螺母的小程序的小程序,在钣金设计过程中,经常需要画铆装螺母,画起来有点繁琐,该小程序一步生成铆装螺母,螺纹规格从M3-M8,程序执行前请先创建名字为“细实线”及“点划线”的图层。请高手指导!谢谢!
(defun c:mmm(/)
(setvar "CMDECHO" 0)
(setq M (getDIST "\n 请输入螺纹规格 M6输入6"))
(if (= M nil) (setq M 6))
(cond
((<= 2.6 M 3) (SETQ c 3.0 d 2.4 e 3))
((<= 3.1 M 4) (SETQ c 4.0 d 3.2 e 4))
((<= 4.1 m 5) (SETQ c 5.0 d 4 e 4.5))
((<= 5.1 m 6) (SETQ c 6.0 d 4.8 e 5.5))
((<= 6.1 M 8) (SETQ c 8.0 d 6.4 e 6.3))
)
(while (SETQ PT (GETPOINT "\n请选取插入点:"))
(setq p1 (polar pt (* pi 1.5) (/ c 2))
p2 (polar pt 0 (/ c 2))
p3 (polar pt 0 (* e 1.2));比直径长1/5
p4 (polar pt pi (* e 1.2))
p5 (polar pt (/ pi 2) (* e 1.2))
p6 (polar pt (/ pi -2) (* e 1.2)))
(command "_.CIRCLE" "none" ptep1)
(command "change" "l" "" "p" "la" "0" "")
(command "_.CIRCLE" "none" pt (/ d 2) p1)
(command "change" "l" "" "p" "la" "0" "")
(command "_.ARC" "none" p2 "C" "none" pt "none" p1)
(command "change" "l" "" "p" "la" "细实线" "")
(command "_.LINE" "none" p3 "none" p4 "" "_.CHPROP" "L" "" "lt" "bylayer" "lts" 1 "")
(command "change" "l" "" "p" "la" "点划线" "")
(command"_.LINE" "none" p5 "none" p6 "" "_.CHPROP" "L" "" "lt" "bylayer" "lts" 1 "")
(command "change" "l" "" "p" "la" "点划线" "")
)
(setvar "CMDECHO" 1)
(princ)
)
用了太多的command函数,兼容性会有问题,建议采用entmake,一是速度快,二是兼容性会好。 多谢分享! 还不错,要是能弄出侧视图,就更好点。我有个调用文件的程序,dwg事先画好所有的紧固件甚至其他元件,直接调用。螺钉螺母铆钉等,看你事先做多少图库,直接调用,更方便。 而且图层的问题在准备图库的时候,当时有什么图层,调用出来的图即使没有需要的图层,加载图库时会直接加载图层,你这个别人需要先按你lsp的图层设置事先建好才行,或者改lsp图层名字,通用性不太好。你可以搜索本站插入图框的lsp,按照那个思路修改(直接调用图库)。
页:
[1]