| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
Autor
|
Thema: Dateiname auslesen (1534 mal gelesen)
|
L3viathan Mitglied
Beiträge: 15 Registriert: 07.10.2005
|
erstellt am: 11. Sep. 2007 11:20 <-- editieren / zitieren --> Unities abgeben:
Ich würde gerne den Namen der aktuellen geöffneten Datei auslesen, habe allerdings nur gefunden, wie man den des aktuellen Teils ermitteln kann. Ich bin auch alle INQs mit nem String (die 300er) durchgegangen, leider ohne Erfolg. Weiß vielleicht jemand, ob das geht? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Patrick Weber Mitglied Konstruktionstechniker, Admin
Beiträge: 657 Registriert: 20.11.2006 Win7 Pro SP1 64Bit HP Z230, Core i5, 8GB RAM, nv Quadro K600 Creo Elements/Direct 19.0 M010 ModelManager 19.0 M010 clisp,VB.net,VBA,AHK,php,javascript
|
erstellt am: 11. Sep. 2007 11:39 <-- editieren / zitieren --> Unities abgeben: Nur für L3viathan
Schon mal mit inq_env 0 display(inq 304) probiert? EDIT: Im Macro könnte das folgendermaßen ausehen, wenn du NUR den Dateinamen möchtest:
Code:
DEFINE DATEINAMEX LOCAL X LOCAL A INQ_ENV 0 LET X (INQ 304) LOOP LET A (POS X "\") EXIT_IF (A=0) LET X (SUBSTR X (A+1) (LEN X)) END_LOOP DISPLAY(X) END_DEFINE
------------------ ------------ Grüße pw [Diese Nachricht wurde von Patrick Weber am 11. Sep. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SReinbold Mitglied
Beiträge: 190 Registriert: 03.08.2000 Windows XP Modeling 15.50A Drafting 15.50A ModelManager mit TaskAgent CoCreate 16.50A Testumgebung
|
erstellt am: 11. Sep. 2007 17:19 <-- editieren / zitieren --> Unities abgeben: Nur für L3viathan
Hallo Ich habe folgendes Makro im Einsatz: {### Abfrage vollstädiger Pfad und Dateiname der aktuellen Zeichnung ####################} DEFINE Datei_Pfad INQ_ENV 0 LET Dateipfad_offen (INQ 304) END_DEFINE DEFINE filename local pathfile local sep_pos local sep inq_env 10 if (inq 4 = 2) {wenn Betriebsystem=HP-UX} let sep '/' else let sep '\' end_if inq_env 0 let pathfile (inq 304) loop let sep_pos (pos pathfile sep) let pathfile (substr pathfile (sep_pos +1) ((len pathfile) - sep_pos)) exit_if (not (pos pathfile sep)) end_loop let file_name pathfile end END_DEFINE Gruss Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
L3viathan Mitglied
Beiträge: 15 Registriert: 07.10.2005
|
erstellt am: 12. Sep. 2007 16:18 <-- editieren / zitieren --> Unities abgeben:
Danke für die Antworten - leider funktioniert es bei mir nicht ... Ich bekomme immer nur 'Top' und es sollte eigentlich 'G:\535067' sein (oder halt ohne Pfad). Es wird immer der Name der obersten Folie angegeben, was bei uns allerdings nicht der Dateiname ist. Hängt das vielleicht mit unserer ME10-Version zusammen? - Wir haben die 10.5. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Gerhard Deeg Ehrenmitglied V.I.P. h.c. i.R. Konstrukteur aus Leidenschaft
Beiträge: 2643 Registriert: 17.12.2000 CREO - OSD - OSM HP XW4400 - XW4600 Dell Inspiron 17E NVIDIA QUADRO FX1500 NVIDIA Quadro FX1800 HP Mini 210 2002sg WIN 7 Ultimate 32/64
|
erstellt am: 12. Sep. 2007 17:13 <-- editieren / zitieren --> Unities abgeben: Nur für L3viathan
Hallo L3viathan, wenn ich Dich richtig verstanden habe, dann möchtest Du einen Dateinamen im Me10 auslesen, der im Explorer erscheint. Z.B. c:\Daten\Me10\Zeichnung1.mi ist das so richtig? Das geht, aber Du mußt Dir erstmal ein Makro schreiben, wo Du diesen String eingeben kannst. Danach kannst Du Dir den String (Zeichnefolge) in Deinem Menu anzeigen lassen, zur späteren Verwendung zum Speichern Deiner Zeichnung. Auch dafür wird wiederum ein Makro benötigt. Das bedeuted aber, dass Du jede Zeichnung die Du Dir ins ME10 einlädst manuell eingeben mußt. Ob das so die Wahrheit einer Arbeitsfolge ist glaube ich nicht. Nehme Dir einen Zettel und schreibe Dir den Namen der Zeichnung, die Du gerade bearbeitest auf und streiche ihn durch wenn Du gespeichert hast. Gruß Gerhard ------------------ Jeder erfüllte Wunsch ist ein Traum weniger Träume sind die Sonnenstunden der Hoffnung Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SReinbold Mitglied
Beiträge: 190 Registriert: 03.08.2000 Windows XP Modeling 15.50A Drafting 15.50A ModelManager mit TaskAgent CoCreate 16.50A Testumgebung
|
erstellt am: 12. Sep. 2007 17:24 <-- editieren / zitieren --> Unities abgeben: Nur für L3viathan
|
Patrick Weber Mitglied Konstruktionstechniker, Admin
Beiträge: 657 Registriert: 20.11.2006 Win7 Pro SP1 64Bit HP Z230, Core i5, 8GB RAM, nv Quadro K600 Creo Elements/Direct 19.0 M010 ModelManager 19.0 M010 clisp,VB.net,VBA,AHK,php,javascript
|
erstellt am: 13. Sep. 2007 08:09 <-- editieren / zitieren --> Unities abgeben: Nur für L3viathan
Möglicherweise wird es unter deiner Version nicht unterstützt. Ich habe nochmal in der Hilfe zu me10 v11.00B und me10 v8 nachgesehen, in Version 11 ist die Abfrage (inq_elem 0 inq 304) vorhanden, aber in v8 nicht. Irgendwo zwischen diesen Versionen muss sie eingeführt worden sein. Gib doch mal help inq_env ein! Steht da unter INQ_ENV 0 bei INQ-Code die Zahl 304? Wenn nicht, könntest du in diesem Fall Pech haben. ------------------ ------------ Grüße pw Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
L3viathan Mitglied
Beiträge: 15 Registriert: 07.10.2005
|
erstellt am: 13. Sep. 2007 08:22 <-- editieren / zitieren --> Unities abgeben:
Leider ist die 304 noch nicht definiert - der nimmt dann anscheinend den Wert aus INQ_ENV 7 und INQ 301 ... Schade eigentlich - dann muß ich wohl oder übel das häßliche Workaround mit nem Öffnenmakro machen, bei dem der eingegebene oder ausgewählte Dateiname in ne Variable gespeichert wird. Trotzdem danke für die vielen Antworten - is echt klasse *thumbsup* Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |