# How to align two objects

**URL:** <https://discourse.mcneel.com/t/how-to-align-two-objects/121132>\
**Category:** Rhino for Windows\
**Tags:** windows\
**Created:** [March 25, 2021, 3:45pm UTC](https://discourse.mcneel.com/t/how-to-align-two-objects/121132 "2021-03-25T15:45:17Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![Rhino\_Bulgaria](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/rhino_bulgaria/32/505284_2.png) [@Rhino\_Bulgaria](https://discourse.mcneel.com/u/Rhino_Bulgaria)\
**Post date:** [March 30, 2021, 3:59pm UTC](https://discourse.mcneel.com/t/how-to-align-two-objects/121132/21 "2021-03-30T15:59:59Z")

</div>

Grid snap also helps with aligning objects. I do it all the time. 🙂

---

<div class="post-metadata">

**Author:** ![davidcockey](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/davidcockey/32/732604_2.png) [@davidcockey](https://discourse.mcneel.com/u/davidcockey)\
**Post date:** [March 30, 2021, 4:02pm UTC](https://discourse.mcneel.com/t/how-to-align-two-objects/121132/22 "2021-03-30T16:02:27Z")

</div>

> [@Rhino\_Bulgaria](#):
>
> Grid snap also helps with aligning objects. I do it all the time. 🙂

It would not help here. Attempting to use grid snap here would lead to bad results.

---

<div class="post-metadata">

**Author:** ![jeremy5](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/jeremy5/32/493741_2.png) [@jeremy5](https://discourse.mcneel.com/u/jeremy5)\
**Post date:** [March 30, 2021, 4:06pm UTC](https://discourse.mcneel.com/t/how-to-align-two-objects/121132/23 "2021-03-30T16:06:49Z")

</div>

OK, try this:

1. Draw your wall. Adjust its orientation to match the point cloud wall.
2. Turn on GumballAutoReset if not already on.
3. In the perspective viewport set the CPlane to Object, using the front face of the wall as the object.
4. In that viewport draw your aircon boxes. You are now drawing in the orientation of the wall, not the WCS, so everything you draw will be in the same orientation as the wall with no need to reorient. If you move or scale with the gumball you are doing so in the orientation of the wall.
5. If you need to adjust the box because you have drawn it off the wall, say, you can just use move, pick a corner of the aircon, then use POnSurf for the destination to plonk it on the wall.
6. When done set the CPlane back to World Top.

It’s a different way of thinking, and that’s often a big problem when you move from one software package to another. In Revit you were aligning objects after drawing. In Rhino we are reorienting the drawing surface and drawing directly.

HTH  
Jeremy

---

<div class="post-metadata">

**Author:** ![Rhino\_Bulgaria](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/rhino_bulgaria/32/505284_2.png) [@Rhino\_Bulgaria](https://discourse.mcneel.com/u/Rhino_Bulgaria)\
**Post date:** [March 30, 2021, 4:07pm UTC](https://discourse.mcneel.com/t/how-to-align-two-objects/121132/24 "2021-03-30T16:07:54Z")

</div>

Can you give an example of what bad would happen by using a grid snap?

---

<div class="post-metadata">

**Author:** ![davidcockey](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/davidcockey/32/732604_2.png) [@davidcockey](https://discourse.mcneel.com/u/davidcockey)\
**Post date:** [March 30, 2021, 4:34pm UTC](https://discourse.mcneel.com/t/how-to-align-two-objects/121132/25 "2021-03-30T16:34:01Z")

</div>

Align the green box to the cyan wall with A matching A. The cyan wall cannot be moved. [AlignGridSnap.3dm](https://discourse.mcneel.com/uploads/short-url/rmrsxEm2sYemNxkRDSbg4jh8Q8R.3dm) (1.6 MB) Without creating several Cplanes I do not see how the objects can be aligned using grid snaps.

---

<div class="post-metadata">

**Author:** ![s.urbanski](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/s.urbanski/32/702138_2.png) [@s.urbanski](https://discourse.mcneel.com/u/s.urbanski)\
**Post date:** [March 30, 2021, 4:43pm UTC](https://discourse.mcneel.com/t/how-to-align-two-objects/121132/26 "2021-03-30T16:43:36Z")

</div>

@davidcockey

> [@davidcockey](#):
>
> Try the PersistentOnSurface or PersistentOnPolySurface

Thank you. That truly sped up the process.

@Rhino_Bulgaria Thank you for your post. That actually solves one of my ailments which I had in both Revit and Rhino. I always wanted some kind of “limiter” to keep dimensions “clean”. After all, I am more willing to make a 7x14 cm beam rather than 7,8x14,2 cm.

@jeremy5 Thank you for another one of your posts and your patience. 🙂 [quote=“jeremy5, post:23, topic:121132”]

- Draw your wall. Adjust its orientation to match the point cloud wall.
- Turn on GumballAutoReset if not already on.
- In the perspective viewport set the CPlane to Object, using the front face of the wall as the object.
- In that viewport draw your aircon boxes. You are now drawing in the orientation of the wall, not the WCS, so everything you draw will be in the same orientation as the wall with no need to reorient. If you move or scale with the gumball you are doing so in the orientation of the wall.
- If you need to adjust the box because you have drawn it off the wall, say, you can just use move, pick a corner of the aircon, then use POnSurf for the destination to plonk it on the wall.
- When done set the CPlane back to World Top.  
[/quote]

I followed your advice and it looks good. Unfortunately, I cannot use top and section views. I extended one surface and it is not following the wall:

 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/e/a/8/ea8f4b6dc5752559497d17a8fe626e6121cd6be5.jpeg)

I guess that I should work in only 3D view but that way we sacrifice the precision brought by thick slices of the section views.

---

<div class="post-metadata">

**Author:** ![Rhino\_Bulgaria](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/rhino_bulgaria/32/505284_2.png) [@Rhino\_Bulgaria](https://discourse.mcneel.com/u/Rhino_Bulgaria)\
**Post date:** [March 30, 2021, 4:58pm UTC](https://discourse.mcneel.com/t/how-to-align-two-objects/121132/27 "2021-03-30T16:58:23Z")

</div>

Your example does not show how using Grid snap makes bad results. 🙂 In fact, aligning reinforcement steel members (a.k.a. triangulation) along the length of a bridge involves multiple same objects placed at certain distance to each other. This means that once you align one of these, you can easily use Grid snap to mirror it along the Z-axis, then use Grid snap to make multiple copies of the original pair wherever you want. For this to work I would orient the point cloud to be parallel to the world axes, or build a CPlane along the length of the bridge. This is where Grid snap shines best.

---

<div class="post-metadata">

**Author:** ![jeremy5](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/jeremy5/32/493741_2.png) [@jeremy5](https://discourse.mcneel.com/u/jeremy5)\
**Post date:** [March 30, 2021, 5:25pm UTC](https://discourse.mcneel.com/t/how-to-align-two-objects/121132/28 "2021-03-30T17:25:45Z")

</div>

Could you copy a section of the point cloud containing some of the wall and the aircon units and post it here?

---

<div class="post-metadata">

**Author:** ![s.urbanski](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/s.urbanski/32/702138_2.png) [@s.urbanski](https://discourse.mcneel.com/u/s.urbanski)\
**Post date:** [March 30, 2021, 5:40pm UTC](https://discourse.mcneel.com/t/how-to-align-two-objects/121132/29 "2021-03-30T17:40:21Z")

</div>

> [@jeremy5](#):
>
> Could you copy a section of the point cloud containing some of the wall and the aircon units and post it here?

Yes, with pleasure.

[Part\_of\_the\_point\_cloud.e57](https://discourse.mcneel.com/uploads/short-url/uKcjepUrknFiK5fRYXqs8xg5dUD.e57) (19.2 MB)

> [@Rhino\_Bulgaria](#):
>
> In fact, aligning reinforcement steel members (a.k.a. triangulation) along the length of a bridge involves multiple same objects placed at certain distance to each other. This means that once you align one of these, you can easily use Grid snap to mirror it along the Z-axis, then use Grid snap to make multiple copies of the original pair wherever you want.

I tried that with @pasal and thanks to his help (and patience) I found out about the problem I mentioned before: setting the CPlane in one view does not affect the rest of the views so my beams were mispleaced.

> [@Rhino\_Bulgaria](#):
>
> I would orient the point cloud to be parallel to the world axes

That is impossible. The model must be in the same coordinate system as the cloud. Besides, If I align one wall with the world axis, the other wall will be shifted.

---

<div class="post-metadata">

**Author:** ![davidcockey](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/davidcockey/32/732604_2.png) [@davidcockey](https://discourse.mcneel.com/u/davidcockey)\
**Post date:** [March 30, 2021, 6:14pm UTC](https://discourse.mcneel.com/t/how-to-align-two-objects/121132/30 "2021-03-30T18:14:22Z")

</div>

> [@Rhino\_Bulgaria](#):
>
> In fact, aligning reinforcement steel members (a.k.a. triangulation) along the length of a bridge involves multiple same objects placed at certain distance to each other. This means that once you align one of these, you can easily use Grid snap to mirror it along the Z-axis, then use Grid snap to make multiple copies of the original pair wherever you want. For this to work I would orient the point cloud to be parallel to the world axes, or build a CPlane along the length of the bridge. This is where Grid snap shines best.

That is a good method for creating a new design or creating a model of an object as the modeler consider should be. But that is not what S Urbanski is doing. Instead he is creating an “as is” model to document the objects as the exist, which may or may not correspond exactly to a recatlinear grid with uniform spacing.

> [@s.urbanski](#):
>
> There is no problem when you can snap to the world axis. But objects modelled from point cloud are in the “as is” condition. In this example, the horizontal beams are not aligned to X nor Y plane.

> [@s.urbanski](#):
>
> First I would model the wall. Please notice, that the wall created parallel to the world axis (I hold shift when drawing) is not aligned with the point cloud. Although the angle is only 0.57 degrees the distance is more than 5 centimetres.

> [@s.urbanski](#):
>
> Now, let’s model the air conditioner. I want just a simple solid but its dimensions must be accurate (so aligned with point cloud). To do it quickly and accurately, I will use section views.

---

<div class="post-metadata">

**Author:** ![davidcockey](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/davidcockey/32/732604_2.png) [@davidcockey](https://discourse.mcneel.com/u/davidcockey)\
**Post date:** [March 30, 2021, 6:20pm UTC](https://discourse.mcneel.com/t/how-to-align-two-objects/121132/31 "2021-03-30T18:20:10Z")

</div>

> [@s.urbanski](#):
>
> I found out about the problem I mentioned before: setting the CPlane in one view does not affect the rest of the views so my beams were mispleaced.

The Universal construction plane option results in the the Cplanes in all views being updated to remain orthogonal when the Cplane in one view is changed,  
`Options` or `DocumentProperties` \> Rhino Options \> Modeling Aids \> Construction planes

 ![UCPlanes](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/0/0/2/002dbb6c1bcff557196ff1020b452ffce5b82e76.jpeg)

---

<div class="post-metadata">

**Author:** ![geopalacios\_88](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/geopalacios_88/32/452570_2.png) [@geopalacios\_88](https://discourse.mcneel.com/u/geopalacios_88)\
**Post date:** [March 30, 2021, 6:28pm UTC](https://discourse.mcneel.com/t/how-to-align-two-objects/121132/32 "2021-03-30T18:28:22Z")

</div>

You can make what you want with a python script, getting normal from each component and orienting one to other. This is concentric constraint and is almost the same for mating faces.

[https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/5/2/a/52ab0439e9a2a32f570676c338b61417148861be.mp4](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/5/2/a/52ab0439e9a2a32f570676c338b61417148861be.mp4)

[https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/8/3/1/831abef13cdd8da8c6f54d63a868ba8000422523.mp4](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/8/3/1/831abef13cdd8da8c6f54d63a868ba8000422523.mp4)

---

<div class="post-metadata">

**Author:** ![Rhino\_Bulgaria](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/rhino_bulgaria/32/505284_2.png) [@Rhino\_Bulgaria](https://discourse.mcneel.com/u/Rhino_Bulgaria)\
**Post date:** [March 30, 2021, 6:50pm UTC](https://discourse.mcneel.com/t/how-to-align-two-objects/121132/33 "2021-03-30T18:50:02Z")

</div>

> [@Rhino\_Bulgaria](#):
>
> For this to work I would orient the point cloud to be parallel to the world axes, or build a CPlane along the length of the bridge.

This is why my sentence ended with:  
“For this to work I would orient the point cloud to be parallel to the world axes, **or build a CPlane along the length of the bridge**.” 😃  
You can build and save as many CPlanes as you want, and can switch between them quickly according to your need.

---

<div class="post-metadata">

**Author:** ![Rhino\_Bulgaria](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/rhino_bulgaria/32/505284_2.png) [@Rhino\_Bulgaria](https://discourse.mcneel.com/u/Rhino_Bulgaria)\
**Post date:** [March 30, 2021, 6:56pm UTC](https://discourse.mcneel.com/t/how-to-align-two-objects/121132/34 "2021-03-30T18:56:38Z")

</div>

I use “Large objects millimeters” to design cars or buildings, and my grid is divided every millimeter. It’s more than enough to use the Grid snap to build a large bridge this way. Even if the system units in Rhino are set to meters or any other type of unit, the grid could be customized to be divided in the desired size. For example, two structural members of the bridge could be 7084 mm away from each other using Grid snap as a “limiter” to stick to whole numbers. This is a much better approach than turning off the grid snap and place the next structural member of the bridge at some totally random distance such like 7083,951572 mm (especially if the third one is also at a random distance like 7086,209371 mm). 🤪 Having to work with whole numbers give the user a lot more control over the position of the objects in the scene.

---

<div class="post-metadata">

**Author:** ![Rhino\_Bulgaria](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/rhino_bulgaria/32/505284_2.png) [@Rhino\_Bulgaria](https://discourse.mcneel.com/u/Rhino_Bulgaria)\
**Post date:** [March 30, 2021, 6:59pm UTC](https://discourse.mcneel.com/t/how-to-align-two-objects/121132/35 "2021-03-30T18:59:59Z")

</div>

Can you share that script or put a link to a place where you got it from? Reminds me of the “Driving dimensions” plug-in for Rhino 5.

---

<div class="post-metadata">

**Author:** ![s.urbanski](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/s.urbanski/32/702138_2.png) [@s.urbanski](https://discourse.mcneel.com/u/s.urbanski)\
**Post date:** [March 30, 2021, 7:39pm UTC](https://discourse.mcneel.com/t/how-to-align-two-objects/121132/36 "2021-03-30T19:39:32Z")

</div>

> [@davidcockey](#):
>
> The Universal construction plane option results in the the Cplanes in all views being updated to remain orthogonal when the Cplane in one view is changed,  
> `Options` or `DocumentProperties` \> Rhino Options \> Modeling Aids \> Construction planes

Unfortunately, this option negatively affects also section views:

Before setting CPlane to the wall:

 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/9/6/7/967c5a20ea91b88e89615d26e78b47b946331bf1.jpeg)

And after:

 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/a/a/9/aa9cd6c444ec55e36d4e87bf3a4fd2097fa778d9.jpeg)

@geopalacios_88 Indeed, that looks like something I need. Is it some paid plugin?

@Rhino_Bulgaria I deliberately quoted the part about point cloud(which cannot be moved) but left the second part. Definitely worth trying but I fear that with bigger projects, with multiple construction planes, finding the right one may be tricky.

> [@Rhino\_Bulgaria](#):
>
> I use “Large objects millimeters” to design cars or buildings, and my grid is divided every millimeter. It’s more than enough to use the Grid snap to build a large bridge this way. Even if the system units in Rhino are set to meters or any other type of unit, the grid could be customized to be divided in the desired size. For example, two structural members of the bridge could be 7084 mm away from each other using Grid snap as a “limiter” to stick to whole numbers. This is a much better approach than turning off the grid snap and place the next structural member of the bridge at some totally random distance such like 7083,951572 mm (especially if the third one is also at a random distance like 7086,209371 mm). 🤪 Having to work with whole numbers give the user a lot more control over the position of the objects in the scene.

I thought that grid snap works in a different way but, as I said before, this is a nice surprise.

---

<div class="post-metadata">

**Author:** ![Rhino\_Bulgaria](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/rhino_bulgaria/32/505284_2.png) [@Rhino\_Bulgaria](https://discourse.mcneel.com/u/Rhino_Bulgaria)\
**Post date:** [March 30, 2021, 7:53pm UTC](https://discourse.mcneel.com/t/how-to-align-two-objects/121132/37 "2021-03-30T19:53:35Z")

</div>

In general, Grid snap also forces the Gumball to move in steps depending on your grid settings. The “Move” tool also benefits from that.

As for the Cplanes, there is no problem to use hundreds of them. Finding the needed Cplane inside the long list of saved Cplanes is easy if you name each one of them accordingly. I have been using gazzilion amount of CPlanes for this project. There is even a command that you can use to directly click on the saved Cplane’s XYZ coloured icon in the 3d viewport, if that will be easier for you: `_-NamedCplane _Select`

 ![Ready plates 2](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/2/a/f/2af71c630b668117dc7f37bcd1285652d81e7086.png)

---

<div class="post-metadata">

**Author:** ![mdesign](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/mdesign/32/654693_2.png) [@mdesign](https://discourse.mcneel.com/u/mdesign)\
**Post date:** [March 31, 2021, 8:55am UTC](https://discourse.mcneel.com/t/how-to-align-two-objects/121132/38 "2021-03-31T08:55:54Z")

</div>

Is this possible to buy it somewhere?

---

<div class="post-metadata">

**Author:** ![Rhino\_Bulgaria](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/rhino_bulgaria/32/505284_2.png) [@Rhino\_Bulgaria](https://discourse.mcneel.com/u/Rhino_Bulgaria)\
**Post date:** [March 31, 2021, 4:26pm UTC](https://discourse.mcneel.com/t/how-to-align-two-objects/121132/39 "2021-03-31T16:26:49Z")

</div>

All we are looking for is a Rhino script called “carrot.py”, as seen in the videos above. 😃

---

<div class="post-metadata">

**Author:** ![kleerkoat](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/kleerkoat/32/262111_2.png) [@kleerkoat](https://discourse.mcneel.com/u/kleerkoat)\
**Post date:** [March 31, 2021, 4:32pm UTC](https://discourse.mcneel.com/t/how-to-align-two-objects/121132/40 "2021-03-31T16:32:37Z")

</div>

the hunt is on!

man, @geopalacios_88 should sell it on gumroad. i’d drop some cash down for it!

[Previous page](https://discourse.mcneel.com/t/how-to-align-two-objects/121132.md?page=1)

[Next page](https://discourse.mcneel.com/t/how-to-align-two-objects/121132.md?page=3)
