如何进行多次中断。。。
大家好我在看一个lsp文件,它允许我打断两条中间定位的线,离开参考线X毫米。
我想更好地解释。。。。我要说我现在要做什么来做到这一点
我上下偏移参考线2mm(例如),然后在我用OFFSET命令创建的2条线之间修剪线。
我不习惯在这里用英语和意大利语交谈,但我希望你能理解我的要求
当心 一个lisp选取第1行,然后选取其他2行算出break pts。除非有人先发帖,否则我会尽量挤出时间。
找时间试试这个
; Break a line with 2mm offset
; by BIG AL nov 2014
; add getreal ver 2 for offset distance
; ver3 check for break always inside as direction of line may break to outside
; will fail if pline
; defun to work out start pt repeatedly
(defun xyst (obj )
(list (cadr(assoc 10 obj))
(caddr (assoc 10 obj))
)
)
; defun to work out end pt repeatedly
(defun xyend (obj )
(list (cadr(assoc 11 obj))
(caddr (assoc 11 obj))
)
)
(defun C:break2mm ( / obj1 obj2 obj3 st1 st2 st3 end1 end2 end3 pt3 pt4)
(setq obj1 (entget (Car (entsel "\npick 1st line"))))
(setq obj2 (entget (car (entsel "\npick 2nd line"))))
(setq obj3 (entget (car (entsel "\npick 3rd line"))))
(setq oldsnap (getvar "osmode"))
(setvar "osmode" 0)
(setq st1 (xyst obj1)
end1 (xyend obj1))
(setq st2 (xyst obj2)
end2 (xyend obj2))
(setq st3 (xyst obj3)
end3 (xyend obj3))
(setq pt1 (inters st1 end1 st2 end2))
(setq pt2 (inters st1 end1 st3 end3))
(setq ang (angle st1 end1))
(setq pt3 (polar pt1 ang 2.0))
(setq pt4 (polar pt2 (+ pi ang) 2.0)) ; 2.0 is 2mm
(command "Break" pt3 pt4)
(setvar "osmode" oldsnap)
) ; defun
谢谢你的快速回答。。。。刚刚试过,因为我只是在工作中使用autocad,无论如何这不是我的意思(我确信我解释得不好)
我必须选择一条参考线(例如管道)并修剪与参考线相交的所有线,以显示它们是两种不同的管道
我希望我现在解释得更好 欢迎来到CADTutor!
我将你的帖子转移到AutoLISP、Visual LISP和DCL论坛,请尝试在适当的论坛中发布,这将帮助你获得更相关、更快的回复。
也许你应该展示一个前后图像和一个。dwg文件,以明确问题。
页:
[1]