X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=filamentspool.scad;h=500725a84492faa676bc8b6fd5bedc53ff462f3c;hp=f4b47d05ff4769de4089c50c18772da5fef74286;hb=855145e3ca1064562f1f9acfaa169c9b22fdce23;hpb=1b2db3ada8e6f1249d2f263dae6f6f9bc2e5ac02 diff --git a/filamentspool.scad b/filamentspool.scad index f4b47d0..500725a 100644 --- a/filamentspool.scad +++ b/filamentspool.scad @@ -1,7 +1,95 @@ // -*- C -*- -fdia=2.85; -lightduty=false; +// filamentspool.scad +// 3D design for filament spools to hold coils as supplied by Faberdashery +// + +// +// Copyright 2012,2013,2016 Ian Jackson +// +// This work 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 3 of the License, or +// (at your option) any later version. +// +// This work 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 work. If not, see +// + +// +// Each spool is a hub with 3 or 4 arms. Each arm has a cup for +// holding the filament. The effective diameter can be adjusted by +// setting the cup into a different seat in the arm. The cups are +// held on with simple clips, so the filement coil can easily be +// removed and replaced. +// +// This file (and its includes) can generate: +// +// - Heavy duty 4-armed spool suitable for holding a 100m +// Faberdashery coil on the spool arm of a Lulzbot TAZ-5. +// +// Set +// fdia=2.85 +// lightduty=false +// And print following parts +// Hub +// ArmEnd x 4 +// FilamentCup x 4 (or FilamentCupPair x 2) +// CupSecuringClup x 4 +// +// You will also need 4 x M4 machine screws and nuts +// +// - Light duty 3-armed spool suitable for up to around 30m +// of Faberdashery 2.85mm PLA. +// +// Set +// fdia=2.85 +// lightduty=true +// And print following parts +// Hub +// ArmEnd x 3 +// FilamentCup x 3 (or FilamentCup + FilamentCupPair) +// CupSecuringClup x 3 +// TowerDoveClipPin x 6 +// +// When assembling, insert one TowerDoveClipPin from each side, +// joining each ArmEnd to the Hub with two TowerDoveClipPins. +// Modest force with pliers is good to seat them properly. +// +// (note that the light duty and heavy duty CupSecuringClips +// are slightly different) +// +// For the above, I generally used the Cura `Standard' PLA profile. +// +// - Storage arm suitable for screwing to walls, bookshelves, +// etc. (requires non-countersunk M4 screws); will hold two +// heavy duty spools each with a 100m coil. +// +// Set +// fdia=2.85 +// lightduty=false +// And print one of these, according to taste +// StorageArmLeft +// StorageArmRight +// +// NB that the `light duty' version of this is shorter and +// will only take two `light duty' spools. +// +// For the above, I used the Cura `High detail' PLA profile because +// I wanted it pretty, but the `Standard' profile should do fine. +// +// - Spool (in many parts) for handing 1.75mm filament, printable +// on, and with parts for mounting on, a Reprappro Huxley. + + +fdia=2.85; // or 1.75 +lightduty=false; // or true + slop=0.5; bigslop=slop*2; @@ -476,7 +564,8 @@ storarm_screw_hole_head_slop = 1.5; // calculated storarm_axlerad = hubaxlerad - storarm_axleslop; -storarm_mainlen = hubaxlelen + (storarm_cope_hubaxle_mk1 ? 10 : 0); +storarm_mainlen = hubaxlelen*2 + storarm_axleslop + + (storarm_cope_hubaxle_mk1 ? 10 : 0); storarm_totlen = storarm_mainlen + storarm_hooklen; storarm_mid_off_y = storarm_axlerad; @@ -532,7 +621,7 @@ module StorageArmAtMountingHoles(){ } } -module StorageArm(){ ////toplevel +module StorageArmRight(){ ////toplevel shear = storarm_hookheight / (storarm_mainlen/2); StorageArmDiagPart(-1, storarm_mainlen/2+1, shear, 0); @@ -568,6 +657,19 @@ module StorageArm(){ ////toplevel } } +module StorageArmLeft(){ ////toplevel + mirror([1,0,0]) StorageArmRight(); +} + +module StorArmHoleTest(){ ////toplevel + sz = storarm_screw_hole_head + storarm_besides_hole*2; + intersection(){ + StorageArmRight(); + translate([-50, -storarm_base_off_y, -1]) + cube([100, sz, sz+1]); + } +} + module Demo(){ translate([-hubeffrad-30,50,0]) Hub(); @@ -585,5 +687,6 @@ module Demo(){ //AxleWasher(); //AxlePin(); //AxleFrictionWasher(); -StorageArm(); +//StorageArmLeft(); +//StorArmHoleTest(); //Demo();