我在这里得到了这个lisp(Lee Mac),我试图从中删除“删除所有布局选项卡”部分,并将其放入一个新的lisp例程。但由于我刚刚开始学习lisps,我很难找到我到底需要做什么。请帮忙。
-
- (defun c:Brian (/ *error* uFlag)
- (vl-load-com)
- (defun *error* (msg)
- (and uFlag (vla-EndUndoMark *doc))
- (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
- (princ (strcat "\n** Error: " msg " **")))
- (princ))
- (setq *doc (cond (*doc) ((vla-get-ActiveDocument
- (vlax-get-acad-object)))))
- (setq uFlag (not (vla-StartUndoMark *doc)))
- (vlax-for blk (vla-get-Blocks *doc)
- (if (eq :vlax-true (vla-get-isXref blk))
- (if (vl-catch-all-error-p
- (vl-catch-all-apply
- (function vla-Detach) (list blk)))
- (princ (strcat "\n** Error Detaching Xref: "
- (vla-get-name blk) " **")))))
- (vlax-for lay (vla-get-Layers *doc)
- (vla-put-Lineweight lay acLnWt025)
- (vla-put-LayerOn lay :vlax-true))
- (vlax-for lay (vla-get-layouts *doc)
- (if (not (eq "MODEL" (strcase (vla-get-Name lay))))
- (vla-delete lay)))
- (vlax-for v (vla-get-views *doc)
- (vla-delete v))
- (command "_.-scalelistedit" "_R" "_Y" "_E")
- (vl-Catch-All-Apply
- (function
- (lambda nil
- (vla-Remove
- (vla-GetExtensionDictionary (vla-Get-Layers *doc)) "ACAD_LAYERFILTERS"))))
- (if (setq states (layerstate-getnames t t))
- (mapcar (function layerstate-delete) states))
- (repeat 3 (vla-PurgeAll *doc))
- (mapcar (function setvar)
- '("CLAYER" "INSBASE" "CANNOSCALE" "LTSCALE" "MSLTSCALE" "PSLTSCALE")
- '( "0" (0 0 0) "1/4" = 1'-0"" 1 1 1 ))
- (setq uFlag (vla-EndUndoMark *doc))
- (princ))
|