你好
谁能帮我让这个Lisp程序的工作。
在*DIM*命令中,lisp应转到您选择的层(按1或2)。
放置尺寸后,图层应返回到选择“DIM”命令之前的图层。
这是现在的代码。
- ; AFKORTINGEN VAN DE VARIABELEN
- ; ADDL Automatic dimension layer
- ;****************************************************************************
- (defun CommandReactor:Start ()
- (or *CommandReactor*
- (setq *CommandReactor*
- (vlr-command-reactor
- nil
- '(
- (:vlr-commandcancelled . CommandReactor:CommandEnded)
- (:vlr-commandended . CommandReactor:CommandEnded)
- (:vlr-commandfailed . CommandReactor:CommandEnded)
- (:vlr-commandwillstart . CommandReactor:CommandWillStart)
- )
- )
- )
- )
- (prompt "\nCommand reactor loaded. ")
- (princ)
- )
- ;****************************************************************************
- (defun CommandReactor:CommandEnded (rea cmd)
- (if (and *OldClayer*
- (wcmatch (strcase (car cmd)) "*DIM*")
- )
- (progn
- (setvar 'clayer *OldClayer*)
- (setq *OldClayer* nil)
-
- )
- )
- )
- ;****************************************************************************
- (defun CommandReactor:CommandWillStart (rea cmd)
- (if (wcmatch (strcase (car cmd)) "*DIM*")
- (progn
- (setq *OldClayer* (getvar 'clayer))
- (vla-add
- (vla-get-layers (vla-get-activedocument (vlax-get-acad-object)))
-
- ; Kiezen van de DIM layer
- (setq ADDL 0)
- (while (or (< ADDL 1) (> ADDL 2))
- (setq ADDL (getint "\nInput the DIM layer: Dim. (1), Dim. front (2): ")))
- ) ; end while
- ;ADDL = 1, Dimension layer
- (if (= ADDL 1)
- (progn
- (command "_layer" "_m" "S-DIMENSIONS" "_c" "3" "" "")
- ); progn
- ); if (=ADDL 1)
- ;ADDL = 2, Dimension front layer
- (if (= ADDL 2)
- (progn
- (command "_layer" "_m" "S-DIMENSIONS front" "_c" "3" "" "")
- ); progn
- ); if (=ADDL 2)
- (setvar 'clayer *OldClayer*)
- )
- )
- )
- ;****************************************************************************
- (CommandReactor:Start)
- (princ)
- ;****************************************************************************
- ;****************************************************************************
- ;****************************************************************************
- ;****************************************************************************
请帮忙!
谢谢 |