-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update cube size based on caliper measurements. #19
Conversation
Only question is do we want to include tolerance in the measurement or do we want it to be exact and include tolerance as needed? |
Probably want to include tolerance as needed? I'm thinking, for instance, that tolerance is a property of the printer and the specific shape in question and the play in the structure. So our cube_holder() may need 1mm of tolerance, but our static claw may need 3mm of tolerance. So it seems like we shouldn't "double" them. That said...I'm not positive it isn't a good idea to have some basic tolerance. Basically, from the perspective of, "this printer is designed for a cube up to 57mm wide...however, most cubes are a bit smaller, which is fine" type of thing. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
approved, however you want to do it, I gave you my thoughts and have no clear reason to say they aren't dumb
Yeah, tolerance is weird because it’s really a manufacturing detail—which inevitably affects the design. Probably makes more sense to pull it out, and have it be a module input—similar to the way $fn works. Maybe we can make it a constant, since it should be about the extrusion size for 3D printing but would be much lower for something that was CNC’d. |
Yeah I have definitely learned though that tolerances, at least in 3d printing, are very strange. Like, they can cumulative in different ways, they can depend upon different things like the physical results of the printer (which in itself is complicated: globs, warping, overhang, bridging, overextrusion, striations), material flex, temperature, postproduction like sanding... Using a $ var like $fn (you can make your own) is an interesting idea! I suppose you could even go so far as to like, multiply them or regress them etc in places where it made sense to do so. I wonder how professional engineers do it... |
Updated! Let me know what you think. I'd also update #18 once merged to use |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still approved, still more rambling thoughts!
difference() { | ||
cube([width, depth, width], center=true); | ||
cube([cube_size, 3*depth, cube_size], center=true); | ||
cube([tolerant_cube_size, 3*depth, tolerant_cube_size], center=true); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how about a function which takes a value and/or vector?
// in util.scad:
function tol(x) = isnum(x) ? x + $tol : vtol(x);
function vtol(x) = [ for i [0:len(x) -1] tol(i) ];
...
// here:
cube(tol([cube_size, 3*depth, cube_size]), center=true);
// or even just:
cube(tol(cube_size), center=true);
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Interesting, makes sense! I'm going to merge these as is, but let's definitely add to utils to help manage tolerances!
No description provided.