Autor
|
Thema: Catia V5 R14 mit JAVA Arbeiten (2538 mal gelesen)
|
valo Mitglied Informatik
Beiträge: 15 Registriert: 10.02.2006
|
erstellt am: 10. Feb. 2006 17:48 <-- editieren / zitieren --> Unities abgeben:
Hallo Forum !! Ich bitte um Hilfe, bei einem Versuch mit Java (Damit wird die Programmiersprache JAVA und nicht JavaScript gemeint) ein z.B. xxx.CATPart Modell anzusprechen. Ich selbst besitze kein RADE_TOOL nur eine Catia V5R14 und sehr gute Kenntnisse in Java. habe sämtliche Links zu den Foren ausprobiert und das ganze I-Net durchsucht, aber ich finde kein einzieges Beispiel geschweige von einer Docu. Mein Ziel: aus einem xxx.CATPart Modell egal welches Parameter mit einer Java-Program auszulesen. Für jede Hilfe bin ich dankbar Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlausJ Mitglied
Beiträge: 1336 Registriert: 17.03.2003 CATIA V4.2.4 Ref 2 CATIA V5R16SP7 AIX 5.3 Windows 2000 und XP
|
erstellt am: 12. Feb. 2006 20:34 <-- editieren / zitieren --> Unities abgeben: Nur für valo
Hallo valo, 1. Du kannst VBScript verwenden und die gewünschten Strukturen auslesen. 2. Mit Java in das binäre CATPart oder CATDrawing reinschauen und zu verstehen versuchen was und warum. Beim nächsten Release kann es aber ganz anders sein. 3. Mit CAA reinschauen - teuer. Eine 4. Möglichkeit sehe ich nicht - sorry. ------------------ in diesem Sinne Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
valo Mitglied Informatik
Beiträge: 15 Registriert: 10.02.2006
|
erstellt am: 14. Feb. 2006 14:30 <-- editieren / zitieren --> Unities abgeben:
Sicherlich ist es möglich aufirgendeine weise an die Parameter zu kommen, ich möchte aber das mit Java erreichen. Die meisten von euch benutzen VB oder einen Ableger davon, ich wollte aber mit einer (OOP) wie JAVA oder C++ Sprache an die Sache rangehen. Soviel ich bis jetzt verstanden habe, gibt es ein RADE_TOOL der ein haufen Kohle kostet und es steht nirgendwo beschrieben was das Ding kann.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
valo Mitglied Informatik
Beiträge: 15 Registriert: 10.02.2006
|
erstellt am: 16. Feb. 2006 21:54 <-- editieren / zitieren --> Unities abgeben:
|
SebastianK Mitglied Informatik
Beiträge: 1 Registriert: 21.02.2006
|
erstellt am: 21. Feb. 2006 13:39 <-- editieren / zitieren --> Unities abgeben: Nur für valo
Hi valo, ich habe das Problem auch gehabt, wahrscheinlich findest du in den CAD - Foren keine wirklich Hilfe, den die Leute hier, haben fast keine Ahnung von JAVA. Ich selbst habe bei einer Firma gearbeitet, die mit JAVA auf Catia zugegriffen haben, wie weiss ich nicht, aber den Enteickler kannst du unter brant@web.de erreichen, der weiss auch bescheid, dass ich seine E-Mail hier gepostet habe und die Problematik auch. Poste doch mal hier was draus geworden ist, den das Thema ist wirklich interessant. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tstone Mitglied Werkzeugkonstrukteur
Beiträge: 163 Registriert: 04.06.2003 Dell Precision 470 Intel Xeon CPU 3,00GHz 2GB Ram Microsoft Windows XP Catia V5 R18 SP6 VB2005
|
erstellt am: 21. Feb. 2006 14:44 <-- editieren / zitieren --> Unities abgeben: Nur für valo
Hallo Wie wäre es mit VB.Net auch eine OOP -Sprache und das Zugreifen auf die CATIA-COM-Objekte ist kein Problem. ------------------ Grüße TStone "Respektiere die Macht der Worte, wähle sie mit Bedacht!" Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
valo Mitglied Informatik
Beiträge: 15 Registriert: 10.02.2006
|
erstellt am: 21. Feb. 2006 16:57 <-- editieren / zitieren --> Unities abgeben:
|
Axel.Strasser Ehrenmitglied V.I.P. h.c. Selbstständig im Bereich PLM/CAx
Beiträge: 4107 Registriert: 12.03.2001 Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!
|
erstellt am: 21. Feb. 2006 17:56 <-- editieren / zitieren --> Unities abgeben: Nur für valo
|
KlausJ Mitglied
Beiträge: 1336 Registriert: 17.03.2003 CATIA V4.2.4 Ref 2 CATIA V5R16SP7 AIX 5.3 Windows 2000 und XP
|
erstellt am: 21. Feb. 2006 18:32 <-- editieren / zitieren --> Unities abgeben: Nur für valo
Hallo, mein Kommentar ist jetzt nicht böse gemeint, aber die ganze Diskussion erinnert mich an die Giotto-Reklame - und was ist mit Tee ??? Ich möchte aber mit Java. Mach's doch einfach ! Du wirst zwar mit einem Release vielleicht Erfolg haben, aber beim nächsten kannst Du, wenn Du Pech hast von vorne anfangen - es sei denn es ist eine ABM. ------------------ in diesem Sinne Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
valo Mitglied Informatik
Beiträge: 15 Registriert: 10.02.2006
|
erstellt am: 22. Feb. 2006 13:26 <-- editieren / zitieren --> Unities abgeben:
@KlausJ Du meinst also, wenn ich etwas in VB erstelle und im nächsten Release von CATIA die Schnittstelle sich ändert, dann passt sich dein VB Programm sich automatisch an ?? Aber jetzt zur sache, gibt es in diesem Forum überhaupt programmierer?? die einwennig mehr können als VB ??
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jens Hansen Mitglied Senior Consult
Beiträge: 1055 Registriert: 05.08.2000 Win7 CATIA V5 R19 VB.Net C#
|
erstellt am: 22. Feb. 2006 13:34 <-- editieren / zitieren --> Unities abgeben: Nur für valo
Hallo valo, wenn du mit JAVA mittels LateBinding auf eine Applikation zugreifen kannst, kannst du auch V5 ansprechen. Das Schwierige ist halt nur das setzen der jeweiligen Methoden bzw. Properties über LateBinding; Stichwort hirfür wäre bei C# "invoke". Ich kenne jetzt JAVA nicht und weiß daher leider nicht, inwiweit JAVA einen Zugriff möglich macht. Die nächste Alternative wäre die Einbindung der Libaries/dll aus V5. Auch hier muss dies von JAVA unterstützt werden. Schöne Grüße Jens Hansen ------------------ Inoffizielle CATIA-Hilfeseite http:\\catia.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlausJ Mitglied
Beiträge: 1336 Registriert: 17.03.2003 CATIA V4.2.4 Ref 2 CATIA V5R16SP7 AIX 5.3 Windows 2000 und XP
|
erstellt am: 22. Feb. 2006 13:47 <-- editieren / zitieren --> Unities abgeben: Nur für valo
Du hast natürlich insofern recht, daß das Programm noch einmal mit den neuen Libraries kompiliert werden muß. Die DLL's müssen natürlich auch stimmen, aber die Schnittstellen und vor allem die internen Strukturen brauchst Du nicht im Einzelnen zu kennen, sondern werden nur über die Aufrufe bereitgestellt. Was dahinter ist, braucht Dich normalerweise nicht zu interessieren. Natürlich kann es auch dann noch vorkommen, daß Aufrufe, die bei einem Release funktionierten, im nächsten plötzlich nicht mehr richtig laufen und umgekehrt. Wie auch immer, viel Spaß beim Forschen. ------------------ in diesem Sinne Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
valo Mitglied Informatik
Beiträge: 15 Registriert: 10.02.2006
|
erstellt am: 22. Feb. 2006 14:16 <-- editieren / zitieren --> Unities abgeben:
@Jens Hansen Ohh na endlich einer der sich mit programmieren auskennt. Ich habe jetzt versucht mit LateBinding zuarbeiten, ist aber nirgendwo dokumentiert wie man das genau macht. (Empfehle ich keinem) Was mich interessiert ist die Alternative mit den DLL's. Wie ich aus JAVA auf C zugreife und nutze ist mir bekannt, aber woher kenne ich die Methoden die in C geschrieben werden sollen. Gibt es eine Docu oder etwas ähnliches Vielen Dank in Voraus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jens Hansen Mitglied Senior Consult
Beiträge: 1055 Registriert: 05.08.2000 Win7 CATIA V5 R19 VB.Net C#
|
erstellt am: 22. Feb. 2006 14:36 <-- editieren / zitieren --> Unities abgeben: Nur für valo
Hallo valo, zum Thema Libaries nutze ich die Möglichkeit. von .NET die COM-Bibliotheken anzusprechen und diese dann in C# anzuziehen. Vorteil dabei ist, dass ich die internen Klassen und Funktionen direkt vie Intellisense angezeigt bekomme und daher sehe, was ich benutzen muss. Geht man auf die dll's - z.B. über die Windows-API - ist man eigentlich direkt wieder beim Latebinding gelandet. Hier mal ein Beispeil für das Latebinding auf V5 in C#: ------------------- object CatiaApp = null; object CatiaDoc = null; CatiaApp = Marshal.GetActiveObject("CATIA.Application"); //Ausschalten der Userinteraktion object[] Wert = new object[1]{"False"}; object DisplayFileAlerts = CatiaApp.GetType().InvokeMember("DisplayFileAlerts", BindingFlags.SetProperty, null, CatiaApp, Wert); //Catia über LateBinding ####################################### CatiaDoc = CatiaApp.GetType().InvokeMember("Documents", BindingFlags.GetProperty, null, CatiaApp, null ); object FilePath = Path.Combine(Path.GetTempPath(),@"C:\test.CATPart"); object[] parameters = new object[1]{FilePath}; object Doc = CatiaDoc.GetType().InvokeMember("Open", BindingFlags.InvokeMethod | BindingFlags.OptionalParamBinding, null, CatiaDoc, parameters); ----------------------------------- Im Grunde benutzt man den selben Befehl wie bei vb oder Makro; nur dass der Befehl mittels InvokeMember dekaklariert werden muss. Ich habe auch Ewigkeiten gebraucht, biss ich auf V5 über LatBinding zugreifen konnte. schöne Grüße Jens Hansen ------------------ Inoffizielle CATIA-Hilfeseite http:\\catia.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
valo Mitglied Informatik
Beiträge: 15 Registriert: 10.02.2006
|
erstellt am: 22. Feb. 2006 15:03 <-- editieren / zitieren --> Unities abgeben:
@Jens Hansen ich glaube mit diesem Thread haben wir denn Grundstein für sämtliche JAVA - Entwickler gelegt. Danke schön. PS: im ganzen I-net ist das die beste und einziege Möglichkeit mit JAVA auf CATIA zuzugreifen. Was mich interessieren würde, wie geht das bei CAA RADE, wenn einer damit Erfahrung hat, bitte ich um Postings. Gruß valo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
padde Mitglied Software Entwickler
Beiträge: 9 Registriert: 20.02.2007
|
erstellt am: 21. Feb. 2007 10:58 <-- editieren / zitieren --> Unities abgeben: Nur für valo
@valoWie hast Du Dein Problem denn jetzt mit Java gelöst? Kannst Du vielleicht mal Deinen Code posten? Ich möchte auch mittels Java auf CATIA V5 zugreifen. Bisher habe ich lediglich CATIA V5 zum Laufen bekommen (mittels Runtime.getRuntime().exec(...)). Aber wie kann ich denn auf die Eigenschaften eines CATPart zugreifen Schon einmal vielen Dank für Deine Hilfe im Voraus! Gruß Padde Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |