import uk.co.nickthecoder.foocad.gears.v1.* class Spiro : Model { @Custom var config = GearConfig.lego()//(1, 20, 0.05) override fun build() : Shape3d { val thickness = 1 val involute8 = config.teeth( 8 ) val spurGear = involute8.spurProfile().extrude(thickness) val spurGear2 = spurGear .rotateZ( 180 / involute8.toothCount ) .translateX( involute8.pitchDiameter() ) val involute20 = config.teeth( 20 ) val planetGear = involute20.planetProfile(2) .extrude(thickness) .translateX( -6 ) .color("Green") return spurGear + planetGear } }