[求助]怎样获得多段线中某段的斜率
<p>我现在的程序是选择一条直线,从而获得直线的端点,求出斜率,根据这个斜率在线上插入块.</p><p>现在想把这个在多段线上也可以用,其实就是只要知道我点下去的那点所在直线的两个端点就可以了,</p><p>那怎么获得多段线的端点列表呢</p><p>谢谢大家,我知道这里高手很多,希望赐教</p> 本帖最后由 作者 于 2009-2-8 22:42:44 编辑 <br /><br /> <p>论坛上有“获得拾取点临近的端点”的程序,我抄了一份。给个链接:<a href="http://bbs.mjtd.com/forum.php?mod=viewthread&tid=73495">http://bbs.mjtd.com/forum.php?mod=viewthread&tid=73495</a></p><p>不敢乱贴。以下是我自己的,献丑。;输入图元名称,获得多义线的分段线段的端点和角度;输出一个表palist</p><p><br/>(defun entptanglist( ename / entptlist i entlist n entpt entptlist listlen ptang)<br/> (setq entptlist '()<br/> i 0<br/> entlist (entget ename)<br/> n (length entlist) <br/> )<br/> (while (< i n)<br/> (if (= 10 (car(nth i entlist )))<br/> (progn<br/> (setq entpt (list(list (cadr(nth i entlist)) (caddr(nth i entlist )))))<br/> (setq entptlist (append entpt entptlist))<br/> )<br/> )<br/> (setq i (+ i 1))<br/> )<br/> <br/>(setq listlen (- (length entptlist) 1)<br/> palist '()<br/> i 0)<br/>(while (< i listlen)<br/> (setq ptang (list(angle(nth i entptlist) (nth (+ i 1) entptlist))))<br/> (setq pal (list(list (nth i entptlist) (nth (+ i 1) entptlist) ptang)))<br/> (setq palist (append palist pal ))<br/> <br/> (setq i (+ i 1)) <br/> )<br/>(princ palist)<br/>)</p> <p>换个思路如何?</p><p>(setq ee (entsel)<br/> pt (cadr ee) <br/> ppt (apply 'vlax-curve-getClosestPointTo ee) ; 垂足<br/> sl (angle pt ppt)<br/>)</p> 楼上高人,谢谢提供新思路。
页:
[1]