| |
 | Mit der Kisters 3DViewStation komplexeste 3D CAD-Daten beherrschen, eine Pressemitteilung
|
Autor
|
Thema: Pfad einer Datei ermitteln (dsname) (814 mal gelesen)
|
TimoT Mitglied

 Beiträge: 16 Registriert: 25.03.2003
|
erstellt am: 25. Mrz. 2003 12:04 <-- editieren / zitieren --> Unities abgeben:         
Hallo miteinander, ich muss den Pfadnamen eines geladenen Modells ermitteln. Leider erhält man mit GIFDSN() nur den dlname, falls dieser existiert. Meine Frage ist jetzt also wie ich an den dsname komme, wenn der dlname bekannt ist. Wahrscheinlich muss ich irgendwie nach einer Variablen suchen, leider hatte ich mit G7AQUV kein Glück, oder ich habe falsche Paramter eingetragen. Bin für jede Hilfe dankbar. Timo IP |
Stefan_I Mitglied Ing HTL
  
 Beiträge: 867 Registriert: 04.07.2001 CATIA 422R1 VPM1.6 PTF9 CATIA V5R26SP6 CATIA V6 2014x AIX5.3-ML06 Windows 7 + 10 64Bit
|
erstellt am: 25. Mrz. 2003 13:57 <-- editieren / zitieren --> Unities abgeben:          Nur für TimoT
Hallo Timo, ich habe mir den DSNAME immer fortranmaessig aus dem CATIA.dcls file gelesen. ------------------ Gruss Stefan Inderbitzin IP |
TimoT Mitglied

 Beiträge: 16 Registriert: 25.03.2003
|
erstellt am: 25. Mrz. 2003 14:24 <-- editieren / zitieren --> Unities abgeben:         
Hallo Stefan, meinst du mit "fortranmaessig", das du ueber Betriebssystem oder Fortran Sprachaufrufe die .dcls Datei geöffnet geparst und dort nach dem entsprechenden Eintrag gesucht hast oder kennst du eine Catia API Funktion die du von Fortran aus aufrufst und die dir den DSNAME liefert ? Gruss und Danke Timo IP |
Stefan_I Mitglied Ing HTL
  
 Beiträge: 867 Registriert: 04.07.2001 CATIA 422R1 VPM1.6 PTF9 CATIA V5R26SP6 CATIA V6 2014x AIX5.3-ML06 Windows 7 + 10 64Bit
|
erstellt am: 25. Mrz. 2003 15:04 <-- editieren / zitieren --> Unities abgeben:          Nur für TimoT
Hallo Timo, hier ein Stueck Fortrancode wie das ungefaehr aussehen koennte: OPEN (20,FILE='/home/xx/dec/CATIA.dcls',ERR=900)
100 CONTINUE READ (20,'(A100)',END=150,ERR=900) EIN100 IF (EIN100(67:81) .EQ. CTEST) THEN CLOSE (20,ERR=900) GOTO 200 ENDIF MODDDN = EIN100(7:14) GOTO 100 150 CONTINUE CLOSE (20,ERR=900) IZURUE = 1 GOTO 1000 200 CONTINUE Hat vielleicht ein bisschen viel gotos drin ist aber praktisch und idiotensicher. Gesucht ist hier MODDN welches in der Zeile vor der gesuchten steht CTEST = EIN100(67:81) . CATIA.dcls File: alias M3200003 = catia.MODEL = '"/x/y/KONTROLLE ","KONTROLLE"; (900 Abbruch bei Lesefehler) (1000 regulaeres Ende) Ist noch etwas klar ? ------------------ Gruss Stefan Inderbitzin IP |
TimoT Mitglied

 Beiträge: 16 Registriert: 25.03.2003
|
erstellt am: 25. Mrz. 2003 15:49 <-- editieren / zitieren --> Unities abgeben:         
Hallo Stefan, zum Glück implementiere ich hier alles in C und mir bleibt das erstellen von Fortranprogrammen erspart :-)). Dein Code ist aber auch für nicht Fortranprogrammierer verständlich. Mit dieser Methode kann ich leider nur ein bestimmtes DCLS File parsen, was mache ich wenn der entsprechende Modelltopf in einem andere File deklariert ist ? Ich müsste dann ja alle entsprechenden Files kennen und alle durchsuchen können. Gruss Timo
IP |
Stefan_I Mitglied Ing HTL
  
 Beiträge: 867 Registriert: 04.07.2001 CATIA 422R1 VPM1.6 PTF9 CATIA V5R26SP6 CATIA V6 2014x AIX5.3-ML06 Windows 7 + 10 64Bit
|
erstellt am: 25. Mrz. 2003 15:55 <-- editieren / zitieren --> Unities abgeben:          Nur für TimoT
Hallo Timo, Du kannst zum Beispiel auch aus C mit der SYSTEM Routine den catpath -A -l catia.model Command absetzen und diesen Output durchsuchen.
------------------ Gruss Stefan Inderbitzin IP |
E.S. Mitglied Dozentin
 Beiträge: 8 Registriert: 31.01.2003
|
erstellt am: 27. Mrz. 2003 16:03 <-- editieren / zitieren --> Unities abgeben:          Nur für TimoT
Hallo Timo, komme gerade an keine CATIA-Maschine heran. Aber wenn mich mein Gedächtnis nicht täuscht, werden unter der Funktion MODELS+MANAGE+ANALYZE alle in einer SESSION geladenen Modelle aufgelistet. An dem jeweiligen Zeilenende gibt es einen Knopf FILE, unter dem man den kompletten Pfad ablesen kann. Der dazugehörige Variablenname jedoch ...?? E.S. IP |