Moving insertion point of column family

I have a script for placing columns which uses the column mid point (intersection of both center ref planes) to place them on specified points in my model (typically grid intersection). In most instances this works just fine however I have a few cases where I want to column to be offset from the grid intersection.

I have all this working as expected except I would like to set the intersection point of the family to the outer face of the column, how can I do this? Does it require editing the family or using a different node?

This portion of my script shows how I am placing the columns


The codeblock is used to offset the column by its width.

Here you can see the insertion point of the column (center of column) and the initial point I’m offsetting from (blue arrow)
image

Its the insertion point of the column I’m hoping to offset to the face of the column so I can then place it on grid and rotate it about this same point which I’m trying to achieve.

Hi @BJozi
I haven’t ever messed with changing insertion points in Dynamo, but if I am thinking about this correctly, changing the insertion point would be changing it for the family and not just that one instance.

If you are wanting to place and rotate all in one shot, then you will have to modify your graph and add an input for designating a rotation angle and set the rotation axis point to be the same point the user selected for the insertion point.

Don’t think of it as changing the insertion point to face of column. Use dynamo to find that column size and run an additional offset in your code block math that shifts the insertion point half of the column size. Then it doesn’t matter if it’s a 6x6 or a 10x10 dynamo will do the math to adjust for you.

Hi @staylor I assumed myself I would need to edit the family as the current insertion point is on the reference plane intersection. I would have to offset the column to the center or maybe define a different ref plane as origin.

I didn’t include it in the snip, I have the placing and rotating portion working, however the center of the column is off grid and the center of the face of the column on grid.

Easier to explain with the below snip
image

I have offset the placement point by half the distance of column, in the above I could offset it the full depth of the column instead (yellow). The placement point however needs to be the face of the column (green) for this to work.

@scottW4TRA see above, I have the script offsetting half the depth of the column, this would need to be the full depth. As above, this won’t allow me to place the face of the column on grid and rotated to align with the grid.

I was assuming you wanted this to be your end result. Where the grid intersection was the rotation point.

image

Maybe provide your graph and a snip showing how you want the column to be placed and oriented after all said and done.

Give us a larger portion of your script to work with. We are having to make a lot of assumptions and that’s not worth our time.

I’ve attached the graph here, I’m open to improvements. The idea was to separate out grid intersections on each outer grid line (4) and the intersections on the inner gridlines. Each condition has a different column type and rotation. It’s the outer right grid I was using in the examples here.

I’ve attached the script, I hope you can follow it, and a Revit project I was using to test the rotation of the columns. The top portion of the script deals with the outer right grid, I’ve frozen the rest and the Reivt project has one Column placed (Grid: 11-I) as I’m trying to do with the script.


Place Column On Grid Intersection_20230407.dyn (498.3 KB)
Test.rvt (1.8 MB)

Hello here is an idea to dig
placement part:
1/ you place your family at the intersection point of your 2 rows (point I).
2/you make a bounding box(bb) surrounding your family 3/you get the min and max coordinates of your bb
4/you get the delta X of these 2 points.
5/you create this point (J) with delta X /2 plus the X of point I (YZ unchanged) 6/move element with a vector from (point J to I)

rotating part: center of rotation point I

I’ll try tomorrow morning if you don’t understand the process

edit:
Hello,
I followed a different process altogether.
here is

image

script:08 Avril Forum anglais.dyn (39.9 KB)

Cordially
christian.stan

1 Like