Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Automatisation mit Script's

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:  Automatisation mit Script's (2295 mal gelesen)
samberger
Mitglied
Konstrukteur / Techniker


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

Beiträge: 16
Registriert: 06.06.2003

erstellt am: 12. Mai. 2005 19:15    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

Hallo Lisp - Gemeinde !

Folgendes Problem : Ich habe mit einem Lispprogramm Script's  (in verschiedenen Pfaden) in nachfolgender Form generiert :

Dateiname : 01NA001_00.scr, 01NA002_00.scr .. usw.

Inhalt: (immer gleich, nur Lispdateiname ändert sich)

cmddia
0
_open
"..Dateipfad../Outer Bracket.dwt"  ;Vorgabezeichnung (load "..Dateipfad../Outer Bracket/Cfg/01NA001_00.lsp") ;Lisp erstellt Werkzeichnungen

Wir möchten nun die Script's zusammengefasst (automatisiert) ablaufen lassen und sind auf folgende Probleme gestossen :

Wenn ich die Script's einzeln starte (oder aus dem Explorer auf Autocad (geöffnet) ziehe, funktioniert auch alles bestens.
Wenn ich nun die zusammengefassten Scriptfiles (adaptiertes Multifiles.LSP von Cadwiesel) über Lisp starten will, startet das Script nicht.

(mapcar ..... (command "_script" x) ... '("Script1" "Script2" ... ) )

Ich habe auch schon versucht, ein zusammengefaßtes Script zu erstellen (mehrer Scripts untereinanderkopiert), dabei bricht das Script aber nach dem ersten Lispaufruf ab.


Ich habe schon alles mögliche versucht, nachgelesen, Hilfe und Forum bemüht etc. Stehe wahrscheinlich vollkommen auf der Leitung, oder denke zu kompliziert.

Hat jemand eine Idee, was falsch läuft und wie wir ein Automatisierung der Script durchführen können ?

Danke für Eure Bemühungen im voraus !

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 13. Mai. 2005 09:44    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 samberger 10 Unities + Antwort hilfreich

Hallo samberger,

willst du mit einem script mehrere zeichnungen öffnen und darin irgendetwas machen, dann sollte filedia auf 0 und sdi auf 1 stehen.
Was ganz wichtig ist, die durch dein Lisp erstellte Zeichnung muss auch gespeichert werden!

es muss dann also in etwa so aussehen:
cmddia
0
_open
"..Dateipfad../Outer Bracket.dwt"  ;Vorgabezeichnung
(load "..Dateipfad../Outer Bracket/Cfg/01NA001_00.lsp") ;Lisp erstellt Werkzeichnungen
_saveas
"..Dateipfad../NEUERNAME.DWG"  ;Ergebniszeichnung
_open
...usw

Bei Fragen ...

Grüße Holger

------------------
Holger Brischke
CAD on demand GmbH                              Autodesk User Group Central Europe
Individuelle Lösungen von Heute auf Morgen.              AUGCE Manager Deutschland

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

samberger
Mitglied
Konstrukteur / Techniker


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

Beiträge: 16
Registriert: 06.06.2003

erstellt am: 17. Mai. 2005 09:31    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

Hallo Brische !

Danke für die schnelle Reaktion auf meinen Beitrag !

Ich habe mich wohl etwas mißverständlich ausgedrückt :

Ich will mit genau einem Script genau eine Zeichnung "erzeugen", wobei das Script eine Vorgabezeichnung mit Namen "Outer Bracket.dwt" (eingerichtete Layouts, benötigte Grundstrukturen etc. ) öffnet, und ein Lispprogramm lädt und startet.

Das Lispprogramm speichert die Zeichnung unter dem selben Namen und Pfad wie das Script (Endung anstatt .scr natürlich .dwg) und schließt diese.

Mein Problem ist nun, das ich nun mehrere Script's (am Freitag dem 13.05.2005 waren es 240 Stück das entspricht 240 Stk Dwg`s mit 1680 generierten Layouts bzw. Plots) so zusammenzufassen, das diese z.B. über Nacht bzw. auf einem unbenutzten Rechner unbeaufsichtigt ablaufen lassen kann, und nicht jedes einzelne Script händisch starten muß! (Über Script laden oder wie in meinem Fall jedes Script aus dem Explorer auf das geöffnete Autocad zu ziehen !)

In diesem "handbetriebenen" Modus funktioniert auch alles bestens, nur wenn ich die Scripts z.B. über ein Lispprogramm nacheinander ablaufen lassen will, startet das Script nicht, bzw. wenn ich ein Script erstelle, wo z.B. die oben genannten 240 Scripts untereinander eingetragen sind, wird nur das "erste" Script ausgeführt (filedia auf 0 stellen, Outer Bracket.dwt laden, Lispprogramm 1 laden und ausführen; das Lispprogramm enthält die Geometrieinformationen für die Werkpläne und startete erneut ein Lisp, welches die Geometrie erzeugt, Schriftköpfe und Stücklisten ausfüllt sowie die Planrevisionen überprüft und entsprechend handelt.), danach bricht die Ausführung ab.

Damit zu meiner Kernfrage :

Hat jemand eine Idee, was falsch läuft und wie wir eine Automatisierung im Ablauf der der Script's durchführen können, bzw.
wo ich in meinen Ansätzen den Wurm drin habe ?

Danke für Eure Bemühungen im voraus !

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

samberger
Mitglied
Konstrukteur / Techniker


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

Beiträge: 16
Registriert: 06.06.2003

Acad 2011 / Athena 2010 / fw. Mechdesk 6.0
Windows 7 Ult. Prof. / ProE WF 4.0 + EX
Dell Precision M6400 / Quaddro FX 3600 M
24" + 17" TF Monitore

erstellt am: 17. Mai. 2005 09:59    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

Hallo Brischke,

danke für die schnelle Reaktion auf meinen Beitrag !

Ich habe mich wohl etwas mißverständlich ausgedrückt :

Ich will mit genau einem Script genau eine Zeichnung "erzeugen", wobei das Script eine Vorgabezeichnung mit Namen "Outer Bracket.dwt" (eingerichtete Layouts, benötigte Grundstrukturen etc. ) öffnet, und ein Lispprogramm lädt und startet.

Das Lispprogramm speichert die Zeichnung unter dem selben Namen und Pfad wie das Script (Endung anstatt .scr natürlich .dwg) und schließt diese.

Mein Problem ist nun, das ich nun mehrere Script's (am Freitag dem 13.05.2005 waren es 240 Stück das entspricht 240 Stk Dwg`s mit 1680 generierten Layouts bzw. Plots) so zusammenzufassen, das diese z.B. über Nacht bzw. auf einem unbenutzten Rechner unbeaufsichtigt ablaufen lassen kann, und nicht jedes einzelne Script händisch starten muß! (Über Script laden oder wie in meinem Fall jedes Script aus dem Explorer auf das geöffnete Autocad zu ziehen !)

In diesem "handbetriebenen" Modus funktioniert auch alles bestens, nur wenn ich die Scripts z.B. über ein Lispprogramm nacheinander ablaufen lassen will, startet das Script nicht, bzw. wenn ich ein Script erstelle, wo z.B. die oben genannten 240 Scripts untereinander eingetragen sind, wird nur das "erste" Script ausgeführt (filedia auf 0 stellen, Outer Bracket.dwt laden, Lispprogramm 1 laden und ausführen; das Lispprogramm enthält die Geometrieinformationen für die Werkpläne und startete erneut ein Lisp, welches die Geometrie erzeugt, Schriftköpfe und Stücklisten ausfüllt sowie die Planrevisionen überprüft und entsprechend handelt.), danach bricht die Ausführung ab.

Damit zu meiner Kernfrage :

Hat jemand eine Idee, was falsch läuft und wie wir eine Automatisierung im Ablauf der der Script's durchführen können, bzw.
wo ich in meinen Ansätzen den Wurm drin habe ?

Danke für Eure Bemühungen im voraus !

(Den vorherige Beitrag habe ich irrtümlicherweise nicht als Antwort erstellt !)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADwiesel
Moderator
CAD4FM UG




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

Beiträge: 1968
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 17. Mai. 2005 14: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 Nur für samberger 10 Unities + Antwort hilfreich

ich kann dein Vorgehen nicht so richtig verstehen.
Da ja immer das gleiche passieren soll, meine Frage:

wieso wendest du nicht einfach die Aktion auf die betreffenden Zeichnungen an?

Jetzt brauchst du erstmal ein Lisp, das die Namen der scripte rausfindet und dann nie Zeichnungen unter diesen Namen abspeichert- irgendwie blöd.

Vielleicht verstehe ich's aber auch wirklich nicht

------------------
Gruß
CADwiesel
Besucht uns im CHAT

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

samberger
Mitglied
Konstrukteur / Techniker


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

Beiträge: 16
Registriert: 06.06.2003

erstellt am: 17. Mai. 2005 16:13    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

Hallo Cadwiesel,

vieleicht ist es so verständlicher.

Der Ablauf der Programme sieht folgendermassen aus :

Wir mußten aus Zeitgründen ein Programm (Lisp) in 2 Schritte aufteilen, die wie folgend aussehen :

1.Schritt : Geometrie erzeugen

ein Lispprogramm erstellt eine Konsole (01,02, ... XX) in einem 3-D Modell aufgrund verschiedener Parameter
und erzeugt folgende Dateien (vereinfacht dargestellt V.. für Verzeichnis: U.. für Unterverzeichnis)

für Konsole 01 :

p:\V01\U01\U02\K01\Cfg\script_01.scr
p:\V01\U01\U02\K01\Cfg\Lisp_01.lsp
p:\V01\U01\U02\K01\Cfg\weitere_dateien_01.*

für Konsole 02 :

p:\V01\U01\U02\K02\Cfg\script_02.scr
p:\V01\U01\U02\K02\Cfg\Lisp_02.lsp
p:\V01\U01\U02\K02\Cfg\weitere_dateien_02.*

für Konsole xx : (beliebige weitere Nummer)

p:\V01\U01\U02\KXX\Cfg\script_xx.scr
p:\V01\U01\U02\KXX\Cfg\Lisp_xx.lsp
p:\V01\U01\U02\KXX\Cfg\weitere_dateien_XX.*

usw. (wobei sich die Namen der Unterverzeichnisse U01,U02 usw. nach gewissen Regeln auch ändern, dies sellt jedoch nicht das Problem dar)

Script_01.scr enthält folgende Daten :

cmddia
0
_open
"P: \V01\U01\U02\Outer Bracket.dwt"
(load "p:\V01\U01\U02\K01\Cfg\Lisp_01.lsp")


In Script_02.scr stehen folgende Daten :

cmddia
0
_open
"P: \V01\U01\U02\Outer Bracket.dwt"
(load "p:\V01\U01\U02\K02\Cfg\Lisp_02.lsp")


in Script_XX.scr nachfolgende Daten :

cmddia
0
_open
"P: \V01\U01\U02\Outer Bracket.dwt"
(load "p:\V01\U01\U02\KXX\Cfg\Lisp_XX.lsp")


Das Programm Lisp_01.lsp,Lisp_02.lsp bzw. Lisp_XX.lsp sehen in Ihrer Grundstruktur folgendermassen aus
(die fortlaufende Nummer 01,02 bzw. XX wird als YY dargestellt ; die Konsolen-daten sind jedesmal anders) :

(defun YY (/) ;
  (setq Konsolen-daten-YY_01 var01
        Konsolen-daten-YY_02 var02
        .
        .
        .
        Konsollen-daten-YY_etc varetc
  ) ; Definitionen der Konsolengeometrie wie punkte, längen, texte etc. für jede Konsole anders !!!!
  (load "allgemeine_funktionen.lsp") ; immerwiederkehrende Unterprogramme laden
  (load "Werk.lsp") ; das programm, das die werkpläne "zeichnet", laden
  (werk) ; das Programm werk aufrufen
) ; End defun
(yy) ; startet programm yy


Das Programm "werk" erstellt nun eine DWG mit dem namen "YY.dwg" im Verzeichnis

p:\V01\U01\U02\KYY\YY.dwg

plottet diese in das verzeichnis

p:\V01\U01\U02\KYY\Plot\YY.plt

und schließt die Zeichnung "yy.dwg"

2.Schritt:

Wenn ich nun eines dieser Scripte (einzeln) in einer Autocad-Sitzung aufrufe und ablaufen lasse, funktioniert auch alles bestens.

Mein Problem ist es aber, die Dateien script_01.scr, script_02.scr, script_XX.scr etc. über ein Programm so zusammenzufassen,
das diese Scripte (alle gewählten) automatisch nacheinender gestartet und (unbeaufsichtigt) abgearbeitet werden sollen.

Gibt es dafür eine Lösung bzw. wie müßte eine Modifikation der Scriptdateien bzw. Lispdateien aussehen ?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 17. Mai. 2005 16:20    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 samberger 10 Unities + Antwort hilfreich

Hallo samberger,

welchen Wert hat den die Sysvar SDI? Da habe ich auf mein letztes Posting keinen wirklich Hinweis/Antwort darauf von dir bekommen.
Diese Sysvar verhindert, dass aus einem Script heraus weitere Zeichnungen geöffnet werden. Und das ist bei dir ja eindeutig der Fall.

Grüße Holger

------------------
Holger Brischke
CAD on demand GmbH                              Autodesk User Group Central Europe
Individuelle Lösungen von Heute auf Morgen.              AUGCE Manager Deutschland

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

samberger
Mitglied
Konstrukteur / Techniker


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

Beiträge: 16
Registriert: 06.06.2003

erstellt am: 17. Mai. 2005 16:45    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

Entschuldigung !

SDI ist auf 0 (null) gesetzt, mit der Einstellung 1 habe ich schon herumexperimentiert, aber auch keinen Lösungsansatz erhalten; das Script (Lisp-Programm schließt die Zeichnung) bricht nach der Abarbeitung des ersten Lispprogrammes ab und schreibt die Meldung :

_close Befehl SCHLIESSEN ist im SDI-Modus nicht verfügbar.


Wie müßte die Struktur (Script bzw. Lisp) aussehen, damit es mit SDI=1 funktioniert bzw. muß ich den _Close - Befehl aus dem Lisp-Programm in das Script verschieben ?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 17. Mai. 2005 17:20    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 samberger 10 Unities + Antwort hilfreich

nein, nicht _close, sondern einfach _open, denn dann wird ja im Single-Modus das geöffnete Dokument sowieso geschlossen.

Grüße Holger

------------------
Holger Brischke
CAD on demand GmbH                              Autodesk User Group Central Europe
Individuelle Lösungen von Heute auf Morgen.              AUGCE Manager Deutschland

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

samberger
Mitglied
Konstrukteur / Techniker


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

Beiträge: 16
Registriert: 06.06.2003

erstellt am: 20. Mai. 2005 10:34    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

Hallo Holger !

Bin leider erst jetzt dazugekommen, mit der SYSVAR SDI zu experimentieren.
Mein Problem hat sich mit einem (command "Resume") am Ende des Lispprogrammes gelöst.

Herzlichen Dank für die Hinweise,

Gruß Samy

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