Fix case-only renames to lowercase paths
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
diameter = 140;
|
||||
leg_width = 5;
|
||||
leg_height = 10;
|
||||
deflector_width = 10;
|
||||
center_empty_diameter = 30;
|
||||
num_rings = 4;
|
||||
base_height = 3;
|
||||
spike_top_diameter = 1;
|
||||
spike_height = 10;
|
||||
spike_spacing = 10;
|
||||
|
||||
$fn = 150;
|
||||
epsilon = 0.1;
|
||||
|
||||
legs(diameter, leg_height, leg_width, deflector_width, center_empty_diameter)
|
||||
base(diameter, base_height, leg_width, num_rings)
|
||||
for (i = [1 : num_rings]) {
|
||||
ring_offset = diameter / num_rings;
|
||||
spikes((ring_offset * i) - leg_width, spike_height, leg_width, spike_top_diameter, spike_spacing);
|
||||
}
|
||||
|
||||
module legs(diameter, height, leg_width, curve_width, center_empty_diameter) {
|
||||
color("yellow")
|
||||
|
||||
union() {
|
||||
length = (diameter - center_empty_diameter) / 2;
|
||||
width = leg_width + curve_width;
|
||||
for (i = [0, 90, 180, 270]) {
|
||||
rotate([0, 0, i]) {
|
||||
translate([-width + (leg_width / 2), center_empty_diameter / 2, 0]) {
|
||||
difference() {
|
||||
cube([width, length, height]);
|
||||
translate([0, -epsilon, height]) {
|
||||
rotate([-90, 0, 0]) {
|
||||
cylinder(r=curve_width, h=length + 2 * epsilon);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
translate([0, 0, height]) children();
|
||||
}
|
||||
|
||||
module base(diameter, height, width, num_rings) {
|
||||
color("green")
|
||||
|
||||
union() {
|
||||
ring_offset = diameter / num_rings;
|
||||
for (i = [1 : num_rings]) {
|
||||
ring(ring_offset * i, height, width);
|
||||
}
|
||||
intersection() {
|
||||
inner_base(diameter, height, width);
|
||||
x(diameter, height, width);
|
||||
}
|
||||
}
|
||||
translate([0, 0, height]) children();
|
||||
}
|
||||
|
||||
module ring(diameter, height, width) {
|
||||
difference() {
|
||||
cylinder(h=height, d=diameter);
|
||||
inner_base(diameter, height, width);
|
||||
}
|
||||
}
|
||||
|
||||
module inner_base(diameter, height, width) {
|
||||
translate([0, 0, -epsilon]) {
|
||||
cylinder(h=height + (epsilon * 2), d=diameter - (width * 2));
|
||||
}
|
||||
}
|
||||
|
||||
module x(diameter, height, width) {
|
||||
translate([-diameter / 2, -width / 2, 0]) {
|
||||
cube([diameter, width, height]);
|
||||
}
|
||||
rotate([0, 0, 90]) {
|
||||
translate([-diameter / 2, -width / 2, 0]) {
|
||||
cube([diameter, width, height]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module spikes(diameter, height, bottom_width, top_width, spacing) {
|
||||
circumference = diameter * PI;
|
||||
spikes = floor(circumference / (bottom_width + spacing));
|
||||
|
||||
color("blue")
|
||||
for (i = [0 : spikes - 1]) {
|
||||
rotate([0, 0, i * (360 / spikes)]) {
|
||||
translate([diameter / 2, 0, 0]) {
|
||||
cylinder(h=height, d1=bottom_width, d2=top_width);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LFS
BIN
Binary file not shown.
Reference in New Issue
Block a user