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.
There are a number of software packages dedicated to design analysis for injection molding, although the price is far out of reach of hobbyists.
"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.
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.
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!
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...
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.
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).
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...
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.
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...
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.
I got a budget printer in 2017 and that’s when I learned that tinkering was not for me.
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.
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.
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).
For instance: https://github.com/prusa3d/Prusa-Firmware-Buddy/issues/189 (over 5 years old)
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.
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.
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
Also comparing recent printers and the old enders is very unfair, you have to compare with similar current technology
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.
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.
I see my printer as a tool, a means to an end. I already have hobbies I want to use it for, I don't need another hobby of tweaking, configuring, modding, trying different brands of things, etc. My A1 is almost there and requires very little fiddling. "It Just Works". If I were younger, around the same age trying different Linux distros was a viable hobby, maybe I'd try more open source friendly printers, but I simply don't have the time or patience anymore.
Mostly cheap "garbage" actually. Before BambuLabs, manufacturers competed on price more than anything else, using the Ender3 as a model. BambuLabs printers were considered rather expensive. Kind of an intermediate between semi-professional printers like Ultimakers and Ender3 clones. Even the affordable BambuLabs A1 at its base price is about twice the price of an Ender3.
They did shook things up on the high end though, and this, I think, is a good thing.
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.
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.
Predatory licensing agreements and cloud software which presumably allows the company to access/steal designs.
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)
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.
It would be lovely for the BL printers/AMS to use a colour sensor at the hotend and then you can run a calibration on purges to determine what is an acceptable threshold when transitioning colours and use the absolute minimum purge amount.
I'm not using my AMS much, precisely because I simply cannot stand the waste and the additional print time.
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.
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.
[0]: https://archive.org/details/StructuresOrWhyThingsDontFallDow...
This is the most important, it's so much better for obvious and less obvious reasons.
I tried to print a front basket in one piece for my wife's bike 2 times before I got it to print. It broke the next week. I changed it from 1 part to 5 and joined them with zip-ties, thread and 3d-printed pins. Despite the assembly time I was finished in less than half the time, every part was stronger because it was in best orientation, the linkages had some give to them which provides surprising amount of amortization that wasn't there when everything was in one piece. It shakes the contents much less on uneven road because the linkage to the bike is only rigid one-way. It also prevents parts breaking easily, and if something breaks I just have to reprint the weakest sacrificial part that joins the bike with the basket.
And if I think of an improvement - I just need to reprint small part instead of everything.
BTW another very useful trick is preventing layer splitting by designing a vertical through-hole into which you put a zip-tie in tension. Some people use bolts and nuts for that, but that's more expansive and much heavier solution.
I wonder if anybody with more experience knows how much of this would overlap with SLA (i.e. resin-style) 3D printers.
For example, there's rough guidelines like, overhangs are less of an issue with SLA - and the Z-height is ultimately what most affects print-time, but would be great to see something more in-depth here, with some engineering behind it.
Or if there's similarly in-depth articles for resin 3D printers?
- In terms of strength, print orientation doesn't really matter.
- The z height is pretty much the only thing that affects print time since it exposes a single layer all at once. So it takes the same time to print one item as it does to print with a bed full of them.
- The supports in resin aren't to push the print up like FDM, they are to pull the print up. Each layer needs something above it to pull it out of the vat for the next layer.
- Unlike FDM, the surface attached to the bed isn't normally used as one of the finished surfaces. The printer usually exposes the first few layers long to make a solid base which is well adhered to the bed. If you want good surfaces all around, raise your part up a bit and use supports.
- It's pretty unusual to not use supports in resin printing.
- It can help to orient the print so that the least cross section area is in contact with the FEP film at any given time. This makes it less likely for the print to get stuck to the bottom of the vat.
- Resin parts don't really have a concept of infill. You either print hollow parts or ones that are 100% solid (you never print FDM parts at 100%). If you print hollow, make sure you have a way to drain out the resin when it's done printing.
- Even if your print is open at the top, it can still become filled with resin during the print, like putting your finger over the end of a straw. Make sure this doesn't suck up all the resin in your vat, or put a somewhere so air can get in.
- The whole business of washing and curing parts is more than I can get into here. Of note is that you can't really cure the "inside" of a part because light from the outside only makes it so far in.
- Resin parts tend to be very brittle. I once pressure tested one with 800 Psi CO2 once, through a small printed tube, and it held, but it would break if you hit it with a hammer. We tried the "tough" resins too, but never got any result comparable to even regular FDM with PLA. I used to say that I thought of resin parts not as a solid piece of plastic, but of finely powdered dust particles glued together.
- Large resin parts warp, badly. Dimensions will be accurate on the small scale (millimeters) but not on the large scale (10s or 100s of millimeters). Not sure if it's because there's a good amount of force pulling on each layer during the printing process, or from stresses introduced during the curing process.
I mostly make mechanical parts. Between the messy processing, weak materials, warping that throws off dimensions, and health concerns surrounding the resin (not to mention the intolerable smell), I pretty much gave up on resin printing. Any more, if I need something that must be resin printed, I'll order it from a professional service (which have both better performance resins than the home gamer can get and the correct setup to deal with them).
Thanks to the author for being willing to put so much of their hard-earned experience into a resource for the rest of us.
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'd say a good designer will at least 2x, probably 5x. We are preparing to test with students next semester to see how non-experts profit from this.
A) That's a surface modeler.
B) Parametric CAD doesn't have boilerplate in the same way as software. In a part, you have a feature tree, and a lot of thought goes into constructing the feature tree in a way that both allows for reconfiguration and also somewhat resembles the manufacturing process. Every step depends on the previous step in a way that is necessarily impossible to isolate. If you make a step without being aware of the end state of the tree, you will probably have to redo a bunch of the tree if the part is complex.
Also that's not what mechanical engineers spend most of their time doing. Plenty of MEs can code and use an LLM btw, nothing stopping them from optimizing their work processes if they saw fit, yet you don't really see the shoehorning of AI into the space yet.
But in the meantime I think it's brilliant if it can rough something out, then a human can go and tweak it to the correct dimensions, fix issues or simplify needlessly complex features.
Same thing for artists as well - many will come to realise that sure it generates slop, but that slop is still useful as a skeleton to overlay a human creative vision onto.
If you don't know what a feature tree is, it's really worth investigating how parametric CAD is actually done before insisting that LLMs must have a business case for MCAD users!
For hobby widgets and gewgaws you can absolutely make an "approximate object" in Blender, spit out an STL and bounce it to your 3D printer and probably maybe have it work. That workflow is not really used in industry.
3D printing was once conceptualized as a magic way to create absolutely anything. It turns out to be just one more tool in the manufacturing toolbox, bringing some very unique strengths and weaknesses, but still just another of many. DFM applies to 3D printing just as much as it applies to CNC milling, sheet metal stamping, plastic injection molding, or any other process - it's always important to think about how the end product is physically created, and optimize for that.
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.
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.
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.
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.
Resin printers are kind of parallel but I don't know how much faster they are. And they still won't beat the bottle molding machine.
For serial processing for expensive parts made of strong materials, wasn't there already CNC milling?
Dan Gelbart has a response (with caveats)
Here's a concrete filled CNC machine: https://www.youtube.com/watch?v=L8t82OQXefM
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".
- Molds: in my case for silicone joints for high pressure environments.
- Flexible filaments/TPU: custom shaped joints to make boxes rainproof. Custom elastic straps with a seam in the box makes for a very nice alternative to screws.
- Triboplastics: self-lubricating polymers that can be used as bearings.
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:
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:
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.
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.
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.
So, maybe it’s not a bad idea to start with a free version of something more ergonomic, just to avoid getting too discouraged.
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.
- 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.
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.
I’m very new to 3D printing (designed my first part this weekend), and so I learned a lot
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.
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.
I'm currently using Shapr3D and it's very quick to design simple parts. Blender doesn't have any of the tools which I'm using in Shapr3D, such as sketches, constraints, parametric modeling etc. and most of the direct modeling tools are just way easier to use than Blender.
Blender is for modeling, not CADing.
For me Blender has all I need for creating Models for 3D-Printing. And if e.g. Geometry-Nodes get some more love in Blender, they could become a base for proper parametric modelling...
If you're more programming minded, try out RepliCAD. Or if you don't mind dealing with Python and its build ecosystem, there's CADQuery or Build123d
With 5 axis, you can print any model without the need for supports.
(I'm well aware of the difficulties/realities here, i've built 5 axis motion control systems before)
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.
Or you pay a lot of money for a higher end printer and make use of a support contract where they can figure out where your parts are failing.
One other suggestion would be to contract the parts out to a company like Shapeways and see if people are actually able to reliably make them in low volume, then try to replicate. May be a dumb question, but presumably you've tried to print the same parts in PLA or a more forgiving material to confirm that they are "printable"?
Dissolve a portion of ABS in pure acetone (often available as nail polish remover). You're looking for something very roughly the consistency of milk. Colloquially this is called 'ABS juice'. Apply a thin coat to your bed/buildplate in the print area. I use a small amber glass bottle with a brush, but there are certainly faster ways to do this if you're doing a lot of printing every day. You now have a thin layer of ABS strongly attached to the surface of your bed. When you print ABS on top of this, it will be strongly attached to this, just the same as the layers adhere to each other.
You should be aware that acetone will damage PEI. It won't instantly destroy them, but it's something to be aware of. As a hobbyist, I just dedicated one side of my buildplate to ABS and don't care about the damage. You could just as easily use a different bed/buildplate material, though, since you're adhering the prints with ABS juice. I have had success with Kapton sheets in the past.
For hot-end temperatures, this is something you actually are best off figuring out yourself. To some degree, it depends on what you're doing and also your setup. Filaments generally come with a documented temperature range, but that should just be considered an initial starting point for testing. You should test print at different temperatures. The classic 'temperature tower' is a diagnostic print used for this purpose. Colder prints (to a point) will have crisper details and superior bridging. Hotter prints are stronger. ABS particularly loves to be printed hot, and when printed really hot I have found that layer failure pretty much stops occurring. ABS also abhors cooling. When testing cooling %s with a temperature tower, I found that even a small amount of cooling massively reduced layer adhesion. This does mean that if you're printing ABS for strength, you'll need to seriously limit overhangs and bridging at the design and slicing stage. Also consider that your nozzle can have an effect. It's often suggested to bump your print temperatures if you use a hardened steel nozzle.
Plastic composition is definitely something to be concerned about. Polymaker is solid. My favorite brand for ABS is Atomic Filament but they're too pricy to use in large quantities, so I save it for specific projects. For just one example of how things can get off with some brands, if you acetone vapor polish Hatchbox ABS it gets a matte texture instead of shiny, likely indicating there's something in there besides ABS.
Bed flatness is critical, but it's not something you should have to worry about. Good machines should have a decently flat and rigid bed to begin with, and even remotely modern machines also have mesh bed leveling features that correct for bed errors in software. It's usually not an issue nowadays. Back in the day, people would compensate by printing on a raft.
I didn't see you mention nozzles. If you're printing in ABS it's unlikely to be a pressing issue, but do consider that nozzles are a wear component and some filaments are abrasive. You will eventually need to replace your nozzles, as a worn nozzle can badly harm print quality.
- 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?
1. not care about seam placement; or
2. place seams manually in the slicer; or
3. add a tiny V-shaped notch specifically for the slicer to put the seam there.
5. Use rear. The seam will be a single line down the back of the part.
This was an interesting read: https://www.printables.com/model/783313-better-seams-an-orca...
From a readers perspective as well, this was a long read, but the way it was written was very clear and interesting all the way through. So well done on both counts!
https://reprap.org/wiki/RepRapLogo
Then overhangs got good enough that people just started doing normal holes again. :)
I usually don’t bookmark anything nor print to pdf; done both just to be double sure I don’t lose it.
What amount of bridging is ok?
For example, stiffer filaments can usually handle more overhang before they sag and screw things up.
The easiest rule of thumb is to assume 45degrees, which works for ~all filaments.
You can do a lot better if you choose filaments right however.
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.
3D printers are not the revolution that they looked at first. But after the initial hype, they found their niche and they are strong in it.
Nowadays I even dare to say that it's more useful to have a 3D printer at home than having a ink jet.
I think it's easier to live without one today, as many use cases for printing at home were replaced by just using a smartphone and a PDF reader...