[求助]求找出两线交点并画出虚交线的lisp程序
<p>各位好,求找出两线交点并画出虚交线的lisp程序,谢谢,如图</p><p></p><p></p> 要是可以批量就好了 这个程序不错,感谢分享 请教排除斜线选择集;画直线虚交点 明经 ZZXXQQ 2009.7.28
(defun c:tt ()
(setvar "CMDECHO" 0)
(setq oldos (getvar "OSMODE"))
(if (and (setq s1 (entsel "\n选择第一条直线 :"))
(setq ent (entget(car s1)))
(= (cdr(assoc 0 ent)) "LINE"))
(if (and (setq s2 (entsel "\n选择第二条直线 :"))
(setq ent1 (entget(car s2)))
(= (cdr(assoc 0 ent1)) "LINE")) (progn
(setq p1 (cdr(assoc 10 ent)) p2 (cdr(assoc 11 ent))
p3 (cdr(assoc 10 ent1)) p4 (cdr(assoc 11 ent1)))
(if (= (setq p5 (inters p1 p2 p3 p4 T)) nil) (progn
(setq p5 (inters p1 p2 p3 p4 nil))
(setq pt1 (polar p5 (angle p5 p2) 10)
pt2 (polar p5 (angle p5 p4) 10))
(command ".line" pt1 p5 pt2 "")
)
(princ "\n直线无虚交点.")
)
))
)
(setvar "OSMODE" oldos)
(setvar "CMDECHO" 1)
(princ)
)
谢谢版主的支持!用了一下发现倾斜角度的两直线的虚交点重合在了一起,而且两条垂直线的虚交点显示不出来,烦版主看看! 我这里没问题。看下是不是捕捉的问题。 我也要使用一下!谢<br/> 请问如果是多义线或其中有条是圆弧、或椭圆弧呢?它们能否延长到相交点?恳请老大帮忙改下啊。。。。。拭目以待 (setq pt1 (polar p5 (angle p5 p2) (min (* (distance p5 p1) 0.4) (* (distance p5 p2) 0.4)))<br/> pt2 (polar p5 (angle p5 p4) (min (* (distance p5 p3) 0.4) (* (distance p5 p4) 0.4)))) 怎么判断两线有无相交啊????????