top | item 42803822

Show HN: 3D printing giant things with a Python jigsaw generator

179 points| naggie | 1 year ago |calbryant.uk

47 comments

order

lucasoshiro|1 year ago

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

GuB-42|1 year ago

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.

Joel_Mckay|1 year ago

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

WillAdams|1 year ago

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/

jgoewert|1 year ago

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

almog|1 year ago

> "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.

wongarsu|1 year ago

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.

bb88|1 year ago

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.

observationist|1 year ago

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|1 year ago

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.

Joel_Mckay|1 year ago

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

bb88|1 year ago

I kinda want this in the slicer, like prusaslicer.

lucasoshiro|1 year ago

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...

ajolly|1 year ago

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

ramboldio|1 year ago

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|1 year ago

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|1 year ago

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.

camel_gopher|1 year ago

I 3d printed puzzle pieces using Go to generate the join sections. Figuring out the right tolerance takes some trial and error.

batch12|1 year ago

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.

MisterTea|1 year ago

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|1 year ago

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.

ashoeafoot|1 year ago

Skipping teeth? Why not scale the whole series of dove tails for detected cases?

WillAdams|1 year ago

That requires re-working the design for the fit tolerance.

ajolly|1 year ago

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.

DonHopkins|1 year ago

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