How to rotate families around a nominated 2nd point?

I’m having a little bit of difficulty trying to solve a problem involving a rotation. What I would like to achieve is the replication of the simple Revit function, rotating a selection of families around a nominated point, but I can’t seem to find a dynamo node that will do the trick.

I have a sample room (4 walls) with a layout of fixtures (can be equipment, furniture or lights etc). The sample room is initially in a orthogonal orientation in plan, however the building designer may choose a different rotation for the room, say +20deg or -35deg etc. What I would like to do is have the fixtures that are placed in the orthogonal room, be placed and rotated to the correct angle to match the rotated room.
The rooms potentially would be in a separate file, ie a linked in model and potentially be arranged at different angles. Currently I am picking up the center of the room as the rotation point for all elements that need to be rotated, but I’m having difficulty completing the task with Dynamo.

The task is easily achieved in Revit selecting all the elements, and rotating around the room center point, which I have located using a light fixture to mark the position. Currently in Dynamo I can achieve the rotation but it rotates around the project base point, rather than a nominated center point of the room, I not sure how to pick the room center point as the rotation point. Any help in solving the approach will be greatly appreciated.

The images below show what I would like to achieve, along with a Revit 2017 and Dynamo files. Essentially the rotation of the elements is around a random point (not the project base point and in this case the center of the room) and also not around the family insertion points.

Rotate Room

ROTATE_TO_ROOM.dyn (30.6 KB)

Sample Revit file : ROTATE FAMILIES

The walls in the Revit file can be switched on and off with a filter.

Hi @r.lietz

Are you looking for this?

Hello @Kulkul,

If you look at the revit file (ROTATE FAMILIES) I have supplied, what I’d like to achieve is the rotation of the GPO’s (8 Electrical Fixtures but can be anything in the room) around the (z axis) of the center point of the room, which I have made easy to locate by the light fixture.

Currently when you run the dynamo graph, it rotates the GPO’s around the Project Base Point. The 4 walls have been rotated by 20 deg in an anti-clock direction around the room center point. If you rotated the walls back 20 deg around the room center point, the GPO’s would be in-line with the walls. If you use Revit’s rotate tool to rotate the walls, or the electrical fixtures you can nominate, and position the rotation point, and if you use the room center point as the rotation center, everything will line up.

The problem I have, is the current script, I can’t seem to find a node that allows you to nominate the rotation point, it defaults to the Project base point.

Is it not possible to select an independent point using Dynamo to rotate families around ?

And replicate the basic Revit Rotation function (RO) where you can nominate or pick the “Center Point of Rotation: Place” ?

Or have I missed something.

Hi @r.lietz,

Maybe this is an interesting video for you?

Kind regards,
Mark

Hey Mark,

Thanks discovering something you didn’t know about before is always such a bonus, but I still struggle in the little league, now I’ll have to go and practice throwing the ball in a whole different diamond, I know I’ve been told before, and it no doubt will make me a better player and be able to pass some knowledge on, some day…

But even in this video, Danny is rotating the elements around their insertion point (at least I think he is), and it’s probably not a big step to select a second independent point, as in RO in Revit, but for the life of me I can’t seem to find that uncut gem.

But a great presentation by Danny.

Have you tried Geometry.Rotate Node?
It has all you need, viz. geometry to rotate, origin point, axis of rotation and degrees.

Let us know if that works!