Why a higher speed setting barely shortens a 3D print
Measured on a Bambu A1, only about half of a fast print runs at the commanded feedrate. How the Arachnid slicer cut a Benchy from 19m 10s to 8m 23s by shaping paths instead.
- Published
- 4 min
- To read
- Arachnid
- Project
Arachnid is a slicer written in Rust for STL, OBJ and 3MF files. It started from one measurement. When a real Bambu A1 print is timed against the motion it was asked to make, instead of trusting the estimate the slicer prints at the end, only about half of the wall-clock time is spent moving at the commanded feedrate. The rest goes on cornering, ramping up and down, and travel.
That one number explains why the obvious tuning does so little. Raising the outer wall speed from 200 to 400 mm/s changes almost nothing if the head never gets to 200 in the first place. What does change the total is emitting fewer, longer and smoother moves, so the printer spends more of its time cruising. Arachnid puts its effort there.
The reference Benchy
Both slicers were given the same 3DBenchy (225,706 triangles) with the same machine limits: 0.24 mm layers, one wall, 6% infill and the Bambu A1 profile. Both output files were then scored by the same motion simulator, which reproduces Bambu Studio's own estimate for its own file to within 0.4%.
| Bambu Studio 2.8 | Arachnid | |
|---|---|---|
| Estimated time | 19m 10s | 8m 23s |
| Filament | 6.88 g | 7.13 g |
| Moves | 73,000 | 25,203 |
| Travel | 26.2 m | 12.9 m |
| Time at commanded feedrate | 51% | 39% |
| Slicing wall time | 4 s | 1.35 s |
Arachnid uses slightly more filament and spends a smaller share of its time at the commanded feedrate, and it still finishes in less than half the time. It does less work: a third of the moves and half the travel.
Why a faster number often changes nothing
Every speed in a G-code file is capped by how much plastic the hot end can melt. The ceiling is the volumetric flow limit divided by the cross section of the bead:
feed = min(commanded, max flow / (line width x layer height))
Take a hot end rated at 28 mm³/s printing a 0.48 mm line at 0.28 mm layers. The bead is 0.1344 mm² in section, so the ceiling is about 208 mm/s. Command 300, 400 or 500 mm/s and the file gets 208 every time.
Arachnid applies that clamp to every speed it writes, so the file states what the printer will actually do. On its fastest preset the layer height already sits at the firmware ceiling of 70% of the nozzle, and acceleration sits at the M201 limit. Past that point the only levers left are about doing less: shorter travel, fewer corners and fewer passes.
How the paths are shaped
The layer above comes from the same file that builds the Benchy at the top of this page: 186 layers and 34.6 m of bead, with an estimated print time of 5m 43s on the A1 at the fastest preset.
- Arc fitting
- A curve written as 700 tiny segments gives the motion planner 700 junctions to slow down at. Written as one G2 move it is a single junction.
- Simplification first
- Paths are simplified before arc fitting, at a tolerance well under one extrusion width.
- Infill along the long axis
- Solid infill runs along the longest axis of the region instead of a fixed 45 degrees. A diagonal raster in a narrow pocket is all turnaround and no cruise.
- Monotonic serpentine
- Raster lines are ordered so each one connects end to end with the next instead of hopping.
- Morphological opening
- A near-vertical wall leaves a hair-thin ring of false solid when one layer is subtracted from the next. On a Benchy, rasterising that noise was two thirds of the print time.
- Acceleration only where it pays
- An M204 command flushes the planner. Declaring travel acceleration before a two millimetre hop cost more than it saved: 18,000 flushes on a quality Benchy.
Presets
| Preset | Layer | Walls | Top and bottom | Outer speed | Benchy |
|---|---|---|---|---|---|
| xspeed | 0.28 | 1 | 1 and 1 | 500 | 5m 41s |
| speed | 0.28 | 1 | 2 and 1 | 450 | 8m 29s |
| standard | 0.20 | 2 | 2 and 2 | 250 | 16m 39s |
| quality | 0.16 | 3 | 6 and 5 | 110 | 39m 57s |
| xquality | 0.12 | 3 | 8 and 6 | 80 | 57m 16s |
| quiet | 0.16 | 3 | 6 and 5 | 60 | 82m 27s |
Layer height is in millimetres and speed in millimetres per second. xspeed is the only tier that makes no trades: everything that costs time and only buys surface finish is turned off.
Try it
Arachnid runs on 64 bit Windows. The download holds arachnid.exe, a README and the CaNa Licence 1.0 text, and jobs go to the printer over the local network by FTPS and MQTT, with no cloud account. Arachnid Studio, the graphical front end, is a fork of Cura whose engine backend is replaced and shells out to the Arachnid slicing engine.
Download the Arachnid slicer or read the Arachnid project page, which has a layer viewer for the whole file.
Written by Caisson AI. Questions or corrections go to hello@caissonai.co.