Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Bento3D (polar-tadpole-97b.notion.site)
238 points by sdenton4 on May 21, 2024 | hide | past | favorite | 74 comments


I've been enjoying gridfinity. You can customize and print compatible cases.

https://www.reddit.com/r/gridfinity/comments/1ami7f4/i_desig...


I love gridfinity, especially for drawers. It feels like 70% of the time when I want to store something there’s already a nicely molded box out there from someone else.


This looks great too...


The headline says

    Bento3D is a web tool that allows
    you to create 3D printable dividers
    and toolboxes with millimeter precision.
Is the "millimeter" precision noteworthy? This is kind of a CAD program, right? Why would it have trouble with any precision? Isn't it just juggling numbers?


it's noteworthy because a lot of similar solutions using OpenSCAD (progmatic on-demand creation of boxes/containers) are written poorly, and in many cases they only allow an arbitrary precision as set by the authors.

>This is kind of a CAD program, right? Why would it have trouble with any precision? Isn't it just juggling numbers?

this one kind of made me laugh only because of my familiarity with the history of CAD programs and what poor tasting dog-food has been served.

There is a long history of conversion errors, process errors, arbitrary formats and unit types, whatever. A CAD program that truly 'juggles numbers' is the holy grail, and the high tech solutions nowadays are getting pretty close to getting it right -- but it's been a journey and they're still not really there; every CAD suite has a list of no-nos that must always be kept in mind, and they're not engineering/science no-nos, they're "it'll break the software when I try to create a chamfer around this type of edge." kind of no-nos that are quirky and specific.


To be honest I'd also assume to be able to create arbitrarily sized boxes.

Last time I used OpenSCAD I didn't notice any arbitrary precision limitations — maybe the ones who expose interfaces to the web have them, but even there I don't seen how anything but millimeters would make sense (then again I live in Europe).


I’m also a content OpenSCAD user. I had zero 3D design experience when I bought my first 3D printer. OpenSCAD let me use my coding skills to program shapes for printing. I find the code-first approach much easier to reason about than graphics-first software.

Similarly, mm precision has been fine. All my dimensions are specified in mm, and parts come off the printer at the scale intended.

I’ve also had good luck with some open source OpenSCAD programs, particularly in the Gridfinity ecosystem.

OpenSCAD could use some polish, and perhaps a better packaging system, but it’s a reliable tool for me.


I also reach for OpenSCAD first when designing something for a 3d print, for a couple reasons:

1. I also didn't really have any actual 3d "design" experience before using OpenSCAD, except for in the 90s/00s when I played around with POVRay as a hobby, but OpenSCAD definitely feels a lot like writing POVRay scenes.

2. My first exposure to graphics programming was in OpenGL, and the OpenSCAD language's focus on transformations applying to children "rhymes" with that very well (they're just like a C-style if/for/while block, where you can either nest several things inside { } or else just have a single statement following the control structure and the transform applies only to that one thing, so

  cube(1);
  translate([1,1,1])cube(1);
  translate([2,2,2])cube(1);
is equivalent to

  cube(1);
  translate([1,1,1]){
    cube(1);
    translate([1,1,1]){
      cube(1);
    }
  }
which is in turn equivalent to

  module cubechain(n) {
    if (n > 0) {
      cube(1);
      translate([1,1,1])cubechain(n - 1);
    }
  }
  cubechain(3);
and you can indeed make neat L-systems and such out of primitives and recursion.


Halfway through the Gridfinity intro video and I've come back to thank you.

(I'm also already exhausted from the level of manic energy from Zach but I'll try drinking two cups of coffee and hope that gets me to the end)


I enjoy his energy so much, but it might be because we’ve both got ADHD and his pace, unnecessary divergences from the topic, alliteration, and absurdist humour gratifies my attention span and keeps me focused. That might seem counter intuitive.


I about had a stroke when I got to 11m54s in https://www.youtube.com/watch?v=ra_9zU-mnl8#t=11m54s ; I think this is the correct transcription of that sentence:

> I did a whole episode on how more printers' printers print prints for printers' printers than printers print prints for printed projects


Cadquery is what you are looking for.


On the other hand, this here is just a program to design a box...


> Is the "millimeter" precision noteworthy?

I think they wanted to highlight the unit they chose for their exported drawings.

> Isn't it just juggling numbers?

it is, until you have to hand your plans off to someone else to work with in their toolchain

every time I want my local laser cutting shop to cut my piece correctly, I have to export my drawing from my CAD suite as a DXF, open Inkscape, set the page size to something physical like A4, import the DXF, align it on the physical page, then print the result as a PDF. This is the only way that the laser shop reliably receives a properly scaled drawing. Any deviation from this procedure has led to wasted time and material.


It's to draw contrast to "design systems" like Gridfinity, which is based on boxes that are multiples of 42mm on each side.

There are tradeoffs between the two approaches, with no real "right" answer. Gridfinity trades some flexibility for compatibility, the 42mm squares mean you can move the gridfinity boxes on a base without reprinting anything. This gives you much more flexibility, but if you want to change the size of one part you'll have to reprint a bunch of things.


I also find that line hilarious, but maybe it's intended as in "size adjustable down to the millimeter".

CAD programs are generally unitless. You can design a box with OpenSCAD "down to a micrometer" if you want.

Designing a joint that works well also will poorly 3d-printed parts is usually what matters, but it's not like we're lacking customizable solutions:

https://www.printables.com/model/757297

(not detracting from the website.. just commenting on the headline)


The STL format is unitless, as is OpenSCAD, but the vast majority of CAD software uses units.


I'm guessing for when you want to use these in drawers.


If the precision is as good as advertised, this would be extremely useful for board game box organizers.


The precision should be no trouble, but you should understand your printers tolerance capabilities.

If you print a 30mm hole and a 30mm box to go in it, it might not fit, usually you would oversize the hole or undersize the box. By how much depends on your printers characteristics. Easy to test by printing said box then measuring how close to 30mm it was.


It should be within 100-200 micrometers, otherwise your printer needs maintenance.

0.2mm is usually the clearance I go with if I want a loose fit.


Pretty neat. But an option for m3 screws would be great. I would guess more people have them laying around compared to m2.


You can always sand m3 screw down and rethread.


I'm not sure I can do that within reasonable effort.

I rather write my own parametric CAD from scratch.


Completely unrealistic… more constructive to recommend melting them down and re-casting/machining =)


Organizers are so essential in my workshop and homelab. The mill alone has hundreds of items to keep track of. You can only go so far with misc cardboard boxes. I've been using SolveSpace MCAD to design simple just right size boxes, but these are so much nicer.


It seems like one could do this design in Solvespace with several parameters for the overall box. The interior compartments/partitions could be done in a single 2D sketch.


Agreed. Mostly a question of competition for time given so many other projects vs. something that is ready to use.


What does MCAD stand for? Is it a different version from regular SolveSpace, or are you just describing what it is?


Mechanical CAD (Computer Aided Design)


The dividers look to be full height of the toolbox (not layered trays), so why are they printed as a separate part from the toolbox?

Not knowing 3D printing, my first guesses are that dividers can be done in a different color (to have high-contrast with the contents), or different material/process (for different outside/inside requirements), or to facilitate reconfiguring an existing box for different contents (lower cost to print just the divider insert, than to print an entire box and add metal hardware)?


Wow. This is amazing. I spent ages trying to find boxes so I could neatly store batches of parts for assembly. Now I can generate boxes with exact dimensions. This is great!


Really nice workflow for a really common 3d print use case. I'd like to see the lid re-worked to print without support (the tall standing orientation is also asking for it to get knocked over). Not sure why they insist on 0.1mm layer height. That makes prints take forever.


It looks like it could be printed flat and they are forcing everything in one print. That also increases the chance of failure and maximizes the resulting waste. I have wasted enough material with long multipart prints that I limit myself to ~8h if I can.


So I loaded a design on this into PrusaSlicer and it informed me the partition STL had a ton of open edges that needed some fixing. The fixed result appears fine but I am wondering about that.


I don't think 3D printing materials are suitable for lunchbox.


There are food safe materials, although you want to post process some to remove porousness that can harbour bacteria.


Right. And a lunchbox would have to be close to the worst-case scenario for an item where 3D printing would actually be used.


I don't think it's meant to be a literal bento, the page shows photos with bolts and markers.


I've also thought that - just rechecked and found a useful link https://formlabs.com/uk/blog/guide-to-food-safe-3d-printing/


there is a large selection of food safe filaments like TPU


This is a well-worn topic, but FDM has many potential issues that make food-safe printing significantly challenging.

It is alas not enough to use a food-safe filament; you need a food-safe extruder drive and nozzle, and almost certainly will need print post-processing to make the printed item physically food-safe.

The issue with a lunchbox is acute because it has potential contact with individual items of food for hours at a time, on a regular basis. It's the perfect setup for bacterial growth in the layer lines -- close to the worst-case scenario.

There would be ways to mitigate that (liners etc.) but arguably even a food-safe filament would need considerable vapour smoothing or coating.

Hard TPUs up at the Shore 75D range would be tough enough for the job but they would scuff up while cleaning, and are resistant to coatings etc.

(Side note being that 75D TPU is quite capricious to print.)


Have you printed with TPU? It's very porous.


Everything is porous when printed.


blowtorch or acetone bath etc can make some nice pieces

i mostly stick to petg for everyday stuff tho


Honestly this is pretty cool, but I'd encourage anyone getting into 3D printing to learn CAD tools well enough so they can make these for themselves in Fusion 360 or Onshape


I worked up a similar thing for pencil boxes while back:

http://ftp.tug.org/TUGboat/tb40-2/tb125adams-3d.pdf

and see:

https://seasick.github.io/openscad-web-gui/?https://raw.gith...

For a bit more on it:

https://community.carbide3d.com/t/making-a-parametric-fitted...

Expanding on this a bit, I'm trying for a system which generalizes to machine movement and then allows writing out a DXF to which toolpaths may then be assigned:

https://github.com/WillAdams/gcodepreview


I confirm, I have just started exploring the world of 3D printing and I am therefore also learning how to 3D model with Fusion 360. The software is very powerful and has already allowed me to create some models that I am very satisfied with, an example of a parametric junction box:

https://www.printables.com/model/871589-parametric-waterproo...

https://makerworld.com/en/models/456321#profileId-366679

Moreover, the work is the result of suggestions obtained from /r/functionalprint on Reddit.


I’d like to add: Tinkercad is honestly pretty great for simple stuff, there are things missing of course but it’s great how intuitive they’ve made it, it feels a bit like Figma to me, the selection of tools is so small that you can kind of figure everything out by yourself.

I really wish it wasn’t online-only and closed source though (same as figma I suppose)


For me it's not the online-only or closed nature of the thing, so much as the fact the canvas isn't high-DPI, which I find unreasonably maddening (I am unreasonably snobbish in this regard).

And the grid-oriented working method isn't ideal for me, though I confess I've not gone back to look at TinkerCAD much since learning OpenSCAD and FreeCAD; it may be that a better-informed visit would show me where I was judging it too hardly.

But it is amazing what people do with it, and while I have my issues with AutoCAD, it's clear that TinkerCAD is a truly liberating tool for an enormous number of people, and my criticisms may be getting into gift-horse-examination territory.


I think your points are fair, it is a bit fiddly, I just enjoy how little friction there is to getting started and making something simple.

I just needed to make a couple adjustments to an STL this week, I haven't done any CAD in months, in principle I have used Fusion before and had a nice experience with it, but since it's been a while I don't remember any of it and would have to look at some reference to get back into it, with tinkercad I could just drop the model in and make the adjustments I need by playing around with the shapes they provide. It didn't feel very "precision engineering" like but sometimes it just needs to be close enough.


Right. I mean that is the thing, I guess. For people who just want to get some stuff done in a way that makes sense, TinkerCAD is about as low-friction as it gets.

It's also arguably better at hacking on STLs than a bunch of higher-end CAD packages; it feels like that's been a focus of their efforts.

Personally what I'd really like to see alongside it is a sort of Scratch-blocks-based OpenSCAD/Build123D type thing -- this may already exist?


I might have finally found a use for having a 3D printer. This allows me to optimally organize every single drawer.

What printer do I start with, fellow hackers?


Bambu Lab A1 is probably one of the best entry printers right now.

There is also Prusa MINI+, they have a bit more parts that are open source. (Though I believe not everything)

If you want to go fully open source and all in, you can check out the voron project. For example Voron Trident. But I would only do that if you want to tinker and know a bit about electronics and building.


Thanks for the Voron rabbit hole. This is awesome!


I really like the concept, but I greatly prefer just using a piece of filament for the latch bendy element, and the hinge.


I have come to be a big fan of small steel dowel pins, though I do wonder about them ultimately loosening in PLA as a result of (causing) cold flow.


PETG pins are not as strong, but they do seem to stay in place very well even with very loose tolerances. It's not really perfectly straight, so I'm guessing the springiness and bent shape keeps it in place, rather than needing a friction fit.

Steel definitely has some advantages though,


Interesting web.


Very impressive.

The only thing that looks a bit bad is that the models produced need to be fixed before being able to be sliced.


Indeed. It looks to me like the export here is probably ThreeJS STLExporter? It is known for creating non-watertight models, unfortunately.

PrusaSlicer seems to do an adequate job tidying these up automatically.

I think it's not particularly uncommon for STLs exported from common CAD packagers to have some of these issues, though this is a lot.

Super-nice otherwise though -- a neat design. And in general I think client-side tools like this have a lot of potential. Three.js opens up potential for doing task-focussed things without using OpenSCAD on a server or a full emscripten build of OCC (like Cascade Studio does)


Neat idea! Tried it, at the moment the model files have open edges, PrusaSlicer croaks on them.


https://youtu.be/qBfD-cQYJxc

> If you want the best surface finish possible, follow the proper print orientation guidelines outlined in the docs. It might not be mentioned here, but I had to repair the model. The outer box showed problems with the geometry in PrusaSlicer, so I used PrusaSlicer on Windows to fix that. I'm not sure if the repair feature is available in the Mac version, but you can also use NP Faab Services or Meshmixer for geometry repair. Just be aware that the box will print as a solid object unless it's repaired well.

Saw a video reviewing this yesterday - above is a quote from it.


Thank you for pointing this out. It worked, even on Mac.


Do the video links for other people? I am getting a AWS S3 error.


working for me currently


So strange, I get "Access Denied"


I'm also getting access denied when trying to go to any of the following videos

```

1. Screw the pan head small screw into the case so that the outside is the head

    [IMG_8526 2.mp4](https://prod-files-secure.s3.us-west-2.amazonaws.com/4494a4ec-b486-4dc3-9a15-71da1266a6d7/f6ab3e46-95c5-4857-8ada-261423bc505c/IMG_8526_2.mp4)
    
2. Take one parallel pin, insert it into the groove of the box part from below, and push it up until you hear a "click". This will fix the pin

    [IMG_8527 2.mp4](https://prod-files-secure.s3.us-west-2.amazonaws.com/4494a4ec-b486-4dc3-9a15-71da1266a6d7/b03a7857-ea55-4bec-bf9e-41bb4ed30708/IMG_8527_2.mp4)
    
3. Insert the other parallel pin into the hole of the latch part and push it into the hole of the lid part. Also insert it until you hear a "click"

    [IMG_8529 2.mp4](https://prod-files-secure.s3.us-west-2.amazonaws.com/4494a4ec-b486-4dc3-9a15-71da1266a6d7/e4a32734-b18c-4fc6-85d6-4b66335b2b5c/IMG_8529_2.mp4)
```


how well will these stand the test of time?


It will match or exceed commercial products if you pick a strong material and print settings. I've printed a ton of toolbox dividers, bins, clamps, hangers, etc out of PLA and PETG and 98% are still going strong after 4+ years. The things I've broken have had either literal hammers or my entire body weight land on them.

PLA is common, really easy to print, vaguely biodegradable, and strong — but it is brittle, will deform under load, and will degrade in UV light.

PETG, roughly the plastic in soda bottles, is a good choice for functional prints and addresses all the problems with PLA but is slightly less strong and is more difficult to print fine detail with.

ABS/ASA will produce prints with strength and durability truly like commercial products, but you need a pretty decent printer + enclosure to avoid warping. Also it produces toxic fumes while printing.

Tradeoffs.


Polycarbonate is ridiculously strong, lasts forever even outdoors, doesn’t creep (much), and doesn’t produce dangerous fumes-

But costs twice as much as PLA, and absolutely requires an enclosure to print.

Tradeoffs indeed.


How do you get rid of the "3D printed look" surface? Sanding?


> Tradeoffs.

Yep. You don't get out of it without learning some materials science...


Really cool!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: