Die Zuweisung des Headtarget zu einem Element ist eines der Themen bei denen die Online-Doku sehr sparsam mit Information umgeht.

Nachfolgend der Code um einem Drawingtext einen/mehrere Leader zuzuweisen und diesen wiederum verschiedene 2D-Elemente.

Das Makro erwartet eine geöffnete Zeichnung mit mindestens einer Ansicht.


Option Explicit

Sub catmain()
   Dim oADD As DrawingDocument
   Dim oSh As DrawingSheet
   Dim oVW As DrawingView
   Dim drPt As Object 'Point2D
   Dim oFactory2D As Factory2D

   Dim drTxts As DrawingTexts
   Dim drTxt As DrawingText
   Dim drLeaders As DrawingLeaders
   Dim drLeader As DrawingLeader
   Dim iCoord(1) As Double
   Dim dX As Double
   Dim dY As Double
   
   Set oADD = CATIA.ActiveDocument
   Set oSh = oADD.Sheets.ActiveSheet
   Set oVW = oSh.Views.ActiveView
   Set drTxts = oVW.Texts
   Set oFactory2D = oVW.Factory2D
      
   dX = 20
   dY = 20
   
   Set drTxt = drTxts.Add("TestString", dX + 100, dY + 50)
   drTxt.ActivateFrame catOblong
   
   Set drLeaders = drTxt.Leaders
   
   Set drLeader = drLeaders.Add(dY + 10, dY + 10)
   Set drPt = oFactory2D.CreatePoint(dY + 10, dY + 10)
   drLeader.HeadTarget = drPt
   
   Set drLeader = drLeaders.Add(dX, dY)
   Set drPt = oFactory2D.CreateClosedCircle(dX, dY, 5)
   drLeader.HeadTarget = drPt
   
   Set drLeader = drLeaders.Add(1.5 * dX, 1.5 * dY)
   Set drPt = oFactory2D.CreateLine(dX, dY, 2 * dX, 2 * dY)
   drLeader.HeadTarget = drPt
   
   drLeader.HeadSymbol = catFilledArrow

End Sub

'Query Object Links...' aus dem Kontextmenü des Textes zeigt die verlinkten Elemente.

 

Zum Seitenanfang