Hallo Community,
ich vertrete eben mal den Patrick. Also das mit der KT1 Lizenz ist bekannt und die wird auch benutzt. Das Problem liegt an der Ausrichtung der Elemente (Linien und Flächen), die wir über JOIN oder INVERSE Elemente bewerkstelligen. Setze ich die Powercopy manuell ein, werden diese Elemente auch übernommen. Setze ich die Powercopy per Makro ein kann ich die Elemente selektieren, sie werden bei der Instanzierung aber offensichtlich nicht an die Powercopy übergeben. Hier kurz ein Auszug aus dem Code:
Variablendeclaration:
Public opt as AnyObject
Selection:
If FixType = "DHs" Or FixType = "DHd" Then
What4(0) = "Line"
What4(1) = "Plane"
What4(2) = "Sketch"
What4(3) = "HybridShapeInverse"
What4(4) = "HybridShapeAssemble"
Set UserSel4 = CATIA.ActiveDocument.Selection
UserSel4.Clear
If ShortCut = False Then 'Optionalen Text einschalten wenn ohne ShortCut
MsgBox ("Entformungsrichtung des Schiebers auswählen [als Linie, Ebene, Sketch, Invers oder Join]"), vbOKOnly
End If
US4 = UserSel4.SelectElement2(What4, "Entformungsrichtung des Schiebers auswählen [als Linie, Sketch, Plane, Join, Inverse]", False)
If US4 = "Normal" Then
Set opt = UserSel4.Item(1).Value
Else
MsgBox ("Bitte Linie, Ebene, Sketch, Invers oder Join auswählen!"), vbCritical
End If
UserSel4.Clear
End If
Instanzierung:
Dim factory As InstanceFactory
Set factory = PartDest.GetCustomerFactory("InstanceFactory")
factory.EndInstanceFactory 'nur zur Sicherheit...
MsgBox ("Diese Powercopy wird eingesetzt: " & Path & PCreq & ".CATPart")
factory.EndInstanceFactory 'nur zur Sicherheit
factory.BeginInstanceFactory "PowerCopy.1", Path & PCreq & ".CATPart"
factory.BeginInstantiate
factory.PutInputData "OPT", opt ‘### Linie
Dim Instance
Set Instance = factory.Instantiate
factory.EndInstantiate
factory.EndInstanceFactory
Nimmt man eine normale Linie oder ein dummes Element funktioniert das Makro einwandfrei.
Wäre nett, wenn jemand weiter helfen könnte
Gruß
Harald
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP