Updates
This commit is contained in:
81
tubes/foot_cap_generator_v102.scad
Normal file
81
tubes/foot_cap_generator_v102.scad
Normal file
@@ -0,0 +1,81 @@
|
||||
include <BOSL/constants.scad>
|
||||
use <BOSL/shapes.scad>
|
||||
use <BOSL/masks.scad>
|
||||
use <BOSL/transforms.scad>
|
||||
|
||||
// Höhe Rohr
|
||||
h = 35; // [10:60]
|
||||
|
||||
// Innendurchmesser Rohr
|
||||
rd = 25.4;
|
||||
|
||||
// Neigungswinkel zu Senkrechten
|
||||
angel= 20; // [0:90]
|
||||
|
||||
// Wandstärke
|
||||
wall = 4; // [1:5]
|
||||
|
||||
// Form Grundplatte
|
||||
form = "r"; // [r:rund, q=:Quadrat]
|
||||
|
||||
// Höhe Grundplatte
|
||||
hg = 5; // [1:10]
|
||||
|
||||
// Durchmesser Grundplatte
|
||||
d = 60; // [10:100]
|
||||
|
||||
// Kehle Zwischen Rohr und Grundplatte
|
||||
kehle = 8; //[1:20]
|
||||
|
||||
// Riffel an der Unterseite
|
||||
radius = 2; //[0:5]
|
||||
|
||||
/* [Hidden] */
|
||||
$fa = 1;
|
||||
$fs = 0.4;
|
||||
|
||||
// Rundung
|
||||
fillet = 2; // [0:5]
|
||||
|
||||
|
||||
difference() {
|
||||
union() {
|
||||
rotate([0, -angel, 0]) {
|
||||
// Rohr gefast
|
||||
difference() {
|
||||
tube(h=2*h, id=rd, wall=wall, center=true);
|
||||
translate([0, 0, h])
|
||||
fillet_cylinder_mask(r=rd/2 + wall, fillet=fillet);
|
||||
}
|
||||
// Füllung für Rohr
|
||||
cylinder(h=tan(angel)*rd + sin(angel)*hg + hg , d=rd, center=true);
|
||||
}
|
||||
|
||||
// Grundplatte
|
||||
if(form == "r") {
|
||||
cyl(l=hg, d=d, fillet=fillet);
|
||||
} else {
|
||||
cuboid([d, d, hg], fillet=fillet);
|
||||
}
|
||||
}
|
||||
// unteren Überstand entfernen
|
||||
translate([0, 0, -(hg + h/2)])
|
||||
cylinder(d=d + tan(angel)*h , h=h+hg, center=true);
|
||||
}
|
||||
// kehle zwischen Rohr und Grundplatte
|
||||
skew_xy(xa=-angel, ya=0)
|
||||
scale([1/cos(angel), 1, 1])
|
||||
translate([0, 0, hg/2])
|
||||
rotate([180, 0, 0])
|
||||
fillet_hole_mask(d=rd + 2*wall, fillet=kehle, overage=0);
|
||||
|
||||
// Riffel an der Unterseite
|
||||
difference() {
|
||||
for (i=[1:d/radius/4]){
|
||||
translate([4*i*radius - d/2 - radius, d/2, -hg/2])
|
||||
rotate([90,0,0])
|
||||
cylinder(h=d, r=radius);
|
||||
}
|
||||
translate([0, 0, -hg/2 - radius])
|
||||
tube(h=2*radius, id2=d, id1=d-4*fillet, od=2*d);
|
||||
}
|
||||
Reference in New Issue
Block a user