Creating penetrations using line styles and intersection points

So i am trying to create a script which places a penetration family onto a structural framing element by face.
The family has parameters for width and depth which i want to be able to control by the line style which will have ‘Peno Size - Width x Depth’ as the name. I then get the intersection point of the line and the beam and place it at that point on the beam and it automatically puts the size of the penetration in based off the line style. See picture of floor plan.

And the script so far:
I have started down the bottom and the stuff at the top is the old stuff for placing the peno at a certain location along the curve.

Is this possible? Any help is appreciated :slight_smile:


Yes it sounds possible.

Would you mind dropping a stripped out RVT file for us to look at? Otherwise we need to replicate your families and lines to test…



Hi Mark,

Link below to a RVT file for testing:



This was my go, you’d got a lot of the things right, it’s just keeping all the lists of things aligned and in order. I’ve probably made a couple of mistakes, but you should be able to work them out. Apologies for it being messy, I was working at speed and it got quite complex!

The one thing I couldn’t get was an Instance Parameter Default Value from a Project… Perhaps @erfajo would know :slight_smile:

Hope that helps,


FamilyPlaceHostBeam.DYN (276.1 KB)

1 Like

I am not sure I understand…

However, I have just replied on another post concerning penetration of Ducts vs. Walls/Floors, the concept can also be transfered to structural members…

1 Like

So, if I create an instance parameter in a family (let’s call it P_Void Depth), I automatically create a P_Void Depth default value


I don’t know how to query the P_Void Depth default value from the Family Type in the Project with Dynamo.

I can only create an instance in the project, then query that instance for P_Void Depth’s value? then delete the instance?

thanks now I understand :slight_smile:

the parameters you see comes from the “Type”, while what you want is element driven or instance in revit… In other words collect elements and get parameters from that instead of the other way around… it is easy to get types from elements if that also is needed…

By the way, I have nodes for “FamilyName” from “Element” and “ElementType” in my package so it should be doable to get all you need :slight_smile:

I had this discussion the other day… This is more or less the same problem you have :slight_smile:

1 Like

Hmmm… I’ll have a play, I interpret the problem as…

Family Type Parameters Query = Type Parameters

Instance Parameter Query = Instance Parameters & Type Parameters

…You can’t get a Family Instance Parameter from a Family Type

correct :slight_smile:

1 Like

Thanks for letting me know :slight_smile:

Instance is element in dynamo language… more or less :slight_smile:

1 Like