lisp把多段线顶点连成表_共线直线并批量连接-多段线连接-Join - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - Powered by Discu...

本文介绍了如何使用LISP编程在AutoCAD中实现多段线的批量连接功能,类似于命令Join。作者提供了简洁的代码,用于判断线段是否共线并进行连接,适用于处理PDF转DWG后的线段连接问题。
摘要由CSDN通过智能技术生成

本帖最后由 自贡黄明儒 于 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))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值