1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-09-09 06:11:01 +02:00

rename and refactor

This commit is contained in:
Justin Lin
2021-07-31 16:16:58 +08:00
parent 3b48de2c47
commit 0a117e0c09
8 changed files with 30 additions and 37 deletions

View File

@@ -1,7 +1,7 @@
use <experimental/tile_truchet.scad>;
use <arc.scad>;
use <line2d.scad>;
use <experimental/choose_children.scad>;
use <experimental/select.scad>;
size = [50, 25];
tile_width = 5;
@@ -14,7 +14,8 @@ for(tile = tile_truchet(size)) {
y = tile[1];
i = tile[2];
choose_children(i) {
translate([x, y] * tile_width)
select(i) {
tile00(x, y, tile_width, line_width);
tile01(x, y, tile_width, line_width);
tile02(x, y, tile_width, line_width);
@@ -23,33 +24,28 @@ for(tile = tile_truchet(size)) {
}
module tile00(x, y, tile_width, line_width) {
translate([x, y] * tile_width)
arc(0.5 * tile_width, [0, 90], line_width);
translate([x + 1, y + 1] * tile_width)
arc(0.5 * tile_width, [0, 90], line_width);
translate([tile_width, tile_width])
arc(0.5 * tile_width, [180, 270], line_width);
}
module tile01(x, y, tile_width, line_width) {
translate([x, y + 1] * tile_width)
translate([0, tile_width])
arc(0.5 * tile_width, [270, 360], line_width);
translate([x + 1, y] * tile_width)
translate([tile_width, 0])
arc(0.5 * tile_width, [90, 180], line_width);
}
module tile02(x, y, tile_width, line_width) {
half_width = tile_width * 0.5;
translate([x, y] * tile_width) {
line2d([half_width, 0], [half_width, tile_width], line_width, p1Style = "CAP_BUTT", p2Style = "CAP_BUTT");
line2d([0, half_width], [half_width - line_width, half_width], line_width, p1Style = "CAP_BUTT", p2Style = "CAP_BUTT");
line2d([half_width + line_width, half_width], [tile_width, half_width], line_width, p1Style = "CAP_BUTT", p2Style = "CAP_BUTT");
}
line2d([half_width, 0], [half_width, tile_width], line_width, p1Style = "CAP_BUTT", p2Style = "CAP_BUTT");
line2d([0, half_width], [half_width - line_width, half_width], line_width, p1Style = "CAP_BUTT", p2Style = "CAP_BUTT");
line2d([half_width + line_width, half_width], [tile_width, half_width], line_width, p1Style = "CAP_BUTT", p2Style = "CAP_BUTT");
}
module tile03(x, y, tile_width, line_width) {
half_width = tile_width * 0.5;
translate([x, y] * tile_width) {
line2d([0, half_width], [tile_width, half_width], line_width, p1Style = "CAP_BUTT", p2Style = "CAP_BUTT");
line2d([half_width, 0], [half_width, half_width - line_width], line_width, p1Style = "CAP_BUTT", p2Style = "CAP_BUTT");
line2d([half_width, tile_width], [half_width, half_width + line_width], line_width, p1Style = "CAP_BUTT", p2Style = "CAP_BUTT");
}
line2d([0, half_width], [tile_width, half_width], line_width, p1Style = "CAP_BUTT", p2Style = "CAP_BUTT");
line2d([half_width, 0], [half_width, half_width - line_width], line_width, p1Style = "CAP_BUTT", p2Style = "CAP_BUTT");
line2d([half_width, tile_width], [half_width, half_width + line_width], line_width, p1Style = "CAP_BUTT", p2Style = "CAP_BUTT");
}