# Create Wall Finishes With Dynamo

**URL:** <https://forum.dynamobim.com/t/create-wall-finishes-with-dynamo/2149>\
**Category:** Packages\
**Created:** [September 13, 2015, 5:30am UTC](https://forum.dynamobim.com/t/create-wall-finishes-with-dynamo/2149 "2015-09-13T05:30:53Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jocelyn](https://avatars.discourse-cdn.com/v4/letter/j/90db22/32.png) [@Jocelyn](https://forum.dynamobim.com/u/Jocelyn)\
**Post date:** [September 13, 2015, 5:30am UTC](https://forum.dynamobim.com/t/create-wall-finishes-with-dynamo/2149/1 "2015-09-13T05:30:53Z")

</div>

Hi All,

Is is possible to create wall finishes based on Room Names and adjustable finishes height.

Thanks in Advance,

---

<div class="post-metadata">

**Author:** ![Marcel\_Rijsmus](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/marcel_rijsmus/32/8539_2.png) [@Marcel\_Rijsmus](https://forum.dynamobim.com/u/Marcel_Rijsmus)\
**Post date:** [September 13, 2015, 9:37am UTC](https://forum.dynamobim.com/t/create-wall-finishes-with-dynamo/2149/2 "2015-09-13T09:37:54Z")

</div>

Hi,

I think this can be done.

In the lunchbox-package there is a roomelement collector node. One of the outputs is roomboundaries. You could use those to either calculate finishes or place walls on them (minimum thickness is about 2mm). Doors and windows will not be calculated tho. Some of the masters may give you a helping hand on those.

&nbsp;

Marcel

---

<div class="post-metadata">

**Author:** ![Jocelyn](https://avatars.discourse-cdn.com/v4/letter/j/90db22/32.png) [@Jocelyn](https://forum.dynamobim.com/u/Jocelyn)\
**Post date:** [September 13, 2015, 10:15am UTC](https://forum.dynamobim.com/t/create-wall-finishes-with-dynamo/2149/3 "2015-09-13T10:15:04Z")

</div>

Thanks Marcel for Replying,

Any master who can help on this.

---

<div class="post-metadata">

**Author:** ![Jocelyn](https://avatars.discourse-cdn.com/v4/letter/j/90db22/32.png) [@Jocelyn](https://forum.dynamobim.com/u/Jocelyn)\
**Post date:** [September 13, 2015, 11:34am UTC](https://forum.dynamobim.com/t/create-wall-finishes-with-dynamo/2149/4 "2015-09-13T11:34:02Z")

</div>

Hi Marcel,

I am able to getfinishes room boundries. How can i add wall. Can you show me an example.

Thanks,

---

<div class="post-metadata">

**Author:** ![Marcel\_Rijsmus](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/marcel_rijsmus/32/8539_2.png) [@Marcel\_Rijsmus](https://forum.dynamobim.com/u/Marcel_Rijsmus)\
**Post date:** [September 13, 2015, 1:59pm UTC](https://forum.dynamobim.com/t/create-wall-finishes-with-dynamo/2149/5 "2015-09-13T13:59:47Z")

</div>

Hi,

Once you have extracted the boomboundaries you have a set of lines, they are called curves in Dynamo. Feed them in the node wall by curve and level and it will will create the walls. The roomcollectornode will provide you the level.

Marcel

---

<div class="post-metadata">

**Author:** ![Jocelyn](https://avatars.discourse-cdn.com/v4/letter/j/90db22/32.png) [@Jocelyn](https://forum.dynamobim.com/u/Jocelyn)\
**Post date:** [September 13, 2015, 10:51pm UTC](https://forum.dynamobim.com/t/create-wall-finishes-with-dynamo/2149/6 "2015-09-13T22:51:23Z")

</div>

Hi Marcel,

Thanks for replying, I tried i am not getting proper walls its not joining and also i have issue with face also its taking from center.Below are the screenshots.

![Untitled1](https://cdck-file-uploads-us1.s3.dualstack.us-west-2.amazonaws.com/flex022/uploads/dynamobim/original/2X/f/f6f27b76f0b51877d60276b8ae8b7c13424eccf7.png)

---

<div class="post-metadata">

**Author:** ![Johnes\_Hou](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/johnes_hou/32/9469_2.png) [@Johnes\_Hou](https://forum.dynamobim.com/u/Johnes_Hou)\
**Post date:** [September 14, 2015, 1:24am UTC](https://forum.dynamobim.com/t/create-wall-finishes-with-dynamo/2149/7 "2015-09-14T01:24:27Z")

</div>

Hi

you can see this post

[http://dynamobim.com/forums/topic/wall-bycurveandheight-node-request/](http://dynamobim.com/forums/topic/wall-bycurveandheight-node-request/)

[Andreas](http://dynamobim.com/forums/users/andreasdieckmann/ "View Andreas Dieckmann's profile") answer works pretty good.

---

<div class="post-metadata">

**Author:** ![Jocelyn](https://avatars.discourse-cdn.com/v4/letter/j/90db22/32.png) [@Jocelyn](https://forum.dynamobim.com/u/Jocelyn)\
**Post date:** [September 14, 2015, 3:52am UTC](https://forum.dynamobim.com/t/create-wall-finishes-with-dynamo/2149/8 "2015-09-14T03:52:24Z")

</div>

Thanks Johnes,

I tried but Polycurve.offset getting null values.If Possible Can you share with me your dyn files.

![Untitled3](https://cdck-file-uploads-us1.s3.dualstack.us-west-2.amazonaws.com/flex022/uploads/dynamobim/original/2X/f/f2eb6b6301ad88c3beccaf23431056c020e0faae.png)

&nbsp;

---

<div class="post-metadata">

**Author:** ![viktor\_kuzev](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/viktor_kuzev/32/48254_2.png) [@viktor\_kuzev](https://forum.dynamobim.com/u/viktor_kuzev)\
**Post date:** [September 14, 2015, 3:23pm UTC](https://forum.dynamobim.com/t/create-wall-finishes-with-dynamo/2149/9 "2015-09-14T15:23:53Z")

</div>

my solution:

![Capture](https://cdck-file-uploads-us1.s3.dualstack.us-west-2.amazonaws.com/flex022/uploads/dynamobim/original/2X/5/535a9e831e3befd41c98455d7d0ae35a20a31b7f.png)

http://revitexperiments.blogspot.bg/2015/08/automatic-finishing-walls.html

---

<div class="post-metadata">

**Author:** ![Jocelyn](https://avatars.discourse-cdn.com/v4/letter/j/90db22/32.png) [@Jocelyn](https://forum.dynamobim.com/u/Jocelyn)\
**Post date:** [September 14, 2015, 9:01pm UTC](https://forum.dynamobim.com/t/create-wall-finishes-with-dynamo/2149/10 "2015-09-14T21:01:58Z")

</div>

Thanks Viktor,

What’s the python script your using? I checked your blog but its not fully described.

---

<div class="post-metadata">

**Author:** ![Dimitar\_Venkov](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/dimitar_venkov/32/2068_2.png) [@Dimitar\_Venkov](https://forum.dynamobim.com/u/Dimitar_Venkov)\
**Post date:** [September 14, 2015, 9:50pm UTC](https://forum.dynamobim.com/t/create-wall-finishes-with-dynamo/2149/11 "2015-09-14T21:50:34Z")

</div>

Hello Jocelyn.

Viktor has provided a really nice work-flow. There seems to be a problem with the “PolyCurve.Offset” node. The node converts the PC into a curve and the only way to extract the individual curves seems to be with the “Geometry.Explode” node. We should always make sure that we offset the walls correctly. This can be done by evaluating the offset curve’s length compared to the input curve’s length.

You can skip the python code by using the “LunchBox Room Element Collector” as suggested earlier. Also the “List.Combine” node can help with the different wall types. Have a look at the below example:

![2015-09-15_11-15-29](https://cdck-file-uploads-us1.s3.dualstack.us-west-2.amazonaws.com/flex022/uploads/dynamobim/original/2X/0/0668ff365cd3683b765207c508079319080d63ce.png)

The only problem I have with this approach, is doors and other openings:

![2015-09-15_11-26-23](https://cdck-file-uploads-us1.s3.dualstack.us-west-2.amazonaws.com/flex022/uploads/dynamobim/original/2X/5/58dddd9cd4c992e2b20ef610e21f568f85b78e81.png)

---

<div class="post-metadata">

**Author:** ![Jocelyn](https://avatars.discourse-cdn.com/v4/letter/j/90db22/32.png) [@Jocelyn](https://forum.dynamobim.com/u/Jocelyn)\
**Post date:** [September 14, 2015, 11:00pm UTC](https://forum.dynamobim.com/t/create-wall-finishes-with-dynamo/2149/12 "2015-09-14T23:00:08Z")

</div>

Thanks Dimitar,

It works! But there is a problem with wall with finish without using dynamo finish layer comes below wrap. If i use Dynamo it comes above. Is there any solution for this. Below is the Screenshot.

![Untitled](https://cdck-file-uploads-us1.s3.dualstack.us-west-2.amazonaws.com/flex022/uploads/dynamobim/original/2X/8/81362b7104d6922b8fe170bf72663ea9e3ea2da4.png)

---

<div class="post-metadata">

**Author:** ![viktor\_kuzev](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/viktor_kuzev/32/48254_2.png) [@viktor\_kuzev](https://forum.dynamobim.com/u/viktor_kuzev)\
**Post date:** [September 15, 2015, 12:12am UTC](https://forum.dynamobim.com/t/create-wall-finishes-with-dynamo/2149/13 "2015-09-15T00:12:38Z")

</div>

Hi. For the problem with the doors and windows at the end of my definition I’m using python again to join the walls:

![2](https://cdck-file-uploads-us1.s3.dualstack.us-west-2.amazonaws.com/flex022/uploads/dynamobim/original/2X/7/7ce5acbe858b0fb930230ab12dcf884863553b5a.jpg)

---

<div class="post-metadata">

**Author:** ![Dimitar\_Venkov](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/dimitar_venkov/32/2068_2.png) [@Dimitar\_Venkov](https://forum.dynamobim.com/u/Dimitar_Venkov)\
**Post date:** [September 15, 2015, 8:07am UTC](https://forum.dynamobim.com/t/create-wall-finishes-with-dynamo/2149/14 "2015-09-15T08:07:55Z")

</div>

Thanks for sharing, Viktor. I understand the process now and why you need the excellent “Room.Boundaries” node from clockwork. However Revit seems to misbehave some times and provide more boundaries curves than available boundary walls:

![2015-09-15_21-33-35](https://cdck-file-uploads-us1.s3.dualstack.us-west-2.amazonaws.com/flex022/uploads/dynamobim/original/2X/4/40e573c839080df58bacdcbc245c9bfbefaf36b3.png)

One way of avoiding this, is by implementing some neat geometry checks and finding out which wall is the nearest to said boundary. This is building up on the previous work-flow:

![2015-09-15_21-28-20](https://cdck-file-uploads-us1.s3.dualstack.us-west-2.amazonaws.com/flex022/uploads/dynamobim/original/2X/a/a8f95eebb2b4b731023f27391c689ef921019422.png)

Some slight suggestions on the python code:

![2015-09-15_21-28-32](https://cdck-file-uploads-us1.s3.dualstack.us-west-2.amazonaws.com/flex022/uploads/dynamobim/original/2X/7/79958774a2008685813ab3c75b589051a6406d4d.png)

And the end result:

![2015-09-15_21-30-11](https://cdck-file-uploads-us1.s3.dualstack.us-west-2.amazonaws.com/flex022/uploads/dynamobim/original/2X/e/ec2b481087d03b0887f9cd569481798974a06185.png)

---

<div class="post-metadata">

**Author:** ![viktor\_kuzev](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/viktor_kuzev/32/48254_2.png) [@viktor\_kuzev](https://forum.dynamobim.com/u/viktor_kuzev)\
**Post date:** [September 15, 2015, 11:51am UTC](https://forum.dynamobim.com/t/create-wall-finishes-with-dynamo/2149/15 "2015-09-15T11:51:21Z")

</div>

Thanks for the clear Python code, Dimitar. Although in my case I really need the double for.

For some strange reason the join command from the API does not work when the walls are only touching (I can still join them manually in Revit). When there’s a slight overlapping the join command from the API does work.

---

<div class="post-metadata">

**Author:** ![Jocelyn](https://avatars.discourse-cdn.com/v4/letter/j/90db22/32.png) [@Jocelyn](https://forum.dynamobim.com/u/Jocelyn)\
**Post date:** [September 15, 2015, 1:32pm UTC](https://forum.dynamobim.com/t/create-wall-finishes-with-dynamo/2149/16 "2015-09-15T13:32:27Z")

</div>

Thanks Dimitar & Viktor,

@Dimitar i am getting error in python script. Am i missing something?

&nbsp;

![Untitled](https://cdck-file-uploads-us1.s3.dualstack.us-west-2.amazonaws.com/flex022/uploads/dynamobim/original/2X/e/e4793a3084ce94fe335e8c8d618c42fb323f26da.png)

---

<div class="post-metadata">

**Author:** ![Dimitar\_Venkov](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/dimitar_venkov/32/2068_2.png) [@Dimitar\_Venkov](https://forum.dynamobim.com/u/Dimitar_Venkov)\
**Post date:** [September 15, 2015, 8:55pm UTC](https://forum.dynamobim.com/t/create-wall-finishes-with-dynamo/2149/17 "2015-09-15T20:55:50Z")

</div>

Hello Jocelyn,

It looks like an extra space snuck in front of the “except”. Could you try deleting everything before it on the line and pressing the “Tab” key twice?

---

<div class="post-metadata">

**Author:** ![Jocelyn](https://avatars.discourse-cdn.com/v4/letter/j/90db22/32.png) [@Jocelyn](https://forum.dynamobim.com/u/Jocelyn)\
**Post date:** [September 15, 2015, 10:46pm UTC](https://forum.dynamobim.com/t/create-wall-finishes-with-dynamo/2149/18 "2015-09-15T22:46:06Z")

</div>

Hi Dimitar,

“except” error is gone but now another error comes in {"File “\<string\>”, line 17, in \<module\>TypeError: len() of unsized object}.

![Untitled](https://cdck-file-uploads-us1.s3.dualstack.us-west-2.amazonaws.com/flex022/uploads/dynamobim/original/2X/9/95b310afad790112588f6a51446cda5a175e65c8.png)

&nbsp;

---

<div class="post-metadata">

**Author:** ![Dimitar\_Venkov](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/dimitar_venkov/32/2068_2.png) [@Dimitar\_Venkov](https://forum.dynamobim.com/u/Dimitar_Venkov)\
**Post date:** [September 15, 2015, 11:15pm UTC](https://forum.dynamobim.com/t/create-wall-finishes-with-dynamo/2149/19 "2015-09-15T23:15:40Z")

</div>

Hmm. The code is expecting a list of items and I guess you’re inputting a single wall? If you’d like, you could try my version of the graph:

[Wall Finishes](http://dynamobim.com/wp-content/uploads/forum-assets/dimiter_vmail-bg/09/16/Wall-Finishes.dyn)

&nbsp;

---

<div class="post-metadata">

**Author:** ![Jocelyn](https://avatars.discourse-cdn.com/v4/letter/j/90db22/32.png) [@Jocelyn](https://forum.dynamobim.com/u/Jocelyn)\
**Post date:** [September 15, 2015, 11:40pm UTC](https://forum.dynamobim.com/t/create-wall-finishes-with-dynamo/2149/20 "2015-09-15T23:40:27Z")

</div>

Thanks Dimitar your graph works,

Question, Can the finishes be trim outside the door mullion?

![Untitled1](https://cdck-file-uploads-us1.s3.dualstack.us-west-2.amazonaws.com/flex022/uploads/dynamobim/original/2X/1/1c0138dfe63bbf92379970858ce5823105295796.png)

[Next page](https://forum.dynamobim.com/t/create-wall-finishes-with-dynamo/2149.md?page=2)
