461045462 发表于 2010-7-3 07:38:00

求助:用lsp连续画垂直线段

本帖最后由 作者 于 2010-7-3 20:49:33 编辑 <br /><br /> <h2>恳求:用lsp连续画垂直线</h2>
<div class="t_msgfont">求助:由于工作的需要绘制图形,像那种地面房屋的图,数量较多,有的不一定是矩形,而是由多点组成的图形,而且许多图形不是水平方向。<br/>虽然可以采用坐标转换的形式,或者用正交作图,再旋转,或用其它软件作图,不能连续作垂直画线,而且转换的工作量很大。<br/>我的思路是:如果能先给定一条线,然后在线左右两边点击,即在一条线的任意一边点击一下,也就是给出哪个方向90度,输入距离,就能画出一个垂直直角线,可以连续画,不需要去旋转,那样就快多了。如果能标出每段的边长和每个图形的面积就更加理想。</div>
<div class="t_msgfont">想学习lsp修改一下,却无能为力,恳请大侠帮忙,谢谢!<br/><br/><img src="http://bbs.co188.com/content/images/GreenPark/attachimg.gif" border="0"/></div>
<div class="t_msgfont"></div>
<div class="t_msgfont">&nbsp;</div>
<div class="t_msgfont">&nbsp;</div>
<div class="t_msgfont">已解决。</div>

dunkel 发表于 2010-7-3 13:04:00

没怎么看明白。这样的功能要求,可以到开发区的 lsp 板块去问问。

461045462 发表于 2010-7-3 14:16:00

<p>谢谢楼上的提醒</p>
<p>我已经转载到开发区的 lsp 板块提问</p>

sy100 发表于 2010-7-3 22:25:00

<p>这样的功能,早就有了。</p>
<p>&nbsp;</p>
<p>下面的程序由网络收集,版权归原作者。。。</p>
<p>&nbsp;</p>
<p><font face="Verdana">(defun c:miaotu&nbsp;(/ p1 p2 lst setucs)<br/>&nbsp; (defun err-new (msg)</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp; (command "._redraw")<br/>&nbsp;&nbsp;&nbsp; (princ msg)<br/>&nbsp;&nbsp;&nbsp; (ended)<br/>&nbsp; )<br/>;;;________________________________<br/>&nbsp; (defun ended (/ tmp)<br/>&nbsp;&nbsp;&nbsp; (setq *error* err-old)<br/>&nbsp;&nbsp;&nbsp; (if&nbsp;setucs<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (command "_.ucs" "p")<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp; )<br/>&nbsp; (setq err-old *error*)<br/>&nbsp; (setq *error* err-new)<br/>&nbsp; (princ "\nWRITEN BY WKAI , XDCAD.NET , 20040611")<br/>&nbsp; (setvar "ORTHOMODE" 0)<br/>&nbsp; (setvar "cmdecho" 1)<br/>&nbsp; <br/>&nbsp; (if (setq p1 (getpoint "\n指定第一点:"))<br/>&nbsp;&nbsp;&nbsp; (if&nbsp;(setq p2 (getpoint p1 "\n指定下一点:"))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (progn<br/>&nbsp;(setq p1 (trans p1 1 0))<br/>&nbsp;(setq p2 (trans p2 1 0))<br/>&nbsp;(entmake (list (cons 0 "LINE") (cons 10 P1) (cons 11 P2)))<br/>&nbsp;(command "_.ucs" "ob" (entlast))<br/>&nbsp;(setq setucs t)<br/>&nbsp;(entdel (entlast))<br/>&nbsp;(setvar "ORTHOMODE" 1)<br/>&nbsp;(command "_.pline" (trans p1 0 1) (trans p2 0 1))<br/>&nbsp;(while (/= (getvar "cmdactive") 0)<br/>&nbsp;&nbsp; (command pause)<br/>&nbsp;)<br/>&nbsp;(command)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp; )<br/>&nbsp; (ended)<br/>)</font></p>

461045462 发表于 2010-7-4 06:55:00

<p>有些资料在网络上早就有了的东西,可是就是不知道要怎样才能找到?在网络上查找“如何用lsp连续画垂直线”却找不到。</p>
<p>谢谢您的指点,要好好学习</p>
<p>感谢楼上</p>
页: [1]
查看完整版本: 求助:用lsp连续画垂直线段