I'd never heard of 5 axis 3D printing until I stumbled across this article.

I’d never heard of 5 axis 3D printing until I stumbled across this article. Anyone familiar with commercial models that don’t break the bank?

Very cool idea. I am intrigued as to what his final iteration will be capable of.

I have seen his stuff…awesome.

cool I think there are certainly some parts that would benefit from being rotated at some point during the print

This is a very cool project (actually his master thesis). There are some Chinese guys I think, that built a six axis printer capable.on printing to bottle surfaces.

I’ll make the machine. It would be cool to do an add-on for the Simple and plus (and upcoming Plus Pro w more conventional dropping z like Prosthetic bot). A spindle add-on would be cool for wax and plastic… a foam cutting bow would be cool for foam :wink:

This would really blur the lines between a 3d printer and Cnc!

Dibs on the model name: Printrbot Penta :wink:

Printrbot,
Brook

Maybe he got the idea at DMG MORI. https://www.youtube.com/watch?v=oaIOrQi2HLM

Building the machine is relatively straightforward… the problem is slicing. 5-axis CAM/slicing is a PITA. In the CNC space, it’s big expensive software that is often specific to a particular machining center model or manufacturer.

Most of the 5-axis printing demos you see like this are either hand-written gcode or really application-specific scripted demos. Not generalized 5-axis slicing.

The main issue is how the slicer makes decisions about what angles to use. There are no algorithm decisions required in 3-axis slicing. You just execute a fixed path-drawing algorithm for each 2D slice of the 3D model. (With some added complexity around bridging and stuff that is still basically all deterministic algorithms.) When you get into 5-axis slicing, there is now a near-infinite number of ways to print the part. It adds a huge amount of complexity to either add intelligent path optimization or a huge number of user input settings to decide how to utilize the other motion axes.

This would also allow for parts to be reinforced along the weaker Z dimension

I know it’s hard, but I know some of the greatest minds in gcode post-processing. I think Autodesk was considering this for fusion 360, but no machines exist. I can look into it.

A start would be to do one thing at a time-- spiral prints that change angles for no overhangs. Just a thought.

Brook

I think you have to decide on a usage case that’s straightforward to implement in gcode post-processing, and then build the hardware and see what else people come up with. If the hardware is readily available, toolchain developers might step up for native 5-axis slicing.

I can think of a couple good examples for 5-axis CNC that could be done with post-processing:

  • Aim the kerf on a waterjet or laser cutter to achieve flatter part edges
  • Tilt a ball-end mill away from the direction of cut to use the higher-speed parts of the flutes for cutting
  • Rotate a part 90 degrees to allow cuts on multiple sides

But what would you want to do with a 3D printer that you can bolt on top of existing gcode paths with a post-processor? I’m having trouble coming up with much.

Ok, maybe we open up the slicer space a little and add the work Nick Seward and his students have done on non-planar slicing. If you have non-planar gcode to work with, what 5-axis post-processing could you add?

The Japanese company Enomoto Kogyo has a commercial 5-axis printer. I don’t know if you can buy it yet.

Interesting… As for the slicing, I woud imagine that you could link the angle between the current part of the model and the tool (the extruder in this case) to the normal vector of the triancle/surface of the outside of the current part. Although, this can hardly account for proper handling of infill areas, or parts which have some kind of branches (trees, humanoid figures etc.). Tricky indeed…

This is definitely more complex than creating and working with one of the new belt-type printers (like the Blackbelt and the Printrbelt - great work btw @Brook_Drumm :slight_smile: )…

This article suggest combining a bit of mechanical functionality modeling into the drawing to have the slicer optimized for strength as an example.

Five axis tooling would be more complicated but it’s just an algorithm. Really, the issue is that you have to step away from the current “layer by layer first” paradigm now.

You’d also have to take in to account surface finish and build order. Essentially, taking the plane tangent to each point on the model would give you a rough start considering that you can almost always print when the tangent plane of the model and tangent plane of the nozzle are parallel.

@Justin_Nesselrotte STLs don’t contain enough information to do that. They’re just triangles. What do you do to keep the nozzle normal to the surface at corners between triangles? It’s not like a regular 2.5D path corner where the end of one gcode segment is exactly equal to the start of the next gcode segment. If you try to keep the nozzle normal to the model surface, the nozzle/print relative position will need to rotate as it moves through the corner, which involves a non-zero amount of machine travel between ending one straight line path along a triangle, and starting the next straight-line path along a triangle. So, what do you do at corners? Come to a complete stop and re-angle the machine every time? That’ll cause hideous blobbing and slow prints.

5-axis slicing with contour-following either requires the slicer to reconstruct smooth paths from polygon data (hard), or requires a smooth model input like NURBS (hard).

Then there’s collision detection. I would venture to say that MOST models will involve collisions during contour-following printing if you don’t have a collision-detection algorithm that knows the exact geometry of the printer hardware. That, in turn, basically forces the slicer to associate with a single printer and locks out any kind of hobbyist machine customization.

@Ryan_Carlyle Right… I guess it’s time to find a better standard format to use than STL, at least for such 5-axis “slicing” (if we can still call it that, since it has more of the classic tool path finding of “normal” CNC-machines). There are several options already, so it should be possible to find a good match for this sort of application…

@Markus_Dieterle I think this is a strong argument in favor of starting with a gcode post-processor application like @Brook_Drumm mentioned. I’m just not sure what that looks like. Would angling the nozzle accomplish anything with normal 2.5D slicing?

If you want a different file format, I would do a native spline format that is widely used like NURBS so you don’t lose contour data. Or a common solids modeling format like step. But that’s a huuuuuge slicer rewrite in any case. The math that slicers use to make 2.5D slices relies on polygon intersections.

look at rhinosli3r . it is a plugin for rhino to export a gcode natively… Thet way u can use the nurb surface directly to slice.Any nurb surface enough information to generated 5 axis path. That could be a beginning .