I'm unsure if this is intentional or not but it threw me for a loop when I was coding up a parametric assembly.
The behavior of boxes is to fit their dimensions precisely including the tab cutouts. The square sheets don't. They're offset by a sheet thickness in two dimensions from 0 rather than translated to compensate. Personally I'd prefer all the functions to have the behavior of the box and once created have the 0 offset; but either case being consistent would do for regular behavior.
I realize this might be intentional for some reason but felt I should point it out to prevent someone having a similar head-scratching moment as their assembly is subtly off :). I can submit a patch if you'd like but it'd probably take me a while.
Thanks for sharing this library by the way. It's a nice time saver.
$fn=60;
include <lasercut.scad>;
thickness = 3.0;
cabx = 185;
caby = 320;
cabz = 220;
// Our laserCutSquare sheet
color("aqua", 0.75)
translate([0, 0, 0])
lasercutoutSquare(thickness=thickness, x=cabx-thickness, y=caby-(2*thickness),
bumpy_finger_joints=[
[UP, 1, 4],
[DOWN, 0, 4],
[LEFT, 1, 6]
]
);
// a cube for easy reference
color("green", 0.75)
translate([cabx, 0, 0])
cube([cabx, caby, thickness]);
// a cube for easy reference
color("green", 0.75)
translate([0, caby, 0])
cube([cabx, caby, thickness]);
// our laserCutBox
color("red",0.6)
translate([cabx, caby, 0])
lasercutoutBox(thickness = thickness, x=cabx, y=caby, z=cabz,
sides=5, num_fingers=4);
I'm unsure if this is intentional or not but it threw me for a loop when I was coding up a parametric assembly.
The behavior of boxes is to fit their dimensions precisely including the tab cutouts. The square sheets don't. They're offset by a sheet thickness in two dimensions from 0 rather than translated to compensate. Personally I'd prefer all the functions to have the behavior of the box and once created have the 0 offset; but either case being consistent would do for regular behavior.
I realize this might be intentional for some reason but felt I should point it out to prevent someone having a similar head-scratching moment as their assembly is subtly off :). I can submit a patch if you'd like but it'd probably take me a while.
Thanks for sharing this library by the way. It's a nice time saver.
in example: