求助:已知起点、端点、切线,如何画出这个圆?
;;;已知两点。与切线。画圆
;;;连接两点划一直线,从直线中点划一与直线垂直的直线,
;;;这条直线与圆弧切线的交点就是圆弧与那条直线的切点,
;;;然后呢三点划弧就可以了
(defun c:tt()
(vl-load-com)
(setq pta (getpoint"点取第一点"))
(setq ptb(getpoint"点取第二点"))
(setq s0(car(entsel"选取相切的直线")))
(setq mid(mapcar '(lambda (z zz)(/ (+ z zz)2) )
ptaptb )
) ;中点
(setq near_pt<(vlax-curve-getClosestPointTo s0 mid T))
(command "circle" "3p"pta ptb near_pt<"")
) 434939575 发表于 2015-3-17 19:15 static/image/common/back.gif
这个方法画出来的不对,请看我一楼的示意图,已知两点A、B的连线与已知直线C并不平行,所以这种方法画出来的圆与已知只想并不相切。 (defun c:tt()
(vl-load-com)
(setq pta (getpoint "\n点取第一点: "))
(setq ptb (getpoint "\n点取第二点: "))
(princ "\n选取与圆相切的直线: ")
(command "_.circle" "_3p" "_non" pta "_non" ptb "_tan" pause)
) USER2128 发表于 2015-3-18 08:20 static/image/common/back.gif
确实可以,谢谢了。
页:
[1]