1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-08-12 17:54:18 +02:00

reuse vts

This commit is contained in:
Justin Lin
2022-05-16 08:37:18 +08:00
parent 0d685a7280
commit 12898673a8

View File

@@ -18,28 +18,32 @@ module bend_extrude(size, thickness, angle, frags = 24) {
r = half_frag_width / sin(half_frag_angle);
s = (r - thickness) / r;
transX = [x, 0, 0];
mirrorX = [1, 0, 0];
sq_size = [frag_width, y];
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])
translate(transX)
mirror(mirrorX)
children();
translate([offsetX, 0, 0])
square([frag_width, y]);
square(sq_size);
}
}
offsetY = -r * cos(half_frag_angle) ;
offsetY = [0, -r * cos(half_frag_angle), 0];
rotXn90 = [-90, 0, 0];
rotate(angle - 90)
mirror([0, 1, 0])
mirror([0, 0, 1])
for(i = [0 : frags - 1]) {
rotate(i * frag_angle + half_frag_angle)
translate([0, offsetY, 0])
rotate([-90, 0, 0])
translate(offsetY)
rotate(rotXn90)
get_frag(i)
children();
}