• Dieses Forum ist die maschinengenerierte Übersetzung von www.cad3d.it/forum1 - der italienischen Design-Community. Einige Begriffe sind nicht korrekt übersetzt.

Aktiver Schichtwechsel

joe

Guest
Guten Morgen.
Ich wollte fragen, ob es möglich ist, dass Sie mir ein wenig Hilfe beim Schreiben einer Lispe geben:
Ich habe zwei Schichten verschiedener Farben für meine Bequemlichkeit geschaffen, eine für das Modell, die andere für den Einsatz im Layout. Meine Absicht ist, eine dieser beiden Schichten zum aktiven zu machen, wenn ich auf die entsprechende Registerkarte klicke. in der Praxis, wenn ich das Layout öffne, möchte ich, dass die entsprechende Quotenschicht aktiv wird.
Können Sie nicht vorschlagen, wie Sie die Lispe verbreiten?
Danke.
vor Jahren
 
Sie können dieses Ergebnis mit einem Reaktor erhalten. im konkreten Fall, wenn Sie zu jedem Layout gehen, wird sich das Programm automatisch auf der "quote" Schicht positionieren, um in die "0" Schicht zurückzukehren, wenn der Schalter im Modellraum gemacht wird. Offensichtlich sind die "quote" und "0"-Schichten nur Beispiele und Sie können auch sicherstellen, dass Sie ein bestimmtes Layout auswählen, wo Sie die "quote"-Schicht platzieren, fügen Sie einfach eine weitere Bedingung zur Befehlsfunktion hinzu.
Ladereaktorlayout mit (Last) und geben Sie es, das ist alles.
Code:
(defun c:reattorelayout)
(vl-load-com)
(setq dwg (vla-get-activedocument(vlax-get-acad-object)))
(setq reattorelay (vlr-miscellaneous-reactor nil '((:vlr-layoutswitched . comandolay))))
(princ "\n >> reattore caricato")(princ)
)

...
;;; Comandolay Callback Funktion

(defun comandolay (react cmd)
(vla-put-activelayer dwg (vla-item (vla-get-layers dwg) "quote"))
(if (= (vla-get-name (vla-get-activelayout dwg)) "model")
(vla-put-activelayer dwg (vla-item (vla-get-layers dwg) "0"))
)
)
 
Tut mir leid, dass ich Sie fragen wollte, ob Sie diese Lispe laden könnten, wenn Sie es vermeiden könnten, sobald geladen. Also wie sollte ich tun, um es zu laden, so dass es bereits aktiv ist, sobald Autocad geöffnet ist?
Danke.
 
In diesem Fall müssen Sie den Reaktor dauerhaft machen. die lisp-Reaktorlayout dve mit Appload - Startgruppe eingefügt werden, um die Funktion immer zur Verfügung zu stellen (Befehl). Nun wird der Reaktor zusammen mit der Zeichnung gespeichert.
Code:
(defun c:reattorelayout)
(setq reattorelay (vlr-miscellaneous-reactor nil '((:vlr-layoutswitched . comandolay))))[COLOR="#FF0000"] (vlr-pers reattorelay)[/COLOR](princ "\n >> reattore caricato")(princ)
)

...
;;; Comandolay Callback Funktion

(defun comandolay (react cmd)
(setq dwg (vla-get-activedocument(vlax-get-acad-object)))
(vla-put-activelayer dwg (vla-item (vla-get-layers dwg) "quote"))
(if (= (vla-get-name (vla-get-activelayout dwg)) "model")
(vla-put-activelayer dwg (vla-item (vla-get-layers dwg) "0"))
)
)
 
Vielen Dank
Eine andere Sache: Können Sie ein Makro von Aktionen aufnehmen und diese mit einer verlangsamten Geschwindigkeit spielen? Ich meine, während der Reproduktion den Fluss der Stufen der Zeichnung zu sehen?
 
Sie tippen es einmal, das erste Mal, wenn Sie es verwenden, der Reaktor ist permanent. Und dann muss es das erste Mal sein!
 
Ich bin aufrichtig, das Makro der Aktionen nie verwenden, aber die Hilfe ist ziemlich erschöpfend. Ich weiß, dass es nicht möglich ist, die Geschwindigkeit anzupassen, aber vielleicht bin ich falsch. Ich verlasse das Wort denen, die mehr über mich wissen.
 

Statistik des Forums

Themen
58.521
Beiträge
499.056
Mitglieder
104.110
Neuestes Mitglied
ChristianR

Zurzeit aktive Besucher

Keine Mitglieder online.
Zurück
Oben