Create Mass Form from Base Profile in Project Environment


Has anyone had any luck creating family parameters from Dynamo? I realise some of the issues in what I’m proposing but for simple parameters like overall height and material of a mass I imagine it would be possible. I’m looking for a workflow which creates a solid form within a massing family and has basic instance parameters created through Dynamo, like height and material. This might be done by selecting a filled region or model lines from the Revit project as a base profile for Dynamo to generate a solid which can have these basic parameters still editable without Dynamo open. Ideally this would all be done within the Revit Project window too, not a family template.

Or maybe it’s possible to have a basic massing family already setup and Dynamo pushes a custom profile (from a filled region or model lines) into the family.

Any useful links or advice you could share is appreciated :slight_smile:


Hi @Matthew_Mcfetridge,

I had a similar question from a Dynamo user in my company, we wanted to add a whole load of Shared Parameters to a family but couldn’t find a node to do it.

Here is a demo of it in action…

If this seems useful to you I’ll upload the .dll. It is written out of Dynamo (hence the .dll format) but you can add to your library by creating a custom package so you don’t need to keep adding each time.


Hi @Daniel_Woodcock1, thanks for the reply!

This is an interesting workflow and thanks for sharing but I’m looking for Dynamo to do something a little different. As with standard mass family creation you might sketch an outline, create form and use the ‘label -> create parameter’ to add a parameter associated with height so you can control the height of the extrusion. I’m looking for a way to do this through Dynamo.

The extrusion has a start and end point so I’d imagine you could re-create that reference through Dynamo and associate a parameter for it (instance type) so that once the form has been created you can adjust the height with Dynamo closed.

Hi @Matthew_Mcfetridge,

I see what you mean, it is possible with the Revit API, Jeremy Tammik explains it here in this post (Revit API not Dynamo)…

I’m not near a computer for a while so can’t trial it out. If I get some time in the next week I’ll try and see if I can create a node out of this, but can’t promise anything though.


Hi @Matthew_Mcfetridge @Daniel_Woodcock1
Yes its possible. Stay tune for some dynamo action :smile:

Hi @Kulkul, @Daniel_Woodcock1 thanks for your replies! Look forward to seeing how this works out :smile:

Is this what your looking for?


Hi @Kulkul,

Yes I think that is! Would you mind sharing the Python code or if you have any links for me to refer to :slight_smile: ?

If the Length, Width and Height parameters are also editable parameters in the family object outside of Dynamo too that would be it! Or is this a ‘baked’ SAT once its imported into Revit?

@Matthew_Mcfetridge Yes it is editable outside dynamo. I will soon drop python just away from my PC.

@Matthew_Mcfetridge here are the files:

Family.rfa (540 KB)

Set parameter family environment.dyn (3.4 KB)


Could you please upload the .dll? This is exactly what I’m looking for.


You can find the .dll here as the forum doesn’t support .dll’s (which makes sense)


1 Like

Thanks everyone for your feedback! @Kulkul you’re method looks promising for what I’m after! I’ll have a look at the definition soon

@Kulkul thanks for the definition. What I am looking to do is create an inplace mass family within the project environment. I can across this post regarding Revit API, do you share the same opinion?

Is it not possible to create inplace mass families through Dynamo?

Unfortunately not. Revit API does not support any of the in place modes. (including mass, component or Groups)

1 Like

Thanks @Einar_Raknes, I’ve been doing some more research and come across the same result…

It seems I can get something ‘close’ to what I’m after with Direct Shapes (DirectShape.ByGeometry) method but the imported geometry is tessellated even for cube shapes so graphically isn’t that nice.

1 Like