Modify dimension control points

when i select a dimension (eg. linear dimension), in the “Properties” window / “Detail” button different values are shown.
Those of most interest to me are the five points “point00” to “point 04”. Is there a way to modify the “point04” via a script or something?

      Point 00: 0.00 , 0.00
      Point 01: 0.00 , 58.49
      Point 02: 250.04 , 0.00
      Point 03: 250.04 , 58.49
      Point 04: 186.96 , 58.49

The background of this question: i have created thousands of dimensions via a script in grasshopper, and with small values the texts lie over the dimension-extension-lines and are thus unreadable. To make them readable i want to move them to the side.

So how can someone access/modify these points?

Can you post the model? Perhaps this will help us to understand the problem you are trying to solve.

hi dale,

thanks for the help.
there is no specific model, I am just looking to access the control points in any way by scripting (since there are too much dimensions for editing by hand).

so I try to describe:

  1. place a dimension somewhere on the drawing area

  1. select it and click on “Details…”

  1. the detail window appears. It seems that Point04 is the Point that i want to modify


  1. for normal, I would grab it with the mouse and move it. But is there a chance to write a script that moves thousands of “Point04”?

So maybe the question should be more general: how do I move/manipulate such points via scripting?

It appears there is plenty of support for adding new dimensions, but not much support for editing existing dimensions in any of the scripting technologies. Certainly the Rhino C++ SDK can do all this. But that doesn’t help you.

I’ve added a request on our “to-do” list to add some additional functionality to our scripting tools for dimension editing.

hi dale,

if there is “plenty of support for adding new dimensions”, is there maybe a chance to create the dimension object with setting the Point04 at the same time? In my eyes this would be easier than creating a dimension and modifying it afterwards.


Create a linear dimension as such:

LinearDimension dim = new LinearDimension(plane, endpt1, endpt2, linept);

Does this work?

It seems that it works.

Thank You very much for the help!!

so the following code works fine for linear dimensions (in VB):

dim LinDim As New LinearDimension(pln1, pt1, pt2, pt3)
   LinDim.TextPosition = pt4
   LinDim.DimensionStyleIndex = int
   doc.Objects.AddLinearDimension(LinDim, att)

But when I try to make the same with Angular dimensions, I can’t find any commands to access it.

Dim AngDim As New AngularDimension(arc, offs)
   doc.Objects.AddAngularDimension(AngDim, att)
What can I do in here? “arc” and “Offset” is not too much for detailed plan drawings…

(btw, the same applies to RadialDimension() )

Attacherd You can find the commands that the Grasshopper VB-Module suggests. Perhaps there are some more hidden somewhere?

I don’t think so. We just need to expose more properties of dimension, which is on the to-do list.