Hallo, ich bin ein Newbie in sachen Makkroschrieben.
Ich will auf einen Curve die ich Selektieren und einen Punkt den ich erstmal auch selectieren (die such funktion ist mir jetzt noch zu schwer) Zwei Punkte generieren lassen und Kreis erstellen lassen.
Aber ich hänge schon bei der Reference. Ich müsste die Userselection weiter geben aber das funktioniert nicht... Vielleicht kann mir jemand helfen.
Ich hab schon das ganze forum durchsucht, hab aber nix ähnliches gefunden...
Sub CATMain()
'#######################
Dim Document1 As Document
Set Document1 = CATIA.ActiveDocument
Dim oSelection, oSelectedElement, oDoc, oInstance, oRef, ECurve, EPoint As Object
Dim part1 As Part
Set part1 = Document1.Part
Dim parameters1 As Parameters
Set parameters1 = part1.Parameters
Dim hybridShapeFactory1 As Factory
Set hybridShapeFactory1 = part1.HybridShapeFactory
'#########################
' Auswahl festlegen -----------------------------------------------
MsgBox ("Curve selektieren!!!!!!")
Dim InputObjectType(0)
InputObjectType(0) = "AnyObject"
' Selektion definieren und leeren ---------------------------------
Set oSelection = CATIA.ActiveDocument.Selection
oSelection.Clear
' Selektion vornehmen lassen --------------------------------------
ECurve = oSelection.SelectElement2(InputObjectType, "Curve", false)
Dim Ref1 As Reference
Set Ref1 = oSelection.Item2(1).Reference
oSelection.Clear
MsgBox ("Punkt selektieren!!!!!!")
EPoint = oSelection.SelectElement2(InputObjectType, "Point", false)
Dim Ref2 As Reference
Set Ref2 = oSelection.Item2(1).Reference
oSelection.Clear
'#######################################
Dim hybridShapeCurveExplicit1 As Parameter
Set hybridShapeCurveExplicit1 = Ref1
Dim reference1 As Reference
Set reference1 = part1.CreateReferenceFromObject(hybridShapeCurveExplicit1)'Hier Kommt immer einen Fehlermeldung
Dim parameters2 As Parameters
Set parameters2 = part1.Parameters
Dim hybridShapePointExplicit1 As Parameter
Set hybridShapePointExplicit1 = Ref2
Dim reference2 As Reference
Set reference2 = part1.CreateReferenceFromObject(hybridShapePointExplicit1)
'#################################
Dim hybridShapePointOnCurve1 As HybridShapePointOnCurve
Set hybridShapePointOnCurve1 = hybridShapeFactory1.AddNewPointOnCurveWithReferenceFromDistance(reference1, reference2, 7.500000, False)
hybridShapePointOnCurve1.DistanceType = 1
Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = part1.HybridBodies
Dim hybridBody1 As HybridBody
Set hybridBody1 = hybridBodies1.Item("Geometrical Set.1")
hybridBody1.AppendHybridShape hybridShapePointOnCurve1
part1.InWorkObject = hybridShapePointOnCurve1
part1.Update
Set partDocument1 = CATIA.ActiveDocument
Dim selection1 As Selection
Set selection1 = partDocument1.Selection
selection1.Clear
selection1.Add hybridShapePointOnCurve1
selection1.Copy
Set partDocument1 = CATIA.ActiveDocument
Dim selection2 As Selection
Set selection2 = partDocument1.Selection
selection2.Clear
selection2.Add hybridBody1
selection2.Paste
Dim reference3 As Reference
Set reference3 = part1.CreateReferenceFromObject(hybridShapeCurveExplicit1)
Dim reference4 As Reference
Set reference4 = part1.CreateReferenceFromObject(hybridShapePointExplicit1)
Dim hybridShapePointOnCurve2 As HybridShapePointOnCurve
Set hybridShapePointOnCurve2 = hybridShapeFactory1.AddNewPointOnCurveWithReferenceFromDistance(reference3, reference4, -7.500000, False)
End Sub
[Diese Nachricht wurde von Burrows am 23. Feb. 2012 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP