Dimension along a curve between line intersections or points...how?

V4 or V5, (looks like this isnt even possible in V4, is it ?)

I need to indicate dimensions along a curve for both ribs and stringers on a fuselage.
Ribs are the vertical frames and stringers the thinner structures that run fore/aft.
These intersect.

See attached fictional file,
Starting with the first frame or rib F1_S1, at the fuselage top centre and down to the first stringer F1_S2, then from the same start point at fuselage top and down to the next stringer F1_S2, then ditto down to stringer F1_S3, ditto stringer F1_S4 etc.

Repeat for next frame, I have many frames.

I also will need to go horizontal in some parts of the aircraft. so F1_S3 to F2_S3 for example.

I see there is a command that does an entire curve with result in a leader, I really could do with the normal dimension annotation else it will get very cluttered and messy looking with many leaders and crucially leaders dont show the start and end points of the dimension so standard dimensions with arrows essential.

SteveFramesStringersFictitious_Rv5.3dm (83.0 KB)

Have you tried -DimOrdinate (with a hyphen to set the base point and direction) combined with adjusting the CPlane to suit the location of the dimensions.

Use your dimscale, ortho on/off, osnaps and layers to organise the dims you want them to look.

Once you set the base point - pick the commandline option then the point in your model, then pick once more at the datum to get the 0 dim to show up, then continue.

Hopefully, this will get you started.

Doesnt dimOrdinate only work in straight lines, I need dimensions along the curve on the skin, like you would lay a cloth tape measure around the skin. Maybe I have underestimated what DimOrdinate can do.

25.05 though from F1-S1 to F2_S1 is an ortho view straight line dimension. the length of curve is 40.31 for F1_S1 to F1_S2


Try Leader:
Pick arrow tip and leader point,
For the text, click the “fx” text field button and CurveLength
Click Select Object and pick the curve.
The leader text will show%<curvelength(“selected object ID”)>%
You’ll have a leader pointing to the curve with it’s length as the text.

If you point edit the curve and change it’s length, the leader text will update.

You could also copy/project your grid onto the surface, split at the intersects and use ‘DimCurveLength’ (which I’ve only just discovered) on each segment. The resulting dim also updates with grips adjustment.

The grid (frames and stringers) is projected onto the surface.

John, I need the distances between each of the intersects, and was hoping I would be able to do so without having to cut everything up into segments.

Is there a command to cut at intersects ? Else I will have to use split at point and manually do each intersect.

Furthermore as I said and feared, this covered in leader arrows has two issues.

  1. A normal dimension shows the extent of the dimension, its not obvious from a leader just where the dimension starts and finishes.
    I had hoped for normal dimensions curving around the surface.
    I will have to put points at the ends of a curve that has a leader for visual feedback to client.

  2. Its going to look very messy and cluttered.

Having to cut up a curve that has e.g. 6 segments destroys my curve, so I will have to duplicate all the curves.


Looks like I will have to clone every curve and then chop them all up to get their lengths and use this leader method DimCurveLength, messy and cluttered looking or otherwise.
What a shame there is no standard two arrow ended dimension that sits along a curve.

Whats the quickest way of getting my curves to be split at the intersections ?


Select one set of curves and start Split, then select the other set and Enter. The sets can be grouped ahead of time but the grouping survives the Split, so you may or may not want to ungroup when done.

If you need linear distances and not curve length, you can InterrsectTwoSets to mark all the intersections without splitting.

Split.3dm (157.3 KB)


Thanks Pascal.

I will need curve length so its a cloning grouping and splitting job followed by Curve Length Dimension command.

Noted the IntersectTwoSets tip.


That’s actually ‘DimCurveLength’.


Messy and cluttered because there is so much information to convey. So what if you have to copy and split the curves, organise them into your layering system. All the tools are there for you to get the information to the builder, and many ways in which to display it, here is one example that which took less time to create than it did to write this post…

Keep asking the questions Steve, I’m learning lots of tips from the answers