我相信这样的事情可能会奏效。
- (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
|