Remix.run Logo
3D-printed book turns its own G-code into raised lettering(designboom.com)
29 points by surprisetalk 2 days ago | 14 comments
Fwirt an hour ago | parent | next [-]

I'm sure the idea here was a physical quine, although since it only contains 2.5% of its own G-code it's not really a quine, any more than a "Hello World" program is a quine since the string "Hello World" is in the program text. It would be trivial to generate something like this depending on which part of the G-code you pick.

LeifCarrotson 13 minutes ago | parent [-]

Many G-code dialects contain subprogram calls, loops, and conditionals that seem like they'd permit a physical quine. The standard RepRap firmware breaks the rules by taking input:

https://reprap.org/wiki/G-code#M98:_Call_Macro.2FSubprogram

but Fanuc and other dialects allow M97 to call a subroutine chained to the end of a program.

robofanatic 2 hours ago | parent | prev | next [-]

Is anyone else confused by thier cookie consent banner? The switches start out gray and become black when toggled. which position means consent? It feels intentionally misleading.

albert_e an hour ago | parent [-]

This is how you get statutory warning labels and nutrtion information labels on packages.

Because these folks always want to do the least legal thing allowed by law.

NDlurker 17 minutes ago | parent | prev | next [-]

Cool idea for printing braille. I bet I could vibe code a program to convert .epub files to braille then to printable copies.

kibwen 2 hours ago | parent | prev [-]

> Manual contains only 2.5 percent of its own G-code in its first version. That low figure is part of the point. Current FFF 3D printing resolution and text scale place limits on how much code can fit onto the object while also describing the volume of the object itself. A fully self-contained version would enter an endless loop, since every printed mark would add more data to be described.

The fact that quines exist means that it must be possible to print a fully self-describing book of this sort, though it's possible that you'd require a more expressive language.

trumpdong an hour ago | parent | next [-]

There's probably a way to make an xz file that decompresses to g-code for itself. But plain g-code is not powerful enough because it's just a list of movements due the tool head to perform - no computation.

serf an hour ago | parent [-]

`M98` allows for essentially function calls (nested or not.)

If you had a part of a machine that could save state (say.. turning on a coolant pump..) I wonder how much more of a turing machine you could wrastle into it.

(or you could just cheat and use one of the hundreds of gcode variants that have computational stuff stapled into them like the Fanuc equivalents, but that's sorta dishonest for the exercise)

WillAdams 20 minutes ago | parent [-]

_If_ one is using a firmware which supports that.

Grbl, which many of the 3D printer firmwares are based on, does not (and no variables, or loops, or branching).

myself248 13 minutes ago | parent [-]

And weirdly, neither does Klipper, despite having all the resources in the world to do so. Just not a priority since slicers don't produce code like that, and 99.999% of Klipper's job is to eat whatever a slicer sends it.

So suppose I attached an extruder to a Haas mill or something...

philipallstar an hour ago | parent | prev | next [-]

It's fascinating how revered people are who talk in metaphor and implication like this about relatively simple things, when far more complicated things are happening all the time inside their devices.

izonu an hour ago | parent | prev | next [-]

G-code by itself only describes the series of motor movements over time, though I think it would be practically feasible to have a book contain an executable script, which would generate the same g-code as the one used to print the book. It would be really interesting to see how large the resulting book is.

isoprophlex 41 minutes ago | parent | prev | next [-]

"This prompt, when fed to a sufficiently capable LLM, will generate the G-code to produce a 3D printed model of a book containing this quote, verbatim, in raised letters."

NegativeLatency 2 hours ago | parent | prev [-]

Compression could be interesting