CATIA VBA – Von CATVBA zu CATVBA

Posted on Februar 13, 2020Februar 13, 2020Categories CATIA, CATIA VBA, Programmierung

Bestimmt haben sich einige schon gefragt, wie man die CATMain Prozedure aus verschieden CATVBA aufrufen kann. Beispiel: Ihr habt zwei CATVBA-Dateien 1. meineErsteCatVBADatei.CATVBA 2. meineZeiteCatVBADatei.CATVBA   Jetzt wollt Ihr einen Aufruf von der ersten meineErsteCatVBADatei.CATVBA zur zweiten meineZeiteCatVBADatei.CATVBA machen. Und das geht so.   Public Function startArbeitsinhalteUpdate() Dim sFilePath As String Dim sFileName As String Dim sModule As String Dim sProcedure As String Dim sFilePathAndName As String Dim CatSysServ As Variant Dim Params(5) As Variant Dim vRetVal As Variant ‘Everything … Continue reading “CATIA VBA – Von CATVBA zu CATVBA”

CATIA GeoSet copy mit specialPaste mit CATPrtResultWithOutLink

Posted on November 29, 2019November 30, 2019Categories CATIA, CATIA VBA, Programmierung

Hi, Ihr wollt ein Geoset aus einem Part in ein anders Part mit der Mehtode PasteSpecial bewerkstelligen? Hier habe ich euch mal einen Code bereitgestellt. Viel Spaß Dim oSel As Selection Set oSel = CATIA.ActiveDocument.Selection oSel.Clear oSel.Search (“Name:7385091*,all”) Dim oProduct As Product Set oProduct = oSel.Item(1).Value Dim oPart As Part Set oPart = oProduct.ReferenceProduct.Parent.Part oSel.Clear oSel.Add oPart.HybridBodies.Item(“Fertigteil_Flaechen”) oSel.Copy Dim oZielProduct As Product Dim oZielPart As Part oSel.Search (“Name:Part1*,all”) Set oZielProduct = oSel.Item(1).Value Set oZielPart = oZielProduct.ReferenceProduct.Parent.Part oSel.Clear oSel.Add oZielPart oSel.PasteSpecial … Continue reading “CATIA GeoSet copy mit specialPaste mit CATPrtResultWithOutLink”

CATIA SystemService.ExecuteScript aus C# aufrufen!

Posted on August 5, 2019August 5, 2019Categories CATIA, Programmierung

Fehlerbeschreibung: – Ausnahme ausgelöst: “System.Runtime.InteropServices.SafeArrayTypeMismatchException” – Das angegebene Array hat nicht den erwarteten Typ.   Das liegt mit ziehmlicher Warscheinlichkeit daran, das Ihr zwei unterschiedliche Programmierspachen mit einander kommunizieren lassen wollt. In meinem Fall, wollte ich eine STRING ARRAY  an CATIA Script übergeben. Exeption wird geworfen bei folgender Deklaration. String[] sParam = new String[2]; Möglichkeit Object[] sParam = new Object[2];   Hier die ganze Lösung zu meinem Fall: Der urspüngliche Weg das ganze über Process.Start(“c:\\Temp\\CATIA_Name.catScript”) aufzurufen verbirgt einige Fehlerquellen. Zunächst, … Continue reading “CATIA SystemService.ExecuteScript aus C# aufrufen!”