mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-08-12 09:44:16 +02:00
refactored
This commit is contained in:
@@ -17,6 +17,7 @@ module hexagons(radius, spacing, levels) {
|
|||||||
offset_y = radius + radius * sin(30);
|
offset_y = radius + radius * sin(30);
|
||||||
r_hexagon = radius - spacing / 2;
|
r_hexagon = radius - spacing / 2;
|
||||||
offset_step = 2 * offset_x;
|
offset_step = 2 * offset_x;
|
||||||
|
center_offset = [2 * (offset_x - offset_x * levels) , 0, 0];
|
||||||
|
|
||||||
module hexagon() {
|
module hexagon() {
|
||||||
rotate(30)
|
rotate(30)
|
||||||
@@ -24,28 +25,25 @@ module hexagons(radius, spacing, levels) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
module line_hexagons(n) {
|
module line_hexagons(n) {
|
||||||
for(i = [0:n - 1]) {
|
translate(center_offset) for(i = [0:n - 1]) {
|
||||||
offset_p = [i * offset_step, 0, 0];
|
offset_p = [i * offset_step, 0, 0];
|
||||||
translate(offset_p)
|
translate(offset_p)
|
||||||
hexagon();
|
hexagon();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
translate([2 * (offset_x - offset_x * levels) , 0, 0])
|
line_hexagons(beginning_n);
|
||||||
union() {
|
|
||||||
line_hexagons(beginning_n);
|
|
||||||
|
|
||||||
if(levels > 1) {
|
if(levels > 1) {
|
||||||
for(i = [1:beginning_n - levels]) {
|
for(i = [1:beginning_n - levels]) {
|
||||||
x = offset_x * i;
|
x = offset_x * i;
|
||||||
y = offset_y * i;
|
y = offset_y * i;
|
||||||
|
|
||||||
translate([x, y, 0])
|
translate([x, y, 0])
|
||||||
line_hexagons(beginning_n - i);
|
line_hexagons(beginning_n - i);
|
||||||
|
|
||||||
translate([x, -y, 0])
|
translate([x, -y, 0])
|
||||||
line_hexagons(beginning_n - i);
|
line_hexagons(beginning_n - i);
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user