Browse Source

add cylinder_square and cubic_flange

master
Schoenberger, Philipp 6 years ago
parent
commit
92ac238f0c
  1. 97
      3d/lib/cube.scad

97
3d/lib/cube.scad

@ -64,91 +64,148 @@ module rounded_cube(size, r, rounding=[0,0,0])
aligned_rounded_cube(size, r, rounding=[0,0,0], aligned=[0,0,0]); aligned_rounded_cube(size, r, rounding=[0,0,0], aligned=[0,0,0]);
} }
module axis(l=30, w=0.3) { module axis(l=30, w=0.3) {
color("red") color("red")
cube([l,w,w]); cube([l,w,w]);
color("blue")
color("lightblue")
cube([w,w,l]); cube([w,w,l]);
color("green")
color("lightgreen")
cube([w,l,w]); cube([w,l,w]);
color("black") color("black")
cube([w,w,w]); cube([w,w,w]);
} }
module cylinder_square(size,d,aligned) {
r=d/2;
// front
translate([-1*aligned[0]*(size[0]/2),-1*aligned[1]*(size[1]/2),-1*aligned[2]*d/4])
translate([size[0]/2,size[1]/2,d/4])
for (x=[1,-1]){
hull() {
translate([size[0]/2,x*size[1]/2,0])
sphere(d=d);
translate([-1*(size[0]/2),x*size[1]/2,0])
sphere(d=d);
}
hull() {
translate([x*size[0]/2,size[1]/2,0])
sphere(d=d);
translate([x*size[0]/2,-1*size[1]/2,0])
sphere(d=d);
}
}
}
module cubic_flange($fn, size, e, aligned)
{
h_off= (e < 0 ) ? 0 : size[2];
difference()
{
aligned_cube(size=[size[0],size[1],size[2]], aligned=aligned);
echo(e);
echo(size[2]);
translate([0,0,size[0]/2])
scale([1,1,size[0]/e])
cylinder_square($fn=$fn,size=[size[0],size[1]], d=e*2, aligned=aligned);
//minkowski()
}
}
// test show // test show
$fn=32;
e=3;
translate([-45,45,0]) { translate([-45,45,0]) {
translate([50,-90,0]) {
axis();
translate([0,0,10])
%aligned_cube([10-2*e,10-2*e,5]);
translate([0,0,-5])
%aligned_cube([10,10,5]);
cubic_flange($fn=32,size=[10,10,10], e=e, aligned=[1,1,0]);
translate([0,-10,0])
text(halign="center",valign="center", size=2, "cubic_flange()");
}
translate([0,-90,0]) { translate([0,-90,0]) {
axis(); axis();
%cube(size=[10,10,10]);
cube(size=[10,10,10]);
translate([0,-10,0]) translate([0,-10,0])
text(halign="center",valign="center", $fn=$fn, size=3,font="Linux Libertine O", "cube()");
text(halign="center",valign="center", size=2, "cube()");
} }
translate([0,10,0]) { translate([0,10,0]) {
axis(); axis();
%aligned_cube(size=[10,10,10], aligned=[1,1,1]);
aligned_cube(size=[10,10,10], aligned=[1,1,1]);
translate([0,-10,0]) translate([0,-10,0])
text(halign="center",valign="center", $fn=$fn, size=3,font="Linux Libertine O", "aligned_cube([1,1,1])");
text(halign="center",valign="center", size=2, "aligned_cube([1,1,1])");
} }
translate([0,-30,0]) { translate([0,-30,0]) {
axis(); axis();
%aligned_rounded_cube(size=[10,10,10],r=1, aligned=[1,1,0]);
aligned_rounded_cube(size=[10,10,10],r=1, aligned=[1,1,0]);
translate([0,-10,0]) translate([0,-10,0])
text(halign="center",valign="center", $fn=$fn, size=3,font="Linux Libertine O", "aligned_rounded_cube([1,1,0])");
text(halign="center",valign="center", size=2, "aligned_rounded_cube([1,1,0])");
} }
translate([50,10,0]) { translate([50,10,0]) {
$fn=32; $fn=32;
axis(); axis();
%aligned_rounded_cube(size=[10,10,10],r=1, aligned=[1,1,0]);
aligned_rounded_cube(size=[10,10,10],r=1, aligned=[1,1,0]);
translate([0,-10,0]) translate([0,-10,0])
text(halign="center",valign="center", $fn=$fn, size=3,font="Linux Libertine O", "aligned_rounded_cube(r=1)");
text(halign="center",valign="center", size=2, "aligned_rounded_cube(r=1)");
} }
translate([50,-30,0]) { translate([50,-30,0]) {
$fn=32; $fn=32;
axis(); axis();
%aligned_rounded_cube(size=[10,10,10],r=2, aligned=[1,1,0]);
aligned_rounded_cube(size=[10,10,10],r=2, aligned=[1,1,0]);
translate([0,-10,0]) translate([0,-10,0])
text(halign="center",valign="center", $fn=$fn, size=3,font="Linux Libertine O", "aligned_rounded_cube(r=2)");
text(halign="center",valign="center", size=2, "aligned_rounded_cube(r=2)");
} }
translate([100,10,0]) { translate([100,10,0]) {
$fn=32; $fn=32;
axis(); axis();
%aligned_rounded_cube(size=[10,10,10],r=2, rounding=[1,1,1]);
aligned_rounded_cube(size=[10,10,10],r=2, rounding=[1,1,1]);
translate([0,-10,0]) translate([0,-10,0])
text(halign="center",valign="center", $fn=$fn, size=3,font="Linux Libertine O", "aligned_rounded_cube([1,1,1])");
text(halign="center",valign="center", size=2, "aligned_rounded_cube([1,1,1])");
} }
translate([100,-30,0]) { translate([100,-30,0]) {
$fn=32; $fn=32;
axis(); axis();
%aligned_rounded_cube(size=[10,10,10],r=2, rounding=[1,1,0]);
aligned_rounded_cube(size=[10,10,10],r=2, rounding=[1,1,0]);
translate([0,-10,0]) translate([0,-10,0])
text(halign="center",valign="center", $fn=$fn, size=3,font="Linux Libertine O", "aligned_rounded_cube([1,1,0])");
text(halign="center",valign="center", size=2, "aligned_rounded_cube([1,1,0])");
} }
translate([100,-60,0]) { translate([100,-60,0]) {
$fn=32; $fn=32;
axis(); axis();
%aligned_rounded_cube(size=[10,10,10],r=2, rounding=[1,0,1]);
aligned_rounded_cube(size=[10,10,10],r=2, rounding=[1,0,1]);
translate([0,-10,0]) translate([0,-10,0])
text(halign="center",valign="center", $fn=$fn, size=3,font="Linux Libertine O", "aligned_rounded_cube([1,0,1])");
text(halign="center",valign="center", size=2, "aligned_rounded_cube([1,0,1])");
} }
translate([100,-90,0]) { translate([100,-90,0]) {
$fn=32; $fn=32;
axis(); axis();
%aligned_rounded_cube(size=[10,10,10],r=2, rounding=[0,1,1]);
aligned_rounded_cube(size=[10,10,10],r=2, rounding=[0,1,1]);
translate([0,-10,0]) translate([0,-10,0])
text(halign="center",valign="center", $fn=$fn, size=3,font="Linux Libertine O", "aligned_rounded_cube([0,1,1])");
text(halign="center",valign="center", size=2, "aligned_rounded_cube([0,1,1])");
} }
} }
Loading…
Cancel
Save