fqqc 发表于 2007-9-4 22:29:00

完善“中心线”程序

帮我

xyp1964 发表于 2007-9-24 13:33:00

<p>zxx(中心线).vlx 适用于区域和实体</p><p></p><p></p>

phoenixdjq 发表于 2007-9-4 23:44:00

<p>你的程序呢???</p>

fqqc 发表于 2007-9-12 21:38:00

<p></p><p>大哥们,我的程序传上来了,帮我看看,问题如下</p><p>1:画出的中心线不能自动归到中心线层</p><p>2:画出的中心线不在中心!</p><p>3:如果命令执行失败,我设置好的自动捕捉会全部关掉!.</p><p></p><p>希望大家试用,帮我完善一下!</p>

sen.sam 发表于 2007-9-13 23:24:00

支持一下,正需要这样的程序,不知道有没有纯autolisp的呢?希望大侠们修改一个autolisp的,就此谢过!

wandong 发表于 2007-9-13 23:54:00

<p>1:画出的中心线不能自动归到中心线层</p><p>(if <font face="Courier New" color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/not.htm" target="_black"><font face="Courier New" color="#0000ff">not</font></a><font face="Courier New">
                        <font color="#ff0000">(</font></font><a href="http://www.mjtd.com/object/autolisp/tblsearch.htm" target="_black"><font face="Courier New" color="#0000ff">tblsearch</font></a><font face="Courier New">
                        <font color="#ff00ff">"layer"</font>
                        <font color="#ff00ff">"cen"</font><font color="#ff0000">)</font><font color="#ff0000">)</font></font></p><p>(command "_layer" "n" "cen" "s" "cen" "l" "center" "cen" "c" "6" "cen" "")<br/>(setvar "clayer" "cen")<br/>)</p><p>3:如果命令执行失败,我设置好的自动捕捉会全部关掉!.</p><p>(....</p><p>;;;主函数</p><p>(setq olderror *error*)<br/>(setq *error* zxx_err)<br/>(command "_undo" "be")</p><p>.......</p><p>(command)</p><p>(command "._undo" "_end")<br/>(setvar "clayer" oldlayer)</p><p>(setvar "osmode" os)<br/>(setq *error* olderror)<br/>(princ)</p><p>)</p><p>;;;错误处理函数</p><p>(defun zxx_err(msg)<br/>(command)<br/>(command "._undo" "_end")<br/>(setvar "clayer" oldlayer)</p><p>(setvar "osmode" os)<br/>(setq *error* olderror)<br/>(princ)</p><p>)</p>

卡卡西 发表于 2007-9-14 17:10:00

<p>(<br/>&nbsp; defun c:zx()<br/>&nbsp;&nbsp;&nbsp; (prompt "欢迎您用此程序")<br/>&nbsp;&nbsp;&nbsp; (setvar "cmdecho" 0)<br/>&nbsp; </p><p>;创建新层<br/>&nbsp;<br/>&nbsp;&nbsp;&nbsp; (setq oldvar (getvar "OSMODE"))<br/>&nbsp;&nbsp;&nbsp; (setvar "OSMODE" 512)<br/>&nbsp;&nbsp;&nbsp; (command "pline")<br/>&nbsp;&nbsp;&nbsp; (while (= 1 1)<br/>&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;(setq p1 (getpoint "\n请选择第一个点:"))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;(setq firstX (car p1))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;(setq firstY (cadr p1))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;(setq p2 (getpoint "\n请选择第二个点:"))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;(if p2<br/>&nbsp;&nbsp;&nbsp;(progn<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;(setq secondX (car p2))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;(setq secondY (cadr p2))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;(setq mX (/ (+ firstX secondX) 2))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;(setq mY (/ (+ firstY secondY) 2))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;(setq mX (rtos mX))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;(setq mY (rtos mY))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;(command (strcat mX "," mY))<br/>&nbsp; &nbsp;&nbsp;)<br/>&nbsp;&nbsp;&nbsp;(progn<br/>&nbsp; &nbsp;&nbsp;(command "")&nbsp; <br/>&nbsp;&nbsp;&nbsp;)</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;)<br/>&nbsp;<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; (setvar "OSMODE" oldvar)<br/>&nbsp;&nbsp;&nbsp; (princ)<br/>&nbsp; <br/>)</p><p></p><p>试试这个!</p>

fqqc 发表于 2007-9-22 16:35:00

<p>谢谢大哥的提示啦,但是对LISP程序不是太懂,所以还是搞不定啦!</p><p>能不能把修改好的程序发给我啦@!</p><p>谢谢啦!</p>

至今没学会 发表于 2025-2-14 13:56:43

xyp1964 发表于 2007-9-24 13:33
zxx(中心线).vlx 适用于区域和实体

院长牛逼:lol
页: [1]
查看完整版本: 完善“中心线”程序