Announcements
Attention for Customers without Multi-Factor Authentication or Single Sign-On - OTP Verification rolls out April 2025. Read all about it here.

PartNumber display problem of two different assemblies in drawing

lzs013
Advocate

PartNumber display problem of two different assemblies in drawing

lzs013
Advocate
Advocate

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 partnumb1.png2.pnger of the assembly. How can I solve this problem?

0 Likes
Reply
260 Views
2 Replies
Replies (2)

Sergio.D.Suárez
Mentor
Mentor

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

0 Likes

garrettfulghum
Contributor
Contributor

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.

0 Likes