土木在线论坛 \ 建筑设计 \ CAD下载及教程 \ 求改板筋lsp,改线宽lsp!!!

求改板筋lsp,改线宽lsp!!!

发布于:2013-04-14 01:37:14 来自:建筑设计/CAD下载及教程 [复制转发]
本帖最后由 abc3446002 于 2013-4-14 01:37 编辑

要求:1.无论是1,2,3级板筋都指定改成8里的钢筋,如%%1306@100(2),%%13110@100(2)%%13212@100(2)都能直接改成%%1308@100(2),%%1318@100(2)%%1328@100(2)。
2.改线宽lsp,要求一步到位。比如我需要的是100宽的线。无论是直线,PL线,圆弧(可能的话,还有圆,样条曲线,椭圆等(应该难实现))都能直接改成100.不需要再去选择和输入线宽等。

希望热爱lsp的帮帮忙!!!

全部回复(13 )

只看楼主 我来说两句
  • flurn4930
    flurn4930 沙发
    ;****************************************************改线弧圆宽度
    (defun C:pn (/ p l n e q w a m b layer0 color0 linetype0 layer1 color1 linetype1 rad-out rad-in)
    (setq oldblp (getvar "blipmode")
    oldech (getvar "cmdecho")
    olderr *error*
    linetype1 (getvar "celtype")
    layer1 (getvar "clayer")
    color1 (getvar "cecolor")
    )
    (setvar "blipmode" 0)
    (setvar "cmdecho" 0)
    (defun *error* (msg)
    (princ "\n")
    (princ msg)
    (setvar "blipmode" oldblp)
    (setvar "cmdecho" oldech)
    (setq *error* olderr)
    (princ)
    )
    (prompt "\n请选择要改变宽度的线,弧,圆及多义线.")
    (setq p (ssget))
    (setq w (getreal "\n请输入宽度<50>:"))
    (if (not w) (setq w 50))
    (setq l 0 m 0 n (sslength p))
    (while (< l n)
    (setq q (ssname p l))
    (setq ent (entget q))
    (setq b (cdr (assoc 0 ent)))
    (if (member b '("LINE" "ARC"))
    (progn
    (command "PEDIT" q "y" "w" w "x")
    (setq m (+ 1 m))
    )
    )
    (if (= "LWPOLYLINE" b)
    (progn
    (command "PEDIT" q "w" w "x")
    (setq m (+ 1 m))
    )
    )
    (if (= "CIRCLE" b)
    (progn
    (if (assoc 6 ent) (setq linetype0 (cdr (assoc 6 ent))) (setq linetype0 "bylayer"))
    (setq layer0 (cdr (assoc 8 ent)))
    (if (assoc 62 ent) (setq color0 (cdr (assoc 62 ent))) (setq color0 "bylayer"))
    (setq center0 (cdr (assoc 10 ent)))
    (setq radius0 (cdr (assoc 40 ent)))
    (setq diameter0 (* 2 radius0))
    (entdel q)
    (command "color" color0)
    (command "layer" "s" layer0 "")
    (command "linetype" "s" linetype0 "")
    (if (> w diameter0)
    (progn
    (princ "\n\t 因线宽大于圆的直径,故将该圆填充")
    (princ)
    (setq rad-out (* 2 radius0)
    rad-in 0
    )
    )
    )
    (if (<= w diameter0)
    (progn
    (setq rad-out (+ (* 2 radius0) w)
    rad-in (- (* 2 radius0) w)
    )
    )
    )
    (command "donut" rad-in rad-out center0 "")
    (setq m (+ 1 m))
    )
    )
    (setq l (+ 1 l))
    )
    (if (= 0 m)
    (progn
    (princ "\n\t 没有任何线,弧,圆及多义线被选中")
    (princ)
    )
    )
    (setvar "blipmode" oldblp)
    (setvar "cmdecho" oldech)
    (setq *error* olderr)
    (command "color" color1)
    (command "layer" "s" layer1 "")
    (command "linetype" "s" linetype1 "")
    (princ)
    )
    (princ)
    2017-08-07 09:57:07

    回复 举报
    赞同0
  • anwkings
    anwkings 板凳
    借花献佛,解决第二个问题
    快捷键:ss
    2013-05-10 21:00:10

    回复 举报
    赞同0
加载更多
这个家伙什么也没有留下。。。

CAD下载及教程

返回版块

52.07 万条内容 · 655 人订阅

猜你喜欢

阅读下一篇

烟台邦文教育招建筑CAD兼职讲师

(1)大专或以上学历,22岁以上,男女不限;(2)建筑或室内装饰、装簧设计5年以上经验;(3)精通机械设计中AUTOCAD施工图的操作,有教学经验优先。

回帖成功

经验值 +10