我认为这是一个好的开始
- (defun c:mofst (/)
- (setq doc (vla-get-ActiveDocument (setq *acad (vlax-get-Acad-Object)))
- spc (if (zerop (vla-get-activespace doc)) (if (= (vla-get-mspace doc) :vlax-true) (vla-get-modelspace doc) (vla-get-paperspace doc)) (vla-get-modelspace doc)))
- (vl-load-com)
- (setq uFlag (vla-startUndoMark doc))
- (setq obj (entsel "\nSelectObject"))
- (setq s (getpoint "\nPick Offset side"))
- (setq o1 (getreal "\nWhat is distence for 1st offset?"))
- (setq o2 (getreal "\nWhat is distence for 2nd offset?"))
- (setq o3 (getreal "\nWhat is distence for 3rd offset?"))
- (vl-cmdf "_.offset" o1 obj s "")
- (vl-cmdf "_.offset" o2 obj s "")
- (vl-cmdf "_.offset" o3 obj s "")
- (setq uFlag (vla-EndUndoMark doc))
- )
- (defun *error* (msg) (and uFlag (vla-EndUndoMark doc)) (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*") (princ (strcat "\n** Error: " msg " **"))) (princ))
|