| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. |
| |
 | KISTERS 3DViewStation: Geniale 3D-Visualisierung für intuitiven HMI Einsatz, eine Pressemitteilung
|
Autor
|
Thema: VB Makros: R16 kompatibel zu R19? (1716 mal gelesen)
|
frp84 Mitglied
 Beiträge: 6 Registriert: 09.06.2009 MS Windows XP Prof. x64 Edition Version 2003 SP2 Intel Xeon X5260 CPU mit 4 x 3,33Ghz 8 GB RAM CATIA V5 R19 MS Visual Studio 2008 Prof. Edition
|
erstellt am: 09. Jun. 2009 15:00 <-- editieren / zitieren --> Unities abgeben:         
Hallo CAD Gemeinde, nun komme ich nicht mehr umher euch mit einem nicht ganz neuen Thema zu belästigen, allerdings habe ich bisher keine Antwort gefunden. Ich habe folgendes Problem: Seit heute sitze ich an einer neuen CAD Maschine (Infos siehe unten). Der Umstieg von CATIA V5 R16 auf R19 steht unmittelbar bevor. In diesem Zusammenhang habe ich bereits fertige Makros auf ihre Kompatibilität zu R19 getestet. Die getesteten Makros wurden alle komplett in Visual Studio 2008 Professional Edition erstellt (Visual Basic) und liefen bis dato unter R16 einwandfrei. Unter R19 laufen sie alle komplett nicht. Bereits die Bibliothek INFITF wurde in R19 nicht mehr gefunden, so dass die Suche nach CATIA in den laufenden Prozessen nicht erfolgreich war, obwohl CATIA definitiv gestartet war. In Visual Studio fehlen auch fast alle COM Bibliotheken von CATIA. Die Registry ist auf dem aktuellen Stand (ich habe bereits diesen Thread gelesen: http://ww3.cad.de/foren/ubb/Forum137/HTML/003197.shtml). Ist euch etwas bekannt, was die COM Bibliotheken in R19 im Vergleich zu R16 angeht? Bzw. wie kann ich nun extern mit CATIA V5 R19 kommunizieren? Leider bin ich mit meinem Latein am Ende. Ich hoffe es gibt den Einen oder Anderen unter euch, der mir weiterhelfen kann. (Bisher habe ich schon sehr viele Probleme dank eurem Forum lösen können.) Mit besten Grüßen Felix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
zoltan.bekesi Mitglied
 
 Beiträge: 321 Registriert: 22.10.2006 Job: CATIA V5R19 / XP 32bit MS Office 2003 Microstation V8 2004 Edition DELL Precision M6300
|
erstellt am: 09. Jun. 2009 20:18 <-- editieren / zitieren --> Unities abgeben:          Nur für frp84
Hallo Felix, wir hatten beim R19 Umstieg in einigen Fällen Probleme mit den DLLs (Die von R16 funktionierten in nicht allen Fällen). Das hat sich aber erledigt, als wir die Interop-Dlls mit R19 neugeneriert haben. Wenn du unter Projekt - Referenzen die V5 Objektverzeichnisse nicht siehst, ist sehr wahrscheinlich doch dein Registry niO. Was mir allerdings nachher gemacht haben, damit VS, bzw. CATIA sich nicht selbstständig macht ist, die Referenzen nach Generierung der Interop-Dlls aus den Projekt löschen und die DLLs direkt referenzieren. Falls mehrere Releases auf der Entwicklungsrechner vorhanden sind, ist das die sichere Methode um die DLLs für den richtigen Release zu haben. Kannst du unter VBA Makros aufzeichnen/ausführen? Gruß, Z.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
frp84 Mitglied
 Beiträge: 6 Registriert: 09.06.2009 MS Windows XP Prof. x64 Edition Version 2003 SP2 Intel Xeon X5260 CPU mit 4 x 3,33Ghz 8 GB RAM CATIA V5 R19 MS Visual Studio 2008 Prof. Edition
|
erstellt am: 10. Jun. 2009 11:55 <-- editieren / zitieren --> Unities abgeben:         
Hallo Zoltan, danke erstmal für deine Hilfe. Ich konnte das Problem lösen, in dem ich die Pfade für die Bibliotheken einfach neu gesetzt habe. Warum ich sie allerdings in den Verweisen bei den COM Objekten nicht finden kann (es gibt lediglich einige wenige CATIA Bibliotheken, die mir allerdings alle nichts sagen)ist mir immernoch schleierhaft. Was nun nicht funktioniert ist die Deklaration von CATIA an sich. Dort, wo ich mir CATIA als Objekt deklariere steigt er nun aus. Bisher sah die Deklaration bei mir folgendermaßen aus: Public CATIA As INFITF.Application = CreateObject("Catia.Application") Dies funktioniert nun leider nicht mehr. Weiß jemand woran das liegt oder liegen könnte? Grüße Felix 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: 10. Jun. 2009 12:45 <-- editieren / zitieren --> Unities abgeben:          Nur für frp84
Hallo frp84, leider kann man ohne weitere Informationen kaum dein Problem lösen. Eine Fehlermeldung wäre hilfreich. ------------------ 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 |
frp84 Mitglied
 Beiträge: 6 Registriert: 09.06.2009 MS Windows XP Prof. x64 Edition Version 2003 SP2 Intel Xeon X5260 CPU mit 4 x 3,33Ghz 8 GB RAM CATIA V5 R19 MS Visual Studio 2008 Prof. Edition
|
erstellt am: 10. Jun. 2009 14:38 <-- editieren / zitieren --> Unities abgeben:         
Also die Fehlermeldung, die ich bekomme lautet: ************** Ausnahmetext ************** System.TypeInitializationException: Der Typeninitialisierer für ProgrammName.M_Modul hat eine Ausnahme verursacht. ---> System.Exception: Die ActiveX-Komponente kann nicht erstellt werden. bei Microsoft.VisualBasic.Interaction.CreateObject(String ProgId, String ServerName) Die Zeile, die den Fehler verursacht lautet: Public CATIA As INFITF.Application = CreateObject("CATIA.Application") So schaut es aus... Hat jemand eine Idee? P.s. Habe vom Admin die Registry sicherheitshalber auf den neuesten Stand bringen lassen.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Erich Z Mitglied ProE und Catia System und Anwenderbetreuer
 
 Beiträge: 280 Registriert: 26.10.2000 V5 B16 (bis B19) WinXP 32 und 64 + Vista64
|
erstellt am: 10. Jun. 2009 16:17 <-- editieren / zitieren --> Unities abgeben:          Nur für frp84
Hallo! Ev. läßt sich das Objekt nicht erstllen weil etwas auf einem Netzlaufwerk liegt (Catia oder Deine App). Auf alle Fälle macht dies seit .Net ordentlich Probleme. BTW : Das Objekt hat sich bei uns erzeugen lassen aber einige Funktionen (Polyline) haben mit der R19 ohne das erneuern der interops aufgegeben. mfg Erich
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
zoltan.bekesi Mitglied
 
 Beiträge: 321 Registriert: 22.10.2006 Job: CATIA V5R19 / XP 32bit MS Office 2003 Microstation V8 2004 Edition DELL Precision M6300
|
erstellt am: 10. Jun. 2009 18:07 <-- editieren / zitieren --> Unities abgeben:          Nur für frp84
Hallo Felix, bei R16/.NET ging CreateObject nicht, war darüber auch ein Beitrag hier im Forum. Falls du aber ein CATIA schon laufen hast, funktioniert folgendes einwandfrei:
Code: Public CATIA As INFITF.Application = GetObject(, "CATIA.Application")
Gruß, ZoltanEine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
frp84 Mitglied
 Beiträge: 6 Registriert: 09.06.2009 MS Windows XP Prof. x64 Edition Version 2003 SP2 Intel Xeon X5260 CPU mit 4 x 3,33Ghz 8 GB RAM CATIA V5 R19 MS Visual Studio 2008 Prof. Edition
|
erstellt am: 10. Jun. 2009 19:30 <-- editieren / zitieren --> Unities abgeben:         
Vielen Dank für die Tipps. Nicht, dass ich jetzt traurig bin, dass ein langes Wochenende bevorsteht, aber ich würde schon gerne ausprobieren ob nun alles klappt. Ich mache das dann aber gleich am Montag morgen. Dann melde ich mich nochmal ob alles funktioniert hat. Bis dahin wünsche ich euch auch einen angenehmen Feiertag und ein schönes, hoffentlich verlängertes Wochenende. Beste Grüße Felix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
frp84 Mitglied
 Beiträge: 6 Registriert: 09.06.2009 MS Windows XP Prof. x64 Edition Version 2003 SP2 Intel Xeon X5260 CPU mit 4 x 3,33Ghz 8 GB RAM CATIA V5 R19 MS Visual Studio 2008 Prof. Edition
|
erstellt am: 15. Jun. 2009 12:45 <-- editieren / zitieren --> Unities abgeben:         
Hallo, leider war bisher nichts erfolgreich. CATIA will und will nicht gefunden werden. Fehlermeldung: System.TypeInitializationException: Der Typeninitialisierer für Application.M_Module hat eine Ausnahme verursacht. ---> System.Exception: Die ActiveX-Komponente kann nicht erstellt werden. bei Microsoft.VisualBasic.Interaction.GetObject(String PathName, String Class) erzeugter Fehler in Zeile: Public CATIA As INFITF.Application = GetObject(, "CATIA.Application") Mit den Bibliotheken gibt es mittlerweile keine Probleme mehr. Er findet alle und sie sind auch R19 zugeordnet. Zur Info: CATIA ist auf unseren Rechner lokal installiert. Über ein Startcenter laden wir uns dann die Lizenz und globale Settings. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
zoltan.bekesi Mitglied
 
 Beiträge: 321 Registriert: 22.10.2006 Job: CATIA V5R19 / XP 32bit MS Office 2003 Microstation V8 2004 Edition DELL Precision M6300
|
erstellt am: 16. Jun. 2009 18:21 <-- editieren / zitieren --> Unities abgeben:          Nur für frp84
Hallo Felix, wie ich vorher schon sagte, du kannst CATIA nicht starten. Du kannst nur auf einen laufenden Instanz zugreifern. Versuche mal dein Programm zu starten, wenn CATIA läuft, da müsste es starten können. Selbstverständlich kannst du diese Anweisung in ein Try...Catch Struktur einpacken und falls du auf ein Fehler läufst den Benutzer befehlen vor den Programmstart CATIA zu starten. Lese vielleicht folgender Thread im Thema: .net Problem Gruß, Zoltan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
frp84 Mitglied
 Beiträge: 6 Registriert: 09.06.2009 MS Windows XP Prof. x64 Edition Version 2003 SP2 Intel Xeon X5260 CPU mit 4 x 3,33Ghz 8 GB RAM CATIA V5 R19 MS Visual Studio 2008 Prof. Edition
|
erstellt am: 17. Jun. 2009 08:37 <-- editieren / zitieren --> Unities abgeben:         
Hallo Zoltan, es kam vielleicht anders rüber, aber ich hatte gar nicht vor CATIA per Anwendung zu starten. CATIA samt eingeladenem CATProduct habe ich bereits laufen bevor ich meine Anwendung bzw. das Debugging ausführe. Leider wissen unseren internen CAD-Fachleute derzeit auch nicht weiter. Allerdings habe ich derzeit eine Vermutung, da die Bibliotheken nun wieder aktuell sind, am Code an sich auch nichts falsch zu sein scheint: CATIA scheint sich nach dem Start nicht in die Windows-interne Liste der aktiven (laufenden) Prozesse einzutragen. Dies vermute ich deshalb: Ein firmeninternes Tool, dass ebenfalls für CATIA entwickelt wurde und per Image direkt mit in das CATIA Verzeichnis installiert wird kann CATIA ebenfalls nicht finden. Offensichtlich gleiche Fehlermeldung. Leider ist dies bisher auch lediglich eine Vermutung. Was sagt ihr dazu? Hier scheint jeder mit seinem Latein am Ende zu sein. Könnte die Tatsache, dass bei mir nun CATIA als 64bit Variante auf einem XP 64bit läuft ebenfalls eine Fehlerquelle sein oder ist das eher auszuschließen? Ich danke euch aber schon mal riesig für eure Hilfe. Es hat mir bereits viel geholfen die Problemursache einzugrenzen. Gruß Felix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tomtom1972 Mitglied dipl ing maschinenbau
  
 Beiträge: 608 Registriert: 22.03.2005 NVidia Quadro K4000 Intel Xeon E5-1620, 64GB RAM Windows10 64bit R30 <= CATIA V5 > =R19
|
erstellt am: 17. Jun. 2009 09:26 <-- editieren / zitieren --> Unities abgeben:          Nur für frp84
Hallo zoltan, wieso glaubst du CATIA nicht starten zu können? Sofern dein Script als seperater Prozess abläuft (VB6, .NET) kannst du CATIA so oft auf und zu machen, wie du willst, in dem du die CNext.exe ausführst(mit dem gewünschten environment) bzw. killst. Wo soll da das Problem sein? Gruß ------------------ tomtom1972 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
zoltan.bekesi Mitglied
 
 Beiträge: 321 Registriert: 22.10.2006 Job: CATIA V5R19 / XP 32bit MS Office 2003 Microstation V8 2004 Edition DELL Precision M6300
|
erstellt am: 17. Jun. 2009 18:27 <-- editieren / zitieren --> Unities abgeben:          Nur für frp84
Hallo tomtom, das habe ich so noch nicht versucht (und benötigt), im anderen Thread steht aber, dass es mit CreateObject nicht geht (wie es bei Excel z.B. ginge). Bei uns wird aber CATIA über ein "magischer Skript" gestartet, was völlig von der IT-Abteilung verwaltet wird. Deswegen gehen wir lieber den Weg vorher CATIA zu starten. Wenn wir später auch Batch-Betrieb bei einigen Programmen haben möchten, wird es interessant sein. Deine Methode müsste da funktionieren. Danke für den Tip. @Felix: es wird sehr wahrscheinlich doch was mit Installation/Registry nicht passen, hier bin ich aber auch schon am Ende meines Wissens. Gruß, Zoltan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Augustiner Mitglied Konstrukteur
 
 Beiträge: 188 Registriert: 02.12.2005 HP Workstation Windows XP Professional Visual Studio 2005 Professional CATIA V5 R14SP5 & R17SP3
|
erstellt am: 04. Aug. 2009 15:38 <-- editieren / zitieren --> Unities abgeben:          Nur für frp84
|
DanielFr. Ehrenmitglied V.I.P. h.c. Manager
     
 Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 04. Aug. 2009 16:57 <-- editieren / zitieren --> Unities abgeben:          Nur für frp84
Zitat: Zitat von zoltan.bekesi:
das habe ich so noch nicht versucht (und benötigt), im anderen Thread steht aber, dass es mit CreateObject nicht geht (wie es bei Excel z.B. ginge).
Hallo, na sicher geht das. Genau wie mit Excel auch. Ich glaube im anderen Thread (weiß nicht welchen du meinst) geht es um die Anzeige im Watch-Fenster. Die kann nämlich bei einem COM-Objekt wie CATIA nicht ausgewertet werden. Das Starten, das Handling und das Beenden von CATIA mit VB6 bzw. VB.NET ist aber sicherlich kein Problem.
------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |