eyeofnewt555 发表于 2022-7-5 17:14:48

更多tha的INTERSECT命令

嘿,伙计们!
 
如果我有3个像图片一样的区域,我希望能够得到2个相交区域(不需要单独做)。现在,我只是犯了一些错误
 
边请求——使用INTERSECT而不删除原始区域的LISP(类似于此LISP用于SUBTRACT命令,或此LISP用于多段线而不是区域)
 
 
https://www.cadtutor.net/forum/attachment.php?attachmentid=59249&cid=1&stc=1
 
谢谢

ronsingh78 发表于 2022-7-5 18:52:57

我相信这样的事情可能会奏效。
 
 

(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]
查看完整版本: 更多tha的INTERSECT命令