Le0Michine / FusionGridfinityGenerator

Other
623 stars 40 forks source link

Remove flats on bottom of bin profiles #83

Closed lutorm closed 1 month ago

lutorm commented 5 months ago

Currently it appears that the bottom pattern is generated by truncating the bottom pattern to 41.5mm, and then composing multiples of this by spacing them 42mm apart. This creates a 4.75mm high profile with a 0.5mm flat between the units. Because of the tolerance on the chamfered part of the pattern, a box with more than one unit will always sit on these flats, not on the chamfers. This causes a 2-wide bin to rock on the center flat.

In contrast, looking at Zack's "Parametric Divider Box" project, the bottom profile is 42mm wide and 5mm tall, so when composing units there is no flat section in the middle. Only the external parts of the profile are then truncated by the 0.25mm tolerance on each side. In my experience, these nest much more solidly.

See images, the top is generated by this tool and the bottom is from Zack's design: gridfinity_flat gridfinity_noflat

The fit of the bins would be improved if the flats between the units were eliminated and the chamfers met in the middle, like in Zack's design.

muppy commented 5 months ago

I had the same request :) it looks you anticipated me :)

Le0Michine commented 5 months ago

Hi, could you provide more details about the issue you are facing? From your description it doesn't sound like making those chamfers meet would really help as bin could just sit on a single line and still wobble. What baseplate model are you using and what is the ridge hight on it? As an option you could select that surface and hit delete and check if it helps.

Just for the reference, this is where base height comes from https://gridfinity.xyz/specification/

image
lutorm commented 4 months ago

Here's the enlarged profile from that web site: profile So think about what happens with a 1x1 bin. The image above creates an empty space all around the bin, but since it has to bear on something, it'll just fall down and rest on the chamfer. (In this way, clearancing the chamfers is sort of pointless, all that does is drop the bin further down. What's important is that the vertical sides have clearance because without that the bin won't sit in the baseplate at all.)

profile2

Now think about what happens with a 1x2 bin. You'd mirror the profile across the baseplate centerline (indicated in red in the new picture above). If you connect the two profiles with a flat section at the top of the chamfer like the plugin does now, like the blue line in the image, the bin can no longer drop down and sit on the chamfers like the 1x1 did. Instead, the flat section will rest on the point at the top of the baseplate. For the bin to rest on the chamfers like the 1x1 did, you have to extend the chamfers of the module until they meet above the top of the baseplate, as indicated by the orange line (and like they do in Zack's design in the lower picture I included in the OP).

Hope that makes it clearer.

lutorm commented 4 months ago

Incidentally, I tried deleting the face in F360 and it sort of works. For 1xN bins, the result seems fine. If there are several rows and columns, though, deleting the face results in a shell crossing at the intersection because the fillet in the intersection crosses the inner bottom of the bin. E.g. see below: section Making the bottom thicker would solve this but that doesn't appear to be an option. The proper way would be to make the intersections flat at the height the chamfers meet, like in the image in the OP.

tache commented 4 months ago

Yep - saw this and meant to post this as well. You an see it when you are in the slicer when it will ask for the supports, where the official does not. Also note Zach's bin is 0.43mm taller compared to a generated bin. It lust looks like it starts a bit early.

Here is the comparison of a Zach bin to a generated bin. Zach on the left with the throw holes and a generated bin on the right. Pictures per layer, from 23 up to 27You can see the stability error dialog with the generated bin.

Layer 23

issue-layer-23

Layer 24

issue-layer-24

Layer 25

issue-layer-25

Layer 26

issue-layer-26

Layer 27

issue-layer-27

Stability Error

error

lutorm commented 4 months ago

So I realized this is only an issue if you use Zack's baseplate. The baseplates created by this add-in aren't pointy in the center, so there's no issue if you only use this add-in. The problem appears if you use these bins on the baseplates from e.g. https://thangs.com/designer/ZackFreedman/3d-model/Gridfinity%20Baseplates-60925.

It's kind of unfortunate to have two mutually incompatible designs, but as long as you use the add-in to create your baseplates you'll be fine using whatever bin designs, so it's not a huge deal.

fneb commented 3 months ago

Just wanted to chime in and say this is something I would appreciate too. I'm working on a design that is overall 6x4 Gridfinity units and has a bridge at the long ends within the grid and so bridges need to be in a specific direction. With this direction with the current implementation of this plugin results in bridges being attempted all the way down the 6 Gridfinity direction.

Screenshot attached - the bridge I need is in the top-left area for reference, to show that I can't change the bridge direction for the whole model. Model in screenshot is entirely generated in Fusion 360 with this plugin being the only addon used. And since I'm designing this to be released for others to use I'd rather not need to give more printing instructions than needed. In the end I had to manually cut out sections from this base section and put chamfers in to resolve this.

image

tache commented 3 months ago

@Le0Michine Any update on this issue? Thoughts on when it could be completed? Is it a quick tweak of the layer generation parameters?

fneb commented 3 months ago

If it helps - either as part of developing a long-term fix option or for anyone reading this wanting a work-around - what I've found is the quickest way of doing this (with my limited CAD abilities) is to extrude the flat horizontal surface by -.25mm, then chamfer the whole surface. This will also put chamfers on this surface around the border of the bin, and if desired you can go around and delete these surfaces. In any case, I don't seem to be able to simply offset or move the surface up and have the chamfers meet that way.

Le0Michine commented 3 months ago

I took a stab at it, all I can say right now is that it is a work in progress and it does require reworking/rethinking how base is generated. It is not a straightforward change as base is used in a lot of different places such as cutting out stackable lip, generating lip notches, baseplate. And there are still quite a bit of unobvious assumptions and hardcoded consts left throughout the code since early days of the plugin. That's said I believe I found the solution and slowly making progress

image
fneb commented 3 months ago

Thanks! I figured it would be complicated given that the face couldn't simply be offset. Much appreciated that you're working on this!

tache commented 2 months ago

So is this closed now? I see it generates correctly in the latest update.

Le0Michine commented 2 months ago

it's only available for installation from source code and hasn't been released yet, will resolve once release is prepared

Le0Michine commented 1 month ago

Addressed in v1.4.0.0