| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
| |
| Fachkonferenz Digitalisierung 2024 - Neil Barua, PTCs neuer CEO mit Keynote vor Ort in Stuttgart, eine Pressemitteilung
|
Autor
|
Thema: Zugriff auf das richtige Dokument nach dem Laden (588 mal gelesen)
|
Kricher Mitglied Entwickler
Beiträge: 270 Registriert: 10.09.2004
|
erstellt am: 20. Jun. 2007 14:05 <-- editieren / zitieren --> Unities abgeben:
Hallo Ihr, ich habe da ein Problem mit Laden, evtl. kann mir einer von Euch helfen. Was ich möchte: 1) Laden Dokument über API (geht bereits mit (load_sd filename)) 2) Zugriff auf Dokumenteneigenschaften des geladenen Dokumentes. Ich kenne vor und nach dem Laden ja nur den Dateinamen (kein Returnwert bei load_sd). Wie komme ich jetzt über den Dateinamen an die entsprechende SD-Dokumenteninstanz??? Für jede Hilfe wie immer dankbar.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 20. Jun. 2007 15:01 <-- editieren / zitieren --> Unities abgeben: Nur für Kricher
|
Kricher Mitglied Entwickler
Beiträge: 270 Registriert: 10.09.2004
|
erstellt am: 20. Jun. 2007 15:05 <-- editieren / zitieren --> Unities abgeben:
Ist klar, ich meine mit Dokument oder auch Komponente eines dieser Typen (übergeordnet). Es geht mit hier um das Prinzip, wie ich an so eine Instanz komme, nach dem Laden. Ich finde dafür im Moment keine Funktion (???das kann aber doch nicht sein!!!???) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 20. Jun. 2007 15:32 <-- editieren / zitieren --> Unities abgeben: Nur für Kricher
|
Kricher Mitglied Entwickler
Beiträge: 270 Registriert: 10.09.2004
|
erstellt am: 20. Jun. 2007 15:56 <-- editieren / zitieren --> Unities abgeben:
Oh, ich arbeite an einem existierenden Proggy unter Lisp, ein Wechsel ist da leider nicht einfach möglich. Wie sieht es denn mit den Dateinamen aus, entsprechenden die immer dem Namen im Pfad von OSD? Ich müsste ja nur die Komponenten der ersten Ebene unter Root mit den Dateinamen (die von mir gesucht werden) vergleichen. Besteht die Möglichkeit an eine Liste der "obersten" Elemente zu kommen? Nochmals sorry bezüglich meines Sprachgebrauchs, bin noch nicht so im OSD (und grade mal in LISP) angekommen ;-). Dein Proggy vom letzten Mal habe ich im übrigen als Vorlage für meinen Dialog verwendet, also danke nochmal. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 20. Jun. 2007 16:33 <-- editieren / zitieren --> Unities abgeben: Nur für Kricher
Zitat: Original erstellt von Kricher: ich arbeite an einem existierenden Proggy unter Lisp, ein Wechsel ist da leider nicht einfach möglich.
Lisp und das .NET-API kann man ganz prima im gleichen Stueck Code kombinieren. Zitat:
Wie sieht es denn mit den Dateinamen aus, entsprechenden die immer dem Namen im Pfad von OSD? Ich müsste ja nur die Komponenten der ersten Ebene unter Root mit den Dateinamen (die von mir gesucht werden) vergleichen.
Wenn Du auch Dateien vom Typ .pkg laden willst, hast Du auf jeden Fall schon mal ein Problem mit Deinem Ansatz, denn dann stecken in dieser Datei ja beliebig viele Objekte, die Du nach dem Laden suchen muesstest, und Du weisst vorher nicht, wie sie heissen. Neu geladene Objekte muessen auch nicht unbedingt alle auf oberster Ebene hinzukommen, denke ich. Und ob sie wirklich so heissen muessen wie ihre zugehoerigen Dateien, darueber muss ich erst nochmal nachgruebeln, bin mir da nicht so sicher. Zitat:
Besteht die Möglichkeit an eine Liste der "obersten" Elemente zu kommen?
Muesste gehen - man besorge sich alle "Kinder" des Objektes mit dem Namen "/". Claus
------------------ CoCreate OneSpace Modeling FAQ: http://www.clausbrod.de/OneSpaceModeling/ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kricher Mitglied Entwickler
Beiträge: 270 Registriert: 10.09.2004
|
erstellt am: 20. Jun. 2007 16:42 <-- editieren / zitieren --> Unities abgeben:
Danke Dir, werde es erst mal über die Dateinamen probieren. Das Laden macht ein Makro von mir und die landen immer in der obersten Ebene. Aber das Ziel ist letztlich diese dann in einen zuvor selektierten Subpfad zu verschieben. Besteht evtl. eine direkte Möglichkeit über den Dateinamen ein Part/Assembly in ein zuvor selektiertes SubAssembly o.ä. zu schieben? Habe keine direkte API-Funktion gefunden. Packages werden im Moment (wohl eher nie) nicht verwendet. Gehe jetzt erst mal in den Feierabend und denke auch noch mal nach ;-) Bis denne Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorothea Mitglied
Beiträge: 242 Registriert: 22.11.2001
|
erstellt am: 20. Jun. 2007 16:45 <-- editieren / zitieren --> Unities abgeben: Nur für Kricher
Zitat: 1) Laden Dokument über API (geht bereits mit (load_sd filename)) 2) Zugriff auf Dokumenteneigenschaften des geladenen Dokumentes.Ich kenne vor und nach dem Laden ja nur den Dateinamen (kein Returnwert bei load_sd). Wie komme ich jetzt über den Dateinamen an die entsprechende SD-Dokumenteninstanz???
Ich denke mal, der Code wir mit sd-call-cmds aufgerufen. Ist das richtig? Dann kann man das Ergebnis entweder durch Zuweisen zu einer Variablen oder über Erfragen der Variable *sd-action-result* bekommen. Lies mal nach in der Doku zu sd-call-cmds. Beim Laden bekommt man das SEL_ITEM des top-geladenen Objektes. Gruss Dorothea
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kricher Mitglied Entwickler
Beiträge: 270 Registriert: 10.09.2004 Solid Edge (ST6 - SE2019) SolidWorks (2014 - 2019) DraftSight 2016 und 2018 Creo Elements Direct Modeling (SolidDesigner V17, V18, V19, V20) Inventor 2018 ACAD/Mechanical 2018
|
erstellt am: 21. Jun. 2007 14:04 <-- editieren / zitieren --> Unities abgeben:
Hallo Dorothea, Deine Infos haben bei mir zum Ziel geführt (10 U sind unterwegs) Das mit dem "sd-call-cmds" wusste ich nicht (bin halt noch neu in diesem Bereich). Ansonsten wurde mehrfach auf die Verfügbarkeit einer .Net-API hingewiesen. Mittelfristig würde ich gerne von Lisp weg und zu c# wechseln. Ich habe zu diesem Thema überhaupt keine Doku gefunden und ein Assembly finde ich auch nicht unter einer entsprechenden .Net-Entwicklungsumgebung. I Eine COM-API scheint es zu geben, ist diese komplett und auch dokumentiert? Freue mich über alle Infos. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 21. Jun. 2007 14:55 <-- editieren / zitieren --> Unities abgeben: Nur für Kricher
|
Kricher Mitglied Entwickler
Beiträge: 270 Registriert: 10.09.2004
|
erstellt am: 21. Jun. 2007 15:00 <-- editieren / zitieren --> Unities abgeben:
|
clausb Ehrenmitglied V.I.P. h.c.
Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 21. Jun. 2007 15:40 <-- editieren / zitieren --> Unities abgeben: Nur für Kricher
|
Kricher Mitglied Entwickler
Beiträge: 270 Registriert: 10.09.2004
|
erstellt am: 21. Jun. 2007 15:46 <-- editieren / zitieren --> Unities abgeben:
|