Community
Inventor Programming - iLogic, Macros, AddIns & Apprentice
Inventor iLogic, Macros, AddIns & Apprentice Forum. Share your knowledge, ask questions, and explore popular Inventor topics related to programming, creating add-ins, macros, working with the API or creating iLogic tools.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

PartNumber display problem of two different assemblies in drawing

2 REPLIES 2
Reply
Message 1 of 3
lzs013
221 Views, 2 Replies

PartNumber display problem of two different assemblies in drawing

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?

2 REPLIES 2
Message 2 of 3
Sergio.D.Suárez
in reply to: lzs013

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

Message 3 of 3
garrettfulghum
in reply to: lzs013

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.

Post to forums  

Technology Administrators


Autodesk Design & Make Report