Stronger 3D Printed Parts with Vertical Perimeter Linking

published: February 2, 2023 — last modified: October 23, 2025

One issue with fused filament fabrication is the weakness introduced into the parts at the layer boundaries. I had this simple idea of how especially straight sections of 3D prints could be improved on regular printers. Now I found time to test my idea.

Linking Two Layers at the Perimeter

The principle is simple. A gap is kept open after a few layers between the outer and inner perimeter line(s). The line in this gap is printed as the last operation before the layer change.

The line is split into small, equal-sized sections printed in a zig-zag pattern on the Z-axis. This pattern rises from the current layer height to the next layer height (e.g. 0.2mm).

The illustration above shows how this special link perimeter line is embedded between the outer and inner perimeter lines.

Photos

The link perimeter line has peaks, one layer height higher than the current layer height. In the photo, you can see how the flat area of the printer nozzle shapes this line.

The peaks of the lines are merged with the next layer and bond these layers vertically.

Limitations

Nozzle Movement

As the printer nozzle ends in a flat area around the opening, the length of the segments needs to be large enough to allow the filament to reach that height before it gets pressed down from the edge of the printer nozzle. I found a section length of 2-3mm works well with a 0.4mm printer nozzle.

Outer Wall Angles

The slicer needs to know the position of the link perimeter line on the next layer to move the Z-axis and the printer head into the spot where this line will be. This is only possible up to a certain angle; other strategies must be used.

Pattern Alignment

As the link perimeter line pattern has to be aligned with the next layer, it makes sense to use an absolute height pattern with the same offset for all layers of the part. This ensures that a peak in the line always matches the shape of the line in the next layer.

Demonstration GCode

I prepared demo gcode files for PLA on a Prusa i3 MK3S+ printer.

The file pipe.gcode is a regular print, and the file pipe_vc.gcode is modified with a link perimeter line. Test these prints on your printer at your own risk.

This demo gcode was created by processing a suitable gcode with a simple Python script, adding movements in the Z axis to existing commands. This feature would need to be integrated into slicer software to use the technique universally. Yet, I do not have the required knowledge for full implementation.

Conclusion

Even when the printed zig-zag pattern is crude and imperfect, it breaks the uniformity of the layers. This makes it harder for a crack to propagate into the part along the layer line.

If you have questions, missed any information, or wish to provide feedback, add a comment below or send me a message.

Happy printing!

 

 

More Posts

Tiny Particle Sensor Node with Decorative Case

Posted on 2019-02-23— Projects

I guide you through building a compact particle sensor node using a Raspberry Pi Zero W and a minimal custom shield, with published Gerbers, STL files and example code. I keep the design simple and extendable—if you'd like to build your own networked air-quality node, read the full post for parts, assembly and setup.

Read this post

PCBite Arrived

Posted on 2016-09-16— Common, Recommendations

I recently tried PCBite, a compact magnetic PCB holder with a mirrored base and adjustable posts. It makes soldering and inspection easier than my old helping-hands. I share close-up photos, usage notes, and where to buy a set—please read on if you’re curious about a simple, solid solution.

Read this post

"Read SHT31" Command-Line Tool

Posted on 2020-12-13— Software

I built a small compiled command-line tool to read SHT31 temperature and humidity over I2C on a Raspberry Pi. It emits simple JSON for easy parsing in scripts. If you're using an SHT31 sensor or automating reads, read the full post for usage, build and install steps.

Read this post

Update to the Storage Boxes System

Posted on 2022-10-30— 3D Printing, Projects

I've released a small update to my LR2052 storage boxes: new split models (LR2052-300C-S), an extensive clickable PDF catalogue, more free models on Printables, and a new download area for buyers. I invite you to read the post for full details and download links if these designs help you.

Read this post

The 3D Printed Modular Lantern

Posted on 2023-01-17— 3D Printing, Projects

I designed a modular 19th‑century‑style lantern you can 3D print as a candlelight or expand into an LED street‑lamp stand. Read on for my glue‑free assembly, colour‑layer printing tips, and stand options — or jump to the Printables page for downloads and print instructions.

Read this post

How and Why to use Namespaces

Posted on 2014-10-31— C++, How and Why

I explain how C++ namespaces prevent name conflicts and why they matter, especially in Arduino projects. I walk through practical patterns—prefixing, selective using-declarations, and importing a namespace—with class and global examples. Read the full post for simple, pragmatic examples to keep your code clearer and conflict-free.

Read this post