[求助]如何把多段线和其他线的交点改为多段线的顶点?
如何把多段线和其他线的交点改为多段线的顶点? 不太明白意思,顶点指多段线的那个点,起点还是终点,还是当中某个点? 交点 肯定是在这根线上的,就是在不改变线的外观的情况下,把交点改为顶点用PEDIT E I 再后面就要判断插入哪个顶点后面了,如果2个顶点之间只有1个交点,那还好解决,如果有多个的话,如果通过循环是可以解决的,但是总感觉很别扭. 本帖最后由 作者 于 2005-4-11 12:38:15 编辑
;;By 龙龙仔
;;(ADD_INTPT <POLYLINE线> <相交线>)
;;回传值: ENAME(POLYLINE线)
(defun C:TT ()
(ADD_INTPT (car (entsel "\n选POLYLINE线: "))
(car (entsel "\n选相交线: "))
)
(princ)
)(defun C:TTT (/ HOLDECHO LINE1 SS N)
(if (and (setq LINE1 (car (entsel "\n选POLYLINE线: ")))
(progn (redraw LINE1 3)
(prompt "\n选相交线: ")
(setq SS (ssget '((0 . "*LINE,CIRCLE,ARC,ELLIPSE"))))
(if (and SS (> (sslength SS) 0))
t
(redraw LINE1 4)
)
)
)
(progn
(setq HOLDECHO (getvar "CMDECHO"))
(setvar "CMDECHO" 0)
(command "_.UNDO" "_GROUP")
(setq N 0)
(repeat (sslength SS)
(setq LINE1 (ADD_INTPT LINE1 (ssname SS N)))
(setq N (1+ N))
)
(command "_.UNDO" "_END")
(setvar "CMDECHO" HOLDECHO)
)
)
(princ)
)
更新2005-04-11 pm12:30 谢谢龙龙仔
经常有:; 错误: 除数为零的提示 我不知道是什么缘故<BR>不过好像对 交点在顶点上的交点没有做处理,可惜我看不到源代码,能不能返回一个判断的变量给我,
因为我是对选择集内的 线都做处理的,所以不能判断交点就在顶点上 谢谢龙龙仔,下载使用了
页:
[1]