vector76 / gridfinity_openscad

MIT License
281 stars 50 forks source link

Need to increase bottom thickness; which approach to differences between this and the original? #6

Closed universalist closed 2 years ago

universalist commented 2 years ago

Hi there, and thanks a lot for this project! I've tried it out (with satisfaction and success), but I noticed that there are some differences to the original parts. Especially the bottom is much thinner, which is a problem because with large layer heights the bottom layer of the compartment becomes just one single layer, resulting in a bad print. I'd like to propose a fix and create a pull request for that (it would be my very first pull request, but I have experience in OpenSCAD). I assume that the current bottom thickness was (like the bottom hole height) reduced to maximize the compartment space, so I'd honor that, and would add two options:

  1. to set a user-defined minimum thickness above the holes and the bottom cutouts
  2. to not maxmize compartment size, but replicate the dimensions of Zacks design

What do you think, does this make sense, would you accept this as a solution? Please let me know what you think.

Regards, Chris

vector76 commented 2 years ago

Yes, I think this makes sense. Since I was not intending to use the M3 screw holes or magnet holes, I thought it was a waste of space and also a waste of filament to keep the floor height.

By removing (or shortening) the m3 screw holes, the floor can be lower, which I adopted as the default, although I see your point about having an option to more closely mimic Zack's design or choose an alternative floor thickness.

Here is a separate idea that might relate: currently there is an option for holes or no holes, where holes implies the counter-bore holes that fit either M3 screws or magnets. Since the OpenSCAD design is intended to be more customized and has less need to be universal, I had contemplated making screws or magnets (or both or neither) independent options.

I mention the holes because it creates a constraint where a low floor will have the holes poke through, and without the holes the floor can be lower, and is instead constrained by the grooves between the pads.

What I think would make sense is an option for:

If M3 holes are desired, the minimum floor thickness will create a higher floor, or if M3 holes are not desired or if they are shorter, then the floor will be lower. The default values for these three options can replicate Zack's design, and the options can be tweaked while maintaining constraints so that the holes won't poke through the floor.

I will give this a think and probably implement it this way.

RussNelson commented 2 years ago

That is a good idea. You could put the holes / no_holes variable into the top of the file and let the customizer do its thing.

vector76 commented 2 years ago

I believe this last commit implements these features. The defaults are zero (no hole for screw or magnet) but the values for Zack's design are documented in the customizer (6.0 for screw length and 6.5 for magnet diameter) and the floor thickness causes the floor to be the specified distance above whichever is the tallest.

Open to feedback if I have broken something, but I think this is now complete.