Last active
May 6, 2021 22:01
-
-
Save johnty/c188bf254c7a0b7de04d4285aa9a3148 to your computer and use it in GitHub Desktop.
parametric bellow, designed to be printed in TPU for single dosing espresso grinders
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Parametric Bellow designed for blowing out grinds in an espresso grinder | |
// Designed to be printed using TPU | |
// Tested on Ender 3 Pro (2019) with stock extruder and 91A TPU from filaments.ca | |
// 15mm all speeds 2mm retraction @ 15mm/s. 75C bed 230/227C extruder temps | |
// 3 shell perimeter | |
// | |
// [email protected] | |
// May 2021, Released under CC BY-SA 2.0 (http://creativecommons.org/licenses/by-sa/2.0/) | |
echo(version=version()); | |
diameter = 58; | |
wall_t = 1.2; | |
b_h = 5; | |
b_w = 2.5; | |
lid_h = 0.8; | |
top_vert_h = 5; | |
bottom_vert_h = 10; | |
closed_top = true; | |
// rotate_extrude() always rotates the 2D shape 360 degrees | |
// around the Z axis. Note that the 2D shape must be either | |
// completely on the positive or negative side of the X axis. | |
module line(p1, p2, width) { | |
polygon([ | |
p1, p2, [p2[0]+width, p2[1]], [p1[0]+width, p1[1]] | |
]); | |
} | |
module bellow(num) { | |
union() { | |
line([0,0], [0,top_vert_h], wall_t); | |
y_start = top_vert_h; | |
for (i=[0:num-1]) { //each iteration is a > | |
x1 = 0; | |
x2 = b_w; | |
x3 = 0; | |
y1 = y_start+(i*2)*b_h; | |
y2 = y1 + b_h; | |
y3 = y2 + b_h; | |
echo(i, y1, y2, y3); | |
line( [x1, y1], [x2, y2 ] , wall_t); | |
line( [x2, y2], [x3, y3 ] , wall_t); | |
y_start = y3; | |
} | |
top = y_start+2*num*b_h; | |
line([0,top], [0,top+bottom_vert_h], wall_t); | |
} | |
} | |
color("red") | |
union() { | |
if (closed_top) | |
cylinder(lid_h, diameter/2, diameter/2); | |
rotate_extrude($fn = 80) | |
translate([diameter/2-wall_t/2, 0]) | |
bellow(4); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment