I placed a view of two different assemblies in one drawing. In order to display the partnumber of the two assemblies separately, I defined a sketch symbol. However, this sketch symbol can only display the partnumber of the part, and can not display the partnumber of the assembly. How can I solve this problem?
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
Sergio Daniel Suarez
Mechanical Designer
| Upwork Profile | LinkedIn
Im sorry if this isnt what you are looking for, but instead of selecting partnumber use this:
"Properties - Model" - "FILENAME"
The number/name you are pointing at the tree is not the part number, rather its the file name for the user.
Can't find what you're looking for? Ask the community or share your knowledge.