[HN Gopher] Show HN: 3D printing giant things with a Python jigs...
       ___________________________________________________________________
        
       Show HN: 3D printing giant things with a Python jigsaw generator
        
       Author : naggie
       Score  : 163 points
       Date   : 2025-01-23 13:35 UTC (4 days ago)
        
 (HTM) web link (calbryant.uk)
 (TXT) w3m dump (calbryant.uk)
        
       | ramboldio wrote:
       | A big advantage of this technique is that the assembled model is
       | 'isotropic'. If it was printed in one piece, it would be easy to
       | split along the layer lines.
       | 
       | But when printing the plates separately, every face is equally
       | strong.
       | 
       | Great project!
        
       | nine_k wrote:
       | This is cool. This is also massive. I wonder how much e.g. the
       | arcade machine housing costs just in the filament used, and how
       | many hours did it take to print.
        
         | regularfry wrote:
         | There's a relatively well-travelled path of filling hollow
         | prints with something to get strength back, which does mitigate
         | that. What that something is will vary per application, but
         | I've previously used premixed post-hole concrete where I've
         | just wanted to add weight.
        
       | almog wrote:
       | > "The strength comes from the tightening/wedging effect when
       | pulling the join apart. If the dovetail is tapered, the join can
       | also tighten when it aligns too - this is highly desirable for
       | gluing, as it means the glue will not be scraped away."
       | 
       | While true, dovetail and other traditional woodworking joints
       | borrow their strength from using the wood grain to support the
       | joint.
       | 
       | I don't know a lot about 3D printing but I'm guessing a lot of
       | the assumptions about woodworking joints strength aren't
       | applicable.
        
         | bb88 wrote:
         | Interesting. I didn't know that.
         | 
         | But I do know about 3d printering. :)
         | 
         | Strength in printing is usually a function of the mass used to
         | print with. So more plastic used at the boundary layers will
         | mean stronger joints.
         | 
         | Eg. A PET plastic soda bottle (pepsi, coke) will flex in the
         | body where it's thin, but not on the threads on the top of the
         | bottle. In fact, those are pretty strong, because they need to
         | hold on a cap which keeps the carbonation in.
         | 
         | A good question to ask is if the dovetail joint in plastic as
         | strong as wood? The answer may likely be no, but it may not
         | also need to be. It just needs to be "good enough". And this
         | looks like it might be.
        
         | wongarsu wrote:
         | Grain direction in woodworking has many similarities to layer
         | lines in 3d printing. That makes techniques from woodworking
         | often more directly transferable than techniques from CNC
         | machined, cast, or injection molded parts.
        
           | almog wrote:
           | How so? What kind of filament preserves a multiple fibers
           | like structure that resembles wood grain? Sincerely asking
           | since I couldn't find any source for that
        
             | WillAdams wrote:
             | layer lines.
             | 
             | That said, if the part is small, and one can afford to
             | print w/ 100% infill just put it in a tray of salt and bake
             | to re-melt/re-flow to make a (more) solid part.
             | 
             | https://x3d.com.au/blogs/tips-and-tricks/pla-baking-the-
             | secr...
        
               | almog wrote:
               | Wood strength is high with the direction of the grain and
               | weak across the grain, is that a property of layer lines
               | too? I just couldn't find any source that claim it to be
               | so.
        
               | WillAdams wrote:
               | See:
               | 
               | https://xometry.pro/en-eu/articles/3d-printing-strong-
               | parts/
        
             | wongarsu wrote:
             | Each continuous strand of filament is kind of like a wood
             | fiber, in the sense that the strand is much stronger than
             | the connection to the other strands.
             | 
             | Of course 3d printers lay these strands in a 2d plane (and
             | stack layers of these 2d planes), whereas trees grow in
             | more-or-less one dimension. So wood has one strong
             | direction and two weak ones, while 3d prints have two
             | strong directions and one weak direction. And obviously 3d
             | printed strands are layed out by boring and often naive
             | algorithms that lack any of the beauty of naturally grown
             | wood. Then again, for structural applications you also want
             | the most bland and boring wood patterns possible.
        
               | almog wrote:
               | That much I'm aware of, but as I mentioned in previous
               | comments, with wood strength is high in the direction of
               | the grain but weak across the grain, plenty of academic
               | studies confirm that (and it takes little to verify it
               | empirically).
               | 
               | With 3D printing, despite the analogy, I couldn't find
               | any sources for strength along/across the "grain" so i'm
               | not sure how accurate that analogy really is.
        
               | wongarsu wrote:
               | With 3d prints this is usually framed as layer adhesion.
               | Within one layer (so in the x-y plane) you are basically
               | "along the grain" since the strands form loops and other
               | 2d shapes within the layer. Between layers (== in z
               | direction) you only have the adhesion between different
               | strands holding the layers together, which is equivalent
               | to going across the grain in wood.
               | 
               | CNC kitchen on youtube does a lot of strength and impact
               | testing, e.g. [1] (results at 9:55). "Across the grain"
               | you have half the strength in PLA (and similar numbers in
               | all filament types except TPU). Or if you prefer
               | manufacturer numbers, [2] is the datasheet for a random
               | PLA filament. It also shows worse numbers in every metric
               | in the Z direction (across the grain).
               | 
               | The difference isn't as severe as in wood, but it's big
               | enough that it is something you have to consider in
               | structural parts
               | 
               | [1] https://youtu.be/dOzVuoBP9gY?t=535
               | 
               | [2] https://polymaker.com/wp-content/uploads/lana-
               | downloads/Poly...
        
         | observationist wrote:
         | https://github.com/TengerTechnologies/Bricklayers
         | 
         | This came at a perfect time, then - you can cause each adjacent
         | layer to be offset by half the layer height, to maximize the
         | strength.
         | 
         | Annealing parts by baking them at the right temperature for a
         | sufficient length of time is relatively easy to do. Printing at
         | higher temperatures and slower speeds to ensure layers are
         | melted together also results in higher strength parts.
        
       | nejsjsjsbsb wrote:
       | I been thinking an openscad->cura pipeline would be cool. This
       | post is very similar and inspiring.
       | 
       | Imagine running a custom action or pipeline and getting a
       | physical object pop out in the shed. Pretty awesome.
       | 
       | I also like the idea as git as the way to share and remix 3d
       | printing instead of (as well as) the various STL sites.
        
         | bb88 wrote:
         | I kinda want this in the slicer, like prusaslicer.
        
         | lucasoshiro wrote:
         | I once tried to do something like that, but I stopped when
         | trying to deal with the CuraEngine CLI...
         | 
         | I don't know if other slicers have a better CLI, or even if
         | they have a CLI...
        
           | wongarsu wrote:
           | Orca Slicer might be a good candidate. The cli is a bit
           | rudimentary. I assume it was built by Bambu Labs for slicing
           | ready-made print profiles for printing from the mobile app.
           | Or maybe it's inherited from PrusaSlicer (Orca Slicer is the
           | open-source fork of Bambu Studio, which was forked from
           | PrusaSlicer, which was forked from Slic3r). But as long as
           | you only want to apply print settings, filament settings,
           | load an stl, run auto-layout and get gcode out, it should do
           | the trick with minimal effort.
        
         | Joel_Mckay wrote:
         | Keep in mind some OpenSCAD designs use complex library
         | dependencies, and baked source geometry.
         | 
         | The simple language IDE preview pane sometimes chokes on the
         | surfaces that are compiled, and on rare occasion must be done
         | via command line. Thus, some complex designs may take hours to
         | generate a model.
         | 
         | The slicers are meant to be more CAM tool than CAD utility, but
         | people are mixing features as use-cases increase in complexity.
         | 
         | Best of luck, =3
        
         | ajolly wrote:
         | You can link openscad to a slicer, at least in the dev
         | snapshots, press F8 and your model opens in your slicer of
         | choice.
         | 
         | Makerworlds customizer is simply a web version of OpenScad.
         | Upload your OpenSCAD script and good to go
        
       | CharlesW wrote:
       | A linked-to inspiration for this -- printing an arcade cabinet
       | for Atari's Space Race (1973) -- is a great watch too:
       | https://www.youtube.com/watch?v=SONO6LTHuR8
        
       | DonHopkins wrote:
       | Oh man, now I totally want to 3d print a full sized interlocking
       | Han Solo in Carbonite with embedded magnets to stick on the front
       | of my refrigerator!
       | 
       | Maybe I'll have to get huge commercial refrigerator for the
       | proper effect, but it will be worth it.
       | 
       | 3d printed life size Han Solo in Carbonite replica Part 1:
       | 
       | https://www.youtube.com/watch?v=lOj3yZ-iMjM
        
       | lucasoshiro wrote:
       | I'm really happy to see OpenSCAD stuff here in HN. Of course it
       | has some downsides (not being able to measure an object is the
       | main one...), but it is an underrated tool.
       | 
       | I'm using it as my main 3D modeling tool for three years, and I
       | even gave I course about it last year. No regrets, and I never
       | felt that I needed to learn Fusion or similar
        
         | Joel_Mckay wrote:
         | Depends on the use-case, but openscad can be useful for simple
         | parametric designs prone to deformation during manufacturing
         | (we use it for printing off-axis parabolas.)
         | 
         | FreeCAD supports the openscad language plugin, and can generate
         | proper solids. Many classic CAD/CAM users often see the
         | parametric design workflow as baffling... not an entirely
         | undeserved reputation.
         | 
         | Freecad tutorials:
         | 
         | https://www.youtube.com/@4axisprinting/videos
         | 
         | Blender geometry nodes tutorials:
         | 
         | https://www.youtube.com/@Entagma/videos
         | 
         | Best of luck, =3
        
         | GuB-42 wrote:
         | For me, the big problem with OpenSCAD and the reason I let go
         | of it quickly is the lack of constraint-based modeling. For
         | example, if I want to design a cup and I want my handle to have
         | a 30mm round hole that is tangent to the walls of the cup, I
         | want to be able to adjust the thickness of the handle and the
         | size and shape of the cup while keeping these properties. And I
         | don't what do do the maths myself if I can avoid it.
         | 
         | OpenSCAD does very little to help me with these maths as it
         | doesn't have a solver. Not to my knowledge at least.
        
           | WillAdams wrote:
           | Basically one has to write the solver oneself --- see comment
           | elsethread about how this is OpenSCAD's weakness --- what one
           | can make in it is bounded by one's mathematical fluency.
        
           | zokier wrote:
           | Other big problem is one demonstrated also by the article;
           | openscad is not great at any rounded shapes because it is
           | mostly polygon based. So even if you write out the maths
           | explicitly they might end up being wrong because of the
           | difference between true round and the polygonal approximation
        
         | WillAdams wrote:
         | OpenSCAD recently got a Measure tool:
         | 
         | https://www.youtube.com/watch?v=Q_AEHI2o-6Q
         | 
         | OpenSCAD's strength --- that it makes it easy to create 3D
         | designs which are easily represented mathematically using
         | cubes, spheres, cylinders, cones, and assemblies and
         | distortions thereof is also its weakness --- what one can do in
         | OpenSCAD is strongly bounded by one's fluency in
         | mathematics/geometry/trigonometry (says the guy who is stuck on
         | conic sections in a particular project and needs a solution
         | which is faster to calculate).
         | 
         | Still waiting for the Python-enabled version to make it big:
         | 
         | https://pythonscad.org/
        
           | kiba wrote:
           | Being able to do object oriented programming is going to make
           | reasoning about geometrical objects much easier.
           | 
           | I like the measuring tool but I prefer doing something more
           | permanent like labeling it.
        
       | camel_gopher wrote:
       | I 3d printed puzzle pieces using Go to generate the join
       | sections. Figuring out the right tolerance takes some trial and
       | error.
        
       | tda wrote:
       | In similar vain, but the with cadquery and Jupyter notebook is
       | the screwdriver stand I once made:
       | 
       | https://github.com/tdamsma/Screwdriver-rack
        
       | ashoeafoot wrote:
       | Skipping teeth? Why not scale the whole series of dove tails for
       | detected cases?
        
         | WillAdams wrote:
         | That requires re-working the design for the fit tolerance.
        
           | ashoeafoot wrote:
           | only the dove tail scaled should work
        
       | batch12 wrote:
       | I wonder if leaving some of the base intact would help with the
       | artifact issue. Instead of cutting the teeth all the way through
       | the whole section, leave a few mm solid on each side and reduce
       | the height of the teeth to compensate the opposing base layer. It
       | might add a bonus of hiding the teeth, too.
        
       | jgoewert wrote:
       | This came up at pretty much the perfect time for me to try out.
       | 
       | I started learning OpenSCAD over the weekend to try out an idea
       | to 3d print a 70" dome to make my own Star Wars Battlepod after
       | seeing that video on making the replica Space War cabinet.
       | 
       | One guy got an acrylic forming shop to make him one about 10
       | years ago for $700, but I was calculating in how much it would
       | cost to 3d print and stich a dome screen together. My test sample
       | that I started used a sort of ribbed dome that I was trying to
       | figure out how to split the file and bolt it together -
       | https://www.reddit.com/r/openscad/comments/1i922ed/trying_to...
       | 
       | I started playing around with thickness because at 1/2 inch, it
       | was looking like about $200 in filament. But if I can reduce the
       | thickness because of having the jigsaw edging to make it easier
       | to align, it might get cheaper.
       | 
       | Currently tried running this in Windows and it isn't happy. I'll
       | make a Linux VM and give it a go again.
       | 
       | >>WARNING: Too many unnamed arguments supplied in file in.scad,
       | line 6 Geometries in cache: 20 Geometry cache size in bytes:
       | 3802608 CGAL Polyhedrons in cache: 182 CGAL cache size in bytes:
       | 0 Total rendering time: 0:00:01.063 Top level object is a 3D
       | object (manifold): Status: NoError Genus: 1 Vertices: 39078
       | Facets: 78156 Num. beds: 0
        
       | ajolly wrote:
       | This is great I'm going to have to try this out. I've got my own
       | openscad dovetail joint scripts, but this seems more refined.
        
       | MisterTea wrote:
       | While this is nice for things like the speaker enclosure I cant
       | help but recoil in horror from the 3d printed arcade cabinet - so
       | much plastic. I get how this enables shapes and other niceties
       | but between aesthetic and the environment I'll take boring and
       | recyclable any day.
        
         | WillAdams wrote:
         | Aren't 3D printer filaments recyclable?
         | 
         | I know that at least one person doing 3D printing was making it
         | a point of picking up old projection TVs and recycling the ABS
         | housing to make new filament using a Filastruder.
        
           | MisterTea wrote:
           | You can mostly recycle ABS but unsure of the others. In the
           | case of ABS Plastic it isn't infinity recyclable and you can
           | get maybe 2 or 3 uses from it before it degrades. Personally,
           | I would prefer we design for minimizing plastics.
        
       | SSilver2k2 wrote:
       | Take a look at Luban3D. It does a lot of the automated mesh
       | cutting.
       | 
       | https://www.luban3d.com/
        
       ___________________________________________________________________
       (page generated 2025-01-27 23:02 UTC)