# Lunchbox

**URL:** <https://forum.dynamobim.com/t/lunchbox/29227>\
**Category:** Geometry\
**Created:** [December 3, 2018, 9:32pm UTC](https://forum.dynamobim.com/t/lunchbox/29227 "2018-12-03T21:32:16Z")\
**Posts on this page:** 1\
**Showing post:** 7

<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:** [December 7, 2018, 6:47am UTC](https://forum.dynamobim.com/t/lunchbox/29227/7 "2018-12-07T06:47:09Z")

</div>

Took a stab at this cuz it looked fun, and sorta reminded me of a big Christmas tree. Winds up it is fun, and I learned a bit in the hour or so it took to do it.

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

First up I had to recreate the initial surface. I wanted to keep it neat though, and save as much RAM as possible, so I did this as a single design script function. One output, many nested functions, more efficient resources.  
 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/9/2/924fa1614c94b592ac940dd8e2087dc42b18fd7f.png)

Next I created some fairly simple function definitions, mostly because I wanted to try calling a custom node inside a custom function for testing in Project Refinery later.

 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/4/b/4ba1f45026714e13a7cf7527b520324e6537bfa3.png)

Then I went to work creating the actual content. 13 design script functions later, I had this:

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

And then I set about coding the content display. Nothing too ground breaking here. A future me might use some image mapping instead of solid colors, but my high value runs had something like 30,000+ final geometries, so my CPU was already mad enough at me, so perhaps keeping it simple was best for now.

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

Lastly I went back and labeled the inputs and set my min/max constraints on them.

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

Hope this helps you find your way. 🙂

---

_[View the full topic](https://forum.dynamobim.com/t/lunchbox/29227)._
