mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-08-12 09:44:16 +02:00
rename param
This commit is contained in:
@@ -1,14 +1,13 @@
|
||||
use <experimental/tile_w2c.scad>;
|
||||
use <arc.scad>;
|
||||
|
||||
rows = 10;
|
||||
columns = 15;
|
||||
size = [15, 10];
|
||||
tile_width = 10;
|
||||
tile_thickness = 2;
|
||||
$fn = 24;
|
||||
|
||||
translate([tile_width, tile_width] / 2)
|
||||
for(tile = tile_w2c(rows, columns)) {
|
||||
for(tile = tile_w2c(size)) {
|
||||
x = tile[0];
|
||||
y = tile[1];
|
||||
i = tile[2];
|
||||
|
@@ -1,14 +1,13 @@
|
||||
use <experimental/tile_w2e.scad>;
|
||||
use <arc.scad>;
|
||||
|
||||
rows = 10;
|
||||
columns = 15;
|
||||
size = [15, 10];
|
||||
tile_width = 10;
|
||||
tile_thickness = 2;
|
||||
$fn = 24;
|
||||
|
||||
translate([tile_width, tile_width] / 2)
|
||||
for(tile = tile_w2e(rows, columns)) {
|
||||
for(tile = tile_w2e(size)) {
|
||||
x = tile[0];
|
||||
y = tile[1];
|
||||
i = tile[2];
|
||||
@@ -16,9 +15,9 @@ translate([tile_width, tile_width] / 2)
|
||||
sample_tile(i, tile_width, tile_thickness);
|
||||
}
|
||||
|
||||
translate([0, tile_width * (rows + 1)] + [tile_width, tile_width] / 2)
|
||||
translate([0, tile_width * (size[1] + 1)] + [tile_width, tile_width] / 2)
|
||||
color("green")
|
||||
for(tile = tile_w2e(rows, columns)) {
|
||||
for(tile = tile_w2e(size)) {
|
||||
x = tile[0];
|
||||
y = tile[1];
|
||||
i = tile[2];
|
||||
|
@@ -29,7 +29,7 @@ module random_city(rows, columns, mask) {
|
||||
children(n);
|
||||
}
|
||||
|
||||
for(tile = tile_w2e(rows, columns, mask)) {
|
||||
for(tile = tile_w2e([columns, rows], mask)) {
|
||||
x = tile[0];
|
||||
y = tile[1];
|
||||
i = tile[2];
|
||||
|
@@ -8,14 +8,13 @@ use <rounded_square.scad>;
|
||||
use <box_extrude.scad>;
|
||||
use <polyhedron_hull.scad>;
|
||||
|
||||
rows = 5;
|
||||
columns = 5;
|
||||
size = [5, 5];
|
||||
tileW = 10;
|
||||
layerH = 1;
|
||||
|
||||
random_town_square(rows, columns, tileW, layerH);
|
||||
random_town_square(size, tileW, layerH);
|
||||
|
||||
module random_town_square(rows, columns, tileW, layerH) {
|
||||
module random_town_square(size, tileW, layerH) {
|
||||
sample = [
|
||||
["SS12", "CCRS1", "SS22", "CCRS0", "SS32", "F2", "SS14", "FW3", "SS04", "SS04"],
|
||||
["SS12", "SS32", "F4", "SS12", "SS32", "F2", "SS14", "FW3", "SS24", "SS24"],
|
||||
@@ -31,7 +30,7 @@ module random_town_square(rows, columns, tileW, layerH) {
|
||||
];
|
||||
|
||||
|
||||
generated = tile_wfc(rows, columns, sample);
|
||||
generated = tile_wfc(size, sample);
|
||||
|
||||
color("Gainsboro")
|
||||
draw_tiles(generated);
|
||||
|
@@ -22,10 +22,9 @@ translate([-len(sample) * tileW, 0]) {
|
||||
draw_tubes(sample, tileW);
|
||||
}
|
||||
|
||||
width = 20;
|
||||
height = 20;
|
||||
size = [20, 20];
|
||||
draw_tubes(
|
||||
tile_wfc(width, height, sample),
|
||||
tile_wfc(size, sample),
|
||||
tileW
|
||||
);
|
||||
|
||||
|
@@ -1,20 +1,19 @@
|
||||
use <experimental/tile_w2e.scad>;
|
||||
use <box_extrude.scad>;
|
||||
|
||||
rows = 8;
|
||||
columns = 15;
|
||||
size = [15, 8];
|
||||
tile_width = 10;
|
||||
$fn = 12;
|
||||
|
||||
tube_box(rows, columns, tile_width);
|
||||
tube_box(size, tile_width);
|
||||
|
||||
module tube_box(rows, columns, tile_width) {
|
||||
module tube_box(size, tile_width) {
|
||||
half_w = tile_width / 2;
|
||||
quarter_w = tile_width / 4;
|
||||
eighth_w = tile_width / 8;
|
||||
|
||||
translate([eighth_w, eighth_w, eighth_w] + [tile_width, tile_width, 0] / 2)
|
||||
for(tile = tile_w2e(rows, columns)) {
|
||||
for(tile = tile_w2e(size)) {
|
||||
x = tile[0];
|
||||
y = tile[1];
|
||||
i = tile[2];
|
||||
@@ -23,7 +22,7 @@ module tube_box(rows, columns, tile_width) {
|
||||
}
|
||||
|
||||
box_extrude(height = tile_width, shell_thickness = eighth_w)
|
||||
square([columns * tile_width + quarter_w, rows * tile_width + quarter_w]);
|
||||
square([size[0] * tile_width + quarter_w, size[1] * tile_width + quarter_w]);
|
||||
}
|
||||
|
||||
module tube_tile(n, width) {
|
||||
|
@@ -1,7 +1,9 @@
|
||||
// wang tiles - 2 corners
|
||||
|
||||
function tile_w2c(rows, columns, mask, seed) =
|
||||
function tile_w2c(size, mask, seed) =
|
||||
let(
|
||||
rows = size[1],
|
||||
columns = size[0],
|
||||
y_range = [0:rows - 1],
|
||||
x_range = [0:columns - 1],
|
||||
corners = is_undef(seed) ? [
|
||||
|
@@ -1,7 +1,9 @@
|
||||
// wang tiles - 2 edges
|
||||
|
||||
function tile_w2e(rows, columns, mask, seed) =
|
||||
function tile_w2e(size, mask, seed) =
|
||||
let(
|
||||
rows = size[1],
|
||||
columns = size[0],
|
||||
y_range = [0:rows - 1],
|
||||
x_range = [0:columns - 1],
|
||||
/*
|
||||
|
@@ -1,8 +1,8 @@
|
||||
use <_impl/_tiles_wfc_impl.scad>;
|
||||
|
||||
// An implementation of [Wave Function Collapse](https://github.com/mxgmn/WaveFunctionCollapse)
|
||||
function tile_wfc(width, height, sample) =
|
||||
tilemap_generate(tilemap(width, height, sample));
|
||||
function tile_wfc(size, sample) =
|
||||
tilemap_generate(tilemap(size[0], size[1], sample));
|
||||
|
||||
/*
|
||||
|
||||
@@ -20,8 +20,7 @@ sample = [
|
||||
["S", "S", "S", "S", "S", "S", "S", "S", "S", "S", "S", "S", "S"]
|
||||
];
|
||||
|
||||
width = 20;
|
||||
height = 20;
|
||||
size = [20, 20];
|
||||
|
||||
echo(tile_wfc(width, height, sample));
|
||||
*/
|
||||
|
Reference in New Issue
Block a user