找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: libo2000

[LISP函数]:修改过的风管绘制程序

[复制链接]
发表于 2003-8-18 22:42:59 | 显示全部楼层
我用了一下,总的感觉不错.但是四通的绘制好像还是有问题.无法得到理想的四通图形.还有带进一步改进.谢谢您提供源代码。有机会我们进一步交流一下。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-8-19 14:33:41 | 显示全部楼层
最初由 xiaping 发布
[B]我用了一下,总的感觉不错.但是四通的绘制好像还是有问题.无法得到理想的四通图形.还有带进一步改进.谢谢您提供源代码。有机会我们进一步交流一下。 [/B]


hehe,四通不好画的,有什么好的想法post



  1.   [FONT=courier new]
  2. ;********************************三通管绘制程序Begin*******************************
  3. (defun c:cheng_fg_st04 ( / ln0 ln1 ln2 ln3 ln5 ln6 ln7 ln8  p0 p1 p2 p3 p4 p5 p6 p7
  4.                                         p01 p02 p0 p11 p12 p21 p22 p31 p32 p51 p61 p71 p81
  5.                                         angr fc1 fc2 len1 len2 w w1 w2 i ss hlfg)

  6.   (chengs_getvar)
  7.   (setq ss (ssadd))
  8.   (setq ln0 (chengs_fglast ))  
  9.   (setq ln1 (ssname ln0 1));风管中心线
  10.   (setq ln2 (ssname ln0 2));风管管线
  11.   (setq ln3 (ssname ln0 3));风管管线
  12.   (setq ln0 (ssname ln0 0)) ;风管终线
  13.   (ssadd ln2 ss)
  14.   (ssadd ln3 ss)

  15.   (if (and ln2 ln3)
  16.     (progn
  17.       (initget "F H")
  18.       (setq hlfg (getkword "\n合流三通(H)/分流三通<F>: "))
  19.       (if (and (/= hlfg "h") (/= hlfg "H"))
  20.         (progn
  21.           (while (= nil w1)
  22.             (setq w1 (getint "\n左支管管径<300>: "))
  23.             (if (= w1 nil) (setq w1 300))
  24.                 (if (<= w1 0) (setq w1 nil))
  25.           )
  26.           (while (= nil w2)
  27.             (princ "\n右支管管径<")(princ w1)(princ ">: ")
  28.                 (setq w2 (getint))
  29.                 (if (= w2 nil) (setq w2 w1))
  30.                 (if (<= w2 0) (setq w2 nil) )
  31.           )
  32.         )
  33.         (progn
  34.           (while (= nil w1)
  35.             (setq w1 (getint "\n合流管管径<300>: "))
  36.             (if (= w1 nil) (setq w1 300))
  37.                 (if (<= w1 0) (setq w1 nil))
  38.             (setq w2 w1 hlfg "H")
  39.           )
  40.         )
  41.       );endif w1
  42.     );endprogn
  43.     (setq ln1 nil)
  44.   );endif ln2 ln3

  45.   (command ".undo" "be")
  46.   (setvar "osmode" 16567)
  47.   (setq
  48.           p01 (cdr (assoc 10 (entget ln0)))
  49.           p02 (cdr (assoc 11 (entget ln0)))
  50.           p0 (chengs_getpoint_mid p01 p02) ;风管终线的中点
  51.           p11 (cdr (assoc 10 (entget ln1)))
  52.           p12 (cdr (assoc 11 (entget ln1)))
  53.           p21 (cdr (assoc 10 (entget ln2)))
  54.           p22 (cdr (assoc 11 (entget ln2)))
  55.           p31 (cdr (assoc 10 (entget ln3)))
  56.           p32 (cdr (assoc 11 (entget ln3)))          
  57.   )
  58.   (if (= p22 nil)
  59.     (setq
  60.             p22 (chengs_assoc 10 ln2 2)
  61.             p32 (chengs_assoc 10 ln3 2)
  62.     )
  63.   )
  64.   (if (equal p11 p0)          ;风管角度
  65.     (setq angr (angle p12 p0))
  66.     (setq angr (angle p11 p0))
  67.   )
  68.   (setq w (distance (chengs_getpoint_per p0 p21 p22) (chengs_getpoint_per p0 p31 p32))) ;ln3->ln2距离,管径

  69.   ;内圆弧长
  70.   (setq
  71.          fc1 (- (* w 0.75) (* 0.5 w1))
  72.          fc2 (- (* w 0.75) (* 0.5 w2))
  73.   )
  74.   ;(if (> fc1 fc2) (setq fc1 fc2))

  75.   ;支风管长
  76.   (setq
  77.          len1 (+ (* 1.25 w) (* 0.5 w1))
  78.          len2 (+ (* 1.25 w) (* 0.5 w2))
  79.   )
  80.   (setq  
  81.          p1 (polar p0 angr (* 0.75 w)) ;支风管中心线起点
  82.          p2 (polar p1 (+ angr (/ pi 2)) (- (* w 2) (* 0.5 w1)));支风管1终点
  83.          p3 (polar p1 (+ angr (/ pi 2) pi) (- (* w 2) (* 0.5 w2)));支风管2终点         
  84.          p51 (polar p1 (+ angr (/ pi 2)) (- (* w 1.25) (* 0.5 w1))) ;支风管1起点
  85.          p71 (polar p1 (+ angr (/ pi 2) pi) (- (* w 1.25) (* 0.5 w2))) ;支风管2起点
  86.   )

  87.   (setq ln6 (chengs_mline p51 p2 w1));支风管1
  88.   (setq ln5 (car ln6) ln6 (cadr ln6))
  89.   (ssadd ln5 ss)
  90.   (ssadd ln6 ss)
  91.   (setq ln8 (chengs_mline p71 p3 w2)) ;支风管2
  92.   (setq ln7 (car ln8) ln8 (cadr ln8))
  93.   (ssadd ln7 ss)
  94.   (ssadd ln8 ss)

  95.   (if (not cheng_fg_zxx)
  96.     (setq cheng_fgzxx "cheng_fgs_mid"
  97.             cheng_fg "cheng_fgs"
  98.             cheng_fg_end "cheng_fgsend"
  99.             cheng_fg_color "4"
  100.     )
  101.   )

  102.   (setq p4 (cdr (assoc 11 (entget ln5)))
  103.            p5 (cdr (assoc 11 (entget ln6)))
  104.            p6 (cdr (assoc 11 (entget ln7)))
  105.            p7 (cdr (assoc 11 (entget ln8)))
  106.   )

  107.   ;风管终线
  108.   (setvar "cecolor" "2")
  109.   (setvar "clayer" cheng_fg_end)
  110.   (command ".line" p4 p5 "")
  111.   (command ".line" p6 p7 "")

  112.   (setvar "clayer" cheng_fg_zxx)
  113.   (setvar "cecolor" "bylayer")
  114.   (command ".line" p2 p3 "")  ;支风管中心线

  115.   (command ".FILLET" "r" fc1)
  116.   (command ".FILLET" ln2 ln5) ;支风管1内弯头
  117.   (ssadd (entlast) ss)
  118.   (command ".FILLET" "r" fc2)
  119.   (command ".FILLET" ln3 ln8) ;支风管2内弯头
  120.   (ssadd (entlast) ss)

  121.   ;风管法兰
  122.   (setvar "clayer" cheng_fg)
  123.   (setvar "cecolor" "2")
  124.   (setq p51 (polar p51 angr (/ w1 -2))
  125.            p61 (chengs_getpoint_per3 p51 ln6)
  126.            p71 (polar p71 angr (/ w2 -2))
  127.            p81 (chengs_getpoint_per3 p71 ln7)
  128.   )
  129.   (command ".line" p51  p61 "")
  130.   (command ".line" p71  p81 "")

  131.   ;支风管外弯头
  132.   (setvar "cecolor" cheng_fg_color)
  133.   (if (/= hlfg "H")
  134.     (command ".arc" p1 (polar p61 (angle p1 p2) -1) p61 )
  135.     (command ".line" p61 p81 "")
  136.   )
  137.   (ssadd (entlast) ss)
  138.   (if (/= hlfg "H")
  139.     (progn
  140.       (command ".arc" p1 (polar p81 (angle p1 p3) -1) p81 )
  141.       (ssadd (entlast) ss)
  142.     )
  143.   )
  144.   ;延长中心线
  145.   (if (and (equal p0 p11) (/= hlfg "H"))
  146.     (command ".EXTEND" (entlast) "" p11 "")
  147.     (command ".EXTEND" (entlast) "" p12 "")
  148.   )
  149.   ;主风管加粗
  150.   (if cheng_fglast_jc
  151.     (progn
  152.       (setq i 0)      
  153.       (while (setq ln2 (ssname ss i))
  154.         (setq i (+ i 1))
  155.         (command ".pedit" ln2 "y" "w" cheng_fglast_jc "")
  156.       );endwhile
  157.     )
  158.   );endif
  159.   (setq cheng_fglast_jc nil)

  160.   ;改变风管终线ln0图层
  161.   (chengs_change ln0 8 cheng_fg)

  162.   (command ".REDRAW")
  163.   (command ".undo" "e")
  164.   (chengs_setvar)  
  165.   (princ)
  166. );endfun cheng_fg_st04


  167. (defun c:cheng_fg_st05 ( / ln1 ln2 ln3 ln5 ln6  w w2 sc1 sc12 sc2 angr angr2 ss ss2 jc_w i p5_x p6_x p5_y p6_y
  168.                                       p21 p22 p31 p32 p0 p1 p2 p3 p5 p6 p6_ p7 p8  p9 pln2_ln5 pln2_ln6 pln3_ln5 pln3_ln6)  
  169. ;;;本程序还未完成,还有bug待改进。
  170.   (chengs_getvar)  
  171.   (setvar "osmode" 695)
  172.   (while (= nil ln1)
  173.     (setq p0 (getpoint "\n选择风管中心线 : "))
  174.     (chengs_exit p0)
  175.     (setq ln1 (ssget p0))
  176.     (if ln1 (setq ln1 (ssname ln1 0)));中心线
  177.     (if ln1 (setq ln2 (chengs_fg_getfg ln1)) (setq ln1 nil))
  178.     (if ln2 (setq ln3 (car ln2) ln2 (cadr ln2)))        ;主风管线ln2 ln3
  179.     (if (and ln2 ln3)
  180.       (progn
  181.          (while (= nil angr2)
  182.            (setq angr2 (getangle p0 "\n主风管与支风管的夹角<30>: "))
  183.            (if (or (= angr2 nil) (= angr2 ""))
  184.              (setq angr2 30)
  185.              (setq angr2 (chengs_pi2r (abs (- angr2 (angle (cdr (assoc 10 (entget ln1)))(cdr (assoc 11 (entget ln1))))))))
  186.            )
  187.          )

  188.         (while (= nil sc1)
  189.           (setq sc1 (getint "\n上支管管径<300>: "))
  190.           (if (= sc1 nil) (setq sc1 300))
  191.           (if (<= sc1 0) (setq sc1 nil))
  192.         )

  193.         (while (= nil sc2)
  194.           (princ "\n下支管管径<")(princ sc1)(princ ">: ")
  195.           (setq sc2 (getint ))
  196.           (if (= sc2 nil) (setq sc2 sc1))
  197.           (if (<= sc2 0) (setq sc2 nil) )
  198.         )
  199.       );endprogn
  200.       (setq ln1 nil)
  201.     );endif
  202.   )  ;endwhile

  203.   (command ".REDRAW")
  204.   (command ".undo" "be")

  205.   ;主风管是否加粗
  206.   (setq jc_w (cdr (assoc 40 (entget ln2))) ss2 (ssadd))
  207.   (if jc_w
  208.     (progn
  209.       (command ".pedit" ln2 "w" 0 "")
  210.       (command ".EXPLODE" ln2)
  211.       (setq ln2 (entlast))
  212.       (ssadd ln2 ss2)
  213.       (command ".pedit" ln3 "w" 0 "")
  214.       (command ".EXPLODE" ln3)
  215.       (setq ln3 (entlast))
  216.       (ssadd ln3 ss2)
  217.     )
  218.   )
  219.   (setvar "osmode" 16567)
  220.   (setq
  221.           p21 (cdr (assoc 10 (entget ln2)))
  222.           p22 (cdr (assoc 11 (entget ln2)))
  223.           p31 (cdr (assoc 10 (entget ln3)))
  224.           p32 (cdr (assoc 11 (entget ln3)))
  225.   )
  226.   (if (= p22 nil)
  227.     (setq
  228.             p22 (chengs_assoc 10 ln2 2)
  229.             p32 (chengs_assoc 10 ln3 2)
  230.     )
  231.   ) ;endif p22
  232.   (setq w (distance (chengs_getpoint_per p0 p21 p22) (chengs_getpoint_per p0 p31 p32))) ;ln3->ln2距离
  233.   (setq angr nil ss (ssadd))
  234. (repeat 2
  235.   (if angr
  236.     (setq angr2 (* (- angr2 angr)-1))
  237.     (setq angr2 (chengs_r2pi angr2))   
  238.   )
  239.   (setq
  240.          angr (angle p21 p22)
  241.          sc12 (/ sc1 2)
  242.          w2 (/ w 2)
  243.           angr2 (+ angr2 angr)
  244.           p3 (polar p0 angr2 (+ w w sc1))
  245.           p1 (polar p0 angr2 w2)
  246.   )
  247.   (setvar "clayer" cheng_fg_zxx)
  248.   (setvar "cecolor" "bylayer")
  249.   (command ".line" p0 p3 "")        ;风管中心线
  250.   (ssadd (entlast) ss)

  251.   (setq ln5 (chengs_mline p0 p3 sc1))        ;画支风管
  252.   (setq ln6 (car ln5) ln5 (cadr ln5))                ;风管管线
  253.   (ssadd ln5 ss)
  254.   (ssadd ln6 ss)
  255.   (ssadd ln5 ss2)
  256.   (ssadd ln6 ss2)
  257.   (setq p8 (cdr (assoc 11 (entget ln5)))
  258.            p9 (cdr (assoc 11 (entget ln6)))
  259.            p6 (polar p8 angr2 -10)
  260.            p7 (polar p9 angr2 -10)
  261.            p5 (chengs_getpoint_per3 p0 ln2)
  262.            p5_x (car p5)
  263.            p6_x (car p6)
  264.            p5_y (cadr p5)
  265.            p6_y (cadr p6)
  266.   )
  267.   (if (or (> p5_x p6_x) (and (equal p5_x p6_x 0.000001) (> p5_y p6_y) ))
  268.    (progn
  269.     (setq sc1 p6 p6 p7 p7 sc1)
  270.    )
  271.   )
  272.   (command ".FILLET" "r" 0)
  273.   (if p6_
  274.     (progn
  275.       (command ".FILLET" p6 p5)(princ 1)
  276.       (command ".FILLET" p7 p6_)
  277.     )
  278.     (progn
  279.       (command ".FILLET" p7 p5)
  280.     )
  281.   )
  282.   (ssadd (entlast) ss2)
  283.   (setvar "clayer" cheng_fg_end)
  284.   (setvar "cecolor" "2")
  285.   (command ".line" p8 p9 "")        ;风管终线
  286.   (ssadd (entlast) ss)
  287.   (setq sc1 sc2
  288.           sc2 ln2
  289.           ln2 ln3
  290.           ln3 sc2
  291.           p6_ p6
  292.   )
  293. );endrepeat

  294.   ;原风管加粗
  295.   (if jc_w
  296.     (progn
  297.       (setq i 0)
  298.       (while (setq ln2 (ssname ss2 i))
  299.         (setq i (+ i 1))
  300.         (command ".pedit" ln2 "y" "w" jc_w "")
  301.       )
  302.     )
  303.   );endif jc_w

  304.   (setq p0 (car (chengs_inters ln1 (ssname ss 0))))
  305.   (command ".break" ln1 p0 p0);打断中心线
  306.   (command ".REDRAW")
  307.   (command ".undo" "e")
  308.   (chengs_setvar)
  309.   (princ)
  310. );endfun cheng_fg_st05

  311. ;********************************三通管绘制程序End*******************************

  312. ;********************************插入风管管件Begin********************************
  313. ;图块的比例必须为1:100,图块的插入点为其中心点
  314. (defun c:cheng_fg_insert (/ e0 ln1 ln2 ln3 angr angr2 w w2 p0 p1 p2 p3 p4 p5 p6)
  315. (chengs_getvar)  
  316.   (setvar "osmode" 695)
  317.   (while (= nil ln1)
  318.     (setq p0 (getpoint "\n选择风管中心线 : "))
  319.     (chengs_exit p0)
  320.     (setq ln1 (ssget p0))
  321.     (if ln1 (setq ln1 (ssname ln1 0)));中心线
  322.     (if ln1 (setq ln2 (chengs_fg_getfg ln1)) (setq ln1 nil))
  323.     (if ln2 (setq ln3 (car ln2) ln2 (cadr ln2)))        ;主风管线ln2 ln3
  324.     (if (and ln2 ln3)
  325.       (princ)
  326.       (setq ln1 nil)
  327.     )
  328.   );endwhile
  329.   (initget "F H Z")
  330.   (setq e0 (getkword "\n选择插入:防火阀(H)/风阀<F>/自定义管件(Z): "))
  331.   (if (or (= e0 nil) (= e0 "")) (setq e0 "F"))
  332.   (setq e0 (strcase e0))
  333.   (setq angr (angle (cdr (assoc 10 (entget ln1))) (cdr (assoc 11 (entget ln1)))));风管角度
  334.   (setq w (distance (chengs_getpoint_per3 p0 ln2) (chengs_getpoint_per3 p0 ln3))) ;ln3->ln2距离
  335.   (setq w2 (/ w 2))
  336.   (if (/= e0 "Z")
  337.     (progn
  338.       (setq w (getint "\n管件沿气流方向长度<250>: "))
  339.       (if (or (<= w 0) (= w nil)) (setq w 250))
  340.       (setq w (/ w 2))
  341.       (setq
  342.           angr2 (+ angr (/ pi 2))          

  343.           p1 (polar p0 angr (* w -1))
  344.           p2 (polar p1 angr2 w2)
  345.           p3 (polar p1 angr2 (* w2 -1))

  346.           p4 (polar p0 angr w)
  347.           p5 (polar p4 angr2 w2)
  348.           p6 (polar p4 angr2 (* w2 -1))
  349.       )
  350.     )
  351.   );endif

  352.   (setvar "clayer" cheng_fg)
  353.   (setvar "cecolor" "7")
  354.   (cond
  355.     ((= e0 "F")
  356.       (progn
  357.         (command ".line" p2 p3 p5 p6 p2 "")
  358.       )
  359.     )

  360.     ((= e0 "H")
  361.       (progn
  362.         (command ".line" p2 p3 p5 p6 p2 "")
  363.         (command ".CIRCLE" p0 50)
  364.         (command ".BHATCH" "S" (entlast) "" "P" "SOLID" "")
  365.       )
  366.     )

  367.     ((= e0 "Z")
  368.       (progn
  369.         (while (= block nil)
  370.           (setq block (getstring "\n管件图块文件名称: "))  ;图块比例为1:100  w2:风管管径一半
  371.           (if (= (wcmatch block "*\.dwg") nil)
  372.             (setq block (strcat block ".dwg"))
  373.             (progn
  374.               (setq block nil)
  375.               (princ "\n该图块并不存在")
  376.             )
  377.           )
  378.         );endwhile
  379.         
  380.         (setq w (* w2 2)) ;沿风管垂直方向放大(Y轴)
  381.         (princ "\n管件沿风管垂直方向长<")(princ w)(princ ">: ")
  382.         (setq w2 (getdist p0))
  383.         (if (or (<= w2 0) (= w2 nil)) (setq w2 w) (setq w2 (* w2 2)))
  384.         (setq w w2)
  385.         (princ "\n管件沿风管水平方向<同上:")(princ w)(princ ">: ")
  386.         (setq w2 (getdist p0))
  387.         (if (or (<= w2 0) (= w2 nil)) (setq w2 w)) ;沿风管水平方向放大(X轴)
  388.         (setq w (/ w 100) w2 (/ w2 100))
  389.         (command ".insert"  block p0 w2 w angr)
  390.       )
  391.     )
  392.   );endcond

  393.   (chengs_setvar)
  394.   (princ)
  395. );endfun cheng_fg_insert


  396. ;********************************插入风管管件End*********************************
  397. ;更新对象属性
  398. (defun chengs_change ( ename assoc_num newdate / elist edate update )
  399.   (if (listp ename)
  400.     (setq elist (entget (car ename)))
  401.     (setq elist (entget ename))   
  402.   )
  403.   (if (= nil (numberp assoc_num)) (exit))  
  404.   (setq edate (assoc assoc_num elist))
  405.   (setq update (cons assoc_num newdate))
  406.   (setq elist (subst update edate elist))
  407.   (entmod elist)
  408.   ;(if (setq ename (car (reverse (cadddr ename)))) (entupd ename))
  409.   (princ)
  410. )
  411.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-8-21 16:38:37 | 显示全部楼层
各位仁兄,风管绘制的完成,但希望自动生成风管展开加工图,如何来实现
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-8-21 19:33:23 | 显示全部楼层

插入风管管件

图形DCL插入风管管件lisp.rar
--配合cheng.lsp,chengs.lsp使用
展开图???
太太难了点!!

重新上传cheng.zip


***MENUGROUP=Cheng

***POP1
**Cheng
ID_CHENG       [&CHENG]
ID_CHENG_TH      [替换文本(&T)]^C^Ccheng_th
ID_CHENG_replace   [替换文字(&R)]^C^Ccheng_replace
ID_CHENG_find    [查找文字(&F)]^C^Ccheng_find
ID_CHENG_align   [文字对齐于线段(&A)]^C^Ccheng_align
ID_CHENG_txtfont   [修改字体(&N)]^C^Ccheng_txtfont
ID_CHENG_style   [修改大字体(&O)]^C^Ccheng_style
                 [--]
ID_CHENG_break   [从点打断(&B)]^C^Ccheng_break
ID_CHENG_zxx     [绘圆中心线(&Z)]^C^Ccheng_zxx
ID_CHENG_upline   [线段在上方(&U)]^C^Ccheng_upline
ID_CHENG_downline   [线段在下方(&D)]^C^Ccheng_downline
                 [--]
ID_CHENG_fg      [风管图层(&L)]^C^Ccheng_fglay
ID_CHENG_fg      [绘制风管(&G)]^C^Ccheng_fg
ID_CHENG_dxt     [风管大小头(&X)]^C^Ccheng_dxt
IF_CHENG_fgst      [->三通(&H)]
ID_CHENG_fg_st04   [插入三通(&S)]^C^Ccheng_fg_st04
ID_CHENG_fg_st05   [插入斜三通(&T)]^C^Ccheng_fg_st05
ID_CHENG_fgst2   [<-绘制三通(&H)]^C^Ccheng_fgst2
IF_CHENG_fgst      [->四通(&I)]
ID_CHENG_fgst2    [插入圆弧四通(&S)]^C^Ccheng_fg_st02
ID_CHENG_fgst1    [插入直角四通(&Z)]^C^Ccheng_fg_st01
ID_CHENG_fgst0    [插入圆角四通(&J)]^C^Ccheng_fg_st
ID_CHENG_fgst3    [<-插入斜四通(&X)]^C^Ccheng_fg_st03
IF_CHENG_CL      [->侧联风管(&C)]
ID_CHENG_clfg3     [侧联方风管(&C)]^C^Ccheng_clfg3
ID_CHENG_clfg      [侧联圆风管(&Y)]^C^Ccheng_clfg
ID_CHENG_clfg2     [<-侧联圆风管2(&L)]^C^Ccheng_clfg2
ID_CHENG_fgst3    [插入风管管件(&E)]^C^Ccheng_fg_insert
ID_CHENG_wt      [风管弯头(&W)]^C^Ccheng_wt
                 [--]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-8-21 21:34:41 | 显示全部楼层
运行有错误呀,我把所有文件都复制到SUPPORT目录下,并设置好了风管图层。
可能是chengs.lsp中缺少chengs_getlineangle这个子程序吧。

Command: cheng_fg_insert

选择风管中心线: error: null function
(CHENGS_GETLINEANGLE LN1)
(SETQ ANGR (CHENGS_GETLINEANGLE LN1))
(C:CHENG_FG_INSERT)
*Cancel*
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-8-22 18:33:33 | 显示全部楼层
最初由 dwgplt 发布
[B]运行有错误呀,我把所有文件都复制到SUPPORT目录下,并设置好了风管图层。
可能是chengs.lsp中缺少chengs_getlineangle这个子程序吧。

Command: cheng_fg_insert

选择风管中心线: error: null function
(CH... [/B]


重新上传了all file----在No.19 帖子的cheng。zip
昨天终于把由中心线得到风管程序cheng_fg_getfg完善。
如果想自己搞lisp的,这个函数比较有用--当然风管图层设置必须正确,为适应天正风管图层,我将图层定义为:
1。风管:fg_lay
2。风管中心线:在风管图层后面加”_MID“
3。风管终线、始线:在风管图层后面加”END“
4。法兰:同风管,但是颜色为2--无伤大雅。

这可能是最后一次上传cheng.lsp了,这段时候没事情干,研究研究autolisp,hehe,以后就难说了。
如果您有什么好的建议,请mailto:chenghell@tom.com
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-8-22 21:00:39 | 显示全部楼层
很好用,谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-8-27 15:23:22 | 显示全部楼层
最后一版

修改几个bug,补善几处地方。

弯头有问题,再改

关于因为CAD线型不能正常使用的问题:
  CAD线型问题,当时我没有考虑到cad中没有dote线型--这个是天正的线型。
有2个修改方法:
1)、你可以找到acadr14\support\acad.lin(acad2000\support\acad.lin,其他CAD也是acad.lin)
并打开编辑,添加如下两行:
*DOTE,____ . ____ . ____ . ____ . ____ . ____ . ____ . ____
A,2.,-.2,.02,-.2
2)、你把cheng.lsp中的所有“dote”替换为“Dashdot”---不分大小写。“dashdot”是CAD的一个线型。
推荐使用方法1)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-10-7 23:16:10 | 显示全部楼层
这么多下载文件,究竟哪一个是全面最新的?
谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-10-8 09:42:27 | 显示全部楼层
最初由 liangjiangx 发布
[B]这么多下载文件,究竟哪一个是全面最新的?
谢谢! [/B]

发布日期或编辑日期最后的就是最新的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-10-8 12:53:34 | 显示全部楼层
2003-10-8
1、自定义了一个线型--免得没有那个“dote”线型搞鬼;
2、增加sel命令;
3、文字镜像修复--比天正的好用;
4、.......
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-10-8 20:38:35 | 显示全部楼层
画风管程序很好用,很是提高效率,
建议图块按照新的制图标准多搞一些,要是能够自定义到图形对话框中就更好了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-10-9 16:40:15 | 显示全部楼层

风管程序2003-10-9

不好意思,程序大包时候搞错,把老的没有改好弯头的cheng.lsp整进去了。

风管程序2003-10-9。hehe,这次弯头绘制应该不会再有问题了!

粗心是我的老毛病了,不过我会知错就改的.^_^



自定义风管管件的程序正在进行中。。。。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-9 15:05:03 | 显示全部楼层
来晚了???
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-10 09:39:02 | 显示全部楼层
晕,来晚了,什么也没有,只希望有更新的程序上传哦!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 10:16 , Processed in 0.319968 second(s), 54 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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