Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Direct Modeling
  Lisp

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:  Lisp (829 mal gelesen)
MirkoWa
Mitglied
Konstrukteur


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

Beiträge: 16
Registriert: 26.09.2002

erstellt am: 11. Dez. 2002 07:48    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


Load.lsp.txt

 
Hallo Leute,

habe angefangen ein Lisp Programm zu schreiben, um eine Datei automatisch zu laden, und diese Datei dann weiterzuverarbeiten!
Weiss jemand wie die OK-Action in meine Programm lauten, damit er die ausgewählte Datei einlädt!

Hat jemand eine Idee?

Gruß Mirko

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

Dorothea
Mitglied



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

Beiträge: 242
Registriert: 22.11.2001

erstellt am: 11. Dez. 2002 08:56    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 MirkoWa 10 Unities + Antwort hilfreich

Hallo,

Ich denke mal, es soll wirklich ein mi File geladen werden und nicht nur ein LISP file. Fuer LISP Files heisst der Befehl 'load'.
Angenommen das mi-File ist eine Zeichnung. Dann lautet der Befehl
AM_LOAD_DRAWING
Herausfinden kann man das z.B. indem man einen Recorder startet und die Befehlssequenz ausfuehrt, die man auch programmatisch ausfuehren moechte.
Man kann dann in der ok-action den Dialog mit sd-call-cmds aufrufen. Der Wert eine Variablen vom Typ :filename ist eine Liste aus filename und mode. Die ok-action kann also wie folgt aussehen:

: ok-action        ;; kein Freizeichen zwischen : und ok
'(sd-call-cmds (AM_LOAD_DRAWING :filename (first V1)))

Dabei ist natuerlich noch kein Test, ob man das File ueberhaupt laden kann u.s.w.


Gruss Dorothea

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

MirkoW
Mitglied
 

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

Beiträge: 3
Registriert: 19.11.2001

erstellt am: 11. Dez. 2002 09:37    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 MirkoWa 10 Unities + Antwort hilfreich

Hallo Dorothea,

erstmal tausend Dank.
Das mit dem Rekorder und so ist mir alles klar, was ich nicht auf die reihe bekomme ist das mit dem sd-call-cmds! Aber gut, er lädt mir nun die ausgewählte datei! jetzt möchte ich dieselbe geladene Datei mit dem Befehl: (AM_PLOT  utput  RAWING :scale :FIT :show_dialog  ff :confirm)
ausdrucken! Was muss ich dann davorsetzten?

Gruß Mirko

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

Dorothea
Mitglied



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

Beiträge: 242
Registriert: 22.11.2001

erstellt am: 11. Dez. 2002 10:42    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 MirkoWa 10 Unities + Antwort hilfreich

Hallo Mirko,

Wie das so genau mit dem plot funktioniert, das weiss ich leider auch nicht. Ich kann nur was allgemein zum sd-call-cmds sagen. Generell im OneSpace Designer muss man um ALLE Dialoge, die man programmatisch aufrufen will, ein sd-call-cmds schreiben. Man kann auch mehrere Aufrufe zusammen fassen, muss aber aussen herum immer sd-call-cmds schreiben.
Guck doch mal in der Dokumentation nach unter:
help/Common/documentation/integration_kit/reference/sd-call-cmds.html#sd-call-cmds
Vielleicht hilft das ja ein bisschen weiter.

Noch was zum plotten. Soll erst die Zeichnung geladen werden und dann gleich geplottet werden? Dann versuche doch einfach mal, beide Aufrufe in die ok-action zu schreiben. In etwa so:
: ok-action
'(progn
    (sd-call-cmds (....lade die Zeichnung.....))
    (sd-call-cmds (....plotte die Zeichnung....))
)

Das Makro sd-call-cmds erlaubt auch eine Fehlerbehandlung. Gibt man die Keywoerter :failure und/oder :success an, dann kann man z.B. testen, ob das Laden der Zeichnung auch wirklich funktioniert hat und nur dann anschliessen plotten.
: ok-action
'(let ((error-case nil))
    (sd-call-cmds (....lade die Zeichnung....)
                  :failure (setf error-case t))
    (unless error-case
        (sd-call-cmds (....plotte die Zeichnung....))
    )
)


Ich hoffe, das hilft ein bisschen weiter.
Gruss Dorothea

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

MirkoWa
Mitglied
Konstrukteur


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

Beiträge: 16
Registriert: 26.09.2002

erstellt am: 11. Dez. 2002 11:46    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 Dorothea,

das hat mir nicht nur ein bisschen weitergeholfen, sondern das war wie von null auf hundert!

Ich habe nun meinen SD-DEFDIALOG erweiter auf drei Dateien, die er dann zu verarbeiten hat! Funktioniert auch soweit, aber was kann ich machen, wenn ich von den drei dateien nur zwei Dateien auswähle?
Er möchte dann immer, das ich ihm die dritte auch auswähle! Kann ich dort noch eine Variable einbauen?

Gruß Mirko

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

Dorothea
Mitglied



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

Beiträge: 242
Registriert: 22.11.2001

erstellt am: 11. Dez. 2002 12:29    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 MirkoWa 10 Unities + Antwort hilfreich

Hallo Mirko,

Man muss dem Dialog sagen, dass eine oder mehr Variablen optional sind. In der ok-action fragt man dann ab, ob die Variablen wirklich ausgewaehlt wurden, sprich einen Wert haben, oder nur 'nil'.
Optionale Variablen erhaelt man mit dem Keyword
  :initial-optional t
bei der entsprechenden Variablendefinition. Alternativ kann man
  :toggle-type :indicator-toggle-data
verwenden. Dann erscheint im UI zusaetzlich ein Boolean-Knopf, den der Benutzer dann an oder aus schalten kann.


Gruss Dorothea

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

MirkoWa
Mitglied
Konstrukteur


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

Beiträge: 16
Registriert: 26.09.2002

erstellt am: 11. Dez. 2002 13:38    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


load1.lsp.txt

 
Hallo Dorothea,

jetzt habe ich nur noch eine Frage, mein Programm sieht inzwischen wie folgt aus!

Das mit der Abfrage ob die Zeichnung geladen wurde funktioniert nicht richtig.

Woher weisst du das alles? Hast du eine Schulung hinter dir oder alles selbst beigebracht?

Gruß Mirko

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

Dorothea
Mitglied



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

Beiträge: 242
Registriert: 22.11.2001

erstellt am: 11. Dez. 2002 13:52    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 MirkoWa 10 Unities + Antwort hilfreich

Hallo Mirko,

Das ist wieder wie so oft ein Problem mit den Klammern. Ist meist eine gute Sache, einfach mal die Klammern durchzuzaehlen. Manche Editoren bieten da ganz gute Unterstuetzung.
Jedenfalls ist :failure ein Parameter fuer sd-call-cmds und muss deshalb innerhalb der schliessenden Klammer fuer sd-call-cmds sein.

(sd-call-cmds
  (AM_LOAD_DRAWING :filename (first V1))
  :failure (setf error-case t)
  )

Zitat:

Woher weisst du das alles? Hast du eine Schulung hinter dir oder alles selbst beigebracht?

Jahrelange Uebung..... Schulungen hatte ich auch, mehrere. Ich arbeite bei CoCreate.

Gruss Dorothea

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

MirkoWa
Mitglied
Konstrukteur


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

Beiträge: 16
Registriert: 26.09.2002

erstellt am: 11. Dez. 2002 21:14    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 Dorothea,

naja da hab ich ja noch ein bisschen Zeit dies alles zu lernen!

Hast du zufällig mit der MoldBase Geschichte bei CoCreate zu tun?

Gruß Mirko

[Diese Nachricht wurde von MirkoWa am 11. Dezember 2002 editiert.]

[Diese Nachricht wurde von MirkoWa am 11. Dezember 2002 editiert.]

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

Dorothea
Mitglied



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

Beiträge: 242
Registriert: 22.11.2001

erstellt am: 12. Dez. 2002 07:39    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 MirkoWa 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von MirkoWa:

Hast du zufällig mit der MoldBase Geschichte bei CoCreate zu tun?

Ja. Unter anderem auch damit.

Gruss Dorothea

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