| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: Ausführung dieser Lisp-Datei der alte Layer wieder zurückgesetzt (832 mal gelesen)
|
Ex-Mitglied
|
erstellt am: 06. Mai. 2004 11:08 <-- editieren / zitieren -->
Hallo, ich möchte eine Lisp Datei in einem Icon (Diesem Werkzeug zugeordnetes Makro  ausführen. Bevor diese Lisp-Datei ausgeführt wird soll noch ein andere Layer ein gestellt werden. Soweit habe ich keine Probleme. Nun möchte ich aber, dass nach Ausführung dieser Lisp-Datei der alte Layer wieder zurückgesetzt wird bzw. eine andere Befehlsfolge ausgeführt wird. Bei mir ist es so, dass wenn die Lisp-Datei ausgeführt wurde und die lisp verlasse, dass danach eingefügte Befehle nicht mehr berücksichtigt werden. Oder hat man die Möglichkeit dies komplett in eine Lisp-Datei zu packen. Wer kann mir da helfen. Danke für jeden Tip. Ralph
|
AsSchu Ehrenmitglied Konstrukteur
    
 Beiträge: 1632 Registriert: 27.06.2003 ACAD 2007,cadMANdu Win 2000 XP
|
erstellt am: 06. Mai. 2004 11:13 <-- editieren / zitieren --> Unities abgeben:         
|
cadffm Moderator 良い精神
       

 Beiträge: 22298 Registriert: 03.06.2002 Alles
|
erstellt am: 06. Mai. 2004 11:14 <-- editieren / zitieren --> Unities abgeben:         
poste Lisp & Makro (wie du es eigentlich gern hättest - es aber nicht so weiterläuft) dann packt es dir einer mit in das Lisp (auch den Layer einstellen VOR dem Lisp kann dann da mit rein) ------------------ - Sebastian - Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
       

 Beiträge: 4189 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 06. Mai. 2004 11:16 <-- editieren / zitieren --> Unities abgeben:         
Hallo Ralph, neben den vielen Fragezeichen, die ich jetzt im Gesicht habe zu dem was du jetzt meinen könntest mal 2 Befehle: (getvar .. ermittelt den Wert einer Systemvariablen (setvar .. setzt den Wert einer Systemvariablen "CLAYER" ist die Systemvariable, welche den aktuellen Layer bestimmt. somit kannst du mit (setq oldlayer (getvar "CLAYER")) den Layer vor Befehlsausführung sichern und mit (setvar "CLAYER" oldlayer) am Ende wieder aktuell setzen. Reicht das als Info? Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man's hat! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 06. Mai. 2004 11:40 <-- editieren / zitieren -->
Das nachfolgende Programm sollte den Layer auf "0_Li_Cy_013" setzen und danach die Lisp-Datei "Boesch" ausführen und danach den alten Layer wieder einstellen. Funktioniert aber nicht und ich weiss nicht warum. Kann mir jemand Helfen? Wäre super Danke (defun pre_lay (reatyp befname / );Wenn Programm gestartet wird (cond ((wcmatch (car befname) "Boesch*") (setq *oldlay* (getvar "CLAYER")) (setvar "CLAYER" "0_Li_Cy_013");Anstatt der 0 den Layer einsetzen, der zum Bemassen genutzt werden soll ) ) ) (defun after_lay (reatyp befname / );Wenn Programm beendet wird (cond ((and (wcmatch (car befname) "Boesch*") *oldlay* ) (setvar "CLAYER" *oldlay*) (setq *oldlay* nil) ) ) ) (defun reaload ();Initialisierung des Reactors (if (not *DEFUN_DIMLAYER*) (progn (setq *DEFUN_DIMLAYER* (VLR-Command-Reactor "*DEFUN_DIMLAYER*" '((:vlr-commandEnded . after_lay) (:vlr-commandwillstart . pre_lay) ) ) ) (princ "\nLayerschalter Bemassung aktiviert") ) ) ) (reaload) Gruß Ralph |
Brischke Moderator CAD on demand GmbH
       

 Beiträge: 4189 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 06. Mai. 2004 11:52 <-- editieren / zitieren --> Unities abgeben:         
Hallo Ralph, das ist nun etwas ganz Anderes. Du wusstest dass du da Code eines Reactors vor dir hast? Dieser reagiert auf die Befehlsausführung eines AutoCAD Befehls. In LISP defienierte Befehle werden durch diesen Reactor nicht beachtet. Wenn du nun schon eine LISP-Datei hast, dann wäre es absoluter Unsinn einen Reactor dafür zu verwenden. Schau dir mein letztes Posting an, dann kannst du ja die Lisp-Datei am Anfang und am Ende dahingehend verändern. getvar,setvar Bei Fragen ... Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man's hat! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 06. Mai. 2004 11:58 <-- editieren / zitieren -->
Hallo Holger, diese Lisp-Datei ist nicht von mir. Außerdem kenne ich mich mit Lisp zuwenig aus als das ich jetzt wüsste was du von mir willst. Ich brauche jemanden der mir so eine Lisp-Datei umschreibt bzw. erstellt. Deshalb die große Hilfe dich ich brauche. Ralph |
Brischke Moderator CAD on demand GmbH
       

 Beiträge: 4189 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 06. Mai. 2004 12:09 <-- editieren / zitieren --> Unities abgeben:         
Hallo Ralph, wer diese Zeilen mal verbockt hat, dass kann ich dir sagen. ;-) Solange du allerdings die andere Lisp hier nicht einstellst, kann ich nicht mehr tun, als dir den Hinweis auf (setvar..) (getvar ..) zu geben. Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man's hat! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 06. Mai. 2004 12:17 <-- editieren / zitieren -->
Hallo Holger, dies ist die andere Lisp-Datei. Mit dieser Datei kann ich Bogen zeichnen mit eingabe einer Bogenlänge. Nun hätte ich gern, dass vor Programmstart ein bestimmter Layer eingestellt wird z.B. Bogenlayer. Nach Programm ende soll dann der alte Layer wieder zurückgesetzt werden. Kannst du mir hier weiterhelfen? (defun lbogen(cen p1 len / ang1 ang2 ang3 rad) (setq rad(distance cen p1)) (setq ang1(angle cen p1)) (setq ang2(+ ang1(/ len rad))) (if(minusp len)(setq ang3 ang1 ang1 ang2 ang2 ang3 len(abs len))) (entmake (list '(0 . "arc") (cons 10 cen) (cons 40 rad) (cons 50 ang1) (cons 51 ang2) ) ) ) (defun c:lbogen1( / cen) (lbogen (setq cen(getpoint"\nMittelpunkt: ")) (getpoint cen"\nStartpunkt: ") (getdist "\nBogenlänge (+ UZ, - GUZ): ") ) ) (defun c:lbogen2( / cen rad ang) (setq cen(getpoint"\nMittelpunkt: ")) (setq rad(getdist cen"\nRadius: ")) (setq ang(getangle"\nStartwinkel: ")) (lbogen cen(polar cen ang rad) (getdist "\nBogenlänge (+ UZ, - GUZ): ") ) ) Gruß Ralph |
Brischke Moderator CAD on demand GmbH
       

 Beiträge: 4189 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 06. Mai. 2004 12:22 <-- editieren / zitieren --> Unities abgeben:         
Hallo Ralph, dann sieht es so aus:
Code:
(defun lbogen(cen p1 len / ang1 ang2 ang3 rad) (setq rad(distance cen p1)) (setq ang1(angle cen p1)) (setq ang2(+ ang1(/ len rad))) (if(minusp len)(setq ang3 ang1 ang1 ang2 ang2 ang3 len(abs len))) (entmake (list '(0 . "arc") (cons 10 cen) (cons 40 rad) (cons 50 ang1) (cons 51 ang2) ) ) ) (defun c:lbogen1( / cen oldlayer) (setq oldlayer (getvar "CLAYER")) (if (tblobjname "LAYER" "0_Li_Cy_013") (setvar "CLAYER" "0_Li_Cy_013") ) (lbogen (setq cen(getpoint"\nMittelpunkt: ")) (getpoint cen"\nStartpunkt: ") (getdist "\nBogenlänge (+ UZ, - GUZ): ") ) (setvar "CLAYER" oldlayer) )(defun c:lbogen2( / cen rad ang oldlayer) (setq oldlayer (getvar "CLAYER")) (if (tblobjname "LAYER" "0_Li_Cy_013") (setvar "CLAYER" "0_Li_Cy_013") ) (setq cen(getpoint"\nMittelpunkt: ")) (setq rad(getdist cen"\nRadius: ")) (setq ang(getangle"\nStartwinkel: ")) (lbogen cen(polar cen ang rad) (getdist "\nBogenlänge (+ UZ, - GUZ): ") ) (setvar "CLAYER" oldlayer) )
Bei Fragen ... Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man's hat! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 06. Mai. 2004 12:29 <-- editieren / zitieren -->
Hi Holger, danke für deine Hilfe. Funktioniert so wie ich es mir vorgestellt habe Danke Gruß Ralph |