I’m an architect hoping to use Rhino for both 2d and 3d.
While drafting, I’m habituated to checking the lengths and angle of lines to keep errors from creeping into the work and to find their source when they do, e.g., if I have a line that’s 9 3/256” at 270.0082 degrees, I know there’s a problem.
I’m used to being able to find this information very quickly with a properties enquiry, but I’ve not yet discovered an efficient (like within 1 second) way of doing this in Rhino.
The workaround through those commands is unrealistically slow for ongoing, on-the-fly CAD QA/QC.
I’d love to click on a line and have vector length, vector xy angle, and vector z angle (gosh forbid it’s not zero) show up under Properties. Or perhaps right click, properties, and have that info show up in the command line. Length and area of polylines would be nice too. But I guess that’s just not how it is.
I’m sure you know, this functionality has been in other software for decades.
You can do most of this with a script or grasshopper and have it update in real time. Though you are right that this info should be exposed. I always had hoped that the box edit panel would deal with this kind of stuff. But no rotation values are stored argh, it would be a great place for developers to start and also in the details for properties which only currently shows length of curve.
I clubbed together a rough Gh defintion see image that measures length, xy angle and z angle. I’m sure there are way more elegant solutions.
I’ve thought of Grasshopper as a tool for generating/manipulating complex geometries. That’s not an interest of mine, so I’ve not been motivated to look into it.
What would be the learning curve to be able to use GH to generate the outputs you show above?
Open Gh and then open the file, you will need to right click on the Geo component, then select get geometry for one curve or multiple geometries for more curves and then select your curve/s in Rhino.
It is; this is just a cheesy hacked up tool that I hope will work or get you started in the right direction. There is really so much more GH can do but it’s also good at digging into or customizing some aspects of Rhino if you don’t want to script or code. It seemed your request was almost doable with minimal headaches using Gh so I tried it.
Also wishing that rotation values would be stored in Box edit in the future and reported in object properties.
Actually, it seems not - see the inaccurate angle in the red panel in the example below. @3dsynergy, it seems you need to anchor the angle component to the plane in which you are measuring to get the correct result. I’ve done that for the XY plane but not the plane used for the Z angle (which depends on the XY direction).
Another way to get these values is with the Polar co-ordinate component.
Thanks for taking a look and for your expert advice really appreciate you jumping in.
I got a few errors opening your files; I’m on V7 though your files seem to open fine. I had to use the converter to open your 3dm file.
I see that my z output report is the same as your polar output does that mean that mine is working since it doesn’t show an error and outputs the same information as yours?
It looks like the polar down switch is acting like a plane input. My first attempt before I gave up was actually in this same area but I was stumped but now I see I needed to set the polar down switch.
Thanks for your insights and for the polar script, very elegant.
Sorry, the OP tagged this thread with rhino-8. I can tell the version of a received .3dm file and respond in kind but don’t know how to do the same for .gh files.
The basic attitude required for debugging is pessimism! Always assume something is faulty until testing with a thorough coverage of the problem domain fails to find any flaws. On any non-trivial problem you can never prove the absence of bugs, only their existence.
So, given that the angle component demonstrated an incorrect value in one plane, I would assume it will do the same in another. You should calculate a vertical plane according to the horizontal angle of the line and apply that plane to the z angle component.
Turning on the polar down switch causes the polar component to calculate the z angle from the vertical axis, rather than than from the horizontal plane. I don’t know which way the OP wanted to calculate it (it probably doesn’t matter for their stated purpose) but I set it to be consistent with your calculation.
That’s ok it all worked I have the 3dm converter so I was able to change the file type to v7 and the GH file though pronouncing errors when loading seemed to load fine in V7.
That was informative because I didn’t even know that existed I thought I would have to work around it by using planes or vectors and then gave up. I wish GH were more transparent but GH is what it is and one just has to get used to it.
I am reminded of being at a dinner table where everyone else speaks French. I get 5% or 10% of the conversation. But I’m able to download the GH file and get it to work for me.
Again, thank you for solving my problem. But even more, thank you for your willingness to help a faceless stranger. You’ve bolstered my faith.
You can go one step further with Grasshopper if you install the Human plugin (use PackageManager command in the Rhino commandline to install) which adds two Grasshopper components that can manipulate the user defined attributes of geometry (accessed in the Properties tab, third icon, looks like a list of text written over a blue cylinder).
You can minimize the Grasshopper window and it will continue to run in the background and automatically update these properties when geometry is edited.
If you want to avoid a Grasshopper solution, one workaround that is less-than-ideal, but faster than Dale’s suggestion, is to enable the ‘Relative Point and angle’ setting in the Cursor ToolTip (access through the Options menu).
With this you can use the Line command and Osnaps to preview the angle quite quickly.
UserProperties.gh is great. It looks like to enter Revit vectors, I select the geometry in Revit, then go to GH and ‘set one geometry’?
With that in mind, the ‘Relative Point and Angle’ setting seems to get me most of the way there (all but z angle) in a very efficient way. I expect to use this a ton.