Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Speichern von Variablen über Zeicnungen hinweg

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Speichern von Variablen über Zeicnungen hinweg (709 mal gelesen)
WolfgangE
Mitglied



Sehen Sie sich das Profil von WolfgangE an!   Senden Sie eine Private Message an WolfgangE  Schreiben Sie einen Gästebucheintrag für WolfgangE

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


wec_plot.txt

 
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
良い精神




Sehen Sie sich das Profil von cadffm an!   Senden Sie eine Private Message an cadffm  Schreiben Sie einen Gästebucheintrag für cadffm

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 18. Aug. 2004 15:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für WolfgangE 10 Unities + Antwort hilfreich

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



Sehen Sie sich das Profil von WolfgangE an!   Senden Sie eine Private Message an WolfgangE  Schreiben Sie einen Gästebucheintrag für WolfgangE

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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



Sehen Sie sich das Profil von mapcar an!   Senden Sie eine Private Message an mapcar  Schreiben Sie einen Gästebucheintrag für mapcar

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für WolfgangE 10 Unities + Antwort hilfreich

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 >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz