Comment

Comment by Ancapistani

This seems like a variant on something that I've been interested in for quite some time, but haven't had the time/motivation/focus to really play with it. I call it "non-parallel slicing" in my head, but I think there is another term for it.

I use almost exclusively FDM printers. Slicers take a 3D model and "slice" it into a series of horizontal profiles that are laid down one-by-one on top of another to create the 3D output. This results in the print head moving in the X and Y axes pretty much constantly, but the Z axis moving only once per layer, and moving only in one direction (+Z).

There's no physical reason the Z axis couldn't be more mobile. Yes, you'd have to be careful to ensure that the print head doesn't impact the print in areas where material has already been placed, but that can be represented by a virtual model of the print head in software - or even by a handful of standard measurements:

* nozzle inner diameter: 0.4mm

* nozzle outer diameter: 0.7mm

* nozzle angle of approach: 30º

* Z-offset between nozzle and lowest part of the hot end: 5mm

The above would mean that instead of layers being all parallel to one another and to the bed, layer height could change dynamically throughout the print process.

If you're printing a wing section flat on the bed, the center will bulge - so the first layer height at the leading edge of the wing would be as small as possible (say, 0.05mm). At the thickest point the layer height could be larger (say, 0.3mm). The next layer would then be laid on top of the layer below, compounding the differences in layer height.

With traditional, parallel slicing, to get that resolution you'd have to set your layer height to 0.05mm throughout the print. The top surface of the wing would be a series of "stairsteps" much like the "jaggies" seen when upscaling a raster image. With a well-designed non-parallel slicer and an appropriate model, the top surface would be a single layer, laid down in a complex three dimensional curve.

The nozzle's "angle of approach" and the "Z-offset between nozzle and hot end" would place fairly restrictive limits on how much any given layer could diverge from horizontal and from the prevous layer. That said, this approach would allow today's commodity printers to be used in this way.

A more capable approach would be to design printer hardware to directly take advantage of non-parallel layers, by adding additional axes: A, B, and C, which would represent rotation around the X, Y, and Z axes respectively. This would allow full movement of the print head relative to the work piece (subject to the physical constraints of having the print bed supported on a plane, which the hot end may not impact).

The best part of all of the above is that the language used to encode instructions for 3D printing - Gcode - is literally designed for this use case. Gcode was originally intended to control milling machines, and 5- and 6-axis CNC are fairly common (albeit expensive).

I came across someone's university project a couple of years ago that implemented something similar to this concept, but never investigated it deeply and have since lost the link.

parent Ancapistani 4 years ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton