Element.Geometry... oh come on

Revit 2020.2 Dynamo 2.3

A generic model in place in Revit - a simple sweep with a profile

Element.Geometry shows the untrimmed geometry, not sure if there is a workaround.

Yeah I’ve seen this behaviour countless times with trimmed surfaces etc. This time it’s not trimmed it’s a swept profile along a path. It’s not even showing the profile correctly.

Yeah :frowning: I had the same with a perimeter beam made with a sweep, had to rebuild with solids and voids…

For this case this would be the workaround:

However I need a universal solution since I expect getting different geometry every time I run it.

1 Like

fastest way to get this improved is to file bugs on DynamoRevit GitHub with graphs/.rvt files that easily reproduce the conversion error -


Hi Michael,
I’ll definitely do so.
However geometry conversion for trimmed faces as mentioned has been a problem for years now, and I’m not sure if I’ve seen improvements.
Could you point me to some information about how geometry conversion actually works internally?

sure, here is the entry point for solids:

in your case I think the issue is with elliptical faces, which should be a specific conversion in the face converter.


Thanks! :slight_smile:
Well in this case both the path and the vault are circular arcs. Can this result into an elliptical face?

When I made the sweep solid (and not hollow on the inside) I got this.
I’m really interested to see why it happens so I’m reading the geometry conversion for faces now.

Hi @viktor_kuzev @cgartland

Yes. There is a workaround for this.

@viktor_kuzev Could you please share rvt file?

Hi Kulkul
Here it is: https://drive.google.com/file/d/1n2sYQYswzAkd4qy_t4Ztosx3tP-NFh3z/view?usp=sharing

Hi @viktor_kuzev

There is a method to get swept Profile in API (GetSweptProfile) but it doesn’t seems to work for In-Place Family. But here is a workaround to rebuild Geometry in Dynamo using the Same Profiles and paths:

For Viktor.dyn (68.1 KB)

I think this is universal. I just used select Model Elements without picking the edges manually.

Hope it Helps!


Hi Kulkul,
As always, you’re back with a nice workaround and this seems to be working for sweeps.
I’m looking for something more universal that works on any geometry input and that’s why I got really interested to find out why the problem exists in first place.
As far as I understand from reading the C# code on the train (and I’m definitely not fluent in reading code) the geometry conversion methods seem to do something similar - they read and rebuild Revit’s geometry.
There seems to be a problem with flipped normals when creating and trimming the surfaces created from these sweeps where there’s an arc involved, so we actually end up with the wrong portion of the surface. Not entirely sure yet.