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
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:
After:
Cheers,