绘两线段中心线
本帖最后由 striver 于 2023-12-9 14:38 编辑;;;绘两线段中心线
(defun C:lxzx ()
(if (and (setq ss (ssget '((0 . "*LINE"))))
(= (sslength ss) 2)
)
(progn
(setq s1 (ssname ss 0)
s2 (ssname ss 1)
p1a (vlax-curve-getStartPoint s1)
p1b (vlax-curve-getEndPoint s1)
p2a (vlax-curve-getStartPoint s2)
p2b (vlax-curve-getEndPoint s2)
)
(setq v3 (getvar "osmode"))
(setvar "cmdecho" 0)
(setvar "osmode" 0)
(if (inters p1a p2a p1b p2b)
(command "line" (midPnt p1a p2b) (midPnt p1b p2a) "")
(command "line" (midPnt p1a p2a) (midPnt p1b p2b) "")
)
(command "chprop" (entlast) "" "C" 1 "LT" "CENTER2" "")
(setvar "osmode" v3)
(setvar "cmdecho" 1)
)
)
(princ)
)
(defun midPnt (pnt1 pnt2)
(list (/ (+ (nth 0 pnt1) (nth 0 pnt2)) 2)
(/ (+ (nth 1 pnt1) (nth 1 pnt2)) 2)
(/ (+ (nth 2 pnt1) (nth 2 pnt2)) 2)
)
)
谢谢分享!!!!!
好像有问题,红线线是程序画的中线,蓝色是示意的中线
这种效果能实现吗
页:
[1]