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