fix twist for chamfered gears
This commit is contained in:
parent
42883b002a
commit
4107b962ad
1 changed files with 9 additions and 10 deletions
|
|
@ -410,19 +410,18 @@ let model = {
|
||||||
const srad = shaft / 2;
|
const srad = shaft / 2;
|
||||||
poly.addInner( newPolygon().centerCircle({ x:0, y:0, z:0 }, srad, nump) );
|
poly.addInner( newPolygon().centerCircle({ x:0, y:0, z:0 }, srad, nump) );
|
||||||
}
|
}
|
||||||
const verts = poly.extrude(height || 15, { chamfer });
|
const zh = height || 15;
|
||||||
|
const verts = poly.extrude(zh, { chamfer });
|
||||||
if (twist) {
|
if (twist) {
|
||||||
const rad = base.util.toRadians(twist);
|
const rad = base.util.toRadians(twist);
|
||||||
for (let i=0; i<verts.length; i += 3) {
|
for (let i=0; i<verts.length; i += 3) {
|
||||||
if (Math.abs(verts[i+2]) < 0.001) {
|
let [x, y] = base.util.rotate(
|
||||||
let [x, y] = base.util.rotate(
|
verts[i],
|
||||||
verts[i],
|
verts[i+1],
|
||||||
verts[i+1],
|
rad * (verts[i+2] / zh)
|
||||||
rad
|
);
|
||||||
);
|
verts[i] = x;
|
||||||
verts[i] = x;
|
verts[i+1] = y;
|
||||||
verts[i+1] = y;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
send.done(verts);
|
send.done(verts);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue