# Creating Wall finish depending on Wall Type

**URL:** <https://forum.dynamobim.com/t/creating-wall-finish-depending-on-wall-type/74316>\
**Category:** Revit\
**Tags:** revit, geometry, dynamo\
**Created:** [March 14, 2022, 12:22pm UTC](https://forum.dynamobim.com/t/creating-wall-finish-depending-on-wall-type/74316 "2022-03-14T12:22:41Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![Laura\_BIMChick](https://avatars.discourse-cdn.com/v4/letter/l/bbce88/32.png) [@Laura\_BIMChick](https://forum.dynamobim.com/u/Laura_BIMChick)\
**Post date:** [March 14, 2022, 12:22pm UTC](https://forum.dynamobim.com/t/creating-wall-finish-depending-on-wall-type/74316/1 "2022-03-14T12:22:42Z")

</div>

My goal is to create a script that creates wall finishes in a selection of rooms, depending on the wall type.  
Concrete walls get a thick plaster, masonry walls get a thin plaster.  
I was able to match a finish wall type to the already existing construction walls (still need to do some more work on this and also look for walls that don’t need a finish) but I ran into some problems…  
The finish walls that are created are created on the middle of the interior face of the construction wall, so that means there is an overlap.

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

I can go 2 ways from here:  
Offset the curves before creating the finish walls  
OR  
Offsetting/moving the finish walls after they are created.

Either way this has to do with coordinate systems and vectors in order to move them in the correct direction. And I have no clue nor understand this part and how to do it.

Any advice and help on how to move the geometry in the correct direction is very welcome.  
[DYN\_wall\_finishes.dyn](https://forum.dynamobim.com/uploads/short-url/ajqLC5yiumzQGxbUb1qymebVfSr.dyn) (130.4 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:** [March 14, 2022, 12:30pm UTC](https://forum.dynamobim.com/t/creating-wall-finish-depending-on-wall-type/74316/2 "2022-03-14T12:30:37Z")

</div>

An idea: add 1/2 of the thickness of the plaster to the distance of the offset in the code previously discussed here [Wall location curve - #24 by jacob.small](https://forum.dynamobim.com/t/wall-location-curve/14056/24) ?

---

<div class="post-metadata">

**Author:** ![Laura\_BIMChick](https://avatars.discourse-cdn.com/v4/letter/l/bbce88/32.png) [@Laura\_BIMChick](https://forum.dynamobim.com/u/Laura_BIMChick)\
**Post date:** [March 14, 2022, 12:41pm UTC](https://forum.dynamobim.com/t/creating-wall-finish-depending-on-wall-type/74316/3 "2022-03-14T12:41:04Z")

</div>

@jacob.small Yes this worked.

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

My savior once again, thank you! 🙂

---

<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:** [March 14, 2022, 12:42pm UTC](https://forum.dynamobim.com/t/creating-wall-finish-depending-on-wall-type/74316/4 "2022-03-14T12:42:58Z")

</div>

Looking forward to that OG thread update… or even better an AU or Community Conversation proposal. 🙂

---

<div class="post-metadata">

**Author:** ![Laura\_BIMChick](https://avatars.discourse-cdn.com/v4/letter/l/bbce88/32.png) [@Laura\_BIMChick](https://forum.dynamobim.com/u/Laura_BIMChick)\
**Post date:** [March 14, 2022, 4:27pm UTC](https://forum.dynamobim.com/t/creating-wall-finish-depending-on-wall-type/74316/5 "2022-03-14T16:27:00Z")

</div>

@jacob.small Haha when and where?

But about the script, I’m going to need to switch to the room boundaries for the curves since walls usually span multiple rooms so the wall faces are not gonna work…  
But I have no idea how to move the curves from the room boundaries in the correct direction to compensate for the thickness of the finish…

 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/0/0/00d04288e0600353ae6915c0352e5988b7fdd662.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:** [March 14, 2022, 4:45pm UTC](https://forum.dynamobim.com/t/creating-wall-finish-depending-on-wall-type/74316/6 "2022-03-14T16:45:19Z")

</div>

> [@Laura\_BIMChick](#):
>
> Haha when and where?

Autodesk University is here: [https://www.autodesk.com/autodesk-university/conference/call-for-proposals](https://www.autodesk.com/autodesk-university/conference/call-for-proposals)  
Community Conversations proposal is here: [https://autodeskfeedback.az1.qualtrics.com/jfe/form/SV\_6ofmUCJ943S4BBI](https://autodeskfeedback.az1.qualtrics.com/jfe/form/SV_6ofmUCJ943S4BBI)

For the room boundaries method, I’d take the curves, build a polycurve, explode that polycurve, and then offset by -1/2 of the thickness. You’ll have faces partially overlapping which could cause some issues, but since they are all walls and aligned to each other Revit’s built in cleanup utilities may resolve it (we can hope so anyway). If not you’ll have to offset, then trim/extend as needed to get a closed loop.

---

<div class="post-metadata">

**Author:** ![Laura\_BIMChick](https://avatars.discourse-cdn.com/v4/letter/l/bbce88/32.png) [@Laura\_BIMChick](https://forum.dynamobim.com/u/Laura_BIMChick)\
**Post date:** [March 14, 2022, 5:00pm UTC](https://forum.dynamobim.com/t/creating-wall-finish-depending-on-wall-type/74316/7 "2022-03-14T17:00:16Z")

</div>

I’ll take a look at it.

I was able to do the polycurve and explode it.  
I’m able to get the offset value.  
Joining in the corners I also already have covered, but trimming would be better, is this possible in dynamo?

But I have no idea how to offset the curves in the right direction - towards the interior/middle of the room…

---

<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:** [March 14, 2022, 5:01pm UTC](https://forum.dynamobim.com/t/creating-wall-finish-depending-on-wall-type/74316/8 "2022-03-14T17:01:37Z")

</div>

Using the negative value should work once you make the polycurve. 🙂

---

<div class="post-metadata">

**Author:** ![Laura\_BIMChick](https://avatars.discourse-cdn.com/v4/letter/l/bbce88/32.png) [@Laura\_BIMChick](https://forum.dynamobim.com/u/Laura_BIMChick)\
**Post date:** [March 14, 2022, 5:01pm UTC](https://forum.dynamobim.com/t/creating-wall-finish-depending-on-wall-type/74316/9 "2022-03-14T17:01:58Z")

</div>

So offset the polycurve before exploding?

---

<div class="post-metadata">

**Author:** ![Laura\_BIMChick](https://avatars.discourse-cdn.com/v4/letter/l/bbce88/32.png) [@Laura\_BIMChick](https://forum.dynamobim.com/u/Laura_BIMChick)\
**Post date:** [March 14, 2022, 5:06pm UTC](https://forum.dynamobim.com/t/creating-wall-finish-depending-on-wall-type/74316/10 "2022-03-14T17:06:43Z")

</div>

Never mind, kinda figured it out:  
I fed the roomboundary curves into the node instead but they match with the direction of the room bounding elements that create the curves and removed the distance, so this works!

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

---

<div class="post-metadata">

**Author:** ![Laura\_BIMChick](https://avatars.discourse-cdn.com/v4/letter/l/bbce88/32.png) [@Laura\_BIMChick](https://forum.dynamobim.com/u/Laura_BIMChick)\
**Post date:** [March 15, 2022, 1:12pm UTC](https://forum.dynamobim.com/t/creating-wall-finish-depending-on-wall-type/74316/11 "2022-03-15T13:12:39Z")

</div>

Okay so I didn’t figure it out, as I’m testing the script on a bigger scale I’m running into more trouble/problems…

So first thing, right now the script can only use walls, and not columns… So I’m gonna have to throw them into the mix somewhere/somehow…

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

Second, offset for freestanding/interior walls is not correct, because they have both an interior and exterior side so the offset on the exterior side is not correct…

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

Thirdly, the end off freestanding walls is not generated since the curve is apparently not linked to the wall element.

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

Most of this can be solved if I can just get all the room boundary curves to offset into the direction of the interior/middle of the room. Only the offset distance should depend on the room bounding element, but the offset direction should not… 😩

---

<div class="post-metadata">

**Author:** ![Laura\_BIMChick](https://avatars.discourse-cdn.com/v4/letter/l/bbce88/32.png) [@Laura\_BIMChick](https://forum.dynamobim.com/u/Laura_BIMChick)\
**Post date:** [March 15, 2022, 4:38pm UTC](https://forum.dynamobim.com/t/creating-wall-finish-depending-on-wall-type/74316/12 "2022-03-15T16:38:04Z")

</div>

Apparently this node from Wombat package does the trick!  
 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/f/8/f80e8f6dc0e26fe3e7e409d83559b5c5b143aa94.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:** [March 15, 2022, 6:43pm UTC](https://forum.dynamobim.com/t/creating-wall-finish-depending-on-wall-type/74316/13 "2022-03-15T18:43:23Z")

</div>

Starting with the rooms is easier for the direction of curves as you can just use the Room.FinishBoundaries node which returns a consistent direction. However that means you lose the capability to drive the offset from the substrate type. You also risk putting a finish where you don’t need it (ie: over a typical stud wall).

A better solution might be to go back to the wall, offset by the relative thickness both inside and outside, test if those curves intersect the room and discard any which do not. That won’t ‘cap’ your walls though, but I think y here are alternative solutions there.
