GOEWS and Stacking. And AI Assistance.

Sat Jun 27, 2026

I'm still doing various 3D modeling things. And since I've reached a certain point in this pursuit, the Ancient Texts dictate that I must try to organize my workspace using some modular, 3D-printed wall system. The available choices are, approximately

So obviously, I'm going with that last one.

The Stacking Option

The issue everyone runs into with these systems is that you need to print a lot of tiles in order to cover a wall. The Next Layer deals with it by having a belt printer around, which I don't1. But there are other options if you've got access to multi-material printers or MMUs.

If you're printing something wide and short, with an evenish height throughout, then there's a trick you can pull to get more throughput per print. Instead of sitting around and detaching a tile every couple of hours then queueing up the next one, you can stack them like this. That is, you set up a slicer project where you have

  1. an instance of your object
  2. a separator layer (or appropriate geometry) printed in a filament that your main filament won't stick to (in the GOEWS case, we're printing the tiles out of PLA, so PETG is the natural separator layer)
  3. the next instance of your object
  4. repeat as much as you dare, up to a maximum of your printer's build volume Z-axis

That video I linked earlier shows you how to do this in Bambu Studio. However, I'm not a big Bambu Lab fan, and even if I were I'd prefer a more automated process than "fiddle around with your slicer for a few minutes whenever you want to stack some prints". Especially since there's an OpenSCAD implementation of GOEWS.

So, as of earlier this week, that OpenSCAD implementation has tile stacks built in. Instead of fiddling with Bambu Studio, you generate a tile stack using that web UI. This gives you two STL files (one for the tiles, one for the separators), then you hop over to OrcaSlicer, import both STLs as parts, and mark them as appropriate for your multi-material printer. Then you just slice and print it as usual. I ended up running off a few 5-stacks on my Snapmaker U1, which I thoroughly recommend. They're pretty good! I haven't explored saturating the build volume yet, but 5-at-a-time seems to work perfectly well for this application. The backs of the upper stacks are all a bit grungy, but that's to be expected given the PLA/PETG interactions. And also, we don't care; these are going up on a wall, with the grungy side facing the wall, and not coming back off.

In terms of empirics, I've been running off stacks between 5 and 8 successfully using PETG separators and PLA plates. My observations are

If you've got a U1 of your own, or another multi-material printing option, hop over to the GOEWS generator and try it out; the change is already live.

AI Assistance

As is fast becoming tradition, that PR was heavily LLM-assisted. This was actually my first time ever interacting with Svelte. I wouldn't have chosen the tool myself, but the fact that I hadn't written it before didn't prevent me from having Claude and ChatGPT help me get my bearings and make pretty substantial changes to both the front-end and back-end of that server.

I notice two things here.

Firstly, I judge that this change probably would have taken me longer all-in without AI assistance. Because I'd have had to read through the existing scad code architecture, understood how to call the tile.scad file from tile-stack.scad, then understood enough about both Svelte and the generation server in order to make changes. And those changes would probably have been made with lower confidence. As it stands, I was able to skim through enough of the codebase to understand a couple of interfaces, then fed the makefile and a couple existing scad/python/svelte files into Claude's context, and had it make targeted changes/compositions that fit with the existing naming conventions. I suspect that to get to a minimum working patch that fixed my immediate problem, I probably would have taken a couple of days. In order to get to the polished, UI-finesse-tweaks-including PR, I realistically would have taken a week or two. Mostly because of my unfamiliarity with the codebase and frameworks. AI assistance brought that down to around an hour for the minimal patch, and about a working day for the full polished output. This still isn't proof, but it is more evidence of the effectiveness of the technique.

Secondly, this still felt annoyingly slow, in a way that normal development doesn't. Plausibly it's as simple as "when you're writing code manually, you're engaged the whole time, whereas AI-assisted coding involves a lot of dead time while we wait for the model to come back with a response". My subjective first-person experience here was definitely one of impatience, rather than one of moving at blazing speed. It also doesn't help that Claude's token limits feel pretty constraining. At one point in the process, I had to copy a bunch of context over into ChatGPT to continue the coding session. Plausibly this is good in the sense that focusing context sometimes helps results, but it's still annoying to hit a stop-sign, and have to move to a different lane. That's something I might be able to fix, and I'll see about it once I get past the other projects I've got lying around.

The next steps are maybe tooling my way out of the specific Claude dependence issue, and seeing how much wall I can cover in cleated hexes before finding another failure mode.

As always, I'll let you know how it goes.

  1. And as a sidenote, I think this is probably a place where I'd have doubts about using one. You need to slice your print diagonally in order to get a belt printer working. Between the material properties of PLA, the diagonal layer "grain", and the weight I'm expecting to put on these, it might cause some catastrophic tile failure even with the chonk of GOEWS. Still; seems to have worked for TNL with honeycomb, so probably it would have worked for me too.


Creative Commons License

all articles at langnostic are licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License

Reprint, rehost and distribute freely (even for profit), but attribute the work and allow your readers the same freedoms. Here's a license widget you can use.

The menu background image is Jewel Wash, taken from Dan Zen's flickr stream and released under a CC-BY license