$fn = 60;

module extHaut(){
    translate([7, 7, 130])
        resize([45, 45, 50])
            sphere();
}

module intHaut(){
    translate([7, 7, 130])
        resize([40, 40, 45])
            sphere();
}

module extBas(){
    resize([100, 100, 130])
        sphere();
};

module intBas(){
    resize([95, 95, 123, 5])
        sphere();
};

module tubeHaut(){
    translate([0, 0, 95])
            cylinder(35, 12, 12);
    };
    
module tubeBas(){
    translate([0, 0, 61])
            cylinder(35, 12, 12);
};  
module tubeInt(){
    cylinder(120, 7, 7);
};

module bas(){
    difference(){
        extBas();
        intBas();
    };
    tubeBas();
};

module haut(){
        difference(){
            tubeHaut();
            extHaut();
        };
        difference(){
            extHaut();
            intHaut();
        };
};
  

module calebasse(){
    difference(){
        union(){
            bas();
            haut();
        };
        tubeInt();
    };
};


difference(){
    calebasse();
    translate([-100, -100, 0])
        cube([100, 100, 200]);
};