How to change Annotation/Dimension text place

I know changing text size/height is an option here, but I want to change its position. It is possible?

Manually: You can turn on controlpoints for dimensions and drag the points for the text to a better position.

HTH
-Willem

1 Like

Thank you, that was it!

this help?

Option Explicit
'Script written by Pascal
' RMA
'Script version Wednesday, December 12, 2012

Rhino.AddStartUpScript Rhino.LastLoadedScriptFile
Rhino.AddAlias "DimensionOffset", "_NoEcho _-Runscript (DimensionOffset)"


Private OldDist
If IsEmpty(oldDist) Then
	OldDist = 1
End If

'Call DimensionOffset()

Sub DimensionOffset()
	Dim adim: aDim = Rhino.GetObjects("Select dimensions to modify.", 512,, True)
	If Not isArray(aDim) Then Exit Sub
	
	Dim dist: dist = Rhino.GetReal("Set Dim text distance", oldDist)
	If isNull(dist) Then Exit Sub
	OldDist = dist
	
	Dim sDim, n, p1,p2,p3,p4
	Dim vecX, vecY,	d1, d2, plane, targ
	Dim testPt, dirpt, idx
	Dim p(3)
	
	Rhino.EnableRedraw False
	For Each sDim In aDim
		
		If Rhino.IsLinearDimension(sDim) Or Rhino.IsAlignedDimension(sDim) Then
			Rhino.EnableObjectGrips sDim, True
		
			p(0) = Rhino.ObjectGripLocation(sdim, 0)
			p(1) = Rhino.ObjectGripLocation(sdim, 1)
			p(2) = Rhino.ObjectGripLocation(sdim, 2)
			p(3) = Rhino.ObjectGripLocation(sdim, 3)
		
			d1 = Rhino.Distance(p(0), P(1))
			d2 = Rhino.Distance(p(2), p(3))
			testPt = p(0)
			dirPt = p(1)
			idx = 1
		
			If d1 > d2 Then 
				TestPt = p(2)
				dirpt = p(3)
				idx = 3
			End If
		
			VecX = Rhino.VectorUnitize(Rhino.VectorCreate(dirPt, testpt))
			Targ = Rhino.PointAdd(Testpt, Rhino.VectorScale(VecX, Dist))
			Rhino.UnselectAllObjects()
			Rhino.SelectObjectGrip sDim, idx
			Rhino.Command "_Move W" & Rhino.Pt2Str(dirpt,, True) & "W" & Rhino.Pt2Str(Targ,, True)
		
			Rhino.EnableObjectGrips sDim, False
		End If
		
	Next
	
		
	Rhino.EnableRedraw True
End Sub