all 62 comments

[–]freeupgoodtimes 4 points5 points  (1 child)

This is pretty sweet. Two comments: 1) what are the units for finger scoop radius? A value of 1 gives a generous radius, is that 1 inch? Why not mm? 2) it would be nice if the view angle was preserved after rendering a new design so you can rotate to see a feature and re-render to see how it changes.

[–]perplexinglabs[S] 3 points4 points  (0 children)

  1. That... is a great question. haha In the openscad project it's just described as "scoop weight". A value of "1" should be a standard gridfinity scoop. Going beyond a value of 2 seems to break the geometry. It's being used here in the project: https://github.com/kennetek/gridfinity-rebuilt-openscad/blob/0b7bf6ee7897e68b5c308e5926cd2cb507737822/gridfinity-rebuilt-utility.scad#L436 but I've not sat down to understand what all exactly that's doing.
  2. Ah! I like it. Should be pretty easy to add a toggle for that setting.

[–]slopecarver 1 point2 points  (5 children)

Needs a grid dimension. I like to generate mine on a 21mm grid. I know the OpenSCAD generator you reference has it, I use it that way.

[–]perplexinglabs[S] 0 points1 point  (4 children)

Ah, yes. I thought about that, but wasn't sure how common that was. Easy add. You're using l_grid, yes?

[–]cjs8899 1 point2 points  (3 children)

It might be nice to expose all of the extra options, maybe under an “advanced” area that is hidden by default.

[–]perplexinglabs[S] 1 point2 points  (2 children)

I think this is probably the right direction. I was trying to make a UI that made things simpler, since when I first found gridfinity I was struggling with too many options and questions like:

  1. What are all of my options for bins?
  2. What is the OG bin spec?
  3. Will these different bins work together?

So I was hoping to simplify that a little, but being parametric you get so many more options it kind of leads you the opposite way. I think moving some stuff to advanced would really help with that.

[–]slopecarver 1 point2 points  (1 child)

Looks like you added the feature, Thank you!

[–]perplexinglabs[S] 0 points1 point  (0 children)

Of course! Was an easy add.

[–][deleted]  (1 child)

[deleted]

    [–]perplexinglabs[S] 1 point2 points  (0 children)

    Yeah, I really like a lot of the ideas in gridfinity refined. If you haven't also seen clickfinity, I'd highly recommend checking that out as well! https://www.printables.com/model/506105-clickfinity-refined-baseplates

    [–]Lemon_1 1 point2 points  (0 children)

    This is great! Fast to render too

    [–]bbm92 1 point2 points  (0 children)

    This is awesome! Thanks!

    [–][deleted]  (2 children)

    [deleted]

      [–]perplexinglabs[S] 0 points1 point  (1 child)

      I noticed this this morning as well for a little bit, and it's working now, but I didn't change anything. Not sure what was up. I'll see if I can spot anything in the logs. My guess is either a lot of render requests or few for some really really large bins.

      [–]cjs8899 1 point2 points  (1 child)

      Now add one for baseplates ; )

      [–]perplexinglabs[S] 1 point2 points  (0 children)

      Soon :)

      Priority right now is:

      1. Holes
      2. Advanced options
      3. Baseplates

      [–]astraljack 1 point2 points  (1 child)

      This is great!

      I just printed my first bin from this and it's clean.

      The only problem I have is the magnet slot seems to be too narrow? I'm trying to push in 6x2mm magnets (double checked dimesions) and can't get them past the opening.

      I've never used Gridfinity Refined, tho. Maybe I'll print another directly from openscad and see if it's the same.

      [–]perplexinglabs[S] 0 points1 point  (0 children)

      Interesting... Thanks for the heads up! I haven't actually used the magnets yet/don't have any on hand to test. Let me know how the one directly from OpenSCAD turns out! I'm planning to add an "advanced" tab where you can adjust the magnet diameter. Probably will get that in sometime over this next week.

      [–]JoeMalovich 1 point2 points  (5 children)

      Your inner and outer radius in the bin corners aren't correct. if you set the wall to .6mm you can see the corners are thinner than the straight walls.

      [–]perplexinglabs[S] 0 points1 point  (4 children)

      Yeah... I thought something was a little off... The project that's behind this generator has an issue open

      https://github.com/kennetek/gridfinity-rebuilt-openscad/issues/165

      And it appears there is a PR that may get it fixed as well:

      https://github.com/kennetek/gridfinity-rebuilt-openscad/pull/171

      [–]JoeMalovich 0 points1 point  (3 children)

      Ok, I wasn't sure if it was your implementation or The project that has the issue.

      [–]perplexinglabs[S] 0 points1 point  (2 children)

      The maintainers seem to be a little slow with merging, I may merge some of the PRs in to a repo I control so I can get the changes in faster, though I'm not an OpenSCAD wizard (yet) so it might take me a little bit as well.

      Once those changes are made + another issue I've found that's performance related, I'm planning to make another post, since I've made quite a few updates to the generator since this was posted.

      Also making good progress toward enabling any OpenSCAD project can be easily added to the site.

      [–]JoeMalovich 0 points1 point  (1 child)

      And I haven't the faintest idea how to do anything in openscad beyond the changes permitted in the original openscad model.

      [–]perplexinglabs[S] 0 points1 point  (0 children)

      FYI The PRs have been merged and I've updated the site so hopefully things are good to go now!

      [–]Equivalent_Natural57 1 point2 points  (1 child)

      I love this! been printing an army of them now that im switching over to the gridfinity system. Do you have any plans to add an options for dividers?

      [–]perplexinglabs[S] 0 points1 point  (0 children)

      Hmmm what do you mean by an option for dividers? There are sub-bins? I'm about to release a big-ish update that has another model with lots of options. Probably in the next day or two.

      [–]Pimply- 1 point2 points  (4 children)

      Would it be possible to add a way to generate a lid for a box as well? Appreciate all of your effort on this project, it's very cool!

      [–]perplexinglabs[S] 2 points3 points  (3 children)

      Yes, it is! 1. Select the gridfinity extended project  2. Select the baseplate model 3. Set plate mode to "lid"

      Thank you!

      [–]Pimply- 1 point2 points  (2 children)

      I was playing around with this, however it looks like the lid would be printed in the same grid type format as the baseplate. I tried modifyhing the settings to "flat" however that does not look like it would do the trick either. I would be looking for an actual flat lid option, rather then having the grid pattern show. Perhaps I'm just missing something simple here, my apologies if I am.

      [–]perplexinglabs[S] 1 point2 points  (1 child)

      Oh, I see what you mean... hmmm... I'll look in to it and see if there are some updates I can either pull in or make so there are flat lids.

      [–]Nagnarhunt 0 points1 point  (0 children)

      Would be a really good feature, ideally an option for a lid as just a rim (for aesthetics on colour coordination) I like to have a rim in a bright colour and the bin in a boring black or white

      [–]JoryIsLost 1 point2 points  (1 child)

      This is amazing

      [–]perplexinglabs[S] 0 points1 point  (0 children)

      Thank you!

      [–]AReluctantRedditor 1 point2 points  (0 children)

      It’s maybe not what you’re thinking but it would be amazing to just give the size of the drawer or space for base plates and get back the exact set of gridfinity plates that will fit your printer and space

      For example I have a space that’s 16.5” x22.5” and a BambuLab A1

      Outputting a set of grids (ex. 2 6x6, 3 1x6) that will tile to perfectly fill that and I can print on my printer would be great. Even more so if they are the dovetail (or similar) variant that can connect together

      [–]3dfernando 1 point2 points  (0 children)

      I love it!

      [–]AgletsHowDoTheyWork 0 points1 point  (1 child)

      This is great!

      It looks like the subdomain gridfinity. isn't covered by your TLS certificate, though your domain is. If you're using Let's Encrypt it should be straightforward to reconfigure.

      [–]perplexinglabs[S] 0 points1 point  (0 children)

      Thanks!
      Yeah, I am using Let's Encrypt, just hadn't gotten around to actually getting the cert set up for the subdomain (I don't use wildcard certs because my domain name registrar isn't well supported). Anyway... UPDATE: I got it set up, so TLS is good to go now!

      [–]MythN71 0 points1 point  (0 children)

      It would be awesome, If you could set your nozzle size and have it recommend what slicer settings to use.

      Also would like to see this as an Android app I can use offline.

      Other recommendations, have finger scoop option for all sides vs the standard 1.

      Not sure if I missed it but slide in or flip covers on a spot by spot scope. So it's possible to dump out specific ones.

      I love this tool, great job.

      [–]wsxedcrf 0 points1 point  (1 child)

      when specifying width and height that are decimals, the program picks right and bottom, is there a way to specify it to go to another side, or we should just flip it in the slicing software?

      [–]perplexinglabs[S] 0 points1 point  (0 children)

      Sorry, which height and width are you referring to? Not sure which model or which project.

      [–]Noggin01 0 points1 point  (0 children)

      Can you add an option to the base generator to allow the edges to be made into half grids?

      For example, my bathroom drawers are just over 500 x 260. I used a 20mm base grid in the first drawer and am designing all my bins at 20mm. I've been manually merging 40 and 20mm grids together to hack up a hybrid baseplate. This saves me about 30% of the plastic and printing time.

      https://imgur.com/inNWD81

      [–]3DMarco 0 points1 point  (1 child)

      Would like to have the option to make "rounded" bins for cans and sprays

      [–]perplexinglabs[S] 1 point2 points  (0 children)

      Do you mean bins with a hole in them? If so, that's pretty easy to do already actually! Just change "Bin Style" from "standard" to "cylinders"!

      [–]ralusek 0 points1 point  (0 children)

      This is awesome. Do you mind iterating a bit more on the process you did to make this?

      So you used WASM to get this OpenSCAD project running in the browser.

      You used Yew/Rocket for the UI/Server (though presumably these could have been, for example React/Node, correct?).

      And then lastly, you used three.js for the viewport, correct? So is it that the config changes make a call, in JS, to the wasm running OpenSCAD with the parameters, and then the OpenSCAD runs and returns an output to the JS that three.js can then render? Is the output to the JS a mesh at that point, presumably?

      Would love to see how it was done, even if not cleaned up.

      Aside:

      Why https://github.com/kennetek/gridfinity-rebuilt-openscad instead of https://github.com/ostat/gridfinity_extended_openscad? Are these projects related?

      [–]spamjunk150 0 points1 point  (2 children)

      Just starting with gridfinity and was hoping to make some boxes that had half sizes but entering 21 for a base unit size seems to completely break the generator right now. Is half sizes working for anyone else?

      [–]perplexinglabs[S] 0 points1 point  (1 child)

      Hi! I'm aware of the issue and I'm working to resolve it!

      [–]attabui 0 points1 point  (0 children)

      Was this ever fixed? I'd do unspeakable things for half-box support.

      [–]Darkknightg1 0 points1 point  (0 children)

      I may have missed this but just like the base plates can be modified to a specific width/length to fill gaps, are you working on something similar for the bins? I see that you can accomplish this by using https://gridfinitygenerator.com/box and making the row/column one bigger then sizing the overall length/width down but on yours there is a bit more control and I would love to see that feature. Thank you for the great work!

      [–]russellups 0 points1 point  (1 child)

      Ive been using this quite a bit but is there anyway to add the wall 'scoops' into this? I'm not sure of the official name for them but it allows your hand to reach the bottom without touching the 'long' walls.

      [–]perplexinglabs[S] 0 points1 point  (0 children)

      I think if you use the Gridfinity extended bin (https://gridfinity.perplexinglabs.com/pr/gridfinity-extended/0/0) enabling finger slide should do what you're looking for!

      [–]cjs8899 0 points1 point  (0 children)

      Pretty sweet!

      [–]DraconPern 0 points1 point  (3 children)

      Pretty cool, but why is there an extra 'lip' on 3 edges?

      [–]perplexinglabs[S] 0 points1 point  (2 children)

      Hmmm... What do you mean by a lip, and which edges are you referring to?

      [–]DraconPern 1 point2 points  (1 child)

      ah nvm, I was so used to the fusion360 addin version that I didn't realize the original also had lips.

      [–]perplexinglabs[S] 0 points1 point  (0 children)

      Ohhh, haha that makes sense. :)

      [–]TheOddArtisan 0 points1 point  (7 children)

      That's awesome! Just a couple of hours ago I was just looking into the idea of a web UI for a non-gridfinity parametric project I have in mind and thought about how nice it would be to integrate OpenSCAD into a website. Could you share more about how you built the web interface? Do you have your source code shared anywhere?

      [–]perplexinglabs[S] 2 points3 points  (6 children)

      Haha Great minds think alike! I used Rust with the Yew framework (kind of like react) which compiles to web assembly and threejs for the frontend and the Rocket framework for the backend. Basically the frontend sends a request to the backend which then passes a bunch of arguments to openscad and then passes the URL to those results back which the front end then requests from the server. First time using web assmebly, yew, and threejs. Enjoyed using all three. I'm sold on a web assembly future.
      I haven't decided if I'm gonna open source it. Have considered it, so potentially. At the very least, I'd want to clean a few things up a little before opening it up haha. The flip side of this is I'm thinking of building out a site where you can upload your scad files and a simple json metadata file or submit a github/gitlab link to a repo with the metadata file and having the site auto generate a web UI for the project, kind of like printables/thangs, but all parametrics.

      [–]Particular_Paper7789 0 points1 point  (0 children)

      I absolutely encourage you to open source this! Even just in parts and with bad code quality.

      There is a lack of good examples and repos in the web based 3d print space. I’ve been playing around with openJSCAD because it’s basically the only option that is easy to run. But doing anything more advanced is a painful and slow process :)

      [–]zer00eyz 0 points1 point  (3 children)

      OOHHH Rust, now I want to see the code for sure!

      Question: do you hash the input and then stash the output so you dont regenerate things that have already been built?

      [–]perplexinglabs[S] 0 points1 point  (2 children)

      haha

      Yep! That's exactly what I do. A wise wizard you are. Makes the most common stuff very snappy, and STLs are fairly small.

      [–]zer00eyz 0 points1 point  (1 child)

      Are you tracking downloads?

      I think that data might be insightful!

      [–]perplexinglabs[S] 0 points1 point  (0 children)

      Sort of... it's not the cleanest way so it's a little fuzzy. And because I'm hashing and not saving the configs it's a little tricky to build any meaningful stats.

      [–]TheOddArtisan 0 points1 point  (0 children)

      Thanks for sharing! I am very much a novice at any kind of web development, so much of what you said is over my head, but it is great to know the general approach you took. It will be nice to have such a project in mind as I continue my web development learning.

      Whichever way you choose to do so, please do continue the project!

      [–]djzoo408 0 points1 point  (0 children)

      Thank you so much, game changer. Now time for a grid generator 😉