Reorganize: kebab-case names, per-item subdirectories, regroup items
This commit is contained in:
@@ -0,0 +1,143 @@
|
||||
inner_ring();
|
||||
outer_ring();
|
||||
spokes();
|
||||
|
||||
|
||||
module inner_ring() {
|
||||
difference() {
|
||||
cylinder(h=4, d=70, $fn=500);
|
||||
|
||||
translate([0, 0, -1])
|
||||
cylinder(h=6, d=55, $fn=500);
|
||||
}
|
||||
}
|
||||
|
||||
module outer_ring() {
|
||||
difference() {
|
||||
union() {
|
||||
cylinder(h=4, d=210, $fn=500);
|
||||
|
||||
bend1();
|
||||
|
||||
bend2();
|
||||
|
||||
ring();
|
||||
}
|
||||
|
||||
translate([0, 0, -1])
|
||||
cylinder(h=6, d=195, $fn=500);
|
||||
|
||||
translate([-220, -150, -10])
|
||||
cube([220, 300, 200]);
|
||||
}
|
||||
}
|
||||
|
||||
module spokes() {
|
||||
for (a = [-55 : 27.5 : 55]) {
|
||||
rotate([0, 0, a])
|
||||
translate([30, -5, 0])
|
||||
cube([70, 10, 4]);
|
||||
}
|
||||
|
||||
translate([0, 30, 0])
|
||||
cube([10, 70, 4]);
|
||||
|
||||
translate([0, -100, 0])
|
||||
cube([10, 70, 4]);
|
||||
}
|
||||
|
||||
module bend1() {
|
||||
translate([0, 0, 10])
|
||||
rotate_extrude($fn=500)
|
||||
translate([105, 0, 0])
|
||||
difference() {
|
||||
circle(d=20, $fn=500);
|
||||
|
||||
circle(d=12, $fn=500);
|
||||
|
||||
translate([-10, 0, 0])
|
||||
square(20);
|
||||
|
||||
translate([-20, -10, 0])
|
||||
square(20);
|
||||
}
|
||||
}
|
||||
|
||||
module bend2() {
|
||||
translate([0, 0, 75])
|
||||
rotate_extrude($fn=500)
|
||||
translate([100, 0, 0])
|
||||
difference() {
|
||||
circle(d=30, $fn=500);
|
||||
|
||||
circle(d=22, $fn=500);
|
||||
|
||||
translate([-20, -40, 0])
|
||||
square(40);
|
||||
|
||||
translate([-30, 0, 0])
|
||||
rotate([0, 0, -15])
|
||||
square(60, center=true);
|
||||
}
|
||||
}
|
||||
|
||||
module ring() {
|
||||
difference() {
|
||||
union() {
|
||||
translate([0, 0, 10])
|
||||
cylinder(h=65, d=230, $fn=500);
|
||||
|
||||
difference() {
|
||||
translate([-13, 0, 44])
|
||||
// torus(i=57, o=147, xs=0.5, $fn=500);
|
||||
torus2(r1=101, r2=45, xs=0.6, $fn=500);
|
||||
|
||||
cube([200, 200, 200]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
translate([0, 0, -20])
|
||||
cylinder(h=150, d=221, $fn=500);
|
||||
|
||||
for (a = [-84 : 6 : 84]) {
|
||||
for (h = [15 : 18 : 69]) {
|
||||
p = (a + 84) / 168;
|
||||
d = 10 * pow(p, 0.8);
|
||||
|
||||
rotate([0, 0, a])
|
||||
translate([100, 0, h])
|
||||
rotate([0, 90, 0])
|
||||
cylinder(h=50, d=d, $fn=50);
|
||||
}
|
||||
}
|
||||
|
||||
for (a = [-87 : 6 : 87]) {
|
||||
for (h = [24 : 18 : 63]) {
|
||||
p = (a + 87) / 174;
|
||||
d = 10 * pow(p, 0.8);
|
||||
|
||||
rotate([0, 0, a])
|
||||
translate([100, 0, h])
|
||||
rotate([0, 90, 0])
|
||||
cylinder(h=50, d=d, $fn=50);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module torus(i, o, xs=1.0, ys=1.0) {
|
||||
r = (o - i) / 2;
|
||||
|
||||
rotate_extrude()
|
||||
translate([i + r, 0, 0])
|
||||
scale([xs, ys, 1.0])
|
||||
circle(r);
|
||||
}
|
||||
|
||||
module torus2(r1, r2, xs=1.0, ys=1.0) {
|
||||
rotate_extrude()
|
||||
translate([r1, 0, 0])
|
||||
scale([xs, ys, 1.0])
|
||||
circle(r2);
|
||||
}
|
||||
Reference in New Issue
Block a user