Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Programmierung
  von Lisp in Makro nach 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 PTC CREO
Autor Thema:  von Lisp in Makro nach Lisp (844 / mal gelesen)
Greskamp
Mitglied
Ingenieur


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

Beiträge: 523
Registriert: 12.03.2003

erstellt am: 17. Mrz. 2017 14:22    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 würde gerne ein Programm schreiben wo ich auch die Makrosprache (Me10) brauche. Den Weg von Lisp in Makro bekomme ich hin.

Code:

(sd-execute-annotator-command :cmd (format nil "~a ~s ~s" "Textpunkt_ausle" sel_Texxt_Punkt "1000,1000" sel_Texxt ))

In dem Makro ermittle ich dann über inq_elem den Textursprungspunkt eines Textes.

Code:

LOCAL Text_UrSprung
inq_elem Sel_Teexxt_Pu
LET Text_UrSprung (inq 101)


Jetzt fehlt mir aber der Befehl oder die Vorgehensweise wie ich diese Textursprungspunkt wieder ins Lisp bekomme damit ich mit dem Punkt arbeiten möchte.

Wäre super wenn mir jemand helfen könnte

------------------
Gruß Peter

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

Walter Geppert
Moderator
Frank und Frei




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

Beiträge: 2143
Registriert: 12.12.2000

Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.4, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf
HP ZBook 17 G4, Windows 10 Pro 64

erstellt am: 17. Mrz. 2017 15: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 Nur für Greskamp 10 Unities + Antwort hilfreich

Quick and Dirty ungetestet:
Code:

(setf mytextursprung (sd-execute-annotator-command :cmd (format nil "~a ~s ~s" "Textpunkt_ausle" sel_Texxt_Punkt "1000,1000" sel_Texxt )))

In dem Makro ermittle ich dann über inq_elem den Textursprungspunkt eines Textes.

Code:

LOCAL Text_UrSprung
inq_elem Sel_Teexxt_Pu
LET Text_UrSprung (STR (inq 101))
LET lispstring (DOCU_CSTRING_TO_LSTRING Text_UrSprung)
LET isopen (DOCU_OPEN_CONNECTION_TO_SD)
LET done (DOCU_ADD_LINE_TO_SD lispstring)
LET isclosed (DOCU_CLOSE_CONNECTION_TO_SD)

Der Returnwert ist immer ein String und muss im LISP wieder aufgedröselt werden

------------------
meine LISP-Makros sind auf osd.cad.de Disclaimer
Grüße aus Wien

Walter

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

Greskamp
Mitglied
Ingenieur


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

Beiträge: 523
Registriert: 12.03.2003

erstellt am: 20. Mrz. 2017 08:30    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 Walter,

kannst du mir noch verraten wie die Variable dann im LISP heißt wenn ich mir die mit

Code:
display

anzeigen lassen möchte?
Code:
(Display lispstring)
(Display done)


beides klappt nicht.

------------------
Gruß Peter

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

Greskamp
Mitglied
Ingenieur


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

Beiträge: 523
Registriert: 12.03.2003

MS: Windows 10 64bit
OSD: 20.1 M020
ModelManager: 20.1 M020
NX 1899
TC 12.3

erstellt am: 20. Mrz. 2017 08: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

Sorry, hatte das

Code:

(setf mytextursprung

übersehen, nur bekomme ich jetzt ein NIL als Display angezeigt...

------------------
Gruß Peter

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

Greskamp
Mitglied
Ingenieur


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

Beiträge: 523
Registriert: 12.03.2003

erstellt am: 21. Mrz. 2017 08: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

Hallo Walter,

danke für die Hilfe, aber irgendwie will das überhaupt nicht. Ich habe jetzt auch die Hilfe im iKIT dazu gefunden, da steht das drin was du mir auch geschrieben hast, aber ich bekomme keinen Wert ins LISP. Nicht mal wenn ich einfach nur meinen Namen als Text eingebe. Schon irgendwie komisch und schade.

------------------
Gruß Peter

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

Greskamp
Mitglied
Ingenieur


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

Beiträge: 523
Registriert: 12.03.2003

MS: Windows 10 64bit
OSD: 20.1 M020
ModelManager: 20.1 M020
NX 1899
TC 12.3

erstellt am: 22. Mrz. 2017 06:49    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,

nur das zum Abschluß und als Ergebnis, wenn es andere noch verwenden wollen. Mit der Lösung hat es dann bei mir geklappt.

Hier der Aufruf im Lisp:

Code:
(setq mytext_Formatierung (sd-execute-annotator-function :fnc (format nil "Textpunkt_ausle1 ~a" sel_Texxt_Punkt)))

und hier der Code im ME-Makro:

Code:
DEFINE Textpunkt_ausle1
PARAMETER Sel_Teexxt_Pu

inq_elem Sel_Teexxt_Pu

LET Text_Formatierung (STR (inq 3))

let pid_1 (DOCU_CSTRING_TO_LSTRING Text_Formatierung)

(DOCU_OPEN_CONNECTION_TO_SD)
(DOCU_ADD_LINE_TO_SD pid_1)
(DOCU_CLOSE_CONNECTION_TO_SD)
END_DEFINE


Damit läuft das Programm jetzt

------------------
Gruß Peter

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