cad墙线打断lisp_两个打断程序 - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - 程序 - Powered by Discuz!...

本文分享了两个AutoLISP程序,分别用于实现一条线打断多条线和多条线打断一条线的功能。程序通过选择线并计算交点来执行打断操作,提高了CAD操作效率。
摘要由CSDN通过智能技术生成

本帖最后由 millermin 于 2012-4-12 09:08 编辑

奉献两个打断程序。一直线打断一组线。这个好办,一个循环就完成了。另一个是一组线打断一根直线。这个有点麻烦,因为断第一点以后,原来的目标变成了两个,那么原来的变量名就不能再用,程序无法继续。经过观察,找到解决办法,请各位行家大力斧正。为提高操作速度,我特意分成两个程序,只要记住两个程序名就可以节省了操作过程中的选项。

1. 一断多:

(defun c:bpm (/ pt )

(vl-load-com)

(setvar "cmdecho" 0)

(setvar "orthomode" 0)

(setq bl (car (entsel "\nCHOOSE A LINE TO BE CUT:")))

(setq bl-v (vlax-ename->vla-object bl))

(prompt "\nCHOOSE CUTTING LINES:")

(setq cutln-s(ssget '((0 . "LINE,ARC,CIRCLE,ELLIPSE,LWPOLYLINE,SPLINE"))))

(setq m 0)

(setq n 0)

( while (< m (sslength cutln-s))

(setq cutln  (ssname cutln-s m))

(setq cutln-v (vlax-ename->vla-object cutln))

(if (and (setq point-v (vla-intersectwith bl-v cutln-v acExtendNone))

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值