找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 509|回复: 0

[LISP程序]:单面带钝边J形焊缝

[复制链接]
发表于 2004-9-21 12:13:00 | 显示全部楼层 |阅读模式

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

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

×
  1. ===============================================================================
  2. ;     钢 结 构 工 具 箱 v8.1                    作者:李海斌  日期:2004-08-01
  3. ; ===============================================================================
  4. ;***  
  5. (defun belt_ddj (/ olderr pt1 pt2 pt3 pt4 pt5 pt6 text s a b c d e f g h i j k l old orth text1 text2 text3)
  6.    (setq olderr *error* *error* user_err)                                                         //设置文字字体
  7.    (setq orth (getvar "orthomode"))                                                   //设置正交变量
  8.    (setq old (getvar "osmode"))                                                       //设置捕捉变量
  9.    (princ "\n")                                                      //显示焊缝类型
  10.    (setq s (getvar "DIMSCALE")
  11.          a (* s 3)
  12.          b (* s 0.5)
  13.          c (* s 4)
  14.          d (* s 3.5)
  15.          e (* s 14)
  16.          f (* s 7.5)
  17.          g (* s 1.4)
  18.          h (* s 1.9)
  19.          i (* s 2.5)
  20.          j (* s 1.1)
  21.          k (* s 2.7)
  22.          l (* s 1.6)
  23.    )                                                                                  //设置变量
  24.    (setvar "osmode" 0)                                                                //设置捕捉为关
  25.    (setq pt1 (getpoint "\n基准线起点:"))                                              //基准线起点
  26.    (setq pt2 (getpoint pt1 "\n基准线方向:"))
  27.    (setq pt3 (list (car pt2) (cadr pt1)))                                             //基准线方向
  28.    (setq pt4 (polar pt1 (angle pt1 pt3) e))                                           //基准线终点
  29.    (setq pt5 (list (/ (+ (car pt1) (car pt4)) 2) (/ (+ (cadr pt1) (cadr pt4)) 2)))    //基准线中点
  30.    (command ".-layer" "s" "尺寸" ""
  31.             ".line" pt1 pt4 ""
  32.             ".pline" pt5 "W" b b (list (+ (car pt5) 0) (+ (cadr pt5) d)) ""
  33.             ".pline" (list (+ (car pt5) 0) (+ (cadr pt5) j)) "W" b b "a" "ce"
  34.                      (list (+ (car pt5) 0) (+ (cadr pt5) k))
  35.                      (list (+ (car pt5) l) (+ (cadr pt5) k)) "l"
  36.                      (list (+ (car pt5) l) (+ (cadr pt5) d)) ""
  37.             ".-layer" "s" "粗实线" ""
  38.    )                                                                                  //绘制焊缝符号
  39.    (setvar "orthomode" 0)                                                             //设置正交为关
  40.    (setq pt6 (getpoint pt4 "\n箭头线终点<若选择拐点,按enter>:"))                      //箭头线终点
  41.    (if (not pt6)
  42.        (progn
  43.          (setvar "osmode" 0)
  44.          (initget 1)
  45.          (setq pt6 (getpoint pt4 "\n拐点:"))
  46.          (command ".-layer" "s" "尺寸" ""
  47.                   ".line" pt4 pt6 ""
  48.                   ".-layer" "s" "粗实线" ""
  49.          )
  50.          (setq pt4 pt6)
  51.          (setq pt6 (getpoint pt4 "\n箭头线终点:"))
  52.          (while (< (distance pt4 pt6) a)
  53.                 (prompt "\n距离太短,请重新输入!")
  54.                 (initget 1)
  55.                 (setq pt6 (getpoint pt4 "\n射头线终点:"))
  56.          )
  57.        )
  58.    )
  59.    (while (< (distance pt4 pt6) a)
  60.           (prompt "\n距离太短,请重新输入!")
  61.           (initget 1)
  62.           (setq pt6 (getpoint pt4 "\n箭头线终点:"))
  63.    )
  64.    (command ".line" pt4 pt6 ""
  65.             ".pline" pt6 "w" "0" b (polar pt6 (angle pt6 pt4) a) ""
  66.    )
  67.    (setq text1 (getstring "\n根部间隙<>:"))
  68.    (command ".text" "j" "bl" (list (+ (car pt5) 0) (+ (cadr pt5) c)) a "0" text1
  69.    )
  70.    (setq text2 (getstring "\n坡口角度<>:"))
  71.    (setq text2 (strcat text2 "%%d"))
  72.    (command ".text" "j" "bl" (list (+ (car pt5) 0) (+ (cadr pt5) f)) a "0" text2
  73.    )
  74.    (setq text3 (getstring "\n钝边高度<>:"))
  75.    (setq text4 (getstring "\n根部半径:"))
  76.    (command ".text" "j" "br" (list (- (car pt5) i) (+ (cadr pt5) s)) a "0" (strcat text3 "X" text4)
  77.    (setvar "osmode" old)                                                              //设置捕捉为初始状态
  78.    (setvar "orthomode" orth)                                                          //设置正交为初始状态
  79.    (if olderr (setq *error* olderr))
  80.    (princ)
  81. );defun                                                                               //定义命令结束
  82. ********************************************************************************
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-9-22 04:22 , Processed in 0.174526 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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