更多tha的INTERSECT命令
嘿,伙计们!如果我有3个像图片一样的区域,我希望能够得到2个相交区域(不需要单独做)。现在,我只是犯了一些错误
边请求——使用INTERSECT而不删除原始区域的LISP(类似于此LISP用于SUBTRACT命令,或此LISP用于多段线而不是区域)
https://www.cadtutor.net/forum/attachment.php?attachmentid=59249&cid=1&stc=1
谢谢
我相信这样的事情可能会奏效。
(defun c:mintersect (/ ss1 curcmdecho curnomutt)
(defun *error* (errmsg)
(if (not (wcmatch errmsg "Function cancelled,quit / exit abort,console break,end"))
(princ (strcat "\nError: " errmsg))
) ;_ end if
(setvar 'cmdecho curcmdecho)
(setvar 'nomutt curnomutt)
(vla-endundomark adoc)
) ;_ end defun
(vla-startundomark
(setq adoc (vla-get-activedocument (setq acadObject (vlax-get-acad-object))))
) ;_ end vla-startundomark
(setq curcmdecho (getvar 'cmdecho)
curnomutt(getvar 'nomutt)
) ;_ end setq
(prompt "\nSelect Regions to create intersection :")
(setq ss1 (ssget '((0 . "REGION"))))
(prompt "\nPick points where to create intersections :")
(setvar 'nomutt 1)
(setvar 'cmdecho 0)
(command-s "._-boundary" "_a" "_b" "_n" ss1 "" "_o" "_r" "" pause)
(command "._erase" ss1 "")
(*error* "end")
(princ)
) ;_ end defun
页:
[1]