# Random cladding wall (based on 3 defined widths)

**URL:** <https://forum.dynamobim.com/t/random-cladding-wall-based-on-3-defined-widths/15053>\
**Category:** Revit\
**Created:** [September 23, 2017, 1:37pm UTC](https://forum.dynamobim.com/t/random-cladding-wall-based-on-3-defined-widths/15053 "2017-09-23T13:37:19Z")\
**Posts on this page:** 1\
**Showing post:** 9

<div class="post-metadata">

**Author:** ![Vikram\_Subbaiah](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/vikram_subbaiah/32/50797_2.png) [@Vikram\_Subbaiah](https://forum.dynamobim.com/u/Vikram_Subbaiah)\
**Post date:** [September 24, 2017, 9:12am UTC](https://forum.dynamobim.com/t/random-cladding-wall-based-on-3-defined-widths/15053/9 "2017-09-24T09:12:13Z")

</div>

@w_de_bruijn Something like this?

 ![paneling](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/e/c/ec10155246fee370cdd088292a82e29c9305a860.png)

If so, try to reverse engineer and extend this to serve your purpose …

```
//Facade dimensions
l = 2;
h = 2;

//Panel widths
pw1 = 0.145;
pw2 = 0.095;
pw3 = 0.046;
spc = 0.010;

pw11 = pw1+spc;
pw21 = pw2+spc;
pw31 = pw3+spc;

//Panel count percentage
pwn1 = Math.Floor((0.5*l)/pw11);
pwn2 = Math.Floor((0.3*l)/pw21);
pwn3 = Math.Floor((0.2*l)/pw31);

pw12 = List.Cycle(pw11,pwn1);
pw22 = List.Cycle(pw21,pwn2);
pw32 = List.Cycle(pw31,pwn3);

a = List.Shuffle(Flatten({pw12,pw22,pw32}));
b = Math.Sum(List.TakeItems(a,1..List.Count(a))<1>);
c = b - a;
d = b - spc;

bp = Point.Origin();
dr = Vector.XAxis();

st = bp.Translate(dr,c);
en = bp.Translate(dr,d);
ln = Line.ByStartPointEndPoint(st,en);
sr = ln.Extrude(Vector.ZAxis(),h);
```

---

_[View the full topic](https://forum.dynamobim.com/t/random-cladding-wall-based-on-3-defined-widths/15053)._
