I’ve created several objects with holes in them and I want to align the holes concentrically so as to model an assembly with fasteners. Is there a way I could align the centers of two holes on two different objects to accomplish this? This is a relatively common feature in programs like NX and Solidworks, but I have not seen it talked about much at all in the Rhino community.
Hi Patrick -
To move two objects to a correct location in an assembly, you simply use the
Move command and snap to the centers of the holes.
For more dynamic sliding, moving, … of objects along axes, you’ll have to use Kangaroo in Grasshopper or a plug-in such as Bongo where you can define “features” and relations a bit more like what’s in NX, etc…
Here’s a recent thread on the topic:
Look for posts by @geopalacios_88 - he has been working on scripts to do stuff like this and more. I’m pretty sure he’s posted a WIP. His stuff looks very promising…
Blockquote To move two objects to a correct location in an assembly, you simply use the
Movecommand and snap to the centers of the holes.
The ‘Move’ command seems to only snap one arbitrary point to another arbitrary point, as opposed to the recognized centers of two circles. When the command sequence prompts me to select the points to move from/to, it only recognizes them as arbitrary points on the objects I’m moving. I can still attain what appears to be concentrically-aligned holes this way, but Rhino doesn’t recognize the aligned points as the centers of the aligned holes. This becomes a problem when I want to align holes that aren’t centered to grid lines: without “snap to grid” enabled, I have to choose points to move from/to that are approximately in the centers of the holes, instead of the recognized exact centers of the holes. This results in some loss in precision in my model, which I’d like to limit if I can.
Few things to make this easier:
- Turn off SmartTrack when you don’t need it, that avoids creating extra snap points.
- Make sure Project osnaps isn’t selected.
If those don’t make it work well enough then:
3. If you hold shift down and click on the Cen(ter) Osnap you disable all other osnaps for one pick, making it easier to register the Center.
It sounds like maybe what you are after is the
Orient 2 Points command
I am also working on making it easier to model more complex linkages in Rhino without plugins.
For something like the above though, where there are no kinematic chains or loops, I think Orient 2 Points and Orient 3 points already do all you need.
edit - “Rhino doesn’t recognize the aligned points as the centers of the aligned holes”
Another idea - Depending how the geometry you have is modelled or imported, the Center snap won’t always detect the centers of the holes (for example if the objects are meshes).
In this case you might need to draw a 3 Point circle through the appropriate vertices on the mesh, then use the Center snap on this.
Hi Patrick -
Both Jeremy and Daniel have given good answers but just to elaborate on this a bit - Rhino is not a feature-based modeler and, as such, doesn’t have a concept of axes and/or centers of holes or cylinders. The
Center snap is calculated on the fly but is not in any way an approximation of the center of the hole. There is no loss of precision.