Two ways of making the inner walls of a 3D print interlock, for Cura, PrusaSlicer and OrcaSlicer, set up with one click and then done by the slicer automatically.
Source-available · Non-commercial. Licensed under the PolyForm Noncommercial License 1.0.0: you may use, change and share it for non-commercial purposes. It comes as is, with no warranty and no liability. It rewrites the G-code that drives your printer, so watch your first prints. Copyright Matthew Armstrong (The-Dorkknight).
| Pattern | What it does | Status |
|---|---|---|
| FlatLock | Alternate inner walls get fat and thin; fat and thin swap on the next layer. Every layer keeps its normal height. | Available. A strength model shows no gain for it, only a small loss in a straight pull. Experimental. |
| Shift-LoK | Every other inner wall is printed half a layer higher, like brickwork. | Locked. ADDMAN holds patents on this. It stays switched off until ADDMAN gives permission. See Shift-LoK and the lock. |
Pick one per print, not both. A file that went through one pattern is skipped by the other.
FlatLock
A normal print stacks every wall line exactly on top of the one below, so the seams between lines run straight up through the part. FlatLock makes every other inner line fat (125 % of the plastic at the default strength) and the lines between them thin (75 %), then swaps them on the next layer. The seam between two neighbours moves a little sideways each layer. Nothing moves up or down. The outer wall, infill, supports and everything else are untouched.
Plain-English details: HOW_FLATLOCK_WORKS.md.
Shift-LoK and the lock
Shift-LoK prints every other inner wall half a layer higher than its neighbours, so a raised wall bridges the joint between two layers of the walls beside it. The walls to be raised are taken out of their normal place and printed last in the layer; the first raised bead gets 1.5 times the plastic and is printed slower, the last gets half and ends flat.
Plain-English details: HOW_SHIFTLOK_WORKS.md.
ADDMAN holds patents on half-layer staggered walls (US 11,813,789 among others; European application EP 21175830.5 is pending). So Shift-LoK ships greyed out. The plan, if ADDMAN agrees:
- ADDMAN publishes one five-digit code on its own website. No account, no email address, the same code for everybody.
- You type it in once, in the installer window (or
python3 install.py --unlock 12345). Shift-LoK then stays unlocked on that computer for good. - The first time it opens, a thank-you screen explains the patent situation and thanks ADDMAN, with a big Thanks! button.
What the lock is and is not. It is a courtesy lock: only a SHA-256 fingerprint of the code is in the source, nothing is sent anywhere, nothing is checked online. The source is public, so anyone determined can get round it. That is accepted. Its job is to make the default "Shift-LoK is off until ADDMAN says yes". It is not legal protection and does not give anyone rights under any patent. The licence covers my code only.
For testing now: the test code is 54321. It exists only in this private test build. Before anything is published, ADDMAN's real code is set with python3 tools/set_unlock_code.py NNNNN --replace (see PUBLISHING.md) and the wording of the thank-you screen is whatever ADDMAN agrees to. Until ADDMAN_APPROVED is set in lokwalls/lock.py, every screen says "TEST BUILD". To show ADDMAN's real logo, put addman-logo.png in assets/ (only with their permission; without it a plain placeholder is drawn).
Where it may be used
Not legal advice. I am not a lawyer.
- FlatLock: I know of no patent on it, but I have not done a full search. Use it at your own risk.
- Shift-LoK: there are granted United States patents on this way of printing. If you are in the United States, do not use Shift-LoK unless ADDMAN's permission (the published code) says you may. Outside the US I found no granted patent in that family; one European application is pending.
- Nothing in the program looks at your location. What is lawful where you live is your responsibility.
- The licence gives no rights under anybody's patents, and allows non-commercial use only.
Details with links to every source: PATENTS.md and RESEARCH.md.
What exists and what does not
| Status | |
|---|---|
| Engines (FlatLock, Shift-LoK) | Work on real G-code from Cura 5.11, PrusaSlicer 2.8.1 and OrcaSlicer 2.3.1. Both have their own tests. |
| Lock, unlock code, thank-you screen | Work in the installer window (driven and photographed under Linux), in the terminal, and in Cura. |
| Cura 5 plug-in "LoKWalls" with a pattern drop-down in Walls | Works in real Cura 5.11 (Linux, driven automatically from start-up to saved G-code). Installed as a proper Cura package, so it shows in Cura's package record. Cura only offers Shift-LoK after it is unlocked and Cura is restarted. |
| PrusaSlicer: "+ FlatLock" and "+ Shift-LoK" profile copies | Works from the PrusaSlicer 2.8.1 command line. Not clicked through in the PrusaSlicer window. |
| OrcaSlicer: the same profile copies | Engine tested on real OrcaSlicer G-code. The profiles have not been tried inside OrcaSlicer. |
| G-code viewer: 3D, cut at any angle, cross-section, original-against-processed checks | Works in a virtual-screen test with real Cura and OrcaSlicer files. Not used on a real desktop yet, not timed on old computers. See VIEWER.md. |
| One-step installer window | Works on Linux with Python 3.12. macOS and Windows launchers exist but have not been run. |
| A real print, and proof that parts get stronger | Does not exist. |
| Seeing the result in the slicer's preview | Not possible, see Known limitations. |
| Bambu Studio, SuperSlicer, Cura 4, multi-material prints | Not supported. |
What a strength model says
A model, not a measurement. Nothing was printed or broken. Assumptions and everything it leaves out: tools/strength_sim/README.md.
A cross-section of a 5-wall, 0.2 mm-layer wall was built bead by bead in a computer, with welds half as strong as solid plastic, and pulled apart three ways.
| Load | Shift-LoK (staggered) | FlatLock (fat/thin) |
|---|---|---|
| Pulled apart across the layers | +1 % (-7 to +10) | -8 % (-17 to -4) |
| Layers slid over each other | +33 % (+23 to +36) | -3 % (-7 to -1) |
| Walls pulled apart sideways | +38 % (+9 to +90) | 0 % (-14 to +9) |



Top comments (1)
Will update this tomorrow- i removed the engine pertaining to patent but left an ai gen letter to company requesting permission and a few other things i want to crystalise first.