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?

(Dale Fugier) #2

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?

(Dale Fugier) #5

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.


(Dale Fugier) #7

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?

(Dale Fugier) #10

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