import uk.co.nickthecoder.foocad.extras.v1.* import static uk.co.nickthecoder.foocad.extras.v1.Extras.* class ClothesHorseClip : Model { var poleDiameter = 50.5 var elongation = 14 var toDiameter = 8.5 var thickness = 3 var height = 4.5 override fun build() : Shape3d { val inside = Circle( poleDiameter /2 ).hull( Circle( poleDiameter/2 ).translateY(elongation)) val outside = inside.offset( thickness ) val half = RoundedCircularArc( toDiameter/2 + thickness, toDiameter/2, -90, 90 ) .translateY( - thickness -toDiameter/2 - poleDiameter/2 ) val hookR = 20 val hook = RoundedCircularArc( hookR + thickness, hookR, 210, 270 ) .translateY( - thickness -toDiameter - poleDiameter/2 + hookR) val shape = outside - inside + half + hook val main = shape.extrude( height ) return main } }