Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Programmierung
  Warum beendet sich LISP Makro automatisch?

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 Creo
Autor Thema:  Warum beendet sich LISP Makro automatisch? (1110 mal gelesen)
Seele
Mitglied
Konstrukteur


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

Beiträge: 364
Registriert: 11.06.2003

erstellt am: 27. Mai. 2019 11:21    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 ich habe ein seltsames Phänomen in einem LISP-Makro.
Ich möchte im LISP Makro von einem Teil ein anderes abziehen mit dem Befehl:

(sd-call-cmds (ELAN::subtract_3d :keep_tool :no :blanks Teil :tools Tool))

Klammere ich diese Zeile mit ";"aus, so läuft mein LISP-Makro anstandslos weiter und die Eingabemaske für weitere Aktionen bleibt offen.

Lasse ich diese CODE-Zeile ausführen, so funktioniert das Tadellos und das Makro wird weiter ausgeführt, bis ich die nächste Eingabe im LISP-Makro machen müsste und hier wird dann der Befehl abgeschlossen, als hätte man den grünen Haken gedrückt und die Eingabemaske schliesst sich.

Was ist hierfür der Grund und kann man dieses Verhalten umgehen?
Sonst hat das vorgestellte (sd-call-cmds ) immer geholfen, aber bei subtract_3D nicht.

Bin mal gespannt, was ihr mir sagt, was das sein könnte, ....

Gruß Wolfgang

------------------
alles ist möglich, nichts funktioniert und trotzdem muß es bis morgen geschafft sein. 

Werden wir es schaffen? Ja wir schaffen das !!! :-)

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

der_Wolfgang
Ehrenmitglied V.I.P. h.c.
Tastenhauer


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

Beiträge: 2017
Registriert: 3.20.

● PE60+80@home
● W10 Pro Build19044.2364
● Drafting V17~V20.5.1
● Modeling V17~V20.5.1

erstellt am: 28. Mai. 2019 23:01    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 Seele 10 Unities + Antwort hilfreich

Mache er Gebrauch von den Parametern :success und :failure von sd-call-cmds!!

Hatten wir das nicht erst vor 4..5 Wochen?

Code:
:failure (pprint (sd-inq-error-obj :all))

Eine 94% passende Form steht in der ikit docu als Beispiel .. nur halt mit Extrude statt Subtract.

Und was sagt denn der Trace wenn du es nicht auskommentiert hast.
für diesen Zweck kannst du auch

Code:
(sd-call-cmds (subtract_3d :keep_tool :no :blanks (sd-inq-obj-pathname Teil) :tools (sd-inq-obj-pathname Tool)))
nutzen. Dann liest sich der trace etwas besser.

------------------
Firefox ESRJava Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en)NotePad++BuFDi

[Diese Nachricht wurde von der_Wolfgang am 28. Mai. 2019 editiert.]

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

Seele
Mitglied
Konstrukteur


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

Beiträge: 364
Registriert: 11.06.2003

erstellt am: 29. Mai. 2019 14:07    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 Wolfgang,

wieder mal vielen Dank für deine Antwort, ...

ich habe den Fehler im LISP nach einer gaaaaanz langen Suche gerade gefunden. Komisch ist nur, dass die Zeile mit subtract, die ich als Auslöser des Fehlers in Verdacht hatte, sich als Fehler erwies.

Das Makro lief zwar beim Ausklammern dieser verdächtigen Zeile komplett richtig durch, der eigentliche Fehler war aber drei Zeilen vorher und hier fehlte wirklich nur ein (sd-call-cmds).

Einzig komisch an der Sache ist, wenn ich die "Zeile mit subtract" ausgeklammert hatte lief das Makro durch, obwohl der Fehler woanders lag, dass hatte ich so noch nie und hat mich auch auf die falsche Fährte geführt!

Es gab auch keine Fehlermeldung und das Makro wurde auch immer vollständig ausgeführt, hat sich halt am Ende nur immer ganz geschlossen, was ganz schön genervt hat.

Trotzdem vielen Dank für deinen Ratschlag, du musst mit solchen Hobbyprogrammierern wie mir etwas Rücksicht haben, denn die vergessen unheimlich viel, wenn sie mal wieder lange nichts gemacht haben 

Viele liebe Grüße

Wolfgang 

------------------
alles ist möglich, nichts funktioniert und trotzdem muß es bis morgen geschafft sein. 

Werden wir es schaffen? Ja wir schaffen das !!! :-)

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

der_Wolfgang
Ehrenmitglied V.I.P. h.c.
Tastenhauer


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

Beiträge: 2017
Registriert: 3.20.

● PE60+80@home
● W10 Pro Build19044.2364
● Drafting V17~V20.5.1
● Modeling V17~V20.5.1

erstellt am: 29. Mai. 2019 19:25    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 Seele 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Seele:
wieder mal vielen Dank für deine Antwort, ...

Hallo Wolfgang,

Gerne doch.

Ich tendiere immer mehr dazu die o.g. sehr generische form für :failure in jedes sd-call-cmds einzubauen.

Und wenn ich ganz faul bin .. sieht meine ok-action so aus.

Code:
:OK-action '(sd-call-cmds (do-all-the-stuff-and-more)
            :failure (pprint (sd-inq-error-obj :all)))

und das *kann* das einzige sd-call-cmds in der ganzen Abarbeitung sein.

------------------
Firefox ESRJava Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en)NotePad++BuFDi

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