# Wall vertices - in and out

**URL:** <https://forum.dynamobim.com/t/wall-vertices-in-and-out/103710>\
**Category:** Revit\
**Created:** [August 21, 2024, 10:04am UTC](https://forum.dynamobim.com/t/wall-vertices-in-and-out/103710 "2024-08-21T10:04:59Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Alien](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/alien/32/40701_2.png) [@Alien](https://forum.dynamobim.com/u/Alien)\
**Post date:** [August 21, 2024, 10:05am UTC](https://forum.dynamobim.com/t/wall-vertices-in-and-out/103710/1 "2024-08-21T10:05:00Z")

</div>

I have some walls in Revit:

![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/3/0/302f4302d2df7b6efa546af99c3bed58bf5eb0fd.png)

I want to get the verticies of the walls - internal ones and external ones. Badly illustrated :  
 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/1/1/1185cb8faf24990f30e1e5579513dcbec2342472.png)

maybe I could actually do it by using surfaces?

Was trying to do it like this:

 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/6/c/6cab2e864b66c679fc8cb43cac641bcf8f2efabd.jpeg)

Anyone got any fun/ good suggestions?

---

<div class="post-metadata">

**Author:** ![Alien](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/alien/32/40701_2.png) [@Alien](https://forum.dynamobim.com/u/Alien)\
**Post date:** [August 21, 2024, 10:54am UTC](https://forum.dynamobim.com/t/wall-vertices-in-and-out/103710/2 "2024-08-21T10:54:20Z")

</div>

![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/5/5/55d05514518cc74f6adf3d7fe5cfc524ba15b6f5.png)

Trying it with geometry…  
Was looking promising.  
1 - Joined all the lines up and grouped them for inner and outer walls (won’t work if any walls touch the outer wall though…)

2 - I thought the groups of lines would be simply divided by 2 to get inside and outside lines

3 - Nope, because I have different wall thicknesses in the outer walls the line lengths are not the same.

I’m trying to grab start/end points and match but it’s going a bit slowly ☹

So… anyone got better suggestions I’ll happily hear them!

---

<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:** [August 21, 2024, 11:29am UTC](https://forum.dynamobim.com/t/wall-vertices-in-and-out/103710/3 "2024-08-21T11:29:18Z")

</div>

Can you clarify which points you want to grab for a wall which starts on the exterior and runs into the interior?

---

<div class="post-metadata">

**Author:** ![Alien](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/alien/32/40701_2.png) [@Alien](https://forum.dynamobim.com/u/Alien)\
**Post date:** [August 21, 2024, 11:32am UTC](https://forum.dynamobim.com/t/wall-vertices-in-and-out/103710/4 "2024-08-21T11:32:00Z")

</div>

That I don’t know…

I’m just experimenting with the image I’ve currently drawn.

I’ve shelved more difficult questions into, “will think about that… maybe… er… some other unspecified time” .

Basically I want a list of vertices designating the outer boundary.

And I want a core of some kind.

---

<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:** [August 21, 2024, 11:35am UTC](https://forum.dynamobim.com/t/wall-vertices-in-and-out/103710/5 "2024-08-21T11:35:38Z")

</div>

This might be of use then, but it will get a single solid. Might have some link instances to convert to active model elements though.

> [@Fill inside the builing and making it a single mass](https://forum.dynamobim.com/t/fill-inside-the-builing-and-making-it-a-single-mass/99164/15):
>
> This is interesting: Not sure how it will perform on larger projects, but speed is fine by me for smaller stuff. 
> 
> > **The Python Script**
> >
> > ######################################## ############## Properties ############## ######################################## \_\_author\_\_ = 'Jacob Small' \_\_version\_\_ = '0.1.0' \_\_description\_\_ = """ gets the solid mass of the building envelope """ \_\_RevitBuilds\_\_ = "2024.1" \_\_DynamoBuilds\_\_ = "2.18.1&…

Note that it won’t grab the points on the inside of the wall by default, but you could create a thin shell of the solid with a reasonable inner offset and grab any point which intersects that should you want those.

---

<div class="post-metadata">

**Author:** ![pyXam](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/pyxam/32/163009_2.png) [@pyXam](https://forum.dynamobim.com/u/pyXam)\
**Post date:** [August 21, 2024, 11:41am UTC](https://forum.dynamobim.com/t/wall-vertices-in-and-out/103710/6 "2024-08-21T11:41:05Z")

</div>

This is pretty hacky but it looks to get what your image shows.

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

> **Python Script**
>
> ```auto
> import clr
> clr.AddReference('RevitAPI')
> import Autodesk
> from Autodesk.Revit.DB import *
> 
> clr.AddReference('RevitNodes')
> import Revit
> clr.ImportExtensions(Revit.GeometryConversion)
> clr.ImportExtensions(Revit.Elements)
> from Revit.Elements import *
> 
> items = UnwrapElement(IN[0]) if isinstance(IN[0], list) else [UnwrapElement(IN[0])]
> 
> allHorizEdges = []
> 
> opt = Options()
> opt.ComputeReferences = True
> 
> for item in items:
> for obj in item.get_Geometry(opt):
> if isinstance(obj, Solid):
> horizEdges = []
> for edges in obj.Edges:
> if round(edges.AsCurve().GetEndPoint(0).ToPoint().Z, 10) == round(edges.AsCurve().GetEndPoint(1).ToPoint().Z, 10):
> horizEdges.append(edges.AsCurve().ToProtoType())
> if horizEdges:
> minZ = min(edge.StartPoint.Z for edge in horizEdges)
> lowestZEdges = [edge for edge in horizEdges if edge.StartPoint.Z == minZ]
> allHorizEdges.append(lowestZEdges)
> 
> if isinstance(IN[0], list):
> OUT = filter(None, allHorizEdges)
> else:
> OUT = filter(None, allHorizEdges)[0]
> 
> ```

---

<div class="post-metadata">

**Author:** ![Alien](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/alien/32/40701_2.png) [@Alien](https://forum.dynamobim.com/u/Alien)\
**Post date:** [August 21, 2024, 12:01pm UTC](https://forum.dynamobim.com/t/wall-vertices-in-and-out/103710/7 "2024-08-21T12:01:52Z")

</div>

![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/0/e/0e4501f76e829349e56055c5d740402812c0adb6.png)

Amepersand \<3 What a glorious node!!
