# [Equest-users] Rotating a single building in a campus setting

Dan Russell danr at engineeringinc.com
Tue Oct 7 09:39:46 PDT 2008

```Eric,

If I understand correctly you are wanting to rotate only a specific set of shells, while leaving several other shells unchanged.  As you say the azimuth keyword alone does not accomplish this.  Changing the azimuth keyword rotates the shell around the origin of the floor polygon that is referenced by the shell.  The key to making this work is to be able to accurately adjust the x & y coordinates so that the rotated shell ends up in the right spot.  You can think of this happening in two steps.

1- First, change the azimuth to reflect the appropriate rotation.  This will likely send your shell out into never-never land, but not to worry.  Next step.
2- Second, change the x and y coordinate of the shell to slide it back into position.  The tedious part here is determining the appropriate x and y coordinates.  This can be done with some basic trigonometry, or simply by trial and error.  I prefer the trig.

A bit cumbersome, but this can be automated (mostly) by using some trig expressions in the x & y coordinate definitions for the shell and by defining a few global parameters that are easy to adjust.  See the attached example project to see how this can be done.

In the automated method, the one main thing that needs to be manually done, is to determine the theoretical pivot point for your shell.  That is, if you were able to simply rotate the shell around it's centroid, what would the x & y coordinates be for the centroid?  To do this, select the polygon referenced by the shell (In example- "EL1 Floor Polygon") and view it using the "Shape View Mode." This mode shows you where how the polygon is defined relative to its x and y axes.  At this point you need to use this coordinate system to determine the x & y coordinates for your pivot point.  I imagine you'll want to select a pivot as near to the center as possible, but it is completely negotiable.

Once you have the pivot point (x, y) then define two global parameters (in the example they are "x-pivot1" and "y-pivot1"), one for each coordinate.  These will be referenced in the trig expressions.

The other global parameter is simply the angle which you desire to rotate the shell (example- "Rotation Angle (Degrees)").  In the example this value needs to be in degrees.  This value is then referenced with an expression in the shell azimuth definition.  Also, this will be the parameter to change in the parametric run.  Note:  The example methods require that the original shell orientation have azimuth = 0.

Lastly the trig expressions need to be defined in the x & y coordinate definitions for each shell desired to be rotated.

You'll notice that simply by changing the global parameter "Rotation Angle (Degrees)" the T-shaped shell rotates accordingly around its own center.

Take a look at the example and let me know if you have any questions.

Dan Russell, EIT

-----Original Message-----
From: equest-users-bounces at lists.onebuilding.org [mailto:equest-users-bounces at lists.onebuilding.org] On Behalf Of Eric Allen Youngson
Sent: Monday, October 06, 2008 11:50 AM
To: equest-users at lists.onebuilding.org
Subject: [Equest-users] Rotating a single building in a campus setting

Sim list,
I need to rotate a building (collection of shells) in a campus setting
where there are are several buildings. I don't see any way to accomplish
this parametrically so I am trying to change the azimuth of the shells
individually. When I do this the shells rotate around the axis of the entire
campus rather than around the center of the "building". There does not seem
to be any central reference point for the shells since they all specify 0,0
for x,y coordinates.
Currently I am trying to reference the shells to their associated
polygon.
Any thoughts on this approach or other ideas on how to re-center the
shells once the azimuth has been changed?

Thanks,

Eric

_______________________________________________
Equest-users mailing list
http://lists.onebuilding.org/listinfo.cgi/equest-users-onebuilding.org
To unsubscribe from this mailing list send  a blank message to EQUEST-USERS-UNSUBSCRIBE at ONEBUILDING.ORG
-------------- next part --------------
A non-text attachment was scrubbed...
Name: single-shell rotate example.inp
Type: application/octet-stream
Size: 172620 bytes
Desc: single-shell rotate example.inp
URL: <http://lists.onebuilding.org/pipermail/equest-users-onebuilding.org/attachments/20081007/e5a39c93/attachment-0004.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: single-shell rotate example.pd2
Type: application/octet-stream
Size: 9664 bytes
Desc: single-shell rotate example.pd2
URL: <http://lists.onebuilding.org/pipermail/equest-users-onebuilding.org/attachments/20081007/e5a39c93/attachment-0005.obj>
```