5
34
29
初来乍到
(defun c:Grl2()(setq cl (getvar "clayer"))(setvar "osmode" 183)(COMMAND "LAYER" "M" "Doors & Windows" "C" "21" "" "")(setq p1 (getpoint "Pick top left corner: "))(setq p2 (getcorner p1 "\n Pick bottom right corner: ")) (setq p3 (list (car p1) (cadr p2)))(setq p4 (list (car p2) (cadr p1)))(command "line" p1 p3"")(if (and (ssget "L") (setq of "4")) (progn (setq undo (not (vla-StartUndomark (setq doc (vla-get-ActiveDocument (vlax-get-acad-object) ) ) ) ) ) (vlax-for obj (setq ss (vla-get-ActiveSelectionSet doc)) (mapcar (function (lambda ( o ) (vl-catch-all-apply (function vla-offset) (list obj o) ) ) ) (list of) ) ) (vla-delete ss) (setq undo (vla-EndUndoMark doc)) ) )(command "erase" (ssget "p")"");====================================== roud 2(command "line" p1 p4"")(if (and (ssget "L")(setq of "-4")) (progn (setq undo (not (vla-StartUndomark (setq doc (vla-get-ActiveDocument (vlax-get-acad-object) ) ) ) ) ) (vlax-for obj (setq ss (vla-get-ActiveSelectionSet doc)) (mapcar (function (lambda ( o ) (vl-catch-all-apply (function vla-offset) (list obj o) ) ) ) (list of) ) ) (vla-delete ss) (setq undo (vla-EndUndoMark doc)) ) )(command "erase" (ssget "p")"");====================================== roud 3(command "line" p2 p4"")(if (and (ssget "L") (setq of "4")) (progn (setq undo (not (vla-StartUndomark (setq doc (vla-get-ActiveDocument (vlax-get-acad-object) ) ) ) ) ) (vlax-for obj (setq ss (vla-get-ActiveSelectionSet doc)) (mapcar (function (lambda ( o ) (vl-catch-all-apply (function vla-offset) (list obj o) ) ) ) (list of) ) ) (vla-delete ss) (setq undo (vla-EndUndoMark doc)) ) )(command "erase" (ssget "p")"");====================================== roud 4(command "line" p2 p3"")