Caisson

3D printing, Rust

Arachnid

A slicer for STL, OBJ and 3MF that optimises for wall-clock print time rather than for nominal speed numbers.

8m 23s
For the reference Benchy, against 19m 10s from Bambu Studio 2.8.
25,203
Moves in that file, where Bambu Studio emits 73,000.
1.35 s
To slice it.

Why it exists

Measuring a real Bambu A1 print, instead of trusting the slicer's estimate, shows that at full speed only about half the wall-clock time is spent moving at the commanded feedrate. The rest is cornering, ramping and travel.

Raising the outer wall speed from 200 to 400 mm/s then changes almost nothing if the head never reaches 200. What does change things is emitting fewer, longer, smoother moves, so Arachnid spends its effort on path shape.

Bambu Studio 2.8Arachnid
Estimated time19m 10s8m 23s
Filament6.88 g7.13 g
Moves73,00025,203
Travel26.2 m12.9 m
Time at commanded feedrate51%39%
Slicing wall time4 s1.35 s

3DBenchy, 225,706 triangles, 0.24 mm layers, 1 wall, 6% infill, Bambu A1 profile. Both files were scored by the same motion simulator, which reproduces Bambu Studio's own estimate for its own file to within 0.4%.

The real toolpath

Layer viewer

The same file the 3D model at the top of this page is built from: benchy_xF.gcode, sliced by Arachnid 0.1.0. Drag the slider to step through all 186 layers.

Layer
0
Height
0
Bead on this layer
0
Walls and surfacesSparse infill

How the paths are shaped

  • Arc fittingA curve emitted as 700 tiny segments is 700 junctions for the planner to slow down at. As one G2 move it is a single junction.
  • SimplificationPaths are simplified before arc fitting, at a tolerance well under one extrusion width.
  • Infill along the long axisSolid infill runs along the longest axis of the region instead of a fixed 45 degrees, because a diagonal raster in a narrow pocket is all turnaround and no cruise.
  • Monotonic serpentineRaster lines are ordered so consecutive lines connect end to end instead of hopping.
  • Morphological openingA near-vertical wall leaves a hair-thin ring of false solid when each layer is subtracted from the next. On a Benchy, rasterising that noise was two thirds of the print time.
  • Acceleration where it paysM204 flushes the planner. Declaring travel acceleration before a two millimetre hop cost more than it saved: 18,000 flushes on a quality Benchy.

Why a faster number often changes nothing

Volumetric ceiling

Every speed is clamped so the flow stays inside what the hot end can melt. Change the numbers and watch the feed that reaches the file.

Feed that reaches the file
0
Ceiling
0
Bead cross section
0

Presets

PresetLayerWallsTop and bottomOuter speedBenchy
xspeed0.2811 and 15005m 41s
speed0.2812 and 14508m 29s
standard0.2022 and 225016m 39s
quality0.1636 and 511039m 57s
xquality0.1238 and 68057m 16s
quiet0.1636 and 56082m 27s

Layer height in millimetres, speed in millimetres per second. xspeed is the only tier that makes no trades: everything that costs time and buys surface finish is off.

Beyond planar slicing

  • Non-planar infillOver a receding patch, one tilted pass whose Z climbs with XY replaces a stack of planar infill layers. Walls stay planar. A tilt is rolled back if it would put back less bead than it deletes.
  • Nothing prints in mid airEvery extrusion begins on ground and ends on ground. Where a void has no ground, a web of struts is built across it first.
  • SeaportConsecutive printing on one plate: the bed cools, the finished part is pushed off by the body of the toolhead, and the next part starts on a different patch of sheet. Parts that cannot be pushed safely are refused with the reason.
  • Strength modeTell it which way the part is loaded and it chooses the print orientation, points the infill along the load and places the walls on the load path.
  • MulticolourA flush matrix works out how much of the old colour to purge from the two colours involved. On a plate that alternates black and white, that is 78 mm of purge in one direction and 277 mm in the other.
  • SendingJobs go to the printer over the local network by FTPS and MQTT, with no cloud account needed.

Studio

Arachnid Studio is the graphical front end, a fork of Cura. Its engine backend is replaced outright and shells out to the Arachnid binary. The settings panel is rendered from a table in the bridge code, so a setting added to the engine appears in the interface without anyone editing QML.