Insert studs into wall families


#1

Hi, I am facing a challenge here. I have seen external Plug-Ins that “find a way” to host framing elements into walls.
I am trying to insert light steel studs into walls, but I can’t seem to find the correct way.

what I want o to achieve is something like:

Where the “C” shaped forms are metal studs for metal framing.

Is there anyone that could shine a light on this topic?
I Know that walls can host rebar, but why not studs?

Thanks guys.


#2

maybe a repeating detail
google revit repeating detail and see what comes up
place it with dynamo on the outer line of the wall


#3

Hi Marcel,
First, thanks! I appreciate the help!
I took a look into repeating details and there are 2 problems, first I need about 3 different views, since the walls have to go for fabrication (prefab wall) so having the actual 3d component would be nice. the other problem lies in the fact that a lot of clients make adjustments to the drawings during production.

I will look more into it and see if I can make it work that way.

Once again! thank you!


#4

I think this would be doable using line based model elements where the lines were generated by the wall part’s geometry.


#5

This is what i once used for a repeating 3D item (line based)
If you edit the family and grasp how it acts you can insert the steel studs as you see fit.

00_BM_GMLB_2HR.rfa (748 KB)


#6

Hi Jacob, Sorry I cant visualize how it would go, do you have an example file or a video? Thank you so much for the help.

Ah, another thing is this stud need to have a few parameters, for example the same wall could have a couple different gauges of studs.


#7

Hi, thank a lot for the idea. I do have something similar. But I really would like to embed this in a wall family, for a couple of reasons.
Its more like, each segment of wall would be a panel with a pre-determinate dimensions and depending on the load the placement of the studs would change, for example the shape would change on openings to accommodate a reinforcement header, etc.

Once again, I appreciate the help!


#8

As others have mentioned here, and you have noted seeing external plugins that can do that, it’s possible, but somewhat not as straight forward as one would imagine.

I am guessing that the external plugins use something called an IUpdater routine to basically “track” all Walls of specific Type and whenever a wall changes (height, length etc) they simply insert a new line based 3D framing family along side of it. That’s not a very straight forward solution, and would require custom coding, but it would be the closest to what you want.

Cheers!

-K


#9

Fantastic Konrad!
That gives me a direction, sorry to ask, but do you happen to know where I can find a bit more documentation on the IUpdater routine?

Thank you so much for the help!


#10

Yeah the routine is called Dynamic Model Update and I remember Harry Mattison had some code posted: https://boostyourbim.wordpress.com/category/dynamic-model-update/

Cheers!

-K


#11

Awesome! thank you!


#12

My workflow is something like this.

First in Revit:

  1. Create parts from your wall. This is a requirement as otherwise your wall may have studs running through other elements.
  2. Build an adaptive component family which will allow for your studs to be placed on 2 points (or more if you want better resolution/curving studs).

Then in Dynamo:

  1. Get the parts you want to work with. Smaller selections will run faster.
  2. Explode the parts (1) into surfaces.
  3. Find the surfaces normal at parameter 0.5,0.5.
  4. Get the part’s host Element (the original wall)
  5. Find the host element’s facing orientation.
  6. Test the part surfaces vectors for ‘almost equal’ to the wall’s facing orientation.
  7. Filter the surfaces by the boolean created by the vector comparison.
  8. Get the surface’s effective length by pulling the start points of the surfaces perimeter curves onto a horizontal plane and create a line by best fit through points, and taking the line’s length.
  9. Divide the length by the desired spacing of studs and add one to get the stud count.
  10. Generate a range from 0 to 1 with a number of steps equal to the stud count.
  11. Find the vertical isocurves of the surfaces, using the range created for the studs as the parameter.
  12. Intersect the surface with the isocurves to trim them at the surface extents.
  13. Test for conditions where the curve’s start point is above the end point, and reverse the curve if that’s true.
  14. Find the oriented curves points as Parameters 0 and 1 (or a range from
  15. Create the adaptive component stud family via the list of points.

May need a means of ‘twisting’ the stud into position so it aligns by the normal of the face at that point, but I’d have to test the above to know.


#13

Wow Jacob, Fantastic! I will definitely work on it. Thanks for such an in-depth explanation, it really gave me a good solid starting point. I will update you guys with the results.

Thank you very much!


#14

hi Jacob, to add to that I am trying to make a script that divide the wall into parts automatically based on some inputs, every 8 feet, for example. There is a way to identify a opening or a indentation on the wall in a more practical example, a Floor joist ledge or a beam pocket for example.

Thanks and have a nice weekend!


#15

Not sure what you mean, but that’s likely best asked in a new thread, with a sketch or too illustrating the point, and the relevant sections of the DYN you are working on.


#16

Will do! Thanks for the answer!