X3DStudios

Quality and inspection

Every check a plate passes before and during a print, the dimensional accuracy FDM actually gives you, what counts as a defect, and how a reprint is handled.

This page lists every check your part passes, in the order it passes them, and says plainly which are code and which are a person. It also tells you what FDM accuracy really means, so you can judge whether a part will fit before you order rather than after.

Read this first
Everything before the print is automated and blocking. Everything about the finished part is a human looking at it. Nothing in between measures your part.

1. Before the model is sliced#

Every model out of /design has been through the printability check: watertightness, non-manifold edges, degenerate triangles, and fit against the plate. A file you upload at /print is measured for its bounding box, volume and triangle count and rejected if it does not fit the plate, but it is not inspected for holes or winding. It measures geometry, not quality, and only one verdict blocks an order. Detail on /docs/studio/printability.

The check that most often saves a part is not geometry at all. It is the material and colour gate the operator passes through when queueing your order onto a machine.

ComparisonRule
MaterialCompared by base polymer, so PLA-CF satisfies a PLA order and Flexible TPU matches a tray reporting TPU. ABS and ASA stay distinct, because UV behaviour is usually why someone chose ASA.
ColourDistance between your colour and the tray's reported colour under a redmean-weighted threshold of 40. A colour that cannot be resolved reads as unknown, never as a match.
Wrong plasticNot silently allowed. Slice and queue stays disabled until the operator ticks an acknowledgement naming both materials.
Spool moved since queueingTray contents are fingerprinted at queue time and compared to live telemetry at start. A change reopens the dialog with a warning. Missing telemetry is treated as start, because absence of information is not evidence of a swap.

This exists because it failed once: an ASA order in teal was queued onto teal PLA. The colour matched, the plastic did not, and nothing stopped it.

2. Before the plate runs#

Every plate is scanned before it reaches a printer, whether we sliced it or you uploaded G-code. The result is a score out of 100 and a list of individual checks.

CheckSeverityWhy
M112 emergency stopFailHard-kills the printer mid-job.
M502 factory resetFailWipes printer calibration.
M211 S0 endstop overrideFailThe head can be driven into the frame.
M301 / M304 PID overrideFailRewrites hotend or bed PID. Thermal runaway risk.
G28.1 set homeFailDesyncs the coordinate system.
M851 Z-probe offsetFailCan crash the nozzle into the bed.
M999 restartWarnSuggests an unusual post-processor.
M500 EEPROM writeWarnCould change printer settings.
Nozzle over 320 C, bed over 130 CFailAbsolute hardware limits, dangerous whatever the material.
Above the material's own maximumWarnA quality concern, not a safety one, so a correct Bambu slice is never blocked by it.
Sliced for a different Bambu modelFailCaught here, so you get a clear message instead of a firmware error after the first layer.
Part larger than the plateAdvisoryWarns only. See the callout below.
Per-material ceilings, nozzle over bed in degrees C: PLA 260/75, PETG 280/90, ABS and ASA 290/115, PC 310/120, TPU 260/70.
The build-volume check does not block
It warns and costs the plate 10 points when the estimate is grossly over the bed, 3 when it is only near the edge. The footprint is estimated from early travel moves, which cross the whole bed during calibration, so blocking on it would refuse good plates. Do not rely on it to catch an oversized part - that is the upload check at /print.

3. While it prints#

  • Live telemetry: nozzle, bed and chamber temperature, progress, layer number and the printer's own G-code state.
  • A live camera on every machine, with a WebRTC, MSE and MJPEG fallback chain.
  • The printer's fault codes, normalised into described faults with a remedy each and raised as operator work items. A printer that has parked itself in a paused state escalates even on an otherwise advisory fault.
  • Telemetry freshness. The gateway keeps serving its last snapshot after a printer's link dies, so readings are trusted only while their timestamp keeps moving.
What automated failure detection actually is here
The detectors are Bambu's, running on the printer, and we neither read their verdicts nor gate anything on them. First-layer inspection runs on every job we send - the gateway sets layer_inspect on all of them and gives us no way to turn it off - alongside the toolhead camera's build-plate and nozzle-clumping checks and the spaghetti detector on the chamber camera. What reaches us is the printer's own fault code when one of them stops or pauses the machine. An operator can switch the toolhead camera checks off for a machine whose lens has failed, so it can keep printing, and while they are off a failed print on it can run to the end unnoticed. Nothing we wrote watches your part: failure detection here is that fault reporting plus a human watching a camera.

4. When it finishes#

The job is complete when the printer stops, but it is not collectable until the bed has cooled enough to release the part: PLA, PETG and TPU at 35 C, ABS and ASA at 45 C with the chamber under 40 C, PC and nylon at 50 C. A 45-minute timeout releases it anyway with a note that it is still warm. Pulling a part off a hot plate is a common way to deform a good print, which is why the gate exists.

Then a person takes it off the plate, looks at it, removes supports and brim, and packs it. That is the inspection. It is not recorded anywhere: no inspection field on the job or the order, no pass or fail flag, no required photo, nothing you can query.

Dimensional accuracy you can expect#

We publish no tolerance, because publishing one implies we measure against it and we do not. What follows is how FDM behaves on these machines, so you can design around it.

DimensionWhat actually happens
Z resolutionLayer height: 0.2mm standard, 0.1mm premium. A feature shorter than one layer does not exist.
Outside dimensionsUsually a little oversize. Extruded plastic spreads wider than the nozzle path, so a 20mm cube tends to measure a couple of tenths over.
Holes and slotsUsually undersize, and more so on small diameters. A 5mm hole will not accept a 5mm pin. Design clearance in, or drill afterwards.
ShrinkageMaterial-dependent. PLA moves least; ABS and ASA shrink noticeably and a long flat part can lift at the corners. PETG sits between.
First layerSquashed by design, so the bottom 0.2mm is marginally wider than the model.
Threads and press fitsDo not expect a modelled M4 thread or a bearing seat to fit as drawn. Add clearance or print a test coupon.
If a dimension has to fit
Order one before you order fifty. PLA is on the cheapest of the five per-gram rates - $0.12, the same as PETG and ABS - and it is the least trouble to print, so a single test print is the cheapest measurement you can buy. The order form has a note field, up to 900 characters, that reaches the operator with the job. Say which dimension matters.

Surface finish#

Four surfaces on an FDM part behave differently, and orientation decides which is which. Parts print on a textured PEI plate, which is what the machines physically carry.

SurfaceWhat you get
Bottom, against the plateThe plate's texture, transferred: an even matte grain, flat and consistent, never mirror-smooth.
Vertical wallsLayer lines at the layer pitch. Premium 0.1mm roughly halves how visible they are and roughly doubles the print.
Top facesThe smoothest surface where flat and horizontal. A shallow slope is the worst case - it stair-steps instead.
OverhangsRougher. Anything past roughly 45 degrees needs support, and support contact leaves marks. Overhang angle is measured on a generated model and reported, but never blocks an order - and an uploaded file is not measured for it at all.

One thing you will not find is a skirt ring. The priming skirt is set to zero loops: the start routine already purges and wipes, and the AMS cuts its own prime blob.

What counts as a defect#

Normal output, not a defect: visible layer lines, the seam where each layer starts, support witness marks, plate texture on the bottom face, stair-stepping on shallow slopes, and small colour variation between spools of the same named colour.

  • Wrong material or wrong colour against what you ordered.
  • An incomplete part, or a layer shift partway up.
  • Delamination: layers separating, or a corner lifted off the plate.
  • Stringing or blobs that will not come off by hand.
  • Warping bad enough that the part no longer sits flat.
  • A dimension so far off the part cannot do its job. Tell us the measurement.
  • Damage in transit.

Reprints#

  1. 1
    A plate that fails on our machine

    Our cost, always. Your order does not advance to printed until parts are off a printer, so a failed plate is re-queued. The operator can re-cut the model for a different machine or spool rather than reusing the plate that failed.

  2. 2
    What a re-run costs you

    Time. A re-run is not in the lead-time quote, so it pushes your ship date out. Nothing is re-charged.

  3. 3
    A part that arrives wrong

    Email [email protected] with your order number, or open a Print Quality Issue ticket at /contact. Include a photo, and for a dimensional problem the measurement you took and the one you expected.

  4. 4
    What happens next

    A reprint or a refund, decided by a person. A cancelled order is refunded in full and appears under Not charged on your statement rather than being hidden.

What we will not pretend
No automated part inspection, no measurement record, no photo on file for your order. What we do have is a plate that cannot run with a dangerous command in it, cannot run on the wrong printer model, and cannot be queued onto the wrong plastic without someone typing an acknowledgement. Those stop bad parts being made, which is a different thing from catching them afterwards.