Hallo zusammen,
habe vor mal die Lisp aus dem Forum heraus auf meine Bedürfnisse abgewandelt. Lief auch unter 2006 einwandfrei, nur unter 2009 bekomme ich die Fehlermeldung "no funktion definition: VLR-Command-Reaktor"
Die Lisp soll bei für Schraffur bzw. Bemaßung zum entsprechenden Layer und dann wieder zum
vorherigen zurück wechseln.
Vielleicht könnt Ihr mir da weiter helfen, wäre echt dankbar!!!
Gruß, Burschii
(defun pre_lay (reatyp befname / )
(cond
((or(wcmatch (car befname) "DIM*")(wcmatch (car befname) "BEM*"))
(setq *oldlay* (getvar "CLAYER"))
(setvar "CLAYER" "STAHLBAU-BEMASSUNG")
)
((or(wcmatch (car befname) "*SCHRAFF")(wcmatch (car befname) "*HATCH"))
(setq *oldlay* (getvar "CLAYER"))
(setvar "CLAYER" "STAHLBAU-SCHRAFFUR")
)
)
)
(defun after_lay (reatyp befname / )
(cond
((and(or(wcmatch (car befname) "DIM*")
(wcmatch (car befname) "DIM*")
(wcmatch (car befname) "*TEXT")
(wcmatch (car befname) "*SCHRAFF")
(wcmatch (car befname) "*HATCH")
)
*oldlay*
)
(setvar "CLAYER" *oldlay*)
(setq *oldlay* nil)
)
)
)
(defun reaload ()
(if (not *DEFUN_LAYERSET*)
(progn
(setq *DEFUN_LAYERSET*
(VLR-Command-Reactor "*DEFUN_LAYERSET*"
'((:vlr-commandEnded . after_lay)
(:vlr-commandCancelled . after_lay)
(:vlr-commandwillstart . pre_lay)
)
)
)
(princ "\nLayerschalter aktiviert")
)
)
)
(foreach LAYER '("STAHLBAU-BEMASSUNG" "STAHLBAU-SCHRAFFUR")
(if (not(tblobjname "LAYER" LAYER))
(command "_-layer" "_m" LAYER "")
)
)
(reaload)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP