Design for 3D-Printing
212 comments
·May 4, 2025hengheng
WillAdams
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:
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.
gragundier
Never heard of pythonscad before, but I've always thought it would be a good idea (if only I honestly had the skill to make this myself). Thanks for the links!
WillAdams
It was absolutely game-changing for me --- I'd been flailing at this for a long while, and was most of the way there w/ RapSCAD, but stuck on it not being very popular --- within a week of release I had a working version of my library --- it's been nothing but upside since then.
hengheng
Oh, that looks nifty. I'm going to take a closer look at this!
MadnessASAP
> 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.
jdietrich
CAD has a number of features to help design engineers with manufacturability. In Fusion, take a look at the Inspect panel - you'll find analysis tools that will highlight areas on your geometry that might have insufficient draft to release from a mold, or areas that might be difficult or impossible to access with a milling tool. With the right extension, you can set EDA-style design rules for injection molded parts.
There are a number of software packages dedicated to design analysis for injection molding, although the price is far out of reach of hobbyists.
digdugdirk
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
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
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.
hengheng
Fusion has CAM integrated, which is already a small revolution.
Used to be that CAM was entirely separated software, operated by a separate person who usually spoke fluent g-code.(No seriously, old mills had pushbuttons where you could punch in your G72 with coordinates, and the grey beards would do that with no hesitation.)
CAM software simulates the machining process, not dynamically but with constraints and filters that use the results from dynamic measurements. Printer software is actually quite sophisticated there, Klipper knows about machine dynamics as well as how to compensate for acceleration in the molten plastic.
My issue is that all CAM integration only happens after the design stage. I draw up whatever, then check for manufacturability, and then realize that it's failed again. Electronics CAD software for a while now has had real-time design rule checks that don't let me draw an impossible line in the first place, and I kinda want that.
sitkack
I use many of these techniques and have modules in openscad to create build orientation aware parts and have for years. You can be less not entirely sure, because many people already do this.
0_____0
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
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!
AgentElement
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].
[0] https://www.printables.com/model/615154-google-pixel-8-case
[1] https://www.printables.com/model/577575-hifiman-comfort-stra...
sitkack
Best thing to cross hn on 3d printing in years.
Many of the design considerations they outline are classified under "Compliant Mechanisms"
https://en.wikipedia.org/wiki/Compliant_mechanism
https://www.youtube.com/results?search_query=compliant+mecha...
tgtweak
These are excellent tips. Also helpful is the fact that since Bambu came into the scene, the tooling (slicers) and printers (core-xy and others) are all stepping up their usability game, getting the entire space into a "just print" mentality which is really driving a lot of adoption, model creation and just good for the overall ecosystem.
I design a lot of parts in fusion360 and have been printing for nearly a decade, and even I found some good tips in here.
I would add one very important section here which is filament selection. Modern filaments like PC-CF (carbon-fiber impregnated polycarbonate) are unbelievably versatile for real-world prints and parts, and the higher-end consumer printers can print this (requires a ~300'C capable print head and hardened steel nozzle) with relative ease. There are so many different filaments out there outside the standard PLA that really shine in many ways and aren't 10x more expensive to print with.
Slicers are getting pretty good now too with a lot of work going into slicers to improve print quality, speed and part strength.
Love seeing cnckitchen called out here so many times - such a great resource to follow and learn from if you're getting serious about new developments in 3d printing and unbiased reviews. The quality of models on printables and thingiverse is really getting better and the amount of things you can simply download and print and have a fully functioning device with 0 external parts (print-in-place and single-print components) is really encouraging to see.
Once generative AI gets a grasp on object modelling and cad principles I think we'll see an explosion in functional part models in the same way parameterized models are becoming more mainstream.
fennecfoxy
Yeah I went from Creality Ender 5 Plus to a Bambu and even with Bambu's recent getting too big for their boots I still like their hardware.
Upon getting it I'd realised just how much I was always tinkering with the Ender and never actually really printing anything. With the Bambu I didn't have to do any manual configuration at all apart from changing the level of quality as desired and then one where the bridging wasn't quite right (reaaally long bridges) that I had to fine tune over a few test runs (default bridges were fine, but I wanted more squish on them).
tgtweak
The print speeds have also 5x'd with these new high speed printers and it's great for experimentation and prototyping. What used to be a 16-20 hour print on a kit based bed slinger is now 3-4 hours with similar quality.
timmaxw
> 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.
taneq
If you don’t gave a tap handy you can quickly “heat-set” threads in a part. Print the hole slightly undersized (I usually go 0.2-0.4mm under for M3-M4 size screws) so it takes some effort to screw in, then quickly screw the screw all the way in with a cordless drill. Friction should heat it up enough to melt the plastic and form it round the screw. Wait until cool before removing the screw. :)
hamandcheese
In my experience even small machine screws (M3) can cut their own threads into a properly sized hole, and function well enough for a small number of re-assembly. That said, I'm rarely designing for portability, I just find the right sized hole for my printer by printing some test prints.
jvyduna
Plastic-cutting thread screws can also be great for this; the threads have higher pitch and wide spacing, but aren't as deep as a wood screw. The <1000-pack selection on Small Parts / Amazon can be slim, but in the last year Bambu started selling small packs for reasonable prices.
pclark
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.
the__alchemist
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.
harrall
My Prusa Mk3 had perfect prints too and now I have a Bambu P1S.
I got a budget printer in 2017 and that’s when I learned that tinkering was not for me.
sho_hn
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.
Robotbeat
I’m a huge Prusa fanboy as well, but Bambu does deserve credit. There’s clearly a before-Bambu and after-Bambu era for 3D printing. Prusa had to adapt (and did, IMO, pretty quickly), and now so have a lot of the other Chinese printer manufacturers.
I totally don’t trust China from a manufacturing perspective. I think it’s literally an intentional policy of the Chinese government to try to de-industrialize the rest of the world (in particular the West and the US, geopolitical rivals), and this is most clearly seen with how China has dominated drone manufacturing and rare earths mining and (just as important) processing. Rare earths is relevant not because it’s irreplaceable or incredibly rare (they’re not, in spite of the name)but because it’s super easy to see the Chinese govt use access to what would otherwise be a kind of niche mineral group as a geopolitical trade weapon. DJI leveraged corporate espionage and stolen IP of rivals (like Parrot) as a launching platform for absolute dominance of what has become a national security relevant sector. And Bambu Labs was started by former DJI folks, so they’re playing some of the same game. But geopolitical motivations aside, they legitimately HAVE upped the game dramatically, bringing to bear just an insane level of electrical engineering, software, and mechanical design and manufacturing expertise on what was not long ago a hobbyist driven sector, producing machines superior to the industrial Statasys machines at a hobbyist price with an Apple-like polish.
But I do think Prusa has, against all odds, actually kept pace. The Mk4S and XL, and then especially the Core One really are comparable machines that keep most of the core of the open source Prusa ethos (although diminished as Prusa got burned by cheap Chinese clones in the past & now doesn’t open source as much) and far less of the corporate control and surveillance embedded in the IoT-ified Bambu machines. The ONLY non-Chinese company to still make competitive machines.
fennecfoxy
Yeah and people always mention that Bambu forked all Prusa's stuff, which was only open to fork in the first place because Prusa forked it from Slic3r.
I'm nominally against the Chinese company ingesting and reselling everything possible thing but in this case it's more business as usual as the entire market does it - I mean it all originated in reprap with everyone sharing stuff anyway. Only thing is when they try to create a moat (and both Bambu & Prusa are guilty of this).
ornornor
Prusa has fallen very much behind. There are open issues about the Mini and the MK4 that have been open for years and still ignored by Prusa. Table stakes like full compatibility with octoprint.
For instance: https://github.com/prusa3d/Prusa-Firmware-Buddy/issues/189 (over 5 years old)
zoky
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
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
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.
lttlrck
My biggest complaint is that the filament RFID spec is closed.
BBL parts are not very expensive and their support is stellar. Of course if they go bankrupt we'll be high and dry.
Prior to my two A1s I spent more time, and more money in parts, mucking about with the printers, modifying and calibrating, tweaking Klipper than getting anything done.
gaudystead
One of the biggest selling points for me upgrading to an X1C was for similar reasons... I wanted more time to work _with_ the machine, not work _on_ the machine (if that makes sense).
Vespasian
We had no issues with our bambu whatsoever. It's a great machine that does exactly what it advertised to do.
It's not magic and faces the same limitations as all other 3D-priters but it's execution is top notch. I can't remember a single instance where I felt the need to change the printer settings in the slicer besides selecting one of the presets.
Our filament purchases went up by at aleast an order of magnitude and new members to our club get the hang of it really quick.y
pclark
as I said, as a Bambu owner, i’m really impressed with mine and highly recommend them to others.
poulpy123
Bambu Lab make good printers, and with the X1C and they were one the first to propose "click & print" 3D printer affordable for consumers. The issue is that they are currently closing their ecosystem, and we cannot know where they will go.
Also comparing recent printers and the old enders is very unfair, you have to compare with similar current technology
the_af
Hate? I missed this. Why hate?
GuB-42
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.
imtringued
>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.
This is the correct answer. A lot of people got used to eating shit. Turns out the 3D printer industry was selling you overpriced garbage. Bambu Labs was too good to be true so people were thinking that there must be a catch and now that there is a barely significant inconvenience, they start dog piling the company as if all hell had started breaking loose.
Now look at reality: everyone is building copycats of bambu lab printers, proving that the 3D printer industry was selling overpriced garbage products, because they knew they could get away with it. What people really wanted is the alternative reality where bambu Labs didn't exist and printers still sucked.
Pawka
> If you are broke <...>
Buy used Prusa! Their printers are reliable machines, easy to fix or upgrade. I have seen MK3 or even Prusa Mini (which is a newer option) for ~150 EUR. Still great options for anyone who wants to go into this hobby.
the_af
> 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.
This is the only part I was aware of: I own an A1 Mini and having lots of fun with it. Almost "it just works" (not really there yet, in my opinion, but getting really close).
Thanks for sharing the rest of the background. I was aware about the update (which is optional so far) and wasn't too concerned about it, but I understand why other people may be. I wasn't aware of the "open source", printers printing printers part of the hobby; I'm new to it.
WillAdams
Non-compliance with GPL and other opensource licensing.
Predatory licensing agreements and cloud software which presumably allows the company to access/steal designs.
Orygin
Have you got a source for the GPL non compliance ?
If I remember what I saw during the day, and from recaps since then, it was only the Bambu Studio slicer (that is a fork of Prusa Slicer), which was provided with review units but without the source code being released yet. The code was released in time for production units. The only violation of the license is if they did not provide the code to reviewers when asked (which may have happened, but is not as clear cut as what their competitors imply)
Gerardox
What are some alternatives? Ty in advance for any hint!
Rebelgecko
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
More than that. They tried to gaslight people after people found out the changes Bambu Lab was making.
fennecfoxy
Same here - switched from Ender 5 Plus to BL a1 mini (to trial if I liked them) and as mentioned in another comment, I'm actually printing now and not endlessly tinkering.
semireg
I started 3D printing about 10 years ago with the first Taz machines and they left me a broken, broken man.
Fast forward to a month ago, I bought a Prusa Core One, loved it, and then bought a XL 5-toolhead. It's been so much fun using printers that "just work."
I finished this 6-day print last week! https://www.reddit.com/r/prusa3d/comments/1kb3p0w/xl_full_be...
alextousss
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.
[0]: https://archive.org/details/StructuresOrWhyThingsDontFallDow...
alnwlsn
In the old days you needed to be a lot more cautious with sharp corners.
If you print into a sharp corner, the hotend has to decelerate to a stop and then accelerate in the new direction. During this time, a little extra plastic will leak out of the nozzle. You can soften this transition with a rounded over corner.
Current printers usually have pressure advance, so this is a lot less important now.
Ccecil
Pressure advance has been around for at least a decade with many people using it.
I would say the biggest gain for the newer (cheaper) printers have is the input shaping and resonance tuning. This allowed for running higher accels/speeds with a machine that is less mechanically sound. Followed closely by the lack of slicer options and forcing use of branded filament, eliminating those choices makes it easier to make a slicer profile that is repeatable (in my case I have been using Atomic filament and the same basic slicer profile for close to 10 years).
In my shop...I still don't use advance or input shaping...but I build machines with very solid frames. The gains from input shaping seem to be less based on how solid the frame/motion is (based on what I have seen). Current printer is ~10 years old, still solid. Not as fast as the corexy (due to leadscrew drive) but prints very well and has a 320mm cubed area. Without pressure advance or other magic tricks I print at 100mm/s with PLA @150-200mm/s travels, not to mention I have a very heavy extruder.
lukeinator42
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.
antirez
Also useful to turn spheres into two parts you can screw one with the other, like in this design of mine: https://makerworld.com/it/models/99223-death-star-christmas-...
ugh123
Thats great! Reminds me of this dragon egg my son had me print for him with a screw shell but has a hollow inside to put things in it like baby dragons, x-wings, etc https://makerworld.com/en/models/192494-dragon-egg-with-baby...
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.