/* A replacement feet for the "Bardu" Ikea wardrobe. * * This is the part which connect the wheels under the wardrobe, see picture 13 at * http://www.ikeafans.com/forums/ikea-instructions/21177-bardu-storage-instructions-annotated.html * * Hanno had one of those broken, and Ikea said they can't provide a replacement. * So Hanno had the good idea to request help on reprap forums : * http://forums.reprap.org/read.php?95,141030 * It turned out to be a nice application for a 3d printer. Why buy a whole new wardrobe * when you can repair it for virtually no cost with a reprap ? * * This is the second version, instead of keeping the original flawed design of that part, * which nearly seems was actually designed to break after some time, let's align the wheel * axis with the weight of the wardrobe. * * * Copyright (C) 2012-2014 Guy 'DeuxVis' Poizat * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * -- * DeuxVis - device@ymail.com */ wheel_holder_od = 18.6; //18.4 measured wheel_holder_id = 10.6; //10.0 measured base_length = 43.6; //45.9 measured base_width = 15.75; base_thickness = 16.25; wheel_holder_oh = 35.25 - base_thickness; wheel_holder_ih = wheel_holder_oh + base_thickness - 2; bit_d1 = 14.3; //14.25 measured bit_d2 = 13.9; //13.75 measured bit_h = 23.5; add_reinforcements = false; $fn=32; translate( [0, 0, base_thickness/2] ) rotate( [0, 0, 0] ) union() { difference() { union() { // Conical bit translate( [0, 0, base_thickness/2] ) { cylinder( r1=bit_d1/2, r2=bit_d2/2, h=bit_h-bit_d2/2 ); translate( [0, 0, bit_h-bit_d2/2] ) sphere( r=bit_d2/2 ); } // Wheel holder hollow cylinder translate( [0, 0, -base_thickness/2] ) cylinder( r=wheel_holder_od/2 , h=base_thickness ); } // Wheel holder hole translate( [0, 0, - base_thickness/2] ) cylinder( r=wheel_holder_id/2 , h=wheel_holder_ih ); translate( [0, 0, - base_thickness/2] ) cylinder( r1=wheel_holder_id/2+1, r2=wheel_holder_id/2 , h=0.75 ); //Reinforcement of conical bit by creating inside "pillars". if (add_reinforcements) { for ( i = [0 : 6] ) { rotate( i * 360 / 7, [0, 0, 1] ) translate( [0, wheel_holder_id/2 + (bit_d1 - wheel_holder_id)/4 , bit_h/5] ) cylinder( r=0.3, h=bit_h/2 ); } } } //Reinforcement of conical bit by creating inside "pillars", part 2 if (add_reinforcements) { for ( i = [0 : 6] ) { rotate( i * 360 / 7, [0, 0, 1] ) translate( [0, wheel_holder_id/2 + (bit_d1 - wheel_holder_id)/4 , bit_h/5] ) cylinder( r=0.25, h=bit_h/2 ); } } }