# Get all the geometry embedded on a Revit family Type with Dynamo

**URL:** <https://forum.dynamobim.com/t/get-all-the-geometry-embedded-on-a-revit-family-type-with-dynamo/62441>\
**Category:** Geometry\
**Tags:** revit, python, dynamo\
**Created:** [April 1, 2021, 6:54pm UTC](https://forum.dynamobim.com/t/get-all-the-geometry-embedded-on-a-revit-family-type-with-dynamo/62441 "2021-04-01T18:54:09Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![RubenVivancos](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/rubenvivancos/32/185795_2.png) [@RubenVivancos](https://forum.dynamobim.com/u/RubenVivancos)\
**Post date:** [April 1, 2021, 6:54pm UTC](https://forum.dynamobim.com/t/get-all-the-geometry-embedded-on-a-revit-family-type-with-dynamo/62441/1 "2021-04-01T18:54:09Z")

</div>

hello all,

I supposed that the **Element.Geometry** node shows you the geometry but it is not true majority of times.

> For example I got a revit file with a library of many different revit families of model categories as generic models, site, equipment, furniture and I got more 900 family types and **only 16 had a result of geometry**.
> 
> ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/4/7/47907e9a957f3b82e37552e6bed25f29bd053b51.png)

Therefore, I would like to know how to interrogate the families to get exactly the geometry embedded wether if it is solid, surface, mesh, lines, regions, symbols, points, inserted cad files, faces, whatever.

> For example I had a deeper look to this truck modelled 100% with Revit family geometry, with empty geometry results in Dynamo, and I was expecting to get a list of all solids geometry modelled, if the geometry would be an imported 3d mesh I would understand there is no result, but this is properly modelled.
> 
> ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/5/7/5709a0a8886cdb47c8df32d8a9b62538e1b4d2c8.png)

> Family attached here for your test:  
> [BIMINONE\_Large-14WheelsFlatbedTrailer.rfa](https://forum.dynamobim.com/uploads/short-url/w2ARm8CtQu7hyQPgwoTt7ZhdAKT.rfa) (3.5 MB)

> This is the result that I get for this family example:  
> ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/9/9/999a8bb172a7b3fc1c3da69d956fc3a1f115de91.png)

---

<div class="post-metadata">

**Author:** ![nenad.kovacevicUJ7NU](https://avatars.discourse-cdn.com/v4/letter/n/65b543/32.png) [@nenad.kovacevicUJ7NU](https://forum.dynamobim.com/u/nenad.kovacevicUJ7NU)\
**Post date:** [April 1, 2021, 7:55pm UTC](https://forum.dynamobim.com/t/get-all-the-geometry-embedded-on-a-revit-family-type-with-dynamo/62441/2 "2021-04-01T19:55:54Z")

</div>

Probably there are also a lot of nodes that can do that. My first with node from BimorphNodes v.3.0.3.

 ![youarewelcome](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/7/2/72db21d6de5534dd5be4b33f53c2bad7aa16487a.jpeg)

---

<div class="post-metadata">

**Author:** ![RubenVivancos](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/rubenvivancos/32/185795_2.png) [@RubenVivancos](https://forum.dynamobim.com/u/RubenVivancos)\
**Post date:** [April 1, 2021, 8:44pm UTC](https://forum.dynamobim.com/t/get-all-the-geometry-embedded-on-a-revit-family-type-with-dynamo/62441/3 "2021-04-01T20:44:40Z")

</div>

Thanks Nenad Kovacevic, I don’t want to get only solids, that example was like ideal solid made model, quite rare. Usually you find many combinations of geometry.

I would like to get any geometry from a project file and from a family type stored on a project revit family library, but not placed instance

---

<div class="post-metadata">

**Author:** ![solamour](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/solamour/32/153516_2.png) [@solamour](https://forum.dynamobim.com/u/solamour)\
**Post date:** [April 2, 2021, 10:47am UTC](https://forum.dynamobim.com/t/get-all-the-geometry-embedded-on-a-revit-family-type-with-dynamo/62441/4 "2021-04-02T10:47:10Z")

</div>

@ziyun.shang do you have any thoughts on this one 🙂 ?

---

<div class="post-metadata">

**Author:** ![paris](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/paris/32/144289_2.png) [@paris](https://forum.dynamobim.com/u/paris)\
**Post date:** [April 2, 2021, 11:31am UTC](https://forum.dynamobim.com/t/get-all-the-geometry-embedded-on-a-revit-family-type-with-dynamo/62441/5 "2021-04-02T11:31:08Z")

</div>

> [@Get Geometry of a family which has detail item](https://forum.dynamobim.com/t/get-geometry-of-a-family-which-has-detail-item/46625):
>
> hi guys i’m trying to retrieve the geometry of a family element which has only one detail element the result is No geometry but while i snoop i can see the solid geometry help me out

---

<div class="post-metadata">

**Author:** ![jacob.small](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/jacob.small/32/161030_2.png) [@jacob.small](https://forum.dynamobim.com/u/jacob.small)\
**Post date:** [April 2, 2021, 12:42pm UTC](https://forum.dynamobim.com/t/get-all-the-geometry-embedded-on-a-revit-family-type-with-dynamo/62441/6 "2021-04-02T12:42:25Z")

</div>

Perhaps post an example containing the less rare content? Geometry failing in masse like this is actually extremely rare, and I have found often has to do with geometries which throw one or more suppressed warnings under the hood in Revit (slowing down models but allowing things to work - check your journal for more info).

---

<div class="post-metadata">

**Author:** ![RubenVivancos](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/rubenvivancos/32/185795_2.png) [@RubenVivancos](https://forum.dynamobim.com/u/RubenVivancos)\
**Post date:** [April 6, 2021, 10:30am UTC](https://forum.dynamobim.com/t/get-all-the-geometry-embedded-on-a-revit-family-type-with-dynamo/62441/8 "2021-04-06T10:30:39Z")

</div>

> [@jacob.small](#):
>
> Geometry failing in masse like this is actually extremely rare

there is no bounding box output in the majority of Revit families downloaded from [BIMObject.com](http://BIMObject.com)

---

<div class="post-metadata">

**Author:** ![ziyun.shang](https://avatars.discourse-cdn.com/v4/letter/z/76d3ee/32.png) [@ziyun.shang](https://forum.dynamobim.com/u/ziyun.shang)\
**Post date:** [April 7, 2021, 1:26am UTC](https://forum.dynamobim.com/t/get-all-the-geometry-embedded-on-a-revit-family-type-with-dynamo/62441/9 "2021-04-07T01:26:06Z")

</div>

![FamilyType-14Wheels](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/6/5/654163a6cbf6100ca91383b409f811b0f2e38489.png)

@RubenVivancos , well I just use your file here BIMINONE\_Large-14WheelsFlatbedTrailer.rfa, it seems work well with Element.Geometry.  
I saw your screenshot has a warning on “Element.Geometry” node, what is that?

---

<div class="post-metadata">

**Author:** ![RubenVivancos](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/rubenvivancos/32/185795_2.png) [@RubenVivancos](https://forum.dynamobim.com/u/RubenVivancos)\
**Post date:** [April 7, 2021, 7:39pm UTC](https://forum.dynamobim.com/t/get-all-the-geometry-embedded-on-a-revit-family-type-with-dynamo/62441/10 "2021-04-07T19:39:45Z")

</div>

> [@ziyun.shang](#):
>
> warning on “Element.Geometry” node, what is that?

Hello @ziyun.shang,

> I repeated same than your screenshot for that family only, I get empty results, I tested it in Revit 2018 and Revit 2021 with different Dynamo versions, same results.
> 
> ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/2/f/2fc264fd1033dbae25c7a3a0536dbf2431daea1c.png)

> Warning: One or more geometries have failed to convert due to this error: Unable to trim surface as the input loop geometry could be illegal
> 
> ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/f/c/fc95b4f1446aed25f1769c4c93c0418f5c817ac0.png)

> I tried the node script of Clockwork called Elemen.Geometry+ and I get one family type more with geometry
> 
> ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/c/c/cc25620d34afd7caf97179c688fdcf5a5d51f1e9.png)

> Also I tried with a new python script to get the geometry as well, 15 family types had output and 889 failed to get geometry.
> 
> ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/4/6/46e1688d5689df80dbd58e6917e529ef8fc64936.png)

Nothing works by now as expected and each test had different number of families with geometry output: 15,16,17 🙀

> The only freak solution I get geometry is searching a revit family file but the output is not complete, some geometry disappeared because warning: _Warning: One or more geometries have failed to convert due to this error: Unable to compute edge from curve : IG\_CURVE\_BS3\_COI\_VERTS – Curve or its approximation have coincident control points_
> 
> ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/b/8/b8a64b3edec2bd08d21f2a73c6c44c7285cd423d.png)

---

<div class="post-metadata">

**Author:** ![Michael\_Kirschner2](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/michael_kirschner2/32/75576_2.png) [@Michael\_Kirschner2](https://forum.dynamobim.com/u/Michael_Kirschner2)\
**Post date:** [April 7, 2021, 8:30pm UTC](https://forum.dynamobim.com/t/get-all-the-geometry-embedded-on-a-revit-family-type-with-dynamo/62441/11 "2021-04-07T20:30:46Z")

</div>

try resetting your geometry scaling settings are set to medium, if you have modified them.

---

<div class="post-metadata">

**Author:** ![RubenVivancos](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/rubenvivancos/32/185795_2.png) [@RubenVivancos](https://forum.dynamobim.com/u/RubenVivancos)\
**Post date:** [April 7, 2021, 8:52pm UTC](https://forum.dynamobim.com/t/get-all-the-geometry-embedded-on-a-revit-family-type-with-dynamo/62441/12 "2021-04-07T20:52:43Z")

</div>

> [@Michael\_Kirschner2](#):
>
> scaling settings are set to medium

You are right, scaling was Extra large but I only get geometry of 5 family types more with scaling Medium.

Same result with Large, and Small indicates on element. Geometry node with a warning that scaling has to be increased.

 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/9/8/982dba2eb0a81b370880e0f59c622a32fc076453.png)

> And the geometry appeared with the last trick! 🧐, but I do not consider that option for my workflow
> 
> ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/3/2/32350c897bee9ef197cface2235a688ef3269f00.png)

---

<div class="post-metadata">

**Author:** ![RubenVivancos](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/rubenvivancos/32/185795_2.png) [@RubenVivancos](https://forum.dynamobim.com/u/RubenVivancos)\
**Post date:** [April 8, 2021, 5:00pm UTC](https://forum.dynamobim.com/t/get-all-the-geometry-embedded-on-a-revit-family-type-with-dynamo/62441/13 "2021-04-08T17:00:53Z")

</div>

> [@ziyun.shang](#):
>
> it seems work well with Element.Geometry

Hello,

In your test, was the element placed in the projej before asking the geometry of the Family Type?  
I noticed that if an element of a family type is placed in the project, I can get the geometry of it, but I was expecting to get the geometry of a family type without the need of placing elements on a project.

---

<div class="post-metadata">

**Author:** ![jacob.small](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/jacob.small/32/161030_2.png) [@jacob.small](https://forum.dynamobim.com/u/jacob.small)\
**Post date:** [April 8, 2021, 11:08pm UTC](https://forum.dynamobim.com/t/get-all-the-geometry-embedded-on-a-revit-family-type-with-dynamo/62441/14 "2021-04-08T23:08:57Z")

</div>

no instances at any point here:

 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/7/f/7f7471c3a1630c8074c2c8da573a7d3c3363cc8a.png)

Perhaps you’ve put your model in a bad state? Can you post an RVT reproducing the issue since the RFA doesn’t? This way we an confirm if it’s a system setting on your CPU.

---

<div class="post-metadata">

**Author:** ![hypnos997](https://avatars.discourse-cdn.com/v4/letter/h/f17d59/32.png) [@hypnos997](https://forum.dynamobim.com/u/hypnos997)\
**Post date:** [April 9, 2021, 4:21am UTC](https://forum.dynamobim.com/t/get-all-the-geometry-embedded-on-a-revit-family-type-with-dynamo/62441/15 "2021-04-09T04:21:42Z")

</div>

hello all  
i’m newbie member

---

<div class="post-metadata">

**Author:** ![RubenVivancos](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/rubenvivancos/32/185795_2.png) [@RubenVivancos](https://forum.dynamobim.com/u/RubenVivancos)\
**Post date:** [April 9, 2021, 10:20am UTC](https://forum.dynamobim.com/t/get-all-the-geometry-embedded-on-a-revit-family-type-with-dynamo/62441/16 "2021-04-09T10:20:06Z")

</div>

> [@jacob.small](#):
>
> Can you post an RVT reproducing the issue

I can see Dynamo can get the geometry of the family type if the family has been ever placed in the project and deleted it afterwards, but this is not my goal.

> In this project file that I share you cannot get the geometry because the family has not been ever placed is my conclusion of that behaviour test.
> 
> ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/6/d/6d8c2ef7d54190b587df43e7ee474b74dd5ef849.png)

> When family is ever placed and deleted, this is the result
> 
> ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/6/7/6708bdce2ce8651181ec01c7e103779d03d27eda.png)

> Revit 2021 File Version  
> [GetFamilyTypeGeometryTest.rvt](https://forum.dynamobim.com/uploads/short-url/ySZ6IEFQn3GpULozMawluoinvzI.rvt) (3.8 MB)  
> Dynamo script used:  
> [Get Geometry of a single family type.dyn](https://forum.dynamobim.com/uploads/short-url/qNqL4Lngkkp8qDsAXTXSxWW4vPa.dyn) (3.5 KB)

---

<div class="post-metadata">

**Author:** ![jacob.small](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/jacob.small/32/161030_2.png) [@jacob.small](https://forum.dynamobim.com/u/jacob.small)\
**Post date:** [April 9, 2021, 6:30pm UTC](https://forum.dynamobim.com/t/get-all-the-geometry-embedded-on-a-revit-family-type-with-dynamo/62441/17 "2021-04-09T18:30:19Z")

</div>

Oh think I see what the issue is… looks like you may be trying to get the geometry from an inactive family symbol - that is the project hasn’t computed what is in it just yet. If this is the case, there may be some options, or there may not.

How are you loading the family into the file?

Let me think on this today and see if I can come up with some things to try.

---

<div class="post-metadata">

**Author:** ![RubenVivancos](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/rubenvivancos/32/185795_2.png) [@RubenVivancos](https://forum.dynamobim.com/u/RubenVivancos)\
**Post date:** [April 10, 2021, 4:53pm UTC](https://forum.dynamobim.com/t/get-all-the-geometry-embedded-on-a-revit-family-type-with-dynamo/62441/18 "2021-04-10T16:53:26Z")

</div>

> [@jacob.small](#):
>
> How are you loading the family into the file?

with this python node:

> import clr  
> clr.AddReference(‘RevitAPI’)  
> from Autodesk.Revit.DB import \*
> 
> clr.AddReference(“RevitNodes”)  
> import Revit  
> clr.ImportExtensions(Revit.Elements)
> 
> clr.AddReference(“RevitServices”)  
> import RevitServices  
> from RevitServices.Persistence import DocumentManager  
> from RevitServices.Transactions import TransactionManager
> 
> doc = DocumentManager.Instance.CurrentDBDocument  
> fampaths = IN[0]  
> famnames = IN[1]  
> elementlist =   
> booleans =
> 
> TransactionManager.Instance.EnsureInTransaction(doc)  
> for fampath in fampaths:  
> try:  
> doc.LoadFamily(fampath)  
> booleans.append(True)  
> except: booleans.append(False)  
> TransactionManager.Instance.TransactionTaskDone()
> 
> collector = FilteredElementCollector(doc)  
> collector.OfClass(Family)  
> for item in collector.ToElements():  
> if item.Name in famnames:  
> typelist = list()  
> for famtypeid in item.GetFamilySymbolIds():  
> typelist.append(doc.GetElement(famtypeid).ToDSType(True))  
> elementlist.append(typelist)  
> OUT = (elementlist,booleans)

 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/d/a/da86dcca6aee3ca974b7a3046802e2a41ebf2d3c.png)

---

<div class="post-metadata">

**Author:** ![jacob.small](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/jacob.small/32/161030_2.png) [@jacob.small](https://forum.dynamobim.com/u/jacob.small)\
**Post date:** [April 10, 2021, 5:21pm UTC](https://forum.dynamobim.com/t/get-all-the-geometry-embedded-on-a-revit-family-type-with-dynamo/62441/19 "2021-04-10T17:21:13Z")

</div>

Yeah it looks like the inactive load may be at play. Been awhile since I have run into this though so I may be off base. Let me poke around for a bit next week, but if this pans out nothing would produce that geometry without first generating the geometry in the document. You can’t fetch what doesn’t yet exist. As a test, try opening the model with audit before attempting to fetch the geometry - this might put the geometry in place by performing the full regen on the DB and the missing geometry lines could be resolved that way.

---

<div class="post-metadata">

**Author:** ![RubenVivancos](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/rubenvivancos/32/185795_2.png) [@RubenVivancos](https://forum.dynamobim.com/u/RubenVivancos)\
**Post date:** [April 10, 2021, 6:22pm UTC](https://forum.dynamobim.com/t/get-all-the-geometry-embedded-on-a-revit-family-type-with-dynamo/62441/20 "2021-04-10T18:22:04Z")

</div>

> [@jacob.small](#):
>
> You can’t fetch what doesn’t yet exist. As a test, try opening the model with audit before attempting to fetch the geometry

the script is the same of Clockwork, Load.Family. How can I audit a file that is not saved yet? if so, is that possible to add to the python code?

---

<div class="post-metadata">

**Author:** ![Alban\_de\_Chasteigner](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/alban_de_chasteigner/32/39650_2.png) [@Alban\_de\_Chasteigner](https://forum.dynamobim.com/u/Alban_de_Chasteigner)\
**Post date:** [April 10, 2021, 6:47pm UTC](https://forum.dynamobim.com/t/get-all-the-geometry-embedded-on-a-revit-family-type-with-dynamo/62441/21 "2021-04-10T18:47:06Z")

</div>

You must add the [Activate](https://apidocs.co/apps/revit/2021.1/b4e09402-f6cd-3f48-d01e-ecb87375bac5.htm) method to your script or in another python node.

[Next page](https://forum.dynamobim.com/t/get-all-the-geometry-embedded-on-a-revit-family-type-with-dynamo/62441.md?page=2)
