Commit e4701502 authored by j12t's avatar j12t

More 3D-printable files

parent 56f0b99a
Pipeline #82302567 passed with stages
in 44 seconds
This source diff could not be displayed because it is too large. You can view the blob instead.
$fn = 64;
r = 20; // overall radius
r2 = 1.2; // radius of the mesh
r3 = 23/2 + 2; // outside of inner cylinder
r4 = 15/2; // see into the pipe: inner radius of pipe
r_pipe_outer = 22.5/2;
w = 6;
eps = 0.01;
union() {
difference() {
union() {
cylinder( h=2 , r=r+r2 ); // bottom plate
cylinder( h=25, r = r3 ); // to-be-hollowed-out middle
};
translate( [ 0, 0, -eps ] ) { // look into the pipe
cylinder( h = 15 + 2 * eps, r = r4 );
};
translate( [ 0, 0, 10 ] ) { // produces saddle on which pipe rests
cylinder( h = 15 + eps, r = r_pipe_outer );
};
for( i=[0:60:360] ) {
rotate( i, [ 0, 0, 1 ] )
union() {
translate( [ -r3-eps, -w/2, 2+w/2 ] ) {
cube( [ 2 * ( r3 + eps ), w, 8 ] );
}
translate( [ 0, 0, 2+w/2 ] )
rotate( 90, [ 0, 1, 0 ] ) {
cylinder( r=w/2, h = 2 * ( r3 + eps ), center=true );
}
translate( [ 0, 0, 5+w/2+5 ] )
rotate( 90, [ 0, 1, 0 ] ) {
cylinder( r=w/2, h = 2 * ( r3 + eps ), center=true );
}
}
}
}
// fence
for( i=[0:20:340] ) {
linear_extrude(height = 25, convexity = 10, twist = 30)
translate( [r * cos(i), r * sin(i), 0])
circle(r2);
linear_extrude(height = 25, convexity = 10, twist = -30)
translate( [r * cos(i), r * sin(i), 0])
circle(r2);
};
// top ring
translate( [ 0, 0, 23 ] ) {
difference() {
cylinder( h=2 , r=r+r2 );
translate( [ 0, 0, -eps ] ) {
cylinder( h=2+2*eps, r=r-r2 );
}
}
};
}
This diff is collapsed.
......@@ -2,16 +2,26 @@
$fn = 64;
intersection() {
difference() {
union() {
cylinder( h = 3, r = 30 );
cylinder( h = 6, r = 25 );
}
translate( [ 0, 0, -1 ] ) {
cylinder( h = 8, r = 6 );
union() {
difference() {
union() {
cylinder( h = 3, r = 30 );
cylinder( h = 6, r = 25 );
}
translate( [ 0, 0, -1 ] ) {
cylinder( h = 8, r = 9 );
}
};
// make the cutout smooth, so plants won't get hurt
translate( [ 0, 0, 3 ] )
rotate_extrude()
translate([9, 0, 0]) {
circle(r = 3);
}
}
};
translate( [ -50, 0, -1 ] ) {
cube( [ 100, 100, 100 ] );
}
}
//
// Factor out the constants to make them more easily reusable
//
$fn = 64;
in = 25.4; // inch to mm
pipeD = 3.5 * in;
holeD = 54.5;
outsideD = 2.375 * in;
eps = 0.01;
potD = 52;
//
// Supports net pots against toppling over
//
include <constants.inc>
module potholder() {
difference() {
union() {
difference() {
cylinder( h=18, r=outsideD/2 );
translate( [ 0, 0, pipeD/2 + 2 ] )
rotate( [ 0, 90, 0 ] ) {
cylinder( h = outsideD+2*eps, r = pipeD/2, center=true );
}
};
cylinder( h=15, r=holeD/2 );
};
translate( [ 0, 0, -eps ] ) {
cylinder( h=18+2*eps, r=potD/2 );
};
};
}
potholder();
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment