Rhinocommon Dimensions WORKFLOW?

@NikWillmore, have you seen this post ?

I’ve tried something with python, eg. make a plane from the 3 input points to create an aligned dimension from two vertically spaced points. Note that this works only if the text point is not on the line between p1 and p2.

import Rhino
import scriptcontext
    
def AddAlignedDimension(p1, p2, p_text):
    plane = Rhino.Geometry.Plane(p1, p2, p_text)
    style = scriptcontext.doc.DimStyles.Current
    align = Rhino.Geometry.AnnotationType.Aligned
    dim = Rhino.Geometry.LinearDimension.Create(
        align,
        style,
        plane,
        plane.XAxis,
        p1, p2, p_text, 0.0)
    scriptcontext.doc.Objects.Add(dim)
    scriptcontext.doc.Views.Redraw()
    
def DoSomething():
    if not Rhino.RhinoApp.ExeVersion == 6: return
    p1 = Rhino.Geometry.Point3d( 3.0, 3.0, 1.0)
    p2 = Rhino.Geometry.Point3d( 8.0, 8.0, 3.0)
    p_text = Rhino.Geometry.Point3d( 5.0, 5.0, 0)
    AddAlignedDimension(p1, p2, p_text)
    
DoSomething()

_
c.