Exit Full View
Up

/Furniture/IroningBoardFoot.foocad

IroningBoardFoot
FooCAD Source Code
/*
The plastic feet on my ironing board have broken. Go 3D printer ;-)

A minimal "plain" look.

A 2 part piece to be glued together.
NOTE. the foot doesn't point downwards. See "<No Piece>" for the angle 

Print Notes

    Print using TPU (or other rubbery material)
    Glue the two pieces using CA glue.
    Use the "Tile" Model Extension to print all 4 pairs in one go.
*/

class IroningBoardFoot : Model {
    
    var diameter = 28.5

    var height = 30

    var baseThickness = 2.0
    var thickness = 1.2
    var bulge = 4.8 // Original was 4.8, but try 6.0
    var tipHeight = 5.7 // Original was 5.7 (change to 6.0)

    @Piece
    fun main() = PolygonBuilder().apply {
            moveTo(0,baseThickness)
            lineTo(diameter/2, baseThickness)
            lineTo(diameter/2, height )
            lineTo(diameter/2 + thickness, height )
            bezierTo(Vector2( diameter/2 + bulge, height*0.25), Vector2( diameter/2 + thickness, 0) )
            lineTo( 0, 0 )
        }.build().revolve()

    @Piece
    fun tip() = PolygonBuilder().apply {
        val x = diameter*0.5 + thickness
        moveTo( 0,0 )
        lineTo( 0, tipHeight )
        bezierTo( Vector2( x*0.8, tipHeight ), Vector2( x, 0 ) )
        }.build().revolve()

    @Piece
    fun pair() = main() + tip().translateX( diameter + thickness*2 + 1 )
    
    override fun build() : Shape3d {
        return (main() + tip().mirrorZ().color("Grey")).rotateY(80)
    }

}