找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 919|回复: 4

[LISP函数]:管道平面安装阀门LISP程序

[复制链接]
发表于 2005-8-1 16:44:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
大家知道,在二维平面上,在管线LINE上插入一个阀门很费事,法兰呀,法门自身的结构比如阀体长度、手轮、法兰厚度等等。严格按照手册的尺寸去作,好长时间才能完成一个完整的操作。
将阀门的参数一次性的写在程序中间,调用一次,全部完成。并且断开管线LINE。
希望下面的小LISP能为同行提供方便,抛砖引玉。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 208个

财富等级: 日进斗金

发表于 2005-8-1 21:50:13 | 显示全部楼层
真好需要这方面的内容.希望楼主能提供完整的程序.包括调用菜单中的文件内容.谢谢.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-1 22:40:19 | 显示全部楼层
带手轮和不带手轮的平面阀门 上面的是侧视阀门 这个程序自动断线  希望大家批评指正
  我的QQ86667941    email:    cyskx@163.com
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-8-2 20:49:44 | 显示全部楼层
修改的阀门程序 c:fm
  1. [FONT=courier new];;;阀门 c:fm
  2. ;;;Z41_16Cc.lsp
  3. ;;;1998.11.30

  4. (load "xyp_lib")
  5. ;|加载通用函数(可在签名栏直接下载)
  6. 如果已经下载xyp_lib并放到搜索路径下可以不再下载!
  7. 利用以下任何一种方式即可加载和运行通用函数内的所有子程序:
  8. 1.在acad.lsp中增加(load"xyp_lib")
  9. 2.在每个程序内增加(load"xyp_lib")
  10. 3.在command下,输入(load"xyp_lib")
  11. 4.在菜单.mnl中增加(load"xyp_lib")
  12. 5.将xyp_lib.vlx文件直接拽到cad屏幕
  13. [COLOR=red] ★通用函数下载地址:[/COLOR][url]http://www.xdcad.net/forum/attachment.php?s=&postid=1606661[/url]|;

  14. (defun c:fm ()
  15.   (cmdla0)
  16.   (setq dn (UREAL 7 "" "\n输入公称直径" dn))
  17.   (while (not (or (= dn 15)
  18.                   (= dn 20)
  19.                   (= dn 25)
  20.                   (= dn 32.0)
  21.                   (= dn 40)
  22.                   (= dn 50)
  23.                   (= dn 65)
  24.                   (= dn 80)
  25.                   (= dn 100)
  26.                   (= dn 125)
  27.                   (= dn 150)
  28.                   (= dn 200)
  29.                   (= dn 250)
  30.                   (= dn 300)
  31.                   (= dn 350)
  32.                   (= dn 400)
  33.               )
  34.          )
  35.     (setq dn (UREAL 7 "" "\n输入公称直径" dn))
  36.   )
  37.   (setq        p0    (getpoint "\n给出插入点 : ")
  38.         angl1 (getangle p0 "\n手轮方向 : ")
  39.   )
  40.   (cond
  41. ;;;阀长 法兰外径 法兰厚度 手轮高度 丝杆 手轮外径 法兰内孔
  42. ;;;0    1        2        3        4    5        6
  43. ;;;L    D        b        H1       H2   D0       DW
  44.     ((= dn 15) (setq fli (list 130 95 18 150 170 120 22.0)))
  45.     ((= dn 20) (setq fli (list 150 105 18 170 190 140 27)))
  46.     ((= dn 25) (setq fli (list 160 115 18 185 205 160 32.0)))
  47.     ((= dn 32.0) (setq fli (list 180 135 20 230 270 180 40)))
  48.     ((= dn 40) (setq fli (list 200 145 20 260 310 200 48)))
  49.     ((= dn 50) (setq fli (list 250 160 20 358 438 240 65)))
  50.     ((= dn 65) (setq fli (list 265 180 20 373 452 240 80)))
  51.     ((= dn 80) (setq fli (list 280 195 22 435 530 280 93)))
  52.     ((= dn 100) (setq fli (list 300 215 24 500 620 320 114)))
  53.     ((= dn 125) (setq fli (list 325 245 26 614 756 360 136)))
  54.     ((= dn 150) (setq fli (list 350 280 28 674 845 360 163)))
  55.     ((= dn 200) (setq fli (list 400 335 30 818 1041 400 223)))
  56.     ((= dn 250) (setq fli (list 450 405 32 969 1244 450 277)))
  57.     ((= dn 300) (setq fli (list 500 460 34 1145 1474 560 329)))
  58.     ((= dn 350) (setq fli (list 550 520 38 1280 1663 640 381)))
  59.     ((= dn 400) (setq fli (list 600 580 40 1450 1886 720 430)))
  60.     (t (princ "输入错误") (exit))
  61.   )
  62.   (mkla "阀门" 3)
  63.   (command "circle" p0 "d" (nth 1 fli))
  64.   (command "circle" p0 "d" (nth 6 fli))
  65.   (command "line"
  66.            (polar p0 angl1 (nth 4 fli))
  67.            (polar p0 angl1 (/ (nth 1 fli) 2.0))
  68.            ""
  69.   )
  70.   (setq pp (polar p0 angl1 (nth 3 fli)))
  71.   (command "line"
  72.            (polar pp (+ angl1 (/ pi 2.0)) (/ (nth 5 fli) 2.0))
  73.            (polar pp (- angl1 (/ pi 2.0)) (/ (nth 5 fli) 2.0))
  74.            ""
  75.   )
  76.   (command "line"
  77.            pp
  78.            (osnap (polar p0
  79.                          (- (+ angl1 (/ (* 11 pi) 180.0)) (/ pi 2.0))
  80.                          (/ (nth 1 fli) 2.0)
  81.                   )
  82.                   "tan"
  83.            )
  84.            ""
  85.   )
  86.   (command "line"
  87.            pp
  88.            (osnap (polar p0
  89.                          (- (+ angl1 (/ (* 169 pi) 180.0)) (/ pi 2.0))
  90.                          (/ (nth 1 fli) 2.0)
  91.                   )
  92.                   "tan"
  93.            )
  94.            ""
  95.   )
  96.   (cmdla1)
  97. )[/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-3-28 12:36:07 | 显示全部楼层
有了各位提供的这几个小程序,我的画图速度又提高了许多,发自内心感谢各位.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-4 01:32 , Processed in 0.180098 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表