Moinsen
ich habe einen punkt auf 10000,50000,0 da soll ein text mit Pfeil dran
benutze ich den Macro Recorder tauscht dieser x mit y und setz y auf 0 ( was ist das mit dem #)
Set annotation1 = annotationFactory1.CreateEvoluateText(userSurface1, 50014.142136, 10014.142136, 0#, True)
die userSurface1 wir als Referenz zu dem punkt gemacht und da liegt der Pfeil, bei den Koordinaten habe ich nun gedacht das da der text steht, also +15 oder so, nein der text ist wirklich kilometerweit vom punkt entfernt.
Wenn ich versuche das im script zu bringen, dann ist der Text kilometerweit vom punkt entfernt.
Function text_with_leader_in_curve_point_new(elec_body_name As String, _
elec_circle As String, _
elec_plane As String, _
elec_point As String, _
elec_text As String)
Set CATIA = GetObject(, "CATIA.Application")
Dim partDocument1 As partDocument
Set partDocument1 = CATIA.ActiveDocument
Dim part1 As Part
Set part1 = partDocument1.Part
Dim annotationSets1 As AnnotationSets
Set annotationSets1 = part1.AnnotationSets
Dim annotationSet1 As AnnotationSet
Set annotationSet1 = annotationSets1.Add("ISO_3D")
Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = part1.HybridBodies
Dim hybridBody1 As hybridBody
'Set hybridBody1 = hybridBodies1.Item("ElecRouteBody.1")
Set hybridBody1 = hybridBodies1.Item(elec_body_name)
Dim hybridShapes1 As HybridShapes
Set hybridShapes1 = hybridBody1.HybridShapes
'Dim hybridShapePointOnCurve1 As HybridShapePointOnCurve
Set hybridShapePointOnCurve1 = hybridShapes1.Item(elec_circle)
'Set my_point = part1.FindObjectByName(elec_point)
Dim Coordinates(2)
Set myRef = part1.CreateReferenceFromObject(hybridShapePointOnCurve1)
Set myMes_1 = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench").GetMeasurable(myRef)
myMes_1.GetPoint Coordinates
Dim reference1 As Reference
Set reference1 = part1.CreateReferenceFromGeometry(hybridShapePointOnCurve1)
'Set reference1 = part1.CreateReferenceFromBRepName("WireREdge Wire Brp GSM" & _
elec_circle & _
";(Brp GSM" & _
elec_plane & _
")));None Limits1 );Limits2 ));Cf11 ));WithTemporaryBody;WithoutBuildError;WithLastFeatureSupport;MFBRepVersion_CXR15)", hybridShapeCircleCtrRad1)
Dim userSurfaces1 As UserSurfaces
Set userSurfaces1 = part1.UserSurfaces
Dim userSurface1 As UserSurface
Set userSurface1 = userSurfaces1.Generate(reference1)
Dim bSTR1 As String
bSTR1 = part1.Name
Dim annotationFactory1 As AnnotationFactory
Set annotationFactory1 = annotationSet1.AnnotationFactory
Dim wert_X As Double
Dim wert_Y As Double
Dim wert_Z As Double
wert_X = Trim(Cells(4, 7))
wert_Y = Trim(Cells(4, 8))
wert_Z = Trim(Cells(4, 9))
'Dim annotation1 As Annotation
Set annotation1 = annotationFactory1.CreateEvoluateText(userSurface1, Coordinates(0) + wert_X, _
Coordinates(1) + wert_Y, _
Coordinates(2) + wert_Z, _
True)
'Set annotation1 = annotationFactory1.CreateEvoluateText(userSurface1, -0, 0, 0, True)
annotation1.Text.Text = elec_text
annotation1.Name = "Measure of Route " & annotation1.Name
part1.Update
End Function
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP