Element Transformation Matrix for moving the Bounding Box of Element

I’m looking for creating the bounding boxes on Dynamo for creating the needed workspace for executing the activity. I used the Bounding Box nodes and derived the min and max points of objects. Then I have the bounding boxes of element. but I’m looking for moving the Bounding boxes based on new coordinates (X2,Y2,Z2). How can I use the transformation matrix to move and resize the bounding boxes.

Coordinate systems should work to put things into place, but know that bounding boxes cannot be pulled off the global XYZ axis, and therefore you will likely want to convert to a cuboid. This will also allow the coordinate system to have an asymmetrically scaled XYZ axis which should allow greater control of the final dimensions.

1 Like

Thanks for respond. I want to use the bounding boxes and cuboids for creating the required space for element construction. But when I created the cuboid the min and max of bounding boxes are not at the same location of min and max of element. I need to create the cuboid firstly based on the exact location and dimension of element and then transform the cuboid to my desire location. Any suggestion?

Can’t see what the issue is so I can’t help. Provide some context - Revit file, Dynamo graph as is, and some sketches showing what you need and I’ll think it over. :slight_smile:

1 Like

Sure. Here I have multiple windows that I wanna create the cuboid in front of the each window to represent the workspace needed for window installation. After creating the cuboid, I want to transform the geometry based on new coordinate system using transformation matrix. But I can’t find good solution for that.


You’re not actually creating any coordinate systems. Notice that the coordinate system nodes (everything in the light purple box) is a light grey heading with black text. You’d need to provide a matrix to make that work. Also I don’t see how you’d readily pull the matrix for each coordinate system so you can then rebuild it - you might as well just use the data to build the thing instead of converting the data to something else first.

Hearing about what you’re after, I wouldn’t ever utilize a bounding box for this - they’re too completely different form what you’re after. Instead I would recommend using the associated family type to build a rectangle with the base at the origin, offset that by the desired clearance around the window (or 0 if you don’t want any), and then extrude by the distance of the desired clear space. Then pull the facing orientation and location of each family, and use those two pieces of information to build a coordinate system for each instance. Apply the extrusion to the associated coordinate system and you should be good to go.

The graph should look something like this:

And the result would look like this:

Note that the location of the window is usually centered in the wall. This means that the clearance family will class with the wall itself - you can chose to avoid those or edit the process by offsetting the origin along the facing orientation by 1/2 of the wall thickness, but concave curved walls will still self intersect.

2 Likes

Thanks for explanation. But I wanna generate the boxes in front of the windows automatically which will be created based on the dimension of the element and the min point of object reference using for transformation matrix. The reason that I used the bounding boxes is to extract the min point and then use for transformation matrix.

Before you get too far, draw one slanted wall at 45 degrees on the XY plane and put a window in it (you may need Revit 2021 or 2022) and confirm the BB makes sense as your means of location.

1 Like

You’re right. Thank you so much. I think I can use your suggestion as creating the rectangle from the Min. point of the window and from there I use transformation matrix to transform the rectangle to desire coordinate system. To do this, I can’t find any node to apply transformation matrix. Any ideas?

Regarding to your suggested solution, I receive an error for door element, regarding the location of the structural element is not a valid curve. for getting the curve I need to extract the points of the door?
Can you let me know what do you think?

Also I used the element. Bounding boxes to get the min and max points of the door but again I receive the error on Coordinates. System

Can you post a model with just that door and one wall in it?

Need the actual RVT. Delete everything but the curtain wall and the masonry wall + that door, purge, delete all materials, purge three more times times and see if you can post it.

I deleted all of the elements except the considered ones. Thank you.
Project-Forum-Dynamo.rvt (3.5 MB)