修改的阀门程序 c:fm
 - [FONT=courier new];;;阀门 c:fm
- ;;;Z41_16Cc.lsp
- ;;;1998.11.30
- (load "xyp_lib")
- ;|加载通用函数(可在签名栏直接下载)
- 如果已经下载xyp_lib并放到搜索路径下可以不再下载!
- 利用以下任何一种方式即可加载和运行通用函数内的所有子程序:
- 1.在acad.lsp中增加(load"xyp_lib")
- 2.在每个程序内增加(load"xyp_lib")
- 3.在command下,输入(load"xyp_lib")
- 4.在菜单.mnl中增加(load"xyp_lib")
- 5.将xyp_lib.vlx文件直接拽到cad屏幕
- [COLOR=red] ★通用函数下载地址:[/COLOR][url]http://www.xdcad.net/forum/attachment.php?s=&postid=1606661[/url]|;
- (defun c:fm ()
- (cmdla0)
- (setq dn (UREAL 7 "" "\n输入公称直径" dn))
- (while (not (or (= dn 15)
- (= dn 20)
- (= dn 25)
- (= dn 32.0)
- (= dn 40)
- (= dn 50)
- (= dn 65)
- (= dn 80)
- (= dn 100)
- (= dn 125)
- (= dn 150)
- (= dn 200)
- (= dn 250)
- (= dn 300)
- (= dn 350)
- (= dn 400)
- )
- )
- (setq dn (UREAL 7 "" "\n输入公称直径" dn))
- )
- (setq p0 (getpoint "\n给出插入点 : ")
- angl1 (getangle p0 "\n手轮方向 : ")
- )
- (cond
- ;;;阀长 法兰外径 法兰厚度 手轮高度 丝杆 手轮外径 法兰内孔
- ;;;0 1 2 3 4 5 6
- ;;;L D b H1 H2 D0 DW
- ((= dn 15) (setq fli (list 130 95 18 150 170 120 22.0)))
- ((= dn 20) (setq fli (list 150 105 18 170 190 140 27)))
- ((= dn 25) (setq fli (list 160 115 18 185 205 160 32.0)))
- ((= dn 32.0) (setq fli (list 180 135 20 230 270 180 40)))
- ((= dn 40) (setq fli (list 200 145 20 260 310 200 48)))
- ((= dn 50) (setq fli (list 250 160 20 358 438 240 65)))
- ((= dn 65) (setq fli (list 265 180 20 373 452 240 80)))
- ((= dn 80) (setq fli (list 280 195 22 435 530 280 93)))
- ((= dn 100) (setq fli (list 300 215 24 500 620 320 114)))
- ((= dn 125) (setq fli (list 325 245 26 614 756 360 136)))
- ((= dn 150) (setq fli (list 350 280 28 674 845 360 163)))
- ((= dn 200) (setq fli (list 400 335 30 818 1041 400 223)))
- ((= dn 250) (setq fli (list 450 405 32 969 1244 450 277)))
- ((= dn 300) (setq fli (list 500 460 34 1145 1474 560 329)))
- ((= dn 350) (setq fli (list 550 520 38 1280 1663 640 381)))
- ((= dn 400) (setq fli (list 600 580 40 1450 1886 720 430)))
- (t (princ "输入错误") (exit))
- )
- (mkla "阀门" 3)
- (command "circle" p0 "d" (nth 1 fli))
- (command "circle" p0 "d" (nth 6 fli))
- (command "line"
- (polar p0 angl1 (nth 4 fli))
- (polar p0 angl1 (/ (nth 1 fli) 2.0))
- ""
- )
- (setq pp (polar p0 angl1 (nth 3 fli)))
- (command "line"
- (polar pp (+ angl1 (/ pi 2.0)) (/ (nth 5 fli) 2.0))
- (polar pp (- angl1 (/ pi 2.0)) (/ (nth 5 fli) 2.0))
- ""
- )
- (command "line"
- pp
- (osnap (polar p0
- (- (+ angl1 (/ (* 11 pi) 180.0)) (/ pi 2.0))
- (/ (nth 1 fli) 2.0)
- )
- "tan"
- )
- ""
- )
- (command "line"
- pp
- (osnap (polar p0
- (- (+ angl1 (/ (* 169 pi) 180.0)) (/ pi 2.0))
- (/ (nth 1 fli) 2.0)
- )
- "tan"
- )
- ""
- )
- (cmdla1)
- )[/FONT]
|