05-29-2019
05:52 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
05-29-2019
05:52 AM
Hi, this is an Ilogic code, maybe it could help you for what you're trying to achieve, press escape to get out of the loop.
Dim sFont As String = "ISOCPEUR" ' "ISOCP_IV25" Dim sFSize1 As Double = 0.3 'font size in cm Dim oDoc As DrawingDocument = ThisDoc.Document Dim oActiveSheet As Sheet = oDoc.ActiveSheet Try Line1 : ' Set a reference to the drawing curve segment. ' This assumes that a drawing curve is selected. Dim oDrawingCurveSegment As DrawingCurveSegment oDrawingCurveSegment = ThisApplication.CommandManager.Pick(SelectionFilterEnum.kDrawingDefaultFilter, "Select PartComponent") If oDrawingCurveSegment Is Nothing Then Exit Sub Else ' Set a reference to the drawing curve. Dim oDrawingCurve As DrawingCurve oDrawingCurve = oDrawingCurveSegment.Parent ' Get the mid point of the selected curve ' assuming that the selected curve is linear Dim oMidPoint As Point2d oMidPoint = oDrawingCurve.MidPoint ' Set a reference to the TransientGeometry object. Dim oTG As TransientGeometry oTG = ThisApplication.TransientGeometry Dim oLeaderPoints As ObjectCollection oLeaderPoints = ThisApplication.TransientObjects.CreateObjectCollection ' Create a few leader points. Call oLeaderPoints.Add(oTG.CreatePoint2d(oMidPoint.X + 0.5, oMidPoint.Y - 0.5)) 'Call oLeaderPoints.Add(oTG.CreatePoint2d(oMidPoint.X + 10, oMidPoint.Y + 5)) ' Create an intent and add to the leader points collection. ' This is the geometry that the leader text will attach to. Dim oGeometryIntent As GeometryIntent oGeometryIntent = oActiveSheet.CreateGeometryIntent(oDrawingCurve) Call oLeaderPoints.Add(oGeometryIntent) 'oDescription ="<StyleOverride Font='" & sFont & "' FontSize='" & sFSize1 & "' Bold='True'><Property Document='model' PropertySet='Design Tracking Properties' Property='Description' FormatID='{32853F0F-3444-11D1-9E93-0060B03C1CA6}' PropertyID='29'>DESCRIPTION</Property></StyleOverride>" oPartNumber = "<StyleOverride Font='" & sFont & "' FontSize='" & sFSize1 & "' Bold='True'><Property Document='model' PropertySet='Design Tracking Properties' Property='PartNumber' FormatID='{32853F0F-3444-11D1-9E93-0060B03C1CA6}' PropertyID='5'>PART NUMBER</Property></StyleOverride>" ' Create text with simple string as input. Since this doesn't use ' any text overrides, it will default to the active text style. Dim sText As String = oPartNumber '<Br/> "Other text" Dim oLeaderNote As LeaderNote oLeaderNote = oActiveSheet.DrawingNotes.LeaderNotes.Add(oLeaderPoints, sText) oLeaderNote.VerticalJustification = 25601 ' Insert a node. Dim oFirstNode As LeaderNode oFirstNode = oLeaderNote.Leader.RootNode.ChildNodes.Item(1) 'Dim oSecondNode As LeaderNode 'oSecondNode = oFirstNode.ChildNodes.Item(1) End If GoTo Line1 Catch End Try
I hope it can be useful. regards
Please accept as solution and give likes if applicable.
I am attaching my Upwork profile for specific queries.
Sergio Daniel Suarez
Mechanical Designer
| Upwork Profile | LinkedIn