1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-08-17 20:11:50 +02:00
This commit is contained in:
Justin Lin
2022-03-30 17:26:55 +08:00
parent 8e5255fdc9
commit 1188fe9bcc
2 changed files with 15 additions and 17 deletions

View File

@@ -21,14 +21,14 @@ module bend_extrude(size, thickness, angle, frags = 24) {
module get_frag(i) {
offsetX = i * frag_width;
linear_extrude(thickness, scale = [s, 1])
translate([-offsetX - half_frag_width, 0, 0])
intersection() {
translate([x, 0, 0])
mirror([1, 0, 0])
children();
translate([offsetX, 0, 0])
square([frag_width, y]);
}
translate([-offsetX - half_frag_width, 0, 0])
intersection() {
translate([x, 0, 0])
mirror([1, 0, 0])
children();
translate([offsetX, 0, 0])
square([frag_width, y]);
}
}
offsetY = -r * cos(half_frag_angle) ;
@@ -36,11 +36,11 @@ module bend_extrude(size, thickness, angle, frags = 24) {
rotate(angle - 90)
mirror([0, 1, 0])
mirror([0, 0, 1])
for(i = [0 : frags - 1]) {
for(i = [0 : frags - 1]) {
rotate(i * frag_angle + half_frag_angle)
translate([0, offsetY, 0])
rotate([-90, 0, 0])
get_frag(i)
children();
}
translate([0, offsetY, 0])
rotate([-90, 0, 0])
get_frag(i)
children();
}
}

View File

@@ -15,9 +15,7 @@ function curve(t_step, points, tightness = 0) =
[
each [
for(i = [0:leng - 4])
let(
pts = _catmull_rom_spline_4pts(t_step, [for(j = [i:i + 3]) points[j]], tightness)
)
let(pts = _catmull_rom_spline_4pts(t_step, [for(j = [i:i + 3]) points[j]], tightness))
for(i = [0:len(pts) - 2]) pts[i]
],
points[leng - 2]