| | | 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: Speichern von Variablen über Zeicnungen hinweg (712 mal gelesen)
|
WolfgangE Mitglied
Beiträge: 1006 Registriert: 29.01.2003 Compass2000 in (fast) allen Ausbaustufen: Jobserver, ACM, Replikator, DBQ-Programmierung. Programmierung, Wartung und Administration von MSSQL2000-Datenbanken. Grundlegende Kenntnisse in AutoLisp-Programmierung.
|
erstellt am: 18. Aug. 2004 15:00 <-- editieren / zitieren --> Unities abgeben:
Hallo Lisp-Gemeinde, hab' nur Grundkenntnisse in Lisp, vielleicht ist's ja nur 'ne Kleinigkeit. Gesucht hab ich auch schon, leider nichts gefunden. Meine Ziel: Ich möchte über eine Skript-Datei mehrere DWGs "automatisch" plotten lassen. Meine Situation: Meine Zeichnungen sind in einem PDM-Systm abgelegt, wo es keinen direkten Plot-Befehl gibt. Über das Programm kann ich mir eben eine beliebige Textdatei zusammenstückeln, z.B. eben ein Skript. Meine Vorgehensweise: Ich bastle mir also meine SCR zusammen (siehe Anhang). Dann gehe ich über die Windows-Shell auf die acad.exe und gebe mit "/b" mein Skript zum Ausführen mit. Mein Problem: Ich muss im Skript (siehe Anhang) unter anderem die Variable SDI umsetzen, damit das Skript funktioniert (wie hier beschrieben: http://ww3.cad.de/foren/ubb/Forum145/HTML/000366.shtml). Wie kann ich nun aber die Systemvariablen am Ende vom Skript wieder zurücksetzen? Meine Variablen, die ich mit (GETVAR ...) belegt habe, waren ja nur für diese eine Zeichnung gültig und sind am Ende vom Skript NIL. Oder gibt's vielleicht eine bessere Methode, das Skript aufzubauen? Danke und ciao, WolfgangE ------------------ An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 18. Aug. 2004 15:10 <-- editieren / zitieren --> Unities abgeben: Nur für WolfgangE
soviel Text um die Uhrzeit <rolleyes> den SDI setzt du ja in ACAD, nicht in der DWG - also kannst du doch in der letzten wieder umschalten ... !? ------------------ Bitte Systemangaben eintragen, wie & warum siehst du hier Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
WolfgangE Mitglied
Beiträge: 1006 Registriert: 29.01.2003 Compass2000 in (fast) allen Ausbaustufen: Jobserver, ACM, Replikator, DBQ-Programmierung. Programmierung, Wartung und Administration von MSSQL2000-Datenbanken. Grundlegende Kenntnisse in AutoLisp-Programmierung.
|
erstellt am: 18. Aug. 2004 15:19 <-- editieren / zitieren --> Unities abgeben:
Danke erstmal für die Antwort. Es geht mir darum, dass ich die Einstellungen insgesamt nicht verändern will. Soll heißen, am Ende vom Skript sollten die gleichen Einstellungen wieder gesetzt sein wie zu Beginn. Das heißt, ich muss am Beginn die aktuellen Werte zwischenspeichern, eben in Variablen. Mein Problem ist, dass ich diese Variablen am Ende nicht mehr abfragen kann, um die Werte zurückzusetzen. ------------------ An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 18. Aug. 2004 23:53 <-- editieren / zitieren --> Unities abgeben: Nur für WolfgangE
Tja, mein erster Gedanke war: Wenn die Zeichnung nicht gespeichert wird, passiert doch nix. Ist aber Quatsch: Änderungen an Variablen, die in der Registry gespeichert werden, wirken sich sofort aus - egal ob man speichert oder nicht. Das ist was anderes als bei den Variablen, die in der Zeichnung aufbewahrt werden. Sauberste Lösung: Ein Tool, das in der Batch-Datei zuallererst die relevanten Teile der Registry sichert. In der letzten Zeile wird die Registry wieder restauriert. Für sowas gibt es Tools (auf System-Ebene, hat nix mit Acad zu tun). Oder im Script eine Lisp-Routine aufrufen, die ein .reg-File erzeugt. Bei mehreren zeichnungen in einem Script kann man ja mit (if(not(findfile xyz.reg)) ...) testen, ob das schon erledigt wurde. Auch da zum Schluss (letzte Script-Zeile): xyz.reg zurückschreiben. Wenn du Detail-Hilfe brauchst: Mit dem Finger schnippen! Gruß, Axel Strube-Zettler ------------------ Meine AutoLisp-Seiten Meine private Homepage Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|