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: 

How to reposition retrieve dimension in drawing?

1 REPLY 1
Reply
Message 1 of 2
st_work
438 Views, 1 Reply

How to reposition retrieve dimension in drawing?

Hi,

 

I was trying to reposition a retrieved dimension in drawing. I was able to position the text, however the dimension line however still stays in its default retrieved position. Any idea how I can reposition the dimension line as well? Thanks!

 

 

Dim mydim As Inventor.ObjectCollection

Dim invDimConstraints As DimensionConstraints

Dim invDimConstraint As DimensionConstraint

 

invDimConstraints = invPartDef.Sketches.Item("MySketch").DimensionConstraints

 

mydim = invApp.TransientObjects.CreateObjectCollection

 

For Each invDimConstraint In invDimConstraints

      If invDimConstraint.Parameter.Name = "FlangeOD"Then mydim.Add(invDimConstraint)

Next

invGeneralDims.Retrieve(invSheet.DrawingViews.Item(2), mydim)

 

Dim oPosition As Point2d

oPosition = invGeneralDims.Item(4).Text.Origin

oPosition.X = 2

oPosition.Y = 2

invGeneralDims.Item(4).Text.Origin = oPosition

1 REPLY 1
Message 2 of 2
Vladimir.Ananyev
in reply to: st_work

The following VBA sample illustrates possible method.

Private Sub Move_Retrieved_Dimension()

  Dim oDoc As DrawingDocument
  Set oDoc = ThisApplication.ActiveDocument
  Dim oSheet As Sheet
  Set oSheet = oDoc.ActiveSheet
  Dim oView As DrawingView
  Set oView = oSheet.DrawingViews.Item(1)
  
  'all drawing dimensions
  Dim oDims As DrawingDimensions
  Set oDims = oSheet.DrawingDimensions
  
  'reference to the 1st dimension object
  Dim oDim As DrawingDimension
  Set oDim = oDims.Item(1)
  
  'dimension text position
  Dim oPosition As Point2d
  Set oPosition = oDim.Text.Origin
  
  'change dimension position
  oPosition.x = oPosition.x + 2
  oPosition.y = oPosition.y - 2
  oDim.Text.Origin = oPosition
  
  oSheet.Update
End Sub

 Before:

1.PNG

After:

2.PNG

Cheers,

 


Vladimir Ananyev
Developer Technical Services
Autodesk Developer Network

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report