| |  | Mit der Kisters 3DViewStation komplexeste 3D CAD-Daten beherrschen, eine Pressemitteilung
|
Autor
|
Thema: Batch und oder IUA ?????? (1142 mal gelesen)
|
Stefan Katz Mitglied Systembetreuer

 Beiträge: 33 Registriert: 03.11.2001
|
erstellt am: 03. Nov. 2001 21:41 <-- editieren / zitieren --> Unities abgeben:         
Hoi zämma, ich bin auf der Suche nach einer Möglichkeit eine große Anzahl von Catia Modellen zu überarbeiten. Problem: ich möchte Elemente wie *TXT und *DIM jeweils auf bestimmte Layer legen. In der Catia V4 Standartinstallation gibt es ein IUA-Makro, welches das tut. Das jedoch nur im aktuell geladenen Modell. Hat jemand einen Lösungsansatz dies in einer Vielzahl von Modellen im Batchbetrieb zu erledigen? IP |
dzinner Mitglied

 Beiträge: 61 Registriert: 24.01.2001
|
erstellt am: 05. Nov. 2001 14:26 <-- editieren / zitieren --> Unities abgeben:          Nur für Stefan Katz
Hallo Stefan, ein IUA-Makro kenne ich nicht, aber ein kommerzielles Tool kann das unter anderem liefern. Es ist ICHECK von INCAT. mfg dzinner IP |
Brauburger Mitglied CAD-SystemIngenieur
 
 Beiträge: 389 Registriert: 05.04.2001 NX_2000 TC_11.6.0.19
|
erstellt am: 06. Nov. 2001 07:27 <-- editieren / zitieren --> Unities abgeben:          Nur für Stefan Katz
Hallo Stefan, die Lösung heißt hier wirklich CATGEO Batch Programm. Wir haben ein recht umfangreiches Programm, das unter anderem in der Lage ist, alle Elemente eines vorgegebenen Layers auf einen ebenfalls vorgegebenen Ziellayer zu transferieren. Das Folgende sind die hierfür maßgeblichen Sequenzen: ... * CATGEO-ENV. AUFBAUEN CALL CATGEO ... * ANMELDUNG AN CATIA ... * MODELFILE ALLOKIEREN CALL GIFDDN ('MODEL ', DSN, DDN, DUMMY6, RET, *108) CALL GIFALL ('MODEL ', DDN, 'XXX', DUMMY, RET, *998) * MODELL LESEN CALL GIMSIZ (DDN, MODELID, LINDEX, LDATA, RET, *102) CALL GIMREA (1, DDN, MODELID, - INT(LINDEX*1.2)+1000, INT(LDATA*1.2)+10000, - RET, *102) ... *--------------------------------------------------------------------- * LAYERTRANSFER * FIRST WSP CALL GISWSP (1, 0, - WSP, WSPTYP, READY, - RET, *995) DO WHILE (READY .NE. 1) * ID DES WSP HOLEN WSPID = ' ' CALL GIRIDE (1, WSP, - DUMMY, WSPID, RET, *995) * WSP WECHSELN, EXTERN? IF (WSPTYP .EQ. 1) THEN CALL GICMAS (1, RET, *995) IEXT = 0 ELSE CALL GICDET (1, WSP, RET, *995) CALL GIREXT (1, WSP, - IEXT, RET, *995) ENDIF * ELEMENTE STACKEN NBREMOD = 0 WRITE (DUMMY7, '(A4, I3)') '*LAY', LAYFROM CALL STCKMSL(1, 7, DUMMY7, - 0, 0, 0, 0, - STACK, RET, *995) CALL STCKDUP(STACK, RET, *994) CALL GUSINF (STACK, DUMMY, NBRELEM, RET, *994) * ÜBER STACK-ELEMENTE * DO I = 1,NBRELEM I = 1 DO WHILE ((I .LE. NBRELEM) .AND. - (IEXT .NE. 2) ) * NEXT STACK-ELEMENT CALL GUSREA (STACK, I, CELEM, RET, *994) * ELEMENT TRANSFERIEREN IF (IEXT .EQ. 1) THEN IEXT = 2 WARNING = .TRUE. ELSE NBREMOD = NBREMOD+1 CALL GICLAY (1, ELEM, - LAYTO, - RET, *100) IF (.FALSE.) THEN 100 IF (RET .NE. 27) GOTO 994 RET = 0 CALL RETINI NBREMOD = NBREMOD-1 ENDIF ENDIF I = I+1 ENDDO * STACK LÖSCHEN CALL GUSEND (STACK, RET, *995) * PROTOKOLLIEREN IF (IEXT .EQ. 2) THEN WRITE (6,*) 'Externes Detail ', - WSPID, ' nicht modifiziert.' ELSE WRITE (DUMMY3A, '(I3)') LAYFROM WRITE (DUMMY3B, '(I3)') LAYTO IF (NBREMOD .GT. 0) - WRITE (6,*) NBREMOD, 'Elemente in Wsp ', - WSPID, ' VON LAYER ', - DUMMY3A, ' AUF LAYER ', - DUMMY3B, ' TRANSFERIERT.' ENDIF * NEXT WSP DUMMY = WSP CALL GISWSP (1, DUMMY, - WSP, WSPTYP, READY, - RET, *995) ENDDO ... * MODELL SCHREIBEN CALL GIMWRI (1, DDN, MODELID, 1, 1, RET, *997) WRITE (6,*) 'Modell ''', MODELID(1:70), '''' * WRITE (6,*) ' in File ', DSN(1:24), ' geschrieben.' WRITE (6,*) ' in File ', DSN, ' geschrieben.' * FILE FREIGEBEN CALL GIFRES (DDN, RET, *998) Ich hoffe, das hilft weiter. Dirk
IP |
Stefan Katz Mitglied Systembetreuer

 Beiträge: 33 Registriert: 03.11.2001
|
erstellt am: 06. Nov. 2001 11:24 <-- editieren / zitieren --> Unities abgeben:         
Hallo Dirk, vielen Dank für die vielversprechende Antwort. Doch verzeih mir meine Unwissenheit, wie führe ich ein solches CATGEO-Batch Programm aus? Gruß Stefan
Zitat: Original erstellt von Brauburger:
Hallo Stefan,die Lösung heißt hier wirklich CATGEO Batch Programm. Wir haben ein recht umfangreiches Programm, das unter anderem in der Lage ist, alle Elemente eines vorgegebenen Layers auf einen ebenfalls vorgegebenen Ziellayer zu transferieren. Das Folgende sind die hierfür maßgeblichen Sequenzen: ... * CATGEO-ENV. AUFBAUEN CALL CATGEO ... * ANMELDUNG AN CATIA ... * MODELFILE ALLOKIEREN CALL GIFDDN ('MODEL ', DSN, DDN, DUMMY6, RET, *108) CALL GIFALL ('MODEL ', DDN, 'XXX', DUMMY, RET, *998) * MODELL LESEN CALL GIMSIZ (DDN, MODELID, LINDEX, LDATA, RET, *102) CALL GIMREA (1, DDN, MODELID, - INT(LINDEX*1.2)+1000, INT(LDATA*1.2)+10000, - RET, *102) ... *
IP |
Brauburger Mitglied CAD-SystemIngenieur
 
 Beiträge: 389 Registriert: 05.04.2001 NX_2000 TC_11.6.0.19
|
erstellt am: 07. Nov. 2001 08:06 <-- editieren / zitieren --> Unities abgeben:          Nur für Stefan Katz
Hallo Stefan, ich habe befürchtet, daß Du so antwortest. Generell mußt Du -nachdem Du Deinen (FORTRAN-)Source editiert hast- diesen Compilieren und Linken, bevor Du ihn ausführen kannst. Ob statt FORTRAN inzwischen auch C unterstützt wird, weiß ich nicht sicher. Uns hat sich diese Frage nie gestellt, da wir immer noch auf dem aus MainframeZeiten stammenden FORTRAN-Bestand aufbauen. Falls Du hiermit überhaupt keine Erfahrungen hast, ist es meiner Meinung nach nicht sonderlich erfolgsversprechend, wenn Du das Thema über das Forum in den Griff bekommen willst. Falls Du Dich dennoch austoben willst, habe ich Dir einige Dateien angehängt: - TEST.f ist ein FORTRAN-Source (CATGEO-Batch) - fortcl ist das Skript, mit dessen Hilfe wir CATGEO-Batch compilieren und linken - TEST ist ein Skript, mit dem das fertige Modul ausgeführt werden kann. Sicher wird an einigen Stellen auf unsere hausinterne Umgebung zugegriffen. Aber das merkst Du dann schon. Viel Spaß Dirk IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |