1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-08-26 07:55:16 +02:00

use polyline_join

This commit is contained in:
Justin Lin
2021-10-08 09:36:01 +08:00
parent e9440e55d6
commit a14c5676d4
36 changed files with 158 additions and 136 deletions

View File

@@ -1,5 +1,4 @@
use <pie.scad>;
use <hull_polyline2d.scad>;
use <ptf/ptf_rotate.scad>;
use <experimental/tile_penrose3.scad>;

View File

@@ -1,7 +1,7 @@
use <experimental/tile_penrose3.scad>;
use <experimental/ptf_c2sphere.scad>;
use <ptf/ptf_rotate.scad>;
use <hull_polyline3d.scad>;
use <polyline_join.scad>;
use <surface/sf_thickenT.scad>;
use <polyhedron_hull.scad>;
use <util/every.scad>;
@@ -19,6 +19,7 @@ $fn = 4;
penrose_basket(basket_radius, radius_in_plane, n, line_diameter, bottom_radius, bottom_height, shell_random_threshold);
module penrose_basket(basket_radius, radius_in_plane, n, line_diameter, bottom_radius, bottom_height, shell_random_threshold) {
line_r = line_diameter / 2;
tris = [for(t = tile_penrose3(n)) t[1] * radius_in_plane];
for(t = tris) {
if(every(t, function(p) norm(p) < radius_in_plane * 1.25)) {
@@ -30,10 +31,8 @@ module penrose_basket(basket_radius, radius_in_plane, n, line_diameter, bottom_r
cp
];
hull_polyline3d(
pts,
line_diameter
);
polyline_join(pts)
sphere(line_r);
if(rands(0, 1, 1)[0] < shell_random_threshold) {
inward_ratio = (basket_radius - 0.25 * line_diameter) / basket_radius;

View File

@@ -1,5 +1,5 @@
use <experimental/tile_truchet.scad>;
use <hull_polyline3d.scad>;
use <polyline_join.scad>;
use <ptf/ptf_ring.scad>;
size = [20, 100];
@@ -28,9 +28,10 @@ module tiled_line_mobius(size, twist, line_diameter = 1) {
]
);
half_line_diameter = line_diameter / 2;
for(line = lines) {
pts = [for(p = line) ptf_ring(size, p, size[0], twist = twist)];
hull_polyline3d(pts, diameter = line_diameter);
polyline_join(pts) sphere(half_line_diameter);
}
}

View File

@@ -1,5 +1,5 @@
use <experimental/tile_truchet.scad>;
use <hull_polyline3d.scad>;
use <polyline_join.scad>;
use <ptf/ptf_torus.scad>;
size = [20, 50];
@@ -18,9 +18,11 @@ module tiled_line_torus(size, twist, line_diameter = 1) {
i <= 1 ? [[x, y], [x + 1, y + 1]] : [[x + 1, y], [x, y + 1]]
];
half_line_diameter = line_diameter / 2;
for(line = lines) {
pts = [for(p = line) ptf_torus(size, p, [size[0], size[0] / 2], twist = twist)];
hull_polyline3d(pts, diameter = line_diameter);
polyline_join(pts)
sphere(half_line_diameter);
}
}