尘缘一生 发表于 2024-10-25 02:05:38

三领设计 V3.0 画柱、梁大样图

本帖最后由 尘缘一生 于 2024-10-25 09:50 编辑

这个问题来说,实在是不值得,因为,如果你是搞了不少结构的话,应该是,熟练掌握一套大型的结构软件包,比如:PKPM,探索者(天正结构)等。因为在哪里,全部都有,可以配合图库手段。那么为什么三领也做个呢?因为不少人说:某某二开这个作的不错(实际上是非结构设计者的二开,觉得这很有用),你缺没有这功能,尝试作下,完善之路还远,此处省略1万字说明....










;三领设计 V3.0BY 尘缘一生QQ:15290049
;注:破解三领无用,破解了,这集成码子你也无用 ,但三领悬赏破解者
;;取柱配筋参数-----(一级)------
;;返回(list b h b1 b2 h1 h2 $stj ht)或nil
;;(b宽 h高 b1下筋数量 b2上筋数量 h1左筋数量 h2右筋数量 $stj钢筋级别 ht标筋方式)
(defun xt-colums (/ dcl_id dlg kk lis)
(defun sl_zxt (/ lst_str)
    (setq lst_str
      (list
      "zxt:dialog {"
      (strcat "label=\""
          (slmsg
            "三领设计 V3.0               柱详图 V3.0"
            "烩砞璸 V3.0               琖冈瓜 V3.0"
            "Sldesign V3.0          Column detail drawing V3.0"
          ) "\";"
      )
      $row
      $boxed_column
      (strcat "label=\"" (slmsg "柱子尺寸" "琖へ" "Column size") "\";")
      ":image_button{aspect_ratio=1.0;key=\"img1-1\";width=32;}"
      $row
      (strcat ":edit_box{label=\"" (slmsg "横向B" "绢翾B" "TransverseB") "\";key=\"tile3\";}")
      (strcat ":edit_box{label=\"" (slmsg "纵向H" "羇翾H" "PortraitH") "\";key=\"tile4\";}")
      "}}"
      $boxed_column
      (strcat "label=\"" (slmsg "配筋" "皌惮" "Steel reinforcement") "\";")
      $row
      $boxed_column
      (strcat "label=\"" (slmsg "边筋数量" "娩惮计秖" "Number of side bars") "\";")
      ":edit_box{label=\"b1\";key=\"b1\";}"
      ":edit_box{label=\"b2\";key=\"b2\";}"
      ":edit_box{label=\"h1\";key=\"h1\";}"
      ":edit_box{label=\"h2\";key=\"h2\";}"
      "}"
      $boxed_column
      (strcat "label=\"" (slmsg "钢筋级别" "葵惮" "Steel grade") "\";")
      (strcat ":radio_button{key=\"k1\";label=\"" (slmsg "1级" "1" "1Grade") "\";}")
      (strcat ":radio_button{key=\"k2\";label=\"" (slmsg "2级" "2" "2Grade") "\";}")
      (strcat ":radio_button{key=\"k3\";label=\"" (slmsg "3级" "3" "3Grade") "\";}")
      (strcat ":radio_button{key=\"k4\";label=\"" (slmsg "4级" "1" "4Grade") "\";}")
      "}}"
      $boxed_column
      (strcat "label=\"" (slmsg "标筋方式" "夹惮よΑ" "Marking method") "\";")
      $row
      (strcat ":radio_button{key=\"ht1\";label=\"" (slmsg "引线集中" "ま絬栋い" "Lead focus") "\";}")
      (strcat ":radio_button{key=\"ht2\";label=\"" (slmsg "分边引线" "だ娩ま絬" "Lead by Side") "\";}")
      "}"
      (strcat ":text{label=\"" (slmsg "对应两种画法 QQ:15290049" "癸莱ㄢ贺礶猭 QQ:15290049" "Corresponding to two painting techniques QQ: 15290049") "\";}")
      "}}}"
      $boxed_row
      (strcat ":edit_box{label=\"" (slmsg "比例" " ゑㄒ" "Scale") "\";key=\"blstr\";}")
      (strcat ":button{label=\"" (slmsg "换比" "传ゑ" "Chang-Scale") "\";key=\"chbl\";}")
      $okbt $canbt
      "}}"
      )
    )
    (dcl2lisp lst_str)
)
;;钢筋级别-------
(defun dojb ()
    (cond
      ((= jb 1)
      (set_tile "k1" "1")
      (set_tile "k2" "0")
      (set_tile "k3" "0")
      (set_tile "k4" "0")
      (setq $stj "%%130")
      )
      ((= jb 2)
      (set_tile "k1" "0")
      (set_tile "k2" "1")
      (set_tile "k3" "0")
      (set_tile "k4" "0")
      (setq $stj "%%131")
      )
      ((= jb 3)
      (set_tile "k1" "0")
      (set_tile "k2" "0")
      (set_tile "k3" "1")
      (set_tile "k4" "0")
      (setq $stj "%%132")
      )
      ((= jb 4)
      (set_tile "k1" "0")
      (set_tile "k2" "0")
      (set_tile "k3" "0")
      (set_tile "k4" "1")
      (setq $stj "%%133")
      )
    )
)
;;标筋方式-----------
(defun doht ()
    (cond
      ((= ht "1")
      (set_tile "ht1" "1")
      (set_tile "ht2" "0")
      )
      ((= ht "0")
      (set_tile "ht1" "0")
      (set_tile "ht2" "1")
      )
    )
)
;;主程序-------------
(gc)
(if (not b) (setq b "400"))
(if (not h) (setq h "400"))
(if (not jb) (setq jb 3))
(if (not b1) (setq b1 "3"))
(if (not b2) (setq b2 "3"))
(if (not h1) (setq h1 "3"))
(if (not h2) (setq h2 "3"))
(if (not ht) (setq ht "1"))
(setq dlg 1)
(while (< dlg 4)
    (setq kk (strcat "1:" (rtos (cadr (getslbl)) 2 0)))
    (setq dcl_id (load_dialog (sl_zxt))) ;加载对话框
    (new_dialog "zxt" dcl_id)
    (sl-lib-imagefill "img1-1" "system(zxt)" 0)
    (dojb) ;级别
    (doht) ;标筋的方式
    (set_tile "blstr" kk)
    (set_tile "tile3" b)
    (set_tile "tile4" h)
    (set_tile "b1" b1)
    (set_tile "b2" b2)
    (set_tile "h1" h1)
    (set_tile "h2" h2)
    (action_tile "tile3" "(setq b $value)")
    (action_tile "tile4" "(setq h $value)")
    (action_tile "b1" "(setq b1 $value)")
    (action_tile "b2" "(setq b2 $value)")
    (action_tile "h1" "(setq h1 $value)")
    (action_tile "h2" "(setq h2 $value)")
    (action_tile "k1" "(setq jb 1)(dojb)")
    (action_tile "k2" "(setq jb 2)(dojb)")
    (action_tile "k3" "(setq jb 3)(dojb)")
    (action_tile "k4" "(setq jb 4)(dojb)")
    (action_tile "ht1" "(setq ht \"1\")(doht)")
    (action_tile "ht2" "(setq ht \"0\")(doht)")
    (action_tile "chbl" "(done_dialog 3)")
    (action_tile "accept" "(done_dialog 4)")
    (action_tile "cancel" "(done_dialog 5)");;退出
    (setq dlg (start_dialog))
    (slunloaddcl dcl_id)
    (cond
      ((= dlg 3)
      (htbl)
      )
      ((= dlg 4)
      (setq lis (list b h b1 b2 h1 h2 $stj ht))
      )
      ((= dlg 5)
      (setq lis nil)
      )
    )
)
lis ;(b宽 h高 b1下筋数量 b2上筋数量 h1左筋数量 h2右筋数量 $stj钢筋级别 ht标筋方式)
)
;;画柱详图------------
(defun c:sl-zxt (/ lis len0 len1 p1 p2 p3 p4 elis plisx pliss plisz plisy div $txt1 $txt2 str s1 s2 s3 s4 s5 s6 p0 p01 p02 p03 p04 p05)
(defun zxt:qgj (/ lis s) ;箍筋
    (setq lis
      (list
      (strcat $stj "6@100") (strcat $stj "6@120") (strcat $stj "6@150") (strcat $stj "6@200") (strcat $stj "6@250") (strcat $stj "6@300")
      (strcat $stj "6@500") (strcat $stj "8@100") (strcat $stj "8@120") (strcat $stj "8@150") (strcat $stj "8@200") (strcat $stj "8@250")
      (strcat $stj "8@300") (strcat $stj "10@100") (strcat $stj "10@120") (strcat $stj "10@150") (strcat $stj "10@200") (strcat $stj "10@250")
      )
      s (cadr (sl:yjcaidan p3 len0 len1 lis nil (slmsg "箍筋" "羇惮" "longitudinal reinforcement")))
    )
    s
)
;;纵筋 div根数(字符串)str表头
(defun zxt:zj (div str / lis s)
    (setq
      lis (list (strcat div $stj "4") (strcat div $stj "6") (strcat div $stj "8") (strcat div $stj "10") (strcat div $stj "12") (strcat div $stj "14")
            (strcat div $stj "16") (strcat div $stj "18") (strcat div $stj "20") (strcat div $stj "22") (strcat div $stj "25") (strcat div $stj "28")
          )
      s (cadr (sl:yjcaidan p3 len0 len1 lis nil str))
    )
    s
)
;;-----------
(if (setq lis (xt-colums))
    (progn
      (setq len0 (p2uu 88) len1 (* 0.26 5 len0) str (slmsg "纵筋" "羇惮" "longitudinal reinforcement"))
      (setq p1 (getpoint (slmsg "\n 指定插入点:" "\n ﹚础翴:" "\n Give insertion point:")))
      (setq p2 (polar p1 0 (/ (atof (car lis)) (getvar "DIMLFAC")))
      p3 (polar p2 pi2 (/ (atof (cadr lis)) (getvar "DIMLFAC")))
      p4 (polar p1 pi2 (/ (atof (cadr lis)) (getvar "DIMLFAC")))
      )
      (makelwpolyline (list p1 p2 p3 p4) 0 t)
      (dd-xt-dim p1 p2 (polar p1 3pi2 slbl) (polar p1 3pi2 (* 11.0 slbl)))
      (dd-xt-dim p1 p4 (polar p1 pi slbl) (polar p1 pi (* 10.0 slbl)))
      (setq elis (slgujk p1 p3)) ;返回4个交点的钢筋点实体名 (nam1左下 nam2右下 nam3右上 nam4左上)
      (setq plisx (sl:djbz (car elis) (car elis) (cadr elis) (atoi (caddr lis)))) ;下部钢筋点中点表
      (setq pliss (sl:djbz (caddr elis) (caddr elis) (cadddr elis) (atoi (cadddr lis)))) ;上部钢筋点中点表
      (setq plisz (sl:djbz (car elis) (car elis) (cadddr elis) (atoi (nth 4 lis)))) ;左边钢筋点中点表
      (setq plisy (sl:djbz (cadr elis) (cadr elis) (caddr elis) (atoi (nth 5 lis)))) ;右边钢筋点中点表
      (setq $stj (nth 6 lis))
      (if (= (last lis) "1") ;集中标注
      (progn
          (setq
            div (rtos (- (length (append plisx pliss plisz plisy)) 4) 2 0)
            $txt1 (zxt:zj div str)
            $txt2 (zxt:qgj) ;箍筋
            $txthi (rtos (* 3.0 slbl) 2 0)
          )
          (syx-text (sl:mid (sl:mid p1 p3) p3) $txt1 $txt2 $txthi)
      )
      (progn ;分边引线
          (setq
            s1 (zxt:zj "4" str);纵筋
            s2 (zxt:qgj) ;箍筋
            s3 (zxt:zj (rtos (- (length plisx) 2)) (strcat "Below" str))
            s4 (zxt:zj (rtos (- (length plisz) 2)) (strcat "Left" str))
          )
          (if (/= (length plisx) (length pliss))
            (setq s5 (zxt:zj (rtos (- (length pliss) 2)) (strcat "Upper" str)))
          )
          (if (/= (length plisz) (length plisy))
            (setq s6 (zxt:zj (rtos (- (length plisy) 2)) (strcat "Right" str)))
          )
          (setq p0 (sl:mid (sl:mid p4 p3) p3))
          (setq p01 (polar (polar p0 0 slbl) pi2 (* 5.0 slbl)))
          (entmake (list '(0 . "TEXT") (cons 1 s2) (cons 10 p01) (cons 7 $hz) (cons 50 0) (cons 40 (* 3.0 slbl)) (cons 41 0.7)))
          (setq p02 (polar p01 pi2 (* 3.5 slbl)))
          (entmake (list '(0 . "TEXT") (cons 1 s1) (cons 10 p02) (cons 7 $hz) (cons 50 0) (cons 40 (* 3.0 slbl)) (cons 41 0.7)))
          (setq p03 (polar p02 pi2 (* 3.5 slbl)))
          (entmake (list '(0 . "TEXT") (cons 1 (strcat (car lis) "X" (cadr lis))) (cons 10 p03) (cons 7 $hz) (cons 50 0) (cons 40 (* 3.0 slbl)) (cons 41 0.7)))
          (slch:line p0 (polar p0 pi2 (* 16.0 slbl)) nil 3 nil)
          (setq p04 (polar (sl:mid p1 p2) 3pi2 (* 3.5 slbl)))
          (slmkwz s3 p04 (* 3.0 slbl) 0 0.7 "PUB_TEXT" $hz nil "m")
          (setq p05 (polar (sl:mid p1 p4) pi (* 3.5 slbl)))
          (slmkwz s4 p05 (* 3.0 slbl) pi2 0.7 "PUB_TEXT" $hz nil "m")
          (if (and s5 (/= s5 s3)) (slmkwz s5 (polar (sl:mid p3 p4) pi2 (* 3.5 slbl)) (* 3.0 slbl) 0 0.7 "PUB_TEXT" $hz nil "m"))
          (if (and s6 (/= s6 s4)) (slmkwz s6 (polar (sl:mid p3 p2) 0 (* 3.5 slbl)) (* 3.0 slbl) pi2 0.7 "PUB_TEXT" $hz nil "m"))
      )
      )
    )
)
(princ)
)
;;两点拉筋函数-----(一级)------
(defun sl:dd-lj (pa pb / d ang p1 p2 p3 p4 p5 p6)
(setq d (* 0.45 slbl) ang (angle pa pb)
    pa (polar pa ang (* 0.2 d))
    pb (polar pb (angle pb pa) (* 0.2 d))
    p1 (polar pa (- ang 0.436332) (* 4. d))
    p2 (polar pa (+ ang 3pi2) (* 1.7 d))
    p3 (polar pa (+ ang pi2) (* 1.7 d))
    p4 (polar pb (+ ang pi2) (* 1.7 d))
    p5 (polar pb (+ ang 3pi2) (* 1.7 d))
    p6 (polar pb (- ang 2.70526) (* 4. d))
)
(entmake
    (list
      (cons 0 "LWPOLYLINE") (cons 100 "AcDbEntity")
      (cons 8 (slmsg "钢筋" "葵惮" "steelbar"))
      (cons 62 1) (cons 100 "AcDbPolyline")
      (cons 90 6)
      (cons 70 0)
      (cons 10 p1) (cons 40 d) (cons 41 d)
      (cons 10 p2) (cons 40 d) (cons 41 d) (cons 42 -0.97)
      (cons 10 p3) (cons 40 d) (cons 41 d)
      (cons 10 p4) (cons 40 d) (cons 41 d) (cons 42 -0.97)
      (cons 10 p5) (cons 40 d) (cons 41 d)
      (cons 10 p6) (cons 40 d) (cons 41 d)
    )
)
)
;;测试-------
(defun c:tt ()
(setq p1 (getpoint (slmsg "\n 起点<退出>:" "\n 癬翴<癶>:" "\n Start point<Exit>:")))
(setq p2 (getpoint p1 (slmsg "\n 终点<退出>:" "\n 沧翴<癶>:" "\n End point<Exit>:")))
(sl:dd-lj p1 p2)
)
;;取梁参数-----(一级)------
;;返回(list b h zj fj yj $stj lj)或nil
;;(b宽 h高 zj正筋 fj负筋 yj腰筋$stj钢筋级别 lj拉筋是否画1 0)
(defun xt-beam (/ dcl_id dlg lis)
(defun sl_lxt (/ lst_str)
    (setq lst_str
      (list
      "lxt:dialog {"
      (strcat "label=\""
          (slmsg
            "三领设计 V3.0            梁详图 V3.0"
            "烩砞璸 V3.0            辩冈瓜 V3.0"
            "Sldesign V3.0         Beam detail drawing V3.0"
          ) "\";"
      )
      $row
      $boxed_column
      (strcat "label=\"" (slmsg "梁尺寸" "辩へ" "Beam size") "\";")
      ":image_button{aspect_ratio=1.0;key=\"img1-1\";width=35;}"
      $row
      (strcat ":edit_box{label=\"" (slmsg "宽B" "糴B" "Width B") "\";key=\"tile3\";edit_width=16;}")
      (strcat ":edit_box{label=\"" (slmsg "高H" "蔼H" "High H") "\";key=\"tile4\";edit_width=16;}")
      "}}"
      $boxed_column
      (strcat "label=\"" (slmsg "配筋" "皌惮" "Steel reinforcement") "\";")
      (strcat ":edit_box{label=\"" (slmsg "下部正筋n1" "场タ惮n1" "Lower main reinforcement n1") "\";key=\"zj\";}")
      (strcat ":edit_box{label=\"" (slmsg "上部负筋n2" "场璽惮n2" "Upper negative reinforcement n2") "\";key=\"fj\";}")
      (strcat ":edit_box{label=\"" (slmsg "腰筋排数n3" "竬惮逼计n3" "Number of lumbar tendon rows n3") "\";key=\"yj\";}")
      $boxed_column
      (strcat "label=\"" (slmsg "钢筋级别" "葵惮" "Steel grade") "\";")
      $row
      (strcat ":radio_button{key=\"k1\";label=\"" (slmsg "1级" "1" "1Grade") "\";}")
      (strcat ":radio_button{key=\"k2\";label=\"" (slmsg "2级" "2" "2Grade") "\";}")
      "}"
      $row
      (strcat ":radio_button{key=\"k3\";label=\"" (slmsg "3级" "3" "3Grade") "\";}")
      (strcat ":radio_button{key=\"k4\";label=\"" (slmsg "4级" "1" "4Grade") "\";}")
      "}}"
      $boxed_row
      (strcat "label=\"" (slmsg "拉筋" "┰惮" "Stretch bar") "\";")
      (strcat ":radio_button{key=\"lj0\";label=\"" (slmsg "画" "礶" "Drawing") "\";}")
      (strcat ":radio_button{key=\"lj1\";label=\"" (slmsg "不画" "ぃ礶" "Not drawing") "\";}")
      "}}}"
      $boxed_row
      (strcat ":edit_box{label=\"" (slmsg "比例" " ゑㄒ" "Scale") "\";key=\"blstr\";}")
      (strcat ":button{label=\"" (slmsg "换比" "传ゑ" "Chang-Scale") "\";key=\"chbl\";}")
      $okbt $canbt
      "}}"
      )
    )
    (dcl2lisp lst_str)
)
;;钢筋级别-------
(defun dojb ()
    (cond
      ((= jb 1)
      (set_tile "k1" "1")
      (set_tile "k2" "0")
      (set_tile "k3" "0")
      (set_tile "k4" "0")
      (setq $stj "%%130")
      )
      ((= jb 2)
      (set_tile "k1" "0")
      (set_tile "k2" "1")
      (set_tile "k3" "0")
      (set_tile "k4" "0")
      (setq $stj "%%131")
      )
      ((= jb 3)
      (set_tile "k1" "0")
      (set_tile "k2" "0")
      (set_tile "k3" "1")
      (set_tile "k4" "0")
      (setq $stj "%%132")
      )
      ((= jb 4)
      (set_tile "k1" "0")
      (set_tile "k2" "0")
      (set_tile "k3" "0")
      (set_tile "k4" "1")
      (setq $stj "%%133")
      )
    )
)
;;拉筋-------
(defun dolj ()
    (cond
      ((= lj "0")
      (set_tile "lj0" "0")
      (set_tile "lj1" "1")
      )
      ((= lj "1")
      (set_tile "lj0" "1")
      (set_tile "lj1" "0")
      )
    )
)
;;主程序-------------
(gc)
(if (not b) (setq b "250"))
(if (not h) (setq h "400"))
(if (not jb) (setq jb 3))
(if (not zj) (setq zj "3"))
(if (not fj) (setq fj "3"))
(if (not yj) (setq yj "0"))
(if (not lj) (setq lj "0"))
(setq dlg 1)
(while (< dlg 4)
    (setq kk (strcat "1:" (rtos (cadr (getslbl)) 2 0)))
    (setq dcl_id (load_dialog (sl_lxt))) ;加载对话框
    (new_dialog "lxt" dcl_id)
    (sl-lib-imagefill "img1-1" "system(lxt)" 0)
    (dojb) ;级别
    (dolj) ;拉筋
    (set_tile "blstr" kk)
    (set_tile "tile3" b)
    (set_tile "tile4" h)
    (set_tile "zj" zj)
    (set_tile "fj" fj)
    (set_tile "yj" yj)
    (action_tile "tile3" "(setq b $value)")
    (action_tile "tile4" "(setq h $value)")
    (action_tile "zj" "(setq zj $value)")
    (action_tile "fj" "(setq fj $value)")
    (action_tile "yj" "(setq yj $value)")
    (action_tile "lj0" "(setq lj \"1\")(dolj)")
    (action_tile "lj1" "(setq lj \"0\")(dolj)")
    (action_tile "k1" "(setq jb 1)(dojb)")
    (action_tile "k2" "(setq jb 2)(dojb)")
    (action_tile "k3" "(setq jb 3)(dojb)")
    (action_tile "k4" "(setq jb 4)(dojb)")
    (action_tile "chbl" "(done_dialog 3)")
    (action_tile "accept" "(done_dialog 4)")
    (action_tile "cancel" "(done_dialog 5)");;退出
    (setq dlg (start_dialog))
    (slunloaddcl dcl_id)
    (cond
      ((= dlg 3)
      (htbl)
      )
      ((= dlg 4)
      (setq lis (list b h zj fj yj $stj lj))
      )
      ((= dlg 5)
      (setq lis nil)
      )
    )
)
lis ;(b宽 h高 zj正筋 fj负筋 yj腰筋 $stj钢筋级别 lj拉筋是否画1 0)
)
;;画梁详图------------
(defun c:sl-lxt (/ lis len0 len1 p0 p1 p2 p3 p4 elis plisx pliss plisz plisy div txt1 str i p01 p02 p03 p04)
(defun lxt:qgj (/ lis s) ;箍筋
    (setq lis
      (list
      (strcat $stj "6@100") (strcat $stj "6@120") (strcat $stj "6@150") (strcat $stj "6@200") (strcat $stj "6@250") (strcat $stj "6@300")
      (strcat $stj "6@500") (strcat $stj "8@100") (strcat $stj "8@120") (strcat $stj "8@150") (strcat $stj "8@200") (strcat $stj "8@250")
      (strcat $stj "8@300") (strcat $stj "10@100") (strcat $stj "10@120") (strcat $stj "10@150") (strcat $stj "10@200") (strcat $stj "10@250")
      )
      s (cadr (sl:yjcaidan p3 len0 len1 lis nil (slmsg "箍筋" "羇惮" "longitudinal reinforcement")))
    )
    s
)
;;纵筋 div根数(字符串)str表头
(defun lxt:zj (div str / lis s)
    (setq
      lis (list (strcat div $stj "4") (strcat div $stj "6") (strcat div $stj "8") (strcat div $stj "10") (strcat div $stj "12") (strcat div $stj "14")
            (strcat div $stj "16") (strcat div $stj "18") (strcat div $stj "20") (strcat div $stj "22") (strcat div $stj "25") (strcat div $stj "28")
          )
      s (cadr (sl:yjcaidan p3 len0 len1 lis nil str))
    )
    s
)
;;-----------
(if (setq lis (xt-beam))
    (progn
      (setq len0 (p2uu 88) len1 (* 0.26 5 len0) $stj (nth 5 lis))
      (setq p1 (getpoint (slmsg "\n 指定插入点:" "\n ﹚础翴:" "\n Give insertion point:")))
      (setq p2 (polar p1 0 (/ (atof (car lis)) (getvar "DIMLFAC")))
      p3 (polar p2 pi2 (/ (atof (cadr lis)) (getvar "DIMLFAC")))
      p4 (polar p1 pi2 (/ (atof (cadr lis)) (getvar "DIMLFAC")))
      )
      (makelwpolyline (list p1 p2 p3 p4) 0 t)
      (dd-xt-dim p1 p2 (polar p1 3pi2 slbl) (polar p1 3pi2 (* 11.0 slbl)))
      (dd-xt-dim p1 p4 (polar p1 pi slbl) (polar p1 pi (* 14.0 slbl)))
      (setq elis (slgujk p1 p3)) ;返回4个交点的钢筋点实体名 (nam1左下 nam2右下 nam3右上 nam4左上)
      (setq plisx (sl:djbz (car elis) (car elis) (cadr elis) (atoi (caddr lis)))) ;下部钢筋点中点表   ;(b宽 h高 zj正筋 fj负筋 yj腰筋$stj钢筋级别)
      (setq pliss (sl:djbz (caddr elis) (caddr elis) (cadddr elis) (atoi (cadddr lis)))) ;上部钢筋点中点表
      (if (> (setq div (atoi (nth 4 lis))) 0)
      (progn
          (setq plisz (sl:djbz (car elis) (car elis) (cadddr elis) (+ 2 div))) ;左边钢筋点中点表
          (setq plisy (sl:djbz (cadr elis) (cadr elis) (caddr elis) (+ 2 div))) ;右边钢筋点中点表
          (setq i 0)
          (while (< i div)
            (setq p01 (nth (setq i (1+ i)) plisz) p02 (nth i plisy))
            (setq p03 (polar (sl:mid p01 p02) 3pi2 (* 3.0 slbl))
            p04 (polar p03 0 (+ (* 10. slbl) (* 0.5 (distance p1 p2))))
            p0 (polar (polar p04 pi (* 7. slbl)) pi2 slbl)
            )
            (makelwpolyline (list p01 p03 p04) 0 nil)
            (makelwpolyline (list p02 p03) 0 nil)
            (entmake (list '(0 . "TEXT") (cons 1 (strcat "2" $stj "12")) (cons 10 p0) (cons 7 $hz) (cons 50 0) (cons 40 (* 3.0 slbl)) (cons 41 0.7)))
            (if (= (last lis) "1") ;如果画拉筋
            (progn
                (sl:dd-lj p01 p02)
                (setq p03 (polar (sl:mid p01 p02) pi2 (* 3.0 slbl))
                  p04 (polar p03 pi (+ (* 12. slbl) (* 0.5 (distance p1 p2))))
                  p0 (polar p04 pi2 slbl)
                )
                (makelwpolyline (list (sl:mid p01 p02) p03 p04) 0 nil)
                (entmake (list '(0 . "TEXT") (cons 1 (strcat $stj "6@600")) (cons 10 p0) (cons 7 $hz) (cons 50 0) (cons 40 (* 3.0 slbl)) (cons 41 0.7)))
            )
            )
          )
      )
      )
      (setq txt1 (lxt:zj (rtos (length plisx) 2 0) (slmsg "下部正筋" "场タ惮" "Lower main reinforcement")))
      (sl:dd-pliang plisx txt1 nil 0 (* slbl 3.0))
      (setq txt1 (lxt:zj (rtos (length pliss) 2 0) (slmsg "上部负筋" "场璽惮" "Upper negative reinforcement")))
      (sl:dd-pliang pliss txt1 nil 0 (* slbl 3.0))
      (setq
      $txt1 (lxt:qgj) ;箍筋
      $txthi (rtos (* 3.0 slbl) 2 0)
      )
      (dyx-text (polar p3 3pi2 (* 0.2 (distance p2 p3))) $txt1 $txthi);画箍筋
    )
)
(princ)
)

三领设计(SLdesign)V3.0 链接

链接:https://pan.baidu.com/s/1lewtUXCFvhC9eGzIkxBsbQ
提取码:e9i9



hubeiwdlue 发表于 2024-10-25 09:14:34

,厉害厉害,建议画钢筋,拉筋,箍筋单独成命令,标注根数,标注尺寸也单独成命令。自由度交给用户,因为不是所有用户都是房建专业的。

帝都划水王 发表于 2024-10-25 10:16:06

确实很多软件有完善的各种功能,但是和自己开发的又不一样。我也要慢慢学习这些。

vip-happy 发表于 2024-10-31 17:41:00

本帖最后由 vip-happy 于 2024-10-31 17:45 编辑

slmsg 这个变量或是函数,CAD2014+天正2014没运行成功

yefei812678 发表于 2024-10-25 08:00:50

谢谢分享谢谢分享谢谢分享

寒潮大冬瓜 发表于 2024-10-25 08:32:15

很好→很棒!很好~很棒!!很好……很棒!!!

tranque 发表于 2024-10-25 09:26:55

给大神点赞

moranyuyan 发表于 2024-10-25 17:56:06

谢谢分享

oistre 发表于 2024-10-26 10:04:29

确实很多软件有完善的各种功能

xcmdos 发表于 2024-10-26 20:04:59

大神说的对,让辅助的工具当做大型的软件还是无语的

阿猪蛋 发表于 2024-10-28 08:33:34

大神说的对,让辅助的工具当做大型的软件还是无语的
页: [1] 2
查看完整版本: 三领设计 V3.0 画柱、梁大样图