functional language for computing with geometry
DEF Radial22Obj (Obj::IsPol) = STRUCT:< The20Obj, R:<1,2>:((20*PI)/11), The2Obj > WHERE The4Obj = (STRUCT ~ ##:4):< Obj, R:<1,2>:(PI/11) >, The2Obj = (STRUCT ~ ##:2):< Obj, R:<1,2>:(PI/11) >, The20Obj = (STRUCT ~ ##:5):< The4Obj, R:<1,2>:((4*PI)/11) > END;
DEF InternalCol = (MKPOL ~ UKPOL ~ T:2:((r0 - 2)) ~ Column):<1.5,hCol>;
DEF The22Columns = Radial22Obj: InternalCol;
DEF Beam = Q:<-0.5,1.5,2,1.5> * Q:<2.2> * Q:1.5;
DEF CurvedBeam = (cylMap ~ T:<2,3>:<(r0 - 2),hcol> ~ S:1:(PI/(11*5)) ):Beam;
DEF The22Beams = Radial22Obj:CurvedBeam; % STRUCT:< The22Columns, The22Beams >;