求助,这个“结构柱子”源程序能否按要求修改?
<p>这是它人编写的“结构柱子”的源程序,请问能否在生成结构柱子的同时沿柱子外角点生成外框线,外框线可以是line/lp线,谢谢!</p><p>; =============================================<br/>; | 构造柱自动标注软件 |<br/>; | 版本: V1.0 作者: 尉迟俊岭 |<br/>; =============================================<br/>(defun C:gzz(/ dx dy dx1 dx2 dy1 ddx ddy lay pt1 pt2 width scale)<br/> (setvar "CMDECHO" 0)<br/> (setq lay (getvar "clayer"))<br/> (command "color" "bylayer")<br/> (command "layer" "m" "gzz" "c" "m" "gzz" "")<br/> (setq scale (getreal "\nScale<1>: "))<br/> (cond ((= scale nil) (setq scale 100.0))<br/> ((= scale 1) (setq scale 100.0))<br/> ((= scale 100) (setq scale 1.0))<br/> )<br/> (command "osnap" "int")<br/> (setq pt (getpoint "\nInsert point: "))<br/> (command "osnap" "non")<br/> (setq width (getreal "\nWidth of GZZ<240>: "))<br/> (if (= width nil) (setq width 240))<br/> (setq width (/ width scale))<br/> (setq ddx (getreal "\nX-distance form insert point<0>: "))<br/> (if (= ddx nil) (setq ddx 0))<br/> (setq ddx (/ ddx scale))<br/> (setq high (getreal "\nhigh of GZZ<240>: "))<br/> (if (= high nil) (setq high 240))<br/> (setq high (/ high scale))<br/> (setq ddy (getreal "\Y-distance form insert point<0>: "))<br/> (if (= ddy nil) (setq ddy 0))<br/> (setq ddy (/ ddy scale))<br/> (setq dy (cadr pt))<br/> (setq dx (car pt))<br/> (setq dx1 (+ (- dx (/ width 2)) ddx))<br/> (setq dx2 (+ dx1 width))<br/> (setq dy1 (+ dy ddy))<br/> (setq pt1 (list dx1 dy1))<br/> (setq pt2 (list dx2 dy1))<br/> (command "pline" pt1 "w" high high pt2 "") <br/> (command "layer" "s" lay "")<br/> (princ)<br/>) <br/></p>
页:
[1]