-- Virtual Shikki - table -- minimal grid: 60 my_model(x[3], a[1]) { array xx[3]; array center[3]; xx[1] = x[1]*2; xx[2] = x[2]*2; xx[3] = x[3]*2; center = [0,0,0]; -- table EC1 = hfEllCylY(xx,center,19.9,55); EC2 = hfEllCylY(xx,center,65.0,12.2); plane = xx[2] + 1; Stol = hfBlendInt(EC1,EC2,-0.05,1,1) & plane & -xx[2]; -- table bottom EC3 = hfEllCylY(xx,center,19.4,55); EC4 = hfEllCylY(xx,center,65.0,11.7); bottom = xx[2] + 0.5; Stolbot = hfBlendInt(EC3,EC4,-0.05,1,1) & bottom; -- right leg d_plane = (xx[2]+1)/2.7 + (xx[1]-15)/0.3; u_plane = -(xx[2]+1)/2.7 - (xx[1]-15.8)/0.7; z_slab = (xx[3]+10.75)&(10.75-xx[3]); y_slab = (-0.9-xx[2]) & (xx[2]+3.7); r_leg = d_plane & u_plane & z_slab & y_slab; -- left leg d_plane = (xx[2]+1)/2.7 - (xx[1]+15)/0.3; u_plane = -(xx[2]+1)/2.7 + (xx[1]+15.8)/0.7; z_slab = (xx[3]+10.75)&(10.75-xx[3]); y_slab = (-0.9-xx[2]) & (xx[2]+3.7); l_leg = d_plane & u_plane & z_slab & y_slab; my_model = (Stol \ Stolbot) | r_leg | l_leg; }