Skip to content
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

Improvements to Gridfinity Base #759

Merged
merged 10 commits into from
Mar 9, 2025
Merged

Conversation

maihde
Copy link
Contributor

@maihde maihde commented Feb 23, 2025

This PR provides multiple improvements, three are very straight forward:

  • allow setting height to zero to disable creation of walls (i.e. you only want the grid base).
  • set the openings to have a radius that is consistent with the Gridfinity specification and more asthetically pleasing in my opinion
  • when cut_pads is turned on, also cut magnet holes by default. I could see an argument to add a boolean cut_pads_mag which is off by default but I refrained to keep the command-line more concise.

The next is intended to make it easy to use boxes.py to build grids that drop into existing areas with a fixed size like drawers. Instead of providing the number of grids in the x and y direction you can instead specify the full size (in mm) in the sx and xy similar to (https://laserbase.makershop.ch/).

I made a few design decisions here:

  • the default behavior is consistent with the existing command-line for boxes.py, so anyone creating Gridfinity trays already won't see a change
  • if x, y, sx, sy are all provided then the minimum size of the box is specified by x and y(in other words, you are always guarantedxbyygrids). Ifsxandsy` are larger than the mininum size, then the grid is centered in the larger base.
  • if x and y are set to zero then the maximum number of grids is produced to fit within the provided sx and sy

The next change allows creating grids that are larger than a single work piece. This is similar to how https://laserbase.makershop.ch/Split works (but better). In the makershop version, splits are made arbitrarily. In my implementation, the splits are made down the center between grids and joined with a dovetail joint. A future commit will allow turning the dovetail off and using a straight edge.

In addition, when run in split mode it will also automatically split the box walls and base. I'd really like the box base to use a deeper dovetail, but couldn't figure out how to change dovetail settings mid-render. Help would be appreciated here. In addition, when running in split mode it won't generate a lid.

@florianfesti
Copy link
Owner

This is quite a bit of changes. I will try to get them reviewed soonish, but it's currently a bit difficult to find the time.

I wonder if the magnets holes in the feet should have matching magnet holes in the bottom plate.

@florianfesti
Copy link
Owner

Looking a bit closer: There are several parameters that have - in their name. This breaks for the web UI. --cut_pads-mag-diameter, --cut_pads-mag-offset, --pad-radius, --panel-x and --panel-y need to be renamed with underscores.

I am not a fan of using --sx and --sy. These are standard names that are used for something else. May be --size_x and --size_y can be used if no one has a better name.

@maihde
Copy link
Contributor Author

maihde commented Mar 7, 2025 via email

@florianfesti
Copy link
Owner

OK; that's a valid point. I guess it shows that I have not actually used Gridfinity myself. Adding a few magnets to a box is a very different thing than filling a whole base plate with magnets. Don't bother with the magnet holes for now.

@maihde
Copy link
Contributor Author

maihde commented Mar 8, 2025

@florianfesti I've pushed the changes requested. There are various ways to use Gridfinity. Here is one example, where I've used the modified version of boxes to create six panels for a desk drawer.
unnamed

@florianfesti
Copy link
Owner

Looks very neat!

In my eyes we can just merge this now unless you want to clean up the commits and merge the fixes into the features.

@maihde
Copy link
Contributor Author

maihde commented Mar 8, 2025 via email

@florianfesti florianfesti merged commit b40c9f1 into florianfesti:master Mar 9, 2025
3 checks passed
@florianfesti
Copy link
Owner

Thanks for all the additions!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants