本帖最后由 自贡黄明儒 于 2012-7-4 12:01 编辑
自从AutoCAD使用"打断br"以来,就一直没有其逆操作Join。直到前几天,我试用2012版,发现Autocad已经翻然醒悟,Join出现了。
其实明经的网友们早就写了该程序,但写得复杂,我一直没有读懂。下面是我写的,写得很简单。经试试用,比2012版中的join要好用得多。
牛皮吹完了,不信你可以试一试。
;;;;; 共线直线并批量连接,相当于命令Join
(defun C:JOIN (/ E E1 EN EN1 I N ssLine)
;;1 p1是否在p2 p3线上,返回0.0
;;p1 is a point
;;p2 and p3 are points that form a line segment
;;returns 1 is p1 is on one side
;; -1 if on the other side
;; 0 if on the line
(defun what_side (p1 p2 p3 / a dx dx1 dy dy1)
(setq dx (- (car p3) (car p2))
dy (- (cadr p3) (cadr p2))
dx1 (- (car p1) (car p2))
dy1 (- (cadr p1) (cadr p2))
) ;setq
(setq a (- (* dx dy1) (* dy dx1))
a (rtos a 2 6)
a (atof a)
) ;setq
(if (not (equal 0.0 a))