functional language for computing with geometry
DEF Trellis (H,L::IsRealPos) = (R:<2,3>:(PI/2) ~ EMBED:1 ~ MKPOL): <<<0,0>,<L/3,0>,<2*L/3,0>,<L,0>,<2*L/3,H/3>,<L/3,2*H/3>,<0,H>>, <<1,2>,<2,3>,<3,4>,<4,5>,<5,6>,<6,7>,<7,1>,<1,6>,<6,2>,<2,5>,<5,3>>, <1..11> > ;
DEF Radial (n::IsIntPos)(obj::IsPol) = (STRUCT ~ ##:3):<(STRUCT ~ ##:(n/3)):< obj, R:<1,2>:(2*PI/n)>, R:<1,2>:(2*PI/3) >;
DEF TrellisTop3D = (T:2:-0.25 ~ S:2:0.5 ~ OffSet:<1,1,1> ~ Trellis):<hcol,r0 - 1>;
DEF TheTopTrellis = T:3:(3.5*hcol): TrellisTop3D;
DEF TopTrellis = Radial:12: TheTopTrellis;