I made a few changes and it works, but it’s now vertical.
That’s weird looking. No idea why the numbers are rotated to 90 degrees relative to the linear dimension…
Note that you run an aligned dimension that’s dependent of the CPlane orientation. the second dimension that you try to build is 90 degrees relative to the first dimension, but something goes wrong with the CPlane.
I recommend you to turn off the “Auto Cplane” option from the Status bar at the bottom.
Have you tried how your macro will behave if you put it into an icon?
I use the following macros for 3d dimensions:
3-D dimension:
! _CPlane _Object _Multipause _DimAligned _CPlane _Undo
3-D dimension aligned:
! _CPlane _Object _Multipause _DimAligned '_SelLast _Rotate3D _CPlane _Undo
3-D dimension vertical:
_CPlane _3Point _pause _pause r0,0,1 _dim 0,0,0 _pause _pause _CPlane _Undo
3-D dimension inclined:
! _CPlane _3Point _Multipause _DimAligned _Multipause _CPlane _Undo
Aligned diameter dimension:
! _CPlane _Object _Multipause _DimDiameter _Pause _CPlane _Undo
Aligned radius dimension:
! _CPlane _Object _Multipause _DimRadius _Pause _CPlane _Undo
for my modelling purposes I started to vibe-code a python-prototype to have easier 3d dimensions - feel free to use and iterate on it. for now it behaves as a simple line with arrowheads between two points, whereas a annotationdot shows the distance. it listens to the object.handler and thus reacts when you move parts it snapped to, or when you alter the endpoints of the line. I also created a second script that can be invoked when rhino starts (startup) or manually, that makes sure the “listening” is on and the dimensions work after you restart a session.
btw. I set an alias as wd and wdu (update if startup may not work)
WorkDim_v1.py (39.7 KB)
WorkDim_Startup_v1.py (30.1 KB)
This should be built into Rhino. Very nice - thanks.
you might find this script handy, see Measure Radius of Surface or Solid Fillet - #7 by Gijs
I know, this is an old feature request RH-50849 3D Dimension
Thank you very much. Could you please add an option to display the text?
I am unsure when I continue working on the script as for now it suits my needs - when I am I keep you updated. (feel free to copy the content of the script into the LLM of your choice and iterate it further)
What do you mean with display the text? The text is displayed in the Annotation-Dot, because a Textfield would need a certain plane which is another topic.
note that this not necessary. Text has a Horizontal to view option that will keep the text oriented like text dots
Just tried your script and it works very well. ![]()
I have 3 suggestions/requests:
- Any chance to get black dimension and arrows?
- Also, basic solid line instead of dotted line?
- Avoid making a new layer for these dimensions, and instead put them into the current active layer?
thank you for the feedback, I already iterated it further and of now it inherits the line properties of the layer it is on, so its easy to alter this, putting it on the current layer could also be an option of course. I started to implement it working on blocks, as well as reacting to changes inside the block from outside and it working inside a block as well as after a block is closed and reopenend (by saving certain IDs in the block data) - but this is unstable and needs more work. Unfortunately I got a lot to do right now, so I do not know when I can put time into this - when I have smth. stable I surely will upload it
best regards,
sebowim