前面有介绍过两种CAD画两条样条线的中心线的方法,分别是用三维曲面提取中心线和画辅助取中心线,这两种方法。其实还有更简单的方法,就是用插件,感兴趣的可以自己找有相关功能的插件来使用。
这里提供一个。
(defun c:zx( / ent1 ent2 num p1list p2list p3list i cp p1 cv1 cv2 stp endp) (setq ent1 (car (entsel "\n选择第1对象:")))
(setq ent2 (car (entsel"\n选择第2对象:")))
(setq cv1 ent1 cv2 ent2)
(setq num (getint "\n控制点数量(越多效果越好:"))
(if (ssget "x" (list (cons 0 "POINT"))) (command "erase" (ssget "x" (list (cons 0 "POINT"))) ""))
(command "divide" ent1 num)
(setq ent1 (ssget "x" (list (cons 0 "POINT"))))
(setq p1list nil i 0)
(while (setq cp (ssname ent1 i))
(setq p1list (append p1list (list (cdr (assoc 10 (entget cp))))))
(setq i (1+ i))
)
(setq stp (vlax-curve-getStartPoint cv1) endp (vlax-curve-getEndPoint cv1))