The moment the teacher realizes it was never about the perceived correct answer, but the questions that led to the paths taken. The sudden realization that teaching is more than the teacher initially perceived. Its not about teaching "this is so", but rather, "why do we know this is so?".
Which is what education should have always been about. It's not about responding with the correct answer. It's about asking the right questions. A famous Greek philosopher knew this, as did many before and after.
This is another after.
hengheng · 8h ago
Great article. This is all above the skill level of the average part on thingiverse or printables, but the good parts on there are going to follow similar ideas. Love the mouse ears, press-fit holes and step-by-step alignment of layers to build impossible bridges.
Notably, in fusion 360 this would all be designed in "plastics" mode, and yet that mode is oblivious to whether the part is printed or moulded. I wonder if any CAD engine can do "production-aware design" that constrains design to the capabilities of standardized machines, e.g. keeping a metal part 3-d millable. I've seen strict design rule enforcement with PCBs, and I have seen sheet metal macros, but nothing for general mechanical CAD.
WillAdams · 1h ago
I'm actually working on something along the lines of:
>CAD engine can do "production-aware design" that constrains design to the capabilities of standardized machines, e.g. keeping a metal part 3-d millable.
by modeling a part by only using subtraction based on tooling:
you'll need: https://pythonscad.org/ but it's allowed me to do pretty much everything I've tried out in it thus far, and I'm putting the finishing touches on a joinery module which should let one make pretty much anything of wood, and metals should be much the same --- even turned out a thread cutting program as a proof of concept a while back.
MadnessASAP · 4h ago
> I wonder if any CAD engine can do "production-aware design" that constrains design to the capabilities of standardized machines
At this time, none that I'm aware of. I am considering some manner of FreeCAD workbench that would integrate slicing to allow specific printing techniques to be applied to specific features of the part. I'm still not sure exactly what it would look like or integrate into the workflow yet.
digdugdirk · 7h ago
I've investigated this space, and I'm not entirely sure its even a desired goal from the perspective of a mechanical designer. The benefit tends to be for smaller aspects (ensuring hole sizes are appropriate for the desired thread, or that holes aren't too close to a bend line on a sheet metal part, etc) but the final design of a 3d part is so non-deterministic, and the variety of manufacturing methods are so varied and unique, it might just cause more issues than benefits.
hengheng · 3h ago
The people I've talked to found it similarly unnecessary. But mainly because they weren't able to imagine a good implementation.
"But what if I want to do x" is what I heard the most. Like, sure, if you want to make your part on a 3-axis router and then drill one sideways hole, then put that in the markup. CAD always seems to have a feature stack, so apply a 3-axis design rule and discard it before the last step. Similar for multiple setups on a mill, or for surface treatment.
The gold standard still seems to be a signed and printed drawing that is never complete and full of implications. Mapping a design to a factory, or even pricing it, is an art form that has resisted automation. I expected this to change with all the "industry 4.0" push from ten years ago, but somehow that just meant adding wi-fi.
bee_rider · 2h ago
Totally just spitballing, I know nothing about this.
Thinking about the problem, it seems like it would be extremely difficult to come up with a set of design rules that cover everything somebody might want to print.
But would it be possible to literally simulate the printing process? Maybe using some kind of CFD code? I mean, for arbitrary designs this could get really complex. But, there’s a hard limit—the thing actually has to get printed, which is a slow mechanical layer-by-layer process, and the end result has to fit in the print chamber, haha.
0_____0 · 2h ago
There are DFM tools that you can use on the back end of your design process e.g. through fictiv/protolabs etc. However there is a lot of stuff that is "technically machineable" but way more expensive to do, and it really is an engineer's job to both understand how the part is made, talk to the machinists if they don't, and to trade off the design complexity vs. the engineering needs.
lucasoshiro · 7h ago
Amazing. Again: amazing!
I've been playing with 3D printers for 7 years, and I even assembled mine at home during the pandemic. Some topics described here I already found out by practice and I think most people with experience in 3D printing also do that.
But having everything studied, compiled and explained in that level is just, again, amazing! Not only that, but there are so many other topics covered here that I still have to learn.
Great work, thank you!
timmaxw · 4h ago
> Cut threads into printed parts with a thread tap for quick design of low-reuse joints.
I've found wood screws work well for this. The wood screw can cut its own threads without needing to use a tap.
It does put some stress on the part, though. I mostly print in PETG, which is strong enough; but PLA might split if the hole was parallel to the layers.
> A design limitation of threaded inserts is that they are not reliably usable for screws inserted from the back side. During insertion, heat-set inserts often push some molten plastic into the hole beneath them, preventing easy insertion of a screw from the back side.
A trick I sometimes use:
1. Before installing the insert, insert the screw from the back side
2. Screw the insert onto the protruding screw
3. Use a soldering iron to install the insert+screw together into the plastic
Because the screw is filling the hole, the molten plastic can't block the hole. Instead, the molten plastic forms itself around the screw, and it acts like a Nyloc nut.
darkteflon · 3h ago
This looks so good. I’ve gotten into 3D printing in the past six months with an A1 Mini. I initially bought it intending solely to do creative projects with my kid, but I’ve been surprised to find myself getting deeper into printing functional parts. I recently printed a 6” server rack for a GLi.net Beryl and Apple TV for travel, from a combination of pre-designed and self-designed parts.
3D printing as a pursuit can be time-consuming - there’s always a risk with these things that you take them on as a dilettante and they end up gathering dust in a corner. I initially scraped by with some middling Blender skills (leaning into non-destructive operations where possible), but that is far from ideal - you really do need CAD. But to anyone considering jumping in, I would say: if you get an A1 (get the full size, not the Mini) and use Claude to write your parametric OpenSCAD scripts, the time commitment is such that you can _just about_ indulge in this hobby as a dilettante - eg, as a project for your kids. Without LLMs, I think it would be too much of a commitment unless you’re really dedicated, or already have CAD skills.
Anyway, gonna go read this in full.
0_____0 · 2h ago
Side bar... There are a lot of people who are going to use LLMs to try to do 3D modeling stuff and who are going to hit a wall with it really, really fast. Mechanical design really is a completely different discipline that is very poorly abstractable in the particular way that software engineers are used to.
abeindoria · 3h ago
the Bambu P1S with AMS is one of the better purchases I've made. I've had an ender3v2 for so long and while it worked ok (and arguably better than many people's experiences with them), I got tired of constantly fiddling with stuff.
Now, it just works. It doesn't matter what I throw at it. Made me get into the CAD hobby too.
>use Claude to write your parametric OpenSCAD scripts
Can you talk a little about it?
prawn · 1h ago
I use ChatGPT to help me with OpenSCAD and really enjoy it. It doesn't always nail it, but often works as a shortcut, especially with loops to create radial extrusions. You can muck around with things like asking it to give you code to design a castle, and then see how off-track it is.
causality0 · 3h ago
If you can assemble Legos you can design in Tinkercad. You don't need to mess around trying to get LLMs to write scad files, though the results can be hilarious.
RodgerTheGreat · 2h ago
Worth noting: TinkerCAD is capable of parametric modeling in "CodeBlocks" mode. I prefer writing OpenSCAD (by hand, rather than via a warmed-over markov chain), but having the option within something as inviting as TinkerCAD seems great for beginners.
pclark · 7h ago
I know they get a lot of hate in the HN community but my Bambu Labs P1S is mind blowing. It’s so easy to use I print 100x more than with my old Ender. It’s motivated me to learn Fusion360 … i’m actually printing droids for my kids to color this very minute.
zoky · 7h ago
I know two people with that exact model of 3D printer. Both printers are routinely out of commission for weeks on end due to some failure that the owners lack either the technical expertise to diagnose and fix or the desire to pay exorbitant prices for proprietary replacement parts to fix (or both). Meanwhile my Ender 5 is always chugging along, and is never out of commission for more than a day or two while awaiting replacement parts from Amazon that cost between a few cents and up to maybe $20 each.
I don’t actually think Bambu makes unreliable printers; to the contrary, they are excellent machines that, if anything, are much more reliable on the whole than Creality. But they’re kind of like sports cars, in that their target market is either people who want something fast and flashy and are willing to throw money at any problems to make them go away, or for technical types who want something they can take out on the track and don’t mind wrenching their own machines. The problem is that Bambu printers are marketed and touted as being great for beginners, and while they certainly make it easy to get into 3D printing for nontechnical people, I think most of them will end up ultimately being disappointed at either the lack of customization they allow or amount of time, effort, and money required to diagnose and fix them when something goes wrong.
Max-q · 5h ago
I think that conclusion is wrong, they are absolutely for beginners. No bed leveling. Lidar scan of first layer. Filament sensors. Good software. Enders are sold to beginners but you actually need to be an expert to get good results and keep them running.
vjvjvjvjghv · 5h ago
My Bambu A1 just works. I had an Ender 3 before and it almost killed my interest in 3d printing because my prints constantly failed. I don’t see a path where the A1 could disappoint me.
pclark · 5h ago
as I said, as a Bambu owner, i’m really impressed with mine and highly recommend them to others.
the__alchemist · 7h ago
Enders were... not a great experience. I understand they were in a good price spot at the time, but from my experience and from what I gather online, very finicky. People who liked tinkering with the printer itself loved and recommended them because 3D printing became a skill of its own (Not for the design considerations in the article, but to make the equipment work consistently).
I've heard that Bambus are much better. I have a Raise3D E2 from the Ender era, and it's rock solid. A step up in price, but no finicking. Just works, when new, and now.
sho_hn · 1h ago
Because a lot of the readers here seem to be comparing Bambus and Enders: These aren't the only options. If you want a similarly-featured and reliable printer that doesn't phone home, I'd recommend taking a look at Prusa.
It's where Bambu forked much of their software from, they're equally easy to use after recent updates, very reliable and easy to service.
They also added US-based manufacturing recently, and I think you can get US-made Core ONEs, which given the tariffs may mean they're soon to be cheaper than equivalent Bambus.
Some people will groan that every 3D printing thread must have a Prusa fanboy, but then again the company inspires that attachment also not without reason :-) I've printed for thousands of hours on my MK4(S) and I've had zero issues, and it's pretty great they offer upgrade kits to turn this into their next-newer model.
the_af · 7h ago
Hate? I missed this. Why hate?
GuB-42 · 4h ago
Mostly because they are proprietary in a community with an open philosophy, and for being successful doing that.
Most consumer-level 3D printers are derived from the RepRap project, which was about making a 3D printer that prints 3D printers. So if you want your own printer, find someone who already has one to print the specialized parts for you, add a few standard parts (screws, motors, etc...) and build your own, which you can then use to make 3D printers for others. You can then share designs, improve, etc... Totally in the open source spirit, of course, the software part is similarly open source, usually GPL licenced.
And this spirit is found in most of the consumer-level 3D printing world. With open source firmwares and slicers, easy to modify machines, and standard parts. I think one of the the companies that exemplify this the most is Prusa. They 3D print their printers using their own printers, and open source most for their work.
But then BambuLabs came along, and they have proprietary components, a proprietary firmware and a cloud-based system. Their slicer is open source, they don't really have a choice because it is based on GPL software, but they recently made it harder to use the forked version some people made (namely OrcaSlicer), and they did so via an automatic update. Of course people didn't really appreciate.
But maybe the worst part is that BambuLabs printers are actually really great and popular printers, for an affordable (but not cheap) price. And many people think that from now on, proprietary will become the standard.
If you don't care about that, then BambuLabs printers are maybe the best you can get. If you care, go with Prusa. If you are broke and don't mind getting a new hobby, go for something like an Ender3.
WillAdams · 7h ago
Non-compliance with GPL and other opensource licensing.
Predatory licensing agreements and cloud software which presumably allows the company to access/steal designs.
Gerardox · 7h ago
What are some alternatives? Ty in advance for any hint!
q3k · 7h ago
My favorite continues to be hardware from Prusa. They're rock solid and respect user freedoms (serviceability/upgradability/hackability). Being made in the EU is also a big upside for me.
I've had an MK3S+ for years and even though it's a primitive machine in comparison to the current Bambu hardware I see no reason to upgrade to something else. It just keeps printing whatever I throw at it and the results continue to be very good. In fact, I seem to have better luck with it than the Bambus I sometimes use at various hacker/makerspaces.
If you just look at the numbers (speed, volume, ...) against Bambu hardware they're not as good, but the reliability and simplicity make up for it IMO. The main missing feature is multi-material support, but that's something I'm not really interested in due to how wasteful the current technology is.
Gerardox · 6h ago
Thanks for the throughout reply!!
adambatkin · 4h ago
Prusa. Made in Europe, from quality components (or buy it as a kit from them and build it yourself, which is a really fantastic experience). Hardware is repairable and upgradable and the firmware is open source.
But they cost more than Bambu. Most Chinese things tend to cost less than alternatives, for obvious reasons.
sho_hn · 1h ago
Note that Prusa recently opened a US-based factory according to their blog, so in addition to EU-made they also got US-made going.
As a big fan of the company I'm hoping this will make them price-competitive to Bambu (or even considerably cheaper) while the tariffs rage. I'm not a fan of the tariffs, but if it gives a boost to the Core ONE launch, welp ... good for them.
the__alchemist · 2h ago
Raise3D. Even the lower-end ones are expensive, but they're a step up in reliability.
Rebelgecko · 6h ago
GPL issues and concerns about the SaaS-y aspect. Folks on HN and often techy folks in general don't like it when hardware requires an internet connection vs local control. These concerns are somewhat warranted based on recent moves Bambu has made
kiba · 5h ago
More than that. They tried to gaslight people after people found out the changes Bambu Lab was making.
AgentElement · 3h ago
This is a fantastic article. It neatly summarizes several tricks that took me years to pick up.
Another useful trick to minimizing material in a print is to not print surfaces at all. Most of the mass in a print is concentrated in the shell. If the top and bottom surfaces are not particularly critical to the function of the part, then you can remove either surface. The slicer can still fill in the volume enclosed by these surfaces with infill. If you use a planar infill, such as a rectilinear, hexagonal, or triangular infill, the parts can look quite nice. This trick works particularly well on mostly flat parts.
I use two TPU parts printed in this manner daily: A phone case [0] and a relief strap for a pair of headphones [1].
Circles are not that harmful if you print a diameter template with 1-10mm holes with 0.1 or 0.2 step. Don't measure your bolt, stick it into the hole where it's tight enough and you're good to go.
alextousss · 6h ago
Incredible article, learned quite a lot. To me, a very good supplementary reading would be Structures by J. E. Gordon [1]. Helped me grasp a lot of the mechanical design notions necessary for that sort of work.
My friend and I have been getting into forge molding carbon fibre using 3d printed molds like this: https://www.youtube.com/watch?v=25PmqM24HEk. It is a great technique for making small batches of really strong parts and I'm surprised it isn't more common.
Has there been any interest in leveraging LLM's for 3d modelling? Sort of an AI assistant with CAD software, to help beginners get going and also more rapidly design simple objects.
oofbaroomf · 8h ago
Yes, there has been. Unfortunately, there are a few core issues blocking this from becoming a big thing:
1. The majority of 3D modeling is not done parametrically, meaning there is not a lot of data. The little data there is is generally in OpenSCAD, which isn't very powerful or extensible for useful CAD.
2. Generally, when you want to do CAD, you need to come up with a way to define everything precisely. Like I want this hole 2 millimeters from the bottom, and this exact edge next to the hole to be beveled, etc. Saying all that to an LLM is slower than just making the whole.
That said, these still can be useful for beginners, and there are things like Adam AI that are starting to catch on for simple stuff.
ai-christianson · 5h ago
There are AI models that can generate 3D models, e.g. Hunyuan3D. Not quite CAD models, but maybe this could eventually be adapted to that use case.
Then there's the possibility of an agent automating an actual CAD program. This has already been done with game dev, e.g. Unity MCP.
Yeah, tons, there are already products like this in use
lucasoshiro · 7h ago
Can you name them?
iancmceachern · 4h ago
Several from Bambu labs to start
ipdashc · 6h ago
> There is no excuse to not add text to a printed part.
Super off-topic, but I've always kind of been let down by the appearance of 3d printed text. As noted, engraved seems to be better than embossed, but it still just looks kind of weird. I envy the clean, crisp labels that seem to be commonplace on commercial injection-molded plastic parts.
The toner transfer technique seems kind of promising. I think I've also seen people spray painting 3d-printed parts, and then lasering away the paint to draw text, which is interesting (if somewhat more materials- and equipment-intensive).
Really cool article though.
prashnts · 6h ago
Another option is water slide decal. It can give a really seamless look, but is time consuming and expensive.
Zekio · 6h ago
I've heard people have had pretty good luck laser engraving text onto 3d prints with fiber lasers, though it is pretty steep price bump just to get some text on a 3d print
owenversteeg · 2h ago
Great article. Unfortunately it seems that there is a lot of information out there about DFM for 3D printing but not much about the actual print process itself: temperatures, bed flatness, bed adhesives, nozzle size, etc. Does anyone have any suggestions or resources on the subject?
joshvm · 2h ago
Are you asking about best practices? Or the theory behind the printing process? I think there is a ton of this actually, because when 3D printing became affordable, the community did a huge amount of experimentation to figure out how to make their $250 Ender reliable.
Stefan's CNC Kitchen is a good channel if you want to see experiments with things like temperatures and materials. https://www.cnckitchen.com/
Or you could look at the original RepRap research and how it's evolved. The MK4S+ is just a very refined version of the original bed slinging printers. There are also papers on slicer development. There has been a trend towards thicker nozzles as slicers have gotten better (eg using 0.6 by default instead of 0.4).
Otherwise advances in printer technology, particularly first layer calibration, have improved massively in the last few years. So things like bed flatness and adhesives are much less of an issue with auto-levelling/probing nozzles. Bear in mind Ultimaker has been doing it this way for years, but it became mainstream (cheap) more recently. Any of the major modern enclosed printers (Prusa Core/XL, Bambu) shouldn't have adhesion problems with standard filaments. It's also highly filament specific, though the really high end machines (Markforged) are reliable in my experience because they discourage any deviation from their recommended materials and print settings.
For example MarkForged - a $10000+ printer - shipped their desktop FDM machine with Elmer's purple glue. They said it worked best in their testing and it still works for me.
owenversteeg · 1h ago
I'm looking for best practices, although any theory as it relates to higher quality finished parts is also welcome.
And thank you, I've seen Stefan's work and it seems to be about as good as it gets. I'll take a look at the original RepRap research too, probably some interesting bits in there.
I agree that the really high end machines from Markforged and co look dead reliable, but they remind me of that old quote, "you can make anything on a lathe but money." It took me a fair bit of scrolling through slick marketing pages to find out that they are 5-figure machines that print at half the speed of consumer printers and can't print ABS (but can print $200/kg high strength proprietary filaments!) Instead I just got a handful of the major modern enclosed printers.
owenversteeg · 2h ago
Background: I am trying to produce some ABS parts in small volume (10s of kg per day) and going crazy trying to find any decent source of information about the print process. Everything seems to be based on anecdotes and if you're lucky maybe a Youtube video.
Here is what I have gathered so far, in case it helps anyone: 1) print ABS enclosed in a chamber temp of a minimum 50C, ideal 60-80C. 2) use quality filament, Polymaker filament is good; issues are plastic composition and diameter variation. 3) dry the filament properly. 4) the fumes will destroy your lungs and eventually the printers themselves, so they need to be vented out, and also filtered inside the enclosure. 5) bed flatness is critical. 6) use a good bed adhesive such as Magigoo.
joshvm · 1h ago
My gut feeling is that 10s of kg per day should be injection molded. Or SLS/resin printed so you can take advantage of layer speed. That's what 10x printers running at full tilt constantly, at least?
Plan is definitely to injection mold at some point, but this is for several different complex parts that will be expensive to mill molds for. The breakeven point between injection molding and 3D printing is really about the cost of the molds. Let's imagine a 1kg part. If you say 10x $1000 printers at 1-2kg/day and $10-20/kg filament then you can produce 900-1800 parts in 90 days for a total of $15-30/part. Meanwhile with injection molding you have a mold cost of $5k-50k and say $3/kg for pellets, so for 1k parts it costs $8-53/part. So if you're making a thousand 1kg simple parts ($5k mold), molding will be better. Making a thousand complex parts ($50k mold), 3D printing is better. And making five complex parts (5x$50k mold), you can do a lot of 3D printing before injection molding becomes competitive.
I am also in a bit of an unusual situation because of the size of the parts: voluminous enough that shipping from the manufacturer is no longer negligible.
Oh, and unfortunately can't do resin because of strength reasons. 3D printed ABS is already pushing it.
no_wizard · 8h ago
I always thought 3D printing would make multi widget machine[0] manufacturing possible
While it’s done a lot of cool stuff and enabled rapid prototyping etc it never scaled the way I really thought it would
[0]: there may be a better turn for this however this is what I mean: that is one machine that can output a wide variety of different things using the same common material, IE maybe one day it produces ball bearings and the next it could produce a bunch of car pistons, with only having to make minimal changes to the machine itself if not changing anything at all
al_borland · 8h ago
There are companies with big print farms that offer this service. But of course it’s limited to materials that can be 3D printed, and if the product reaches a certain scale, it’s likely best to invest in injection molding or some other process.
That said, for smaller scale products, news businesses, or things where 3D printing is the only way the thing can exist, these services exist.
analog31 · 8h ago
"Flexible" or "Quick Turn" manufacturing are terms used for this kind of thing. Quick-turn comes from being able to change from one kind of part to another, quickly, with no added setup cost.
codingmoh · 8h ago
In theory, it seemed perfect for flexible manufacturing: same machine, same material, endless outputs. But in practice, it hit limits in speed, material properties, and post-processing. You still can’t print a high-tolerance metal part at scale and cost-effectively replace traditional machining. It’s amazing for prototyping or niche parts
earleybird · 7h ago
"You still can't print a high-tolerance metal part at scale and cost-effectively..."
oh wow - that's cool! - Thanks so much for sharing!
finnjohnsen2 · 6h ago
6 months into 3D printing and I couldnt have asked for a better article to stumble upon. What a massive field this is and I love some of the take aways. Paricularly circles into hexagons, and making things adjustable.
I’m not making my own designs yet. It is too difficult. Modifiying a little here using Blender is where Im at
sysrpl · 6h ago
It's super easy to design using OnShape. Hit me up with private message and I will show you everything you need to model 3D printable parts in under 5 minutes.
stavros · 5h ago
Agreed, you need to know three things:
* Sketch a 2D design on a surface
* Make the elements in that design depend on each other (this is parallel to that, this is equal to the other, X is at an angle to Y) as much as possible
* Pull the 2D shape up into 3D space
Now you know how to design your own things! The rest is just learning the buttons, but there's usually one called "sketch", one called "constrain", and one called "extrude".
the__alchemist · 3h ago
Question regarding two apparently conflicting bits of information:
- A: Fillet edges in the filament direction
- B: Have a sharp edge for the seam.
How would you crack that nut, as A prevents B. For example, on a rectangular box, maybe fillet 3/4 of the corners, and leave the 4th sharp?
bilsbie · 2h ago
This is neat! What’s the angle you can do before you need supports?
What amount of bridging is ok?
bilsbie · 2h ago
Is prusa the way to go for someone who wants something that just works?
codingrightnow · 2h ago
I'm not sure anything 'just works'. I have an Ender 3 S1 with autoleveling. I still have to adjust 4 knobs while getting under the print head with a feeler gauge. It's absolutely maddening. I need to do this with every print. If I don't touch the thing for a few months it's really bad. If you don't get it right it will gauge your printing surface or alternatively rip your piece apart as it prints. Then you need to know about bed temperature, nozzle temperature, and a hundred other things. Then what types of filament work best with certain bed types. I wish I never got it.
sho_hn · 1h ago
I've never any sort of pre-print processing/calibration on my Prusa MK4(S), other than cleaning the build plate. This sort of hand-holding really isn't required anymore on the modern printers.
Slicers also come with presets for different filaments these days, which generally do a reasonable job and knowing about temps & co is largely optional to getting going.
sho_hn · 1h ago
Yeah, they're work horses. I've printed for thousands of hours on my MK4(S) now, and it's still going strong. I've had no issues at all. Similar experiences around me.
WillAdams · 7h ago
One technique which bears mentioning is printing in 100% infill using a filament which will allow re-heating/cooling and then putting it in a tray of powder salt (very finely ground table salt) and then backing and cooling it.
the__alchemist · 7h ago
What is the purpose of this?
noosphr · 7h ago
You get a solid plastic part without layer lines. This makes it about as strong as injection molded plastic.
the__alchemist · 7h ago
Nice! Want to try.
hinkley · 2h ago
For a second I thought that first picture said Festool.
justaj · 7h ago
Nice article, though what I'd personally love to see is a resource where I can go from zero to actually making (basic) designs using open source tools, which can then be taken to a 3D printer and printed.
mikewarot · 6h ago
The learning curve was steep, but FreeCAD has allowed me to start playing with 3d printing gears and other things on my Bambu Lab P1S. I'm largely self taught with electronics and programming, so just starting and making small experiments got me going. For inspiration, there are lots of sites that share 3d print designs.
justaj · 4h ago
Would you say Blender is a nice tool for this purpose? I'd much rather learn one graphical tool which does a lot of different stuff than lots of different graphical tools that do different specific things (it's a different story in the terminal though :))
AnIrishDuck · 15m ago
Blender is serviceable for simple stuff, but you really want CAD for mechanical parts.
Think figurines (Blender) vs gears (CAD).
Constraints, among many other important features, just aren't as well represented in Blender.
An analogy is C vs JavaScript. Can you do "memory management" in JavaScript? Sure, but you're fighting the tool. Ditto for building a complex frontend in C.
The desire to "just learn one thing" is naturally strong. But the "design 3d things" problem space is as large (if not larger) than "programming computers". Hence the proliferation of tools with very different approaches (the underlying representation in CAD is generally brep [1], which is much different than vertices / edges / faces at the core of Blender)
The good news is the underlying thinking is somewhat transferrable, especially for core concepts.
Then overhangs got good enough that people just started doing normal holes again. :)
nullc · 8h ago
This is fantastic-- while I'm aware of most of the techniques in it, it would have saved me a ton of time and trouble if I had it a few years ago.
Each of the points could basically be expanded to an article on their own. E.g. they don't mention for vase mode that you can get much better results using a big nozzle with it.
lucasoshiro · 7h ago
3D printing is fun because there's always something new to learn
DonHopkins · 3h ago
I'd love to read an article (or watch a video) of such depth and expertise about techniques for printing parts in place, which this article just touches on.
EA-3167 · 8h ago
This article reminds me of another I read first here, 'Reality Has A Surprising Amount of Detail' by John Salvatier. At first blush 3D printing seems easy, but especially with smaller parts that might go through many duty cycles it's anything but. I'm going to have to do more than skim this, I think this one is worth multiple reads over many days to really absorb the densely packed information.
Thanks to the author for being willing to put so much of their hard-earned experience into a resource for the rest of us.
MuffinFlavored · 3h ago
Does the world have an oversupply of ESP32/RaspberryPi/3D printers/similar but not enough use cases?
lawn · 9h ago
What an impressive looking article (I've only skimmed it so far).
I've been meaning to try my hand at CAD and designing models to print but I haven't quite made the jump.
One thing that has given me pause is a good CAD program for Linux, does anyone has any good tips for a complete Newbie where to begin?
WillAdams · 8h ago
For traditional CAD the notable candidates are:
- Solvespace --- small and lightweight, the UI may be a bit off-putting
- FreeCAD --- hugely improved in the recent 1.0 release, this is a large and impressive system
- Dune 3D --- the new kid on the block, it has the advantage of a modern appearance and UI standards, and the consistency of being a one-man project
If one moves away from traditonal/contemporary CAD there are a few other options:
- BRL-CAD --- intensely old-school, this is one of the oldest opensource codebases
- OpenSCAD --- programmatic CAD, this has inspired more successors than I would care to count (esp. look up libfive and Matt Keeter's Master's Thesis if you are academically mathematically oriented)
For that last, one of the more successful hybrids is "OpenPythonSCAD" which is just what it says on the tin --- Python in OpenSCAD:
OpenSCAD is an underrated but powerful modeling tool, especially for developers and engineers who appreciate precision and code-driven design. It has a low barrier to entry — the syntax is simple, yet expressive — and with just a bit of practice, you can build tight, parametric models that are incredibly robust.
One of its standout features is the `hull()` function, which computes the convex hull of multiple shapes. When used skillfully, `hull()` becomes more than a geometric operation — it’s a design primitive that lets you smoothly bridge components, create enclosures, and generate complex organic forms without manual sculpting. It's like having a smart “connective tissue” for your model.
If you're comfortable with code and want exact control over your 3D prints or CAD designs, OpenSCAD delivers precision with minimal overhead. It rewards clean thinking and composability — making it ideal for rapid prototyping, parametric part libraries, and even mechanical design.
lucasoshiro · 7h ago
> does anyone has any good tips for a complete Newbie where to begin?
Start with Tinkercad: https://www.tinkercad.com. It runs on the browser, it has some limitations, but it is really simple to use, just open and model whatever you want joining and extracting shapes and importing SVGs for extrusion.
After that, if you know any programming language you'll find OpenSCAD easy to learn. I gave a course last year about it, the slides are available here: https://lucasoshiro.github.io/posts-en/2024-03-24-openscad/. They are in Portuguese, if someone shows interest I can translate them to English, but I think they are easy to follow even by non-speakers.
seltzered_ · 8h ago
I've been a newbie too and tried to use FreeCAD as others mentioned but I found myself enjoying build123d (basically a python library that uses an long-existing technology called OpenCascade and a viewer called OCPViewer generally used within visual studio code).
The learning curve is still there, but I felt more empowered to adjust/share 3d printing designs made in it over dealing with quirks of GUI-based CAD applications. The discord community on there is rather helpful too.
I'll still use FreeCAD on occasion as a secondary viewer for stl files, though my hope is to use build123d entirely including for describing joints as well.
today54 · 6h ago
BTW there is an open source project on GitHub named 'Mayo' which is a pretty incredible viewer for 3d files including most CAD formats. 'F3d' is another great viewer. Both are cross platform.
caditinpiscinam · 7h ago
As a fellow linux users and 3D printing newbie:
- Tinkercad (browser) fun and great for very simple projects. Like the MS Paint of 3D.
- OnShape (browser) seemingly pretty powerful, but not the easiest to learn in my experience, and has some annoying bugs.
- Plasticity (desktop) I played around with the free trial and liked it a lot, found it more intuitive than OnShape.
- Womp (browser) not CAD software, but easy to use and great for making free-form/organic looking designs.
- Blender (desktop) not CAD software and haven't used it myself, but I've seen others use it to design 3D prints.
tgsovlerkhgsel · 5h ago
Onshape is amazing. The learning curve is much more forgiving than other software while still being a feature-rich, optionally constraint-based and parametrizable CAD application. It works on any OS, even on a laptop with an iGPU, a Chromebook, and for basic stuff like exporting a part for printing, a phone.
Consider signing up via your favorite YouTuber's sponsorship link to support them.
Downsides are that the CAM plugin is paid-only (irrelevant for 3D printing) and you're obviously trapping yourself in a commercial, proprietary walled garden that might start charging subscription fees or otherwise rug-pull you once it gets popular enough. I've decided that the ease of use benefit is high enough to warrant the risk - I'd rather risk not being able to edit my models in the future than not creating them in the first place because the alternative software is too painful to use.
It's helpful to understand how the software works, because it's different from what you might have experienced from other software: It essentially stores operations, like "start with this sketch, then extrude this part of it to a height of 10 mm, then add a fillet". You can go back and edit previous steps and the following steps will be directly re-applied.
In sketch mode, you can just draw, but you can also add arbitrary constraints, e.g. "these points have to be exactly 3 cm away" and it will adjust your sketch to match the (new) constraints. This makes it really easy to change some aspect of the part later. This is common in CAD software, although OnShape's implementation seems more intuitive to me than e.g. Fusion 360.
If you want to do actual 3D CAM (for CNC machining), Fusion360 seems to be the only free option (not available for Linux).
In general, with all CAD software, the common "just poke at it until you figure out how it works" approach doesn't work well, although once you've understood the basic concepts that I've explained above and know some CAD terms/concepts like creating 3D parts by extruding or rotating 2d drawings, Onshape will mostly let you get away with that approach. You probably should still watch tutorials before you start.
q3k · 5h ago
> If you want to do actual 3D CAM (for CNC machining), Fusion360 seems to be the only free option (not available for Linux).
The free CAM available in F360 has been artificially limited to only allow extremely slow travel speed. It's almost useless.
tgsovlerkhgsel · 5h ago
Is there any realistic free alternative for 3D (not 2.5D) parts?
You certainly won't want to use it for mass production, but for hobbyist use where getting the model and CAM config right, setting up the machine etc. are the biggest time sink and most parts are made in quantity 1, I found it acceptable.
q3k · 5h ago
FreeCAD has a built-in CAM. It's not very powerful, but it's only going to get better with time (while the proprietary alternatives will only continue to get worse as companies try to squeeze money out of their users).
panki27 · 8h ago
I just got started recently with OpenSCAD - it's a different beast, but very useful for simple parametric designs. You write code to describe the form of your object - no clicking and dragging things at all.
anoldperson · 6h ago
Learn FreeCAD. Getting trapped in commercial software and having to abandon years and years worth of project files isn't a mistake I'm making twice. Fusion seems attractive, but look at how they treat their shit tier users.
ansgri · 3h ago
While this is a good idea in theory, one needs quite a lot of patience to deal with its bugs and kernel limitations. It has definitely become much better since 1.0, but the inability to put chamfers and fillets wherever is extremely annoying — whether the features compute is order-dependent and they routinely conflict with each other for unclear reasons.
So, maybe it’s not a bad idea to start with a free version of something more ergonomic, just to avoid getting too discouraged.
q3k · 9h ago
FreeCAD is fine (the author also uses it). Make sure to follow the official documentation (eg. PartDesign tutorial) to not get immediately frustrated.
titaphraz · 8h ago
I highly recommend MangoJelly Solutions's tutorials.
I use Fusion 360. Free for hobbyists. Yeah it's quirky and they constantly screw the free plan out of features (e.g. less saved editable designs, having to use the cloud to export STL) but it is also a highly capable tool that aligned best with the stuff I already knew.
Not entirely sure if it's available for Linux.
I probably shouldn't use autodesk but I'm not trying to make the world a better place. Just to unleash my creativity.
WillPostForFood · 6h ago
Not sure if they changed this, but you used to be able to local export an STL without cloud by going to Utilities -> Make -> 3d print
sfifs · 2h ago
You can right click a body and export as mesh locally
malfist · 8h ago
It's not. There is a flat pack version but it says it's not supported
wkat4242 · 8h ago
Ah I see. I've been looking at FOSS options like FreeCAD and Blender but both didn't feel right (especially blender as it's more a tool for animators).
And I rather spend my limited free time creating stuff than to learn a new tool. Unless it is actually a more powerful one for the purpose that enables me to do things I can't now. But this doesn't seem to be the case.
It's the same reason I use BambuLab printers. My hobby is making stuff, not tinkering with printers. They're just tools, a means to an end.
Ps forgive me my defensive attitude but I often get people at the makerspace that take my choice of tools as a political statement. But I don't care. I just want to use what does the job for me.
I’ve had a lot of success with https://onshape.com, which just needs a browser.
the__alchemist · 7h ago
I can't vouch for this, but maybe you could get SolidWorks working in Wine? (e.g. https://github.com/cryinkfly/SOLIDWORKS-for-Linux). Of note, SolidWorks is cheap if you're a student or veteran, for a non-commercial license. It is a dramatic improvement over FreeCAD. (I wish CAS were in a state like EDA and artistic model makers where the free/OSS software was on par with commercial, but we are not.)
retrochameleon · 8h ago
I use FreeCAD, but it definitely leaves some UX refinement to be desired. There are a couple of web based options like OnShape that seem to work well, too.
rekenaut · 8h ago
OnShape is great (we have been using it exclusively for a project over the past four months, the collaboration tools are phenomenal), but FreeCAD has made some fantastic progress over the past year. Some of the underlying technology problems have solved, and the UX has improved a lot with 1.0. The customization and scripting opportunities are also wonderful with FreeCAD. That said, if you’re coming over from Solidworks/NX/Inventor, as much as there are buggy parts of those, FreeCAD still has extremely frustrating workflows and buggy parts that you have to work around. It feels like it’s moving closer to Blender-like quality, but it still has a long road ahead of it.
nullc · 8h ago
All of Solidworks, Onshape, and Freecad have a very similar operating philosophy (I believe they're all based on the same backend engine). I used onshape for a while because I found freecad unusable but recent improvements solved most of those issues and now I prefer freecad.
sho_hn · 1h ago
OnShape and SolidWorks use Parasolid, FreeCAD uses Open CASCADE.
Which is what education should have always been about. It's not about responding with the correct answer. It's about asking the right questions. A famous Greek philosopher knew this, as did many before and after.
This is another after.
Notably, in fusion 360 this would all be designed in "plastics" mode, and yet that mode is oblivious to whether the part is printed or moulded. I wonder if any CAD engine can do "production-aware design" that constrains design to the capabilities of standardized machines, e.g. keeping a metal part 3-d millable. I've seen strict design rule enforcement with PCBs, and I have seen sheet metal macros, but nothing for general mechanical CAD.
>CAD engine can do "production-aware design" that constrains design to the capabilities of standardized machines, e.g. keeping a metal part 3-d millable.
by modeling a part by only using subtraction based on tooling:
https://github.com/WillAdams/gcodepreview
you'll need: https://pythonscad.org/ but it's allowed me to do pretty much everything I've tried out in it thus far, and I'm putting the finishing touches on a joinery module which should let one make pretty much anything of wood, and metals should be much the same --- even turned out a thread cutting program as a proof of concept a while back.
At this time, none that I'm aware of. I am considering some manner of FreeCAD workbench that would integrate slicing to allow specific printing techniques to be applied to specific features of the part. I'm still not sure exactly what it would look like or integrate into the workflow yet.
"But what if I want to do x" is what I heard the most. Like, sure, if you want to make your part on a 3-axis router and then drill one sideways hole, then put that in the markup. CAD always seems to have a feature stack, so apply a 3-axis design rule and discard it before the last step. Similar for multiple setups on a mill, or for surface treatment.
The gold standard still seems to be a signed and printed drawing that is never complete and full of implications. Mapping a design to a factory, or even pricing it, is an art form that has resisted automation. I expected this to change with all the "industry 4.0" push from ten years ago, but somehow that just meant adding wi-fi.
Thinking about the problem, it seems like it would be extremely difficult to come up with a set of design rules that cover everything somebody might want to print.
But would it be possible to literally simulate the printing process? Maybe using some kind of CFD code? I mean, for arbitrary designs this could get really complex. But, there’s a hard limit—the thing actually has to get printed, which is a slow mechanical layer-by-layer process, and the end result has to fit in the print chamber, haha.
I've been playing with 3D printers for 7 years, and I even assembled mine at home during the pandemic. Some topics described here I already found out by practice and I think most people with experience in 3D printing also do that.
But having everything studied, compiled and explained in that level is just, again, amazing! Not only that, but there are so many other topics covered here that I still have to learn.
Great work, thank you!
I've found wood screws work well for this. The wood screw can cut its own threads without needing to use a tap.
It does put some stress on the part, though. I mostly print in PETG, which is strong enough; but PLA might split if the hole was parallel to the layers.
> A design limitation of threaded inserts is that they are not reliably usable for screws inserted from the back side. During insertion, heat-set inserts often push some molten plastic into the hole beneath them, preventing easy insertion of a screw from the back side.
A trick I sometimes use:
1. Before installing the insert, insert the screw from the back side
2. Screw the insert onto the protruding screw
3. Use a soldering iron to install the insert+screw together into the plastic
Because the screw is filling the hole, the molten plastic can't block the hole. Instead, the molten plastic forms itself around the screw, and it acts like a Nyloc nut.
3D printing as a pursuit can be time-consuming - there’s always a risk with these things that you take them on as a dilettante and they end up gathering dust in a corner. I initially scraped by with some middling Blender skills (leaning into non-destructive operations where possible), but that is far from ideal - you really do need CAD. But to anyone considering jumping in, I would say: if you get an A1 (get the full size, not the Mini) and use Claude to write your parametric OpenSCAD scripts, the time commitment is such that you can _just about_ indulge in this hobby as a dilettante - eg, as a project for your kids. Without LLMs, I think it would be too much of a commitment unless you’re really dedicated, or already have CAD skills.
Anyway, gonna go read this in full.
Now, it just works. It doesn't matter what I throw at it. Made me get into the CAD hobby too.
>use Claude to write your parametric OpenSCAD scripts
Can you talk a little about it?
I don’t actually think Bambu makes unreliable printers; to the contrary, they are excellent machines that, if anything, are much more reliable on the whole than Creality. But they’re kind of like sports cars, in that their target market is either people who want something fast and flashy and are willing to throw money at any problems to make them go away, or for technical types who want something they can take out on the track and don’t mind wrenching their own machines. The problem is that Bambu printers are marketed and touted as being great for beginners, and while they certainly make it easy to get into 3D printing for nontechnical people, I think most of them will end up ultimately being disappointed at either the lack of customization they allow or amount of time, effort, and money required to diagnose and fix them when something goes wrong.
I've heard that Bambus are much better. I have a Raise3D E2 from the Ender era, and it's rock solid. A step up in price, but no finicking. Just works, when new, and now.
It's where Bambu forked much of their software from, they're equally easy to use after recent updates, very reliable and easy to service.
They also added US-based manufacturing recently, and I think you can get US-made Core ONEs, which given the tariffs may mean they're soon to be cheaper than equivalent Bambus.
Some people will groan that every 3D printing thread must have a Prusa fanboy, but then again the company inspires that attachment also not without reason :-) I've printed for thousands of hours on my MK4(S) and I've had zero issues, and it's pretty great they offer upgrade kits to turn this into their next-newer model.
Most consumer-level 3D printers are derived from the RepRap project, which was about making a 3D printer that prints 3D printers. So if you want your own printer, find someone who already has one to print the specialized parts for you, add a few standard parts (screws, motors, etc...) and build your own, which you can then use to make 3D printers for others. You can then share designs, improve, etc... Totally in the open source spirit, of course, the software part is similarly open source, usually GPL licenced.
And this spirit is found in most of the consumer-level 3D printing world. With open source firmwares and slicers, easy to modify machines, and standard parts. I think one of the the companies that exemplify this the most is Prusa. They 3D print their printers using their own printers, and open source most for their work.
But then BambuLabs came along, and they have proprietary components, a proprietary firmware and a cloud-based system. Their slicer is open source, they don't really have a choice because it is based on GPL software, but they recently made it harder to use the forked version some people made (namely OrcaSlicer), and they did so via an automatic update. Of course people didn't really appreciate.
But maybe the worst part is that BambuLabs printers are actually really great and popular printers, for an affordable (but not cheap) price. And many people think that from now on, proprietary will become the standard.
If you don't care about that, then BambuLabs printers are maybe the best you can get. If you care, go with Prusa. If you are broke and don't mind getting a new hobby, go for something like an Ender3.
Predatory licensing agreements and cloud software which presumably allows the company to access/steal designs.
I've had an MK3S+ for years and even though it's a primitive machine in comparison to the current Bambu hardware I see no reason to upgrade to something else. It just keeps printing whatever I throw at it and the results continue to be very good. In fact, I seem to have better luck with it than the Bambus I sometimes use at various hacker/makerspaces.
If you just look at the numbers (speed, volume, ...) against Bambu hardware they're not as good, but the reliability and simplicity make up for it IMO. The main missing feature is multi-material support, but that's something I'm not really interested in due to how wasteful the current technology is.
But they cost more than Bambu. Most Chinese things tend to cost less than alternatives, for obvious reasons.
As a big fan of the company I'm hoping this will make them price-competitive to Bambu (or even considerably cheaper) while the tariffs rage. I'm not a fan of the tariffs, but if it gives a boost to the Core ONE launch, welp ... good for them.
Another useful trick to minimizing material in a print is to not print surfaces at all. Most of the mass in a print is concentrated in the shell. If the top and bottom surfaces are not particularly critical to the function of the part, then you can remove either surface. The slicer can still fill in the volume enclosed by these surfaces with infill. If you use a planar infill, such as a rectilinear, hexagonal, or triangular infill, the parts can look quite nice. This trick works particularly well on mostly flat parts.
I use two TPU parts printed in this manner daily: A phone case [0] and a relief strap for a pair of headphones [1].
[0] https://www.printables.com/model/615154-google-pixel-8-case
[1] https://www.printables.com/model/577575-hifiman-comfort-stra...
[0]: https://archive.org/details/StructuresOrWhyThingsDontFallDow...
1. The majority of 3D modeling is not done parametrically, meaning there is not a lot of data. The little data there is is generally in OpenSCAD, which isn't very powerful or extensible for useful CAD. 2. Generally, when you want to do CAD, you need to come up with a way to define everything precisely. Like I want this hole 2 millimeters from the bottom, and this exact edge next to the hole to be beveled, etc. Saying all that to an LLM is slower than just making the whole.
That said, these still can be useful for beginners, and there are things like Adam AI that are starting to catch on for simple stuff.
Then there's the possibility of an agent automating an actual CAD program. This has already been done with game dev, e.g. Unity MCP.
Super off-topic, but I've always kind of been let down by the appearance of 3d printed text. As noted, engraved seems to be better than embossed, but it still just looks kind of weird. I envy the clean, crisp labels that seem to be commonplace on commercial injection-molded plastic parts.
The toner transfer technique seems kind of promising. I think I've also seen people spray painting 3d-printed parts, and then lasering away the paint to draw text, which is interesting (if somewhat more materials- and equipment-intensive).
Really cool article though.
Stefan's CNC Kitchen is a good channel if you want to see experiments with things like temperatures and materials. https://www.cnckitchen.com/
Or you could look at the original RepRap research and how it's evolved. The MK4S+ is just a very refined version of the original bed slinging printers. There are also papers on slicer development. There has been a trend towards thicker nozzles as slicers have gotten better (eg using 0.6 by default instead of 0.4).
Otherwise advances in printer technology, particularly first layer calibration, have improved massively in the last few years. So things like bed flatness and adhesives are much less of an issue with auto-levelling/probing nozzles. Bear in mind Ultimaker has been doing it this way for years, but it became mainstream (cheap) more recently. Any of the major modern enclosed printers (Prusa Core/XL, Bambu) shouldn't have adhesion problems with standard filaments. It's also highly filament specific, though the really high end machines (Markforged) are reliable in my experience because they discourage any deviation from their recommended materials and print settings.
For example MarkForged - a $10000+ printer - shipped their desktop FDM machine with Elmer's purple glue. They said it worked best in their testing and it still works for me.
And thank you, I've seen Stefan's work and it seems to be about as good as it gets. I'll take a look at the original RepRap research too, probably some interesting bits in there.
I agree that the really high end machines from Markforged and co look dead reliable, but they remind me of that old quote, "you can make anything on a lathe but money." It took me a fair bit of scrolling through slick marketing pages to find out that they are 5-figure machines that print at half the speed of consumer printers and can't print ABS (but can print $200/kg high strength proprietary filaments!) Instead I just got a handful of the major modern enclosed printers.
Here is what I have gathered so far, in case it helps anyone: 1) print ABS enclosed in a chamber temp of a minimum 50C, ideal 60-80C. 2) use quality filament, Polymaker filament is good; issues are plastic composition and diameter variation. 3) dry the filament properly. 4) the fumes will destroy your lungs and eventually the printers themselves, so they need to be vented out, and also filtered inside the enclosure. 5) bed flatness is critical. 6) use a good bed adhesive such as Magigoo.
https://www.reddit.com/r/3Dprinting/comments/7n0go2/my_first... for an anecdote.
I am also in a bit of an unusual situation because of the size of the parts: voluminous enough that shipping from the manufacturer is no longer negligible.
Oh, and unfortunately can't do resin because of strength reasons. 3D printed ABS is already pushing it.
While it’s done a lot of cool stuff and enabled rapid prototyping etc it never scaled the way I really thought it would
[0]: there may be a better turn for this however this is what I mean: that is one machine that can output a wide variety of different things using the same common material, IE maybe one day it produces ball bearings and the next it could produce a bunch of car pistons, with only having to make minimal changes to the machine itself if not changing anything at all
That said, for smaller scale products, news businesses, or things where 3D printing is the only way the thing can exist, these services exist.
Dan Gelbart has a response (with caveats)
https://www.youtube.com/watch?v=kLgPW2672s4
I’m not making my own designs yet. It is too difficult. Modifiying a little here using Blender is where Im at
* Sketch a 2D design on a surface * Make the elements in that design depend on each other (this is parallel to that, this is equal to the other, X is at an angle to Y) as much as possible * Pull the 2D shape up into 3D space
Now you know how to design your own things! The rest is just learning the buttons, but there's usually one called "sketch", one called "constrain", and one called "extrude".
- A: Fillet edges in the filament direction - B: Have a sharp edge for the seam.
How would you crack that nut, as A prevents B. For example, on a rectangular box, maybe fillet 3/4 of the corners, and leave the 4th sharp?
What amount of bridging is ok?
Slicers also come with presets for different filaments these days, which generally do a reasonable job and knowing about temps & co is largely optional to getting going.
Think figurines (Blender) vs gears (CAD).
Constraints, among many other important features, just aren't as well represented in Blender.
An analogy is C vs JavaScript. Can you do "memory management" in JavaScript? Sure, but you're fighting the tool. Ditto for building a complex frontend in C.
The desire to "just learn one thing" is naturally strong. But the "design 3d things" problem space is as large (if not larger) than "programming computers". Hence the proliferation of tools with very different approaches (the underlying representation in CAD is generally brep [1], which is much different than vertices / edges / faces at the core of Blender)
The good news is the underlying thinking is somewhat transferrable, especially for core concepts.
1. https://en.m.wikipedia.org/wiki/Boundary_representation
https://reprap.org/wiki/RepRapLogo
Then overhangs got good enough that people just started doing normal holes again. :)
Each of the points could basically be expanded to an article on their own. E.g. they don't mention for vase mode that you can get much better results using a big nozzle with it.
Thanks to the author for being willing to put so much of their hard-earned experience into a resource for the rest of us.
I've been meaning to try my hand at CAD and designing models to print but I haven't quite made the jump.
One thing that has given me pause is a good CAD program for Linux, does anyone has any good tips for a complete Newbie where to begin?
- Solvespace --- small and lightweight, the UI may be a bit off-putting
- FreeCAD --- hugely improved in the recent 1.0 release, this is a large and impressive system
- Dune 3D --- the new kid on the block, it has the advantage of a modern appearance and UI standards, and the consistency of being a one-man project
If one moves away from traditonal/contemporary CAD there are a few other options:
- BRL-CAD --- intensely old-school, this is one of the oldest opensource codebases
- OpenSCAD --- programmatic CAD, this has inspired more successors than I would care to count (esp. look up libfive and Matt Keeter's Master's Thesis if you are academically mathematically oriented)
For that last, one of the more successful hybrids is "OpenPythonSCAD" which is just what it says on the tin --- Python in OpenSCAD:
https://pythonscad.org/
which I have been using for a project on the other side of the fence --- making DXF and G-code for CNC mills and routers:
https://github.com/WillAdams/gcodepreview
EDIT: One additional tool to note is Fullcontrolgcode Designer, which to bring things full-circle, is the 3D-printing version of the above:
https://fullcontrolgcode.com/
One of its standout features is the `hull()` function, which computes the convex hull of multiple shapes. When used skillfully, `hull()` becomes more than a geometric operation — it’s a design primitive that lets you smoothly bridge components, create enclosures, and generate complex organic forms without manual sculpting. It's like having a smart “connective tissue” for your model.
If you're comfortable with code and want exact control over your 3D prints or CAD designs, OpenSCAD delivers precision with minimal overhead. It rewards clean thinking and composability — making it ideal for rapid prototyping, parametric part libraries, and even mechanical design.
Start with Tinkercad: https://www.tinkercad.com. It runs on the browser, it has some limitations, but it is really simple to use, just open and model whatever you want joining and extracting shapes and importing SVGs for extrusion.
After that, if you know any programming language you'll find OpenSCAD easy to learn. I gave a course last year about it, the slides are available here: https://lucasoshiro.github.io/posts-en/2024-03-24-openscad/. They are in Portuguese, if someone shows interest I can translate them to English, but I think they are easy to follow even by non-speakers.
The learning curve is still there, but I felt more empowered to adjust/share 3d printing designs made in it over dealing with quirks of GUI-based CAD applications. The discord community on there is rather helpful too.
https://build123d.readthedocs.io/
https://github.com/bernhard-42/vscode-ocp-cad-viewer
I'll still use FreeCAD on occasion as a secondary viewer for stl files, though my hope is to use build123d entirely including for describing joints as well.
- Tinkercad (browser) fun and great for very simple projects. Like the MS Paint of 3D.
- OnShape (browser) seemingly pretty powerful, but not the easiest to learn in my experience, and has some annoying bugs.
- Plasticity (desktop) I played around with the free trial and liked it a lot, found it more intuitive than OnShape.
- Womp (browser) not CAD software, but easy to use and great for making free-form/organic looking designs.
- Blender (desktop) not CAD software and haven't used it myself, but I've seen others use it to design 3D prints.
Consider signing up via your favorite YouTuber's sponsorship link to support them.
Downsides are that the CAM plugin is paid-only (irrelevant for 3D printing) and you're obviously trapping yourself in a commercial, proprietary walled garden that might start charging subscription fees or otherwise rug-pull you once it gets popular enough. I've decided that the ease of use benefit is high enough to warrant the risk - I'd rather risk not being able to edit my models in the future than not creating them in the first place because the alternative software is too painful to use.
It's helpful to understand how the software works, because it's different from what you might have experienced from other software: It essentially stores operations, like "start with this sketch, then extrude this part of it to a height of 10 mm, then add a fillet". You can go back and edit previous steps and the following steps will be directly re-applied.
In sketch mode, you can just draw, but you can also add arbitrary constraints, e.g. "these points have to be exactly 3 cm away" and it will adjust your sketch to match the (new) constraints. This makes it really easy to change some aspect of the part later. This is common in CAD software, although OnShape's implementation seems more intuitive to me than e.g. Fusion 360.
If you want to do actual 3D CAM (for CNC machining), Fusion360 seems to be the only free option (not available for Linux).
In general, with all CAD software, the common "just poke at it until you figure out how it works" approach doesn't work well, although once you've understood the basic concepts that I've explained above and know some CAD terms/concepts like creating 3D parts by extruding or rotating 2d drawings, Onshape will mostly let you get away with that approach. You probably should still watch tutorials before you start.
The free CAM available in F360 has been artificially limited to only allow extremely slow travel speed. It's almost useless.
You certainly won't want to use it for mass production, but for hobbyist use where getting the model and CAM config right, setting up the machine etc. are the biggest time sink and most parts are made in quantity 1, I found it acceptable.
So, maybe it’s not a bad idea to start with a free version of something more ergonomic, just to avoid getting too discouraged.
Here's a playlist for FreeCAD 1.0: https://www.youtube.com/watch?v=t_yh_S31R9g&list=PLWuyJLVUNt...
But he has a bunch of other videos.
https://www.youtube.com/@4axisprinting/videos
Best of luck =3
Not entirely sure if it's available for Linux.
I probably shouldn't use autodesk but I'm not trying to make the world a better place. Just to unleash my creativity.
And I rather spend my limited free time creating stuff than to learn a new tool. Unless it is actually a more powerful one for the purpose that enables me to do things I can't now. But this doesn't seem to be the case.
It's the same reason I use BambuLab printers. My hobby is making stuff, not tinkering with printers. They're just tools, a means to an end.
Ps forgive me my defensive attitude but I often get people at the makerspace that take my choice of tools as a political statement. But I don't care. I just want to use what does the job for me.
https://www.cadsketcher.com/
and
https://blendercam.com/