FooCAD Source Code
class LazySusanSpacer : Model {
var size = Vector3(95.5, 95.5, 3)
var edge = Vector2(1, 1.2)
var holeDelta = Vector2( 6.5, 6.5 )
override fun build() : Shape3d {
val main = Cube( size.x + edge.x*2, size.y + edge.x*2, size.z + edge.y ).centerXY() -
Cube( size.x, size.y, size.z + size.z + edge.y ).centerXY().translateZ( size.z ) -
Cylinder( size.z * 3, size.x *0.45 ).center()
val hole = Cylinder( size.z * 3 , 3 ).center()
.translateX( size.x/2 - holeDelta.x )
.translateY( size.y/2 - holeDelta.y )
val holes = hole.mirrorX().also().mirrorY().also()
return main - holes
}
}