找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 689|回复: 0

[LISP程序]:弯管参数设计及绘图程序实例

[复制链接]
发表于 2003-10-20 11:25:55 | 显示全部楼层 |阅读模式

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

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

×
弯管参数设计及绘图程序实例:  
利用对话框选择弯管的型号与规格(尺寸)及管子开始端的方位.
标准, 非标准型号弯管设计绘制功能.当弯角=0时即为直管.开始端方向长度.
壁厚, 外径尾端与开始端高差

(defun c:test ()
  (setq index (load_dialog (findfile "dial.dcl")))
  (if (not (new_dialog "dtube" index))(exit))
  (action_tile
    "accept" "(setq d1 (atof (get_tile \"wa\"))
                    d2 (atof (get_tile \"od\"))
                    l1 (atof (get_tile \"x\"))
                    l2 (atof (get_tile \"y\"))
                    r1 (atof (get_tile \"ch\"))
                    r2 (atof (get_tile \"br\"))
                    a1 (angtof (get_tile \"ca\"))
                    a2 (angtof (get_tile \"ba\")))
    (done_dialog)")   
  (action_tile "cancel" "(exit)")
  (start_dialog)
  (unload_dialog index)
  (setq p0 (getpoint "\nPick Start Point: "))
  (vl-cmdf "ucs" "n" p0 "")
  (if (> l2 0)
    (progn
      (setq p2 (list (- l1)(- l2))
            p1 (inters '(0 0) '(1 0) p2 (polar p2 a2 1) nil))
      (vl-cmdf "pline" '(0 0) p1 p2 "")
      (vl-cmdf "fillet" "r" r2 "fillet" "p" (entlast) ""))
    (progn
      (setq p2 (list (- l1) 0) a2 0)
      (vl-cmdf "line" '(0 0) p2 ""))   
  );
  (vl-cmdf "offset" (/ d2 2)(entlast)(polar '(0 0)(/ pi 2) 1) "")
  (vl-cmdf "offset" d2 (entlast)(polar '(0 0)(* 1.5 pi) 1) "")
  (vl-cmdf "offset" d1 (entlast)(polar '(0 0)(/ pi 2) 1) "")
  (vl-cmdf "offset" (- d2 d1 d1)(entlast) (polar '(0 0)(/ pi 2) 1) "")
  (vl-cmdf "lengthen" "de" 0.1 '(0 0) "")
  (vl-cmdf "lengthen" "de" 0.1 p2 "")
  (vl-cmdf "line" '(0 0)(list 0 (/ d2 2)) "" "line" '(0 0)(list 0 (- (/ d2 2))) "")
  (vl-cmdf "line" p2 (polar p2 (+ a2 (/ pi 2))(/ d2 2)) "")
  (vl-cmdf "line" p2 (polar p2 (- a2 (/ pi 2))(/ d2 2)) "")
)

dtube : dialog {label = "Tube-All Dimensions";key="dt";
  : edit_box {label="OD."; key = "od"; value="1.0"; edit_width = 4;}
  : edit_box {label="Wall:"; key = "wa"; value="0.12"; edit_width = 4;}
  : edit_box {label="L1:"; key = "x"; value="1.87"; edit_width = 4;}
  : edit_box {label="L2:"; key = "y";  value="1.87"; edit_width = 4;}
  : edit_box {label="Bang:"; key = "ba"; value="90"; edit_width = 4;}
  : edit_box {label="Rad:"; key = "br"; value="1.5"; edit_width = 4;}
  : edit_box {label="Chm:"; key = "ch"; value="0.04"; edit_width = 4;}
  : edit_box {label="Cang:"; key = "ca"; value="15"; edit_width = 4;}
  spacer;
  ok_only;
}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-9-26 17:50 , Processed in 0.286347 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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