Importing Dynamo Geometry into Revit as a Mass

Hi everyone,
This is a basic question but took my days. I looked at the forum but couldn’t find my solution, so forgive me if I’m wrong. I’m trying to import the geometry I have in Dynamo to Revit but no luck. If I use ImportInstance.ByGeometry, solids come as symbols which cannot be attained materials.
Here they also mentioned it.

What I basically want to have is to import this geometry and color them as I want inside Revit. I even tried to use Springs.FamilyInstance.ByGeometry, so I created a conceptual mass family. Even the graph looks like working with no error the geometry is not visible in the view. I checked visibility and everything looks ok.
What I should do? How can I import these geometries into Revit just like they are created as conceptual in-place masses?



//This is another thread though :slight_smile: :
I’m saying in-place mass because I couldn’t find a way to parameterize it. I created instance parameters inside this conceptual mass to change the material but when I import them into Revit, mass family like this only can have one material controlled by object styles and need manual modification. But in-place masses can be given any color that defined in the materials. I’d appreciate your assistance on this subject as well.


I also tried to create a generic model family to be parametrical but couldn’t do it in that way either.


You have a lot of stuff going on in this post :slight_smile: maybe split it out?

a couple of things…

the geometry is not visible in the view. I checked visibility and everything looks ok

Just to double check that the visibility mass box is checked in your view settings?

to import this geometry and color them as I want inside Revit

The Springs node states that it will only use the material if it exists in the family template.

Could you post your files for us to look at?

Hope that helps,


Mark hi :slight_smile:
You are right, it’s my bad I wrote it too complicated. I basically want to get the Dynamo Cuboids inside my Revit project file as masses or generic models.
For now, I’ll color them inside Revit. In the later stages, I might try to parameterize the color issue but now it’s simple.

I checked the visibility box. It’s ok and visible.

I attached a basic Dynamo sample file since my own project file is too big. It can be experimented on any Revit floor surfaces. I selected a floor face for an example.

Cuboids to Revit.dyn (25.3 KB)


It seems to work for me…

Edit: Though if I try to edit the family there doesn’t seem to be any geometry? Maybe @Dimitar_Venkov can help?
Cuboids to Revit-MKA.dyn (40.1 KB)

1 Like

maybe directshape it first

Hi Marcel,

Sorry but the only Direct Shape methods I know are to bring the geometry into Revit, I don’t know how it can be done first?

Also, I don’t believe the Direct Shape can then be edited as a family afterwards? You can’t add parameters etc… Unless I am missing something?



1 Like

you are probably right,
i can’t test
no revit here. i do it all from memory these days

1 Like

Thanks for the answer,
I used your graph and changed the material name after I created one with the same family name, changed material name only to “DefaultBlue” which I set in the material browser.
But after that, it did not give me colored boxes. Still transparent even ‘realistic view’ is open and masses are visible. I know I can modify it from ObjectStyles but I want to be able to apply various, different colors to these masses. Do you know any way to apply like this?

Maybe, - I thought - masses don’t give us the chance to colorize them unless they are worked inside a conceptual mass file. That would be great if I could get the families like you extracted but could them be given materials through instance parameters. I attached the generic model I did for this purpose. So later I can also edit their width, depth and height parameters whenever needed inside the Revit or by setting values in Dynamo.
Equipment Solid.rfa (368 KB)

1 Like


As mentioned above, the material has to exist in the template file first?

So edit your template, add the materials, then run it…

Or work out how to add materials to templates from Dynamo :smiley:



to get the materials inside the family you can transfer project standards (just materials ticked), that way they are the same too


I tested DirectShape also but as @Mark.Ackerley said material parameter couldn’t be added to that. Bc, it simply doesn’t get any family template inputs.
Here are the results:

Just one color can be added that way.

create more familytypes (blue,green,yellow)??
color by filter? (typeName equals)?

If I create them as Generic Models, they can then be edited within the family and they have materials…

1 Like

If you want materials per generic model…

@Mark.Ackerley and @Marcel_Rijsmus thank you for the examples you’ ve provided. As I did like you did Metric Generic Model, there are many families created, that’s ok. I have to get inside those families and transfer the materials fro the project file each time. Even that can be like that right now as a temporary solution, what I’ve wanted to achieve was like to have these generic models created as default cuboids first. Then by the .rfa file that I created (“Equipment Solid”), which is based on the Metric Generic Model in the first place, I want to be able to change materials inside the Revit file whenever I want. Either my parameter definition is not right in the .rfa or it can’t be done.
I did my graph like yours and would appreciate if you tell me where I’m wrong at.
I also transferred the project materials inside this .rfa (DefaultBlue, DefaultGreen, DefaultPink).

Cuboids to Revit.dyn (43.9 KB)
Equipment Solid.rfa (776 KB)

Ok, no worries, so hopefully you just need to reorder your graph, with a couple of new bits…

Maybe something like this?

  1. Create Solid
  2. Create Family from Solid.
  3. Duplicate Family
  4. If you want to control your material by type, you could make a new type with the other material applied
  5. Set ‘other’ families to new type
1 Like

I looked into pushing materials from projects into this awhile back. I recall that I had to jump through some hoops.

  1. Load a default template containing a material parameter in it (but no geometry) into the project first.
  2. Duplicate the family type X times to allow for each material I wanted.
  3. Assign the materials I wanted to the parameter value in each type.
  4. Save out the rfa.
  5. Change the file extension to rft.
  6. Use that as my template for the direct shape.

It was messy, slow, and hard to manage long term.

Sadly, I was unable to assign a parameter as a material directly (we had a deadline and all the materials were available in the document after I did the pushing so we just let element binding manage it for us).