Hey Leute
Bis jetzt sieht mein Code so aus:
----------------------------------------------------------------------------------
Sub CATMain()
Dim ADoc As Document
Set ADoc = CATIA.Documents.Open ("Pfad zur PowerCopy\PC.CATPart”
End Sub
-----------------------------------------------------------------------------------
Dabei wird nur das CATPart geöffnet und der Anwender muss die PowerCopy über
„ Insert => Instantiate From Selection…“ selbst ausführen.
Kennt jemand eine Möglichkeit die PowerCopy direkt anzusprechen?
Der Code aus der CATIA DOKU:
'-------------------------------------------------------------------------------------------------------------------------
Catia.SystemService.Print "Aktuelles Teil auswählen"
Dim PartDocumentDest As PartDocument
Set PartDocumentDest = CATIA.ActiveDocument
Dim PartDest As Part
Set PartDest = PartDocumentDest.Part
'--------------------------------------------------------------------------------------------------------------------------
Catia.SystemService.Print "Factory des aktuellen Teils abrufen"
Dim factory As InstanceFactory
Set factory = PartDest.GetCustomerFactory("InstanceFactory")
'--------------------------------------------------------------------------------------------------------------------------
Catia.SystemService.Print "BeginInstanceFactory"
factory.BeginInstanceFactory "PC_Macro", "Pfad zur PowerCopy\PC.CATPart"
'--------------------------------------------------------------------------------------------------------------------------
Catia.SystemService.Print "Beginn der Exemplarerzeugung"
factory.BeginInstantiate
'--------------------------------------------------------------------------------------------------------------------------
Catia.SystemService.Print "Eingaben festlegen"
Dim Punkt1 As Object
Set Punkt1 = PartDest.FindObjectByName("Point.1")
Dim X_Achse As Object
Set X_Achse = PartDest.FindObjectByName("Line.2")
Dim Y_Achse As Object
Set Y_Achse = PartDest.FindObjectByName("Line.1")
factory.PutInputData "Punkt1", Punkt1
factory.PutInputData "X_Achse", X_Achse
factory.PutInputData "Y_Achse", Y_Achse
'---------------------------------------------------------------------------------------------------------------------
Catia.SystemService.Print "Exemplar erzeugen"
Dim Instance As PartInstance
Set Instance = factory.Instantiate
'----------------------------------------------------------------------------------------------------------------------
Catia.SystemService.Print "Ende der Exemplarerzeugung"
factory.EndInstantiate
'----------------------------------------------------------------------------------------------------------------------
Catia.SystemService.Print "Referenzdokument freigeben"
factory.EndInstanceFactory
'----------------------------------------------------------------------------------------------------------------------
Catia.SystemService.Print "Aktualisieren"
PartDest.Update
----------------------------------------------------------------------------------------------------------------------
Ist es möglich ab dem „Beginn der Exemplarerzeugung“ den Anwender die Eingabeelemente selbst auswählen zu lassen?
Oder: Anstatt „Point.1“, „Line.2“, „Line.1“ den Typ festlegen der ausgewählt werden soll?
Grüße flo
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP