X3DStudios

Bambu Studio

Order from Bambu Studio or OrcaSlicer: send a sliced plate that prints exactly as exported, or the saved project to print in its own colours. Which profile to target and how to export.

If you already slice your own plates, you can send us the sliced file instead of a mesh and we print exactly that. Nothing is re-sliced, re-oriented or re-arranged. Or send the saved project, and we slice it, in its own colours if it has them. This page covers which profile to slice against, how to export the file Bambu Studio and OrcaSlicer actually produce, what stays adjustable afterwards, and when you are better off letting us slice it.

Mesh or sliced: pick before you start#

Send a mesh (.stl, .glb)Send a sliced file (.gcode, .3mf, .gcode.3mf)
Who picks the settingsWe do, from the material and quality you chooseYou did, in your slicer
Changeable after uploadMaterial, colour, quality, scale, infill, quantityMaterial, colour and quantity. Quality stays selectable but only moves the price
Where the weight comes fromA real slice where we can run one, otherwise a volume estimateThe filament figure in your file's own header
Build-volume checkEnforced at 340×320×340mmSkipped — your slicer already fitted the plate
Printer modelWe slice for the machine it lands onFixed by your profile, and checked before it reaches a printer
Size limit on the website100 MB40 MB

Slice it yourself when you care about something a service cannot infer — seam placement, a specific support layout, a modifier region, a tuned first layer. Send a mesh when you want us to make those calls, or when you want to change scale or quantity after seeing the price.

Which profile to target#

A file sliced for the wrong printer is refused, not adapted
The printer model is read out of your file's header and compared against the machine it is about to be sent to. A mismatch is a hard failure — Bambu firmware rejects a plate cut for another model with HMS 0500-4037, so we catch it first and ask for a re-slice rather than wasting the trip to the machine.
  • Printer: Bambu Lab H2S. It is the largest plate in the fleet and the build volume the rest of the site is measured against. The fleet also runs P2S machines; a plate sliced for a P2S can only be assigned to a P2S, which narrows the pool of machines that can take your job.
  • Nozzle: 0.4 mm. It is the diameter a printer is registered with by default and the diameter the mesh path slices at unless you change it.
  • Filament preset: match the plastic you are going to order. PLA, PETG, ABS, ASA and TPU are the five we sell, and the preset sets the temperatures the file will ask for.
  • One plate per export. Export the plate you want printed rather than a multi-plate project. To have every plate of a project printed, upload the saved project instead: we slice it plate by plate and print one job per plate.
ModelPlate we work to
Bambu Lab H2S350 × 320 × 325 mm at the validator; 340 × 320 × 340 mm is the figure the site quotes and checks meshes against
Bambu Lab P2S256 × 256 × 256 mm
A sliced file's dimensions are not re-checked — your slicer already fitted it. These are the bounds a mesh is measured against and the bounds the file's own profile has to respect.

Exporting the file#

  1. 1
    Set the printer and filament

    Bambu Lab H2S, 0.4 mm nozzle, and the filament preset for the plastic you will order. Changing these after slicing means slicing again — the header is written at slice time.

  2. 2
    Arrange and slice the plate

    Position, orient, add supports, then press Slice plate. Check the filament weight and time it reports; those two numbers are what we read back out of the file and what your price is worked out from.

  3. 3
    Export the sliced file

    File, Export, Export plate sliced file. That writes a .gcode.3mf containing the G-code, which prints exactly as exported. Save project writes a .3mf with no G-code in it: we accept that too, but we slice it ourselves, with our profile, so your plate's own settings do not carry over. See Sending the project below.

  4. 4
    Upload it at /print

    Drop the .gcode.3mf on the upload area. A plain .gcode is refused at /print, because the farm starts every print from a plate 3MF; the print API still takes one. Sliced files are capped at 40 MB on the website and 100 MB through the print API. The plate preview embedded by your slicer is what you will see on the order.

  5. 5
    Pick material and colour

    These still matter. Material sets the rate per gram and tells the operator which plastic to load; colour tells them which spool. Leave quality on Standard — see the note below.

  6. 6
    Order

    The price is worked out from the filament grams your slicer wrote into the file, at the rate for the material and colour you chose.

    bash
    # Or submit it straight to the print API
    curl -X POST https://x3dstudios.com/api/print/orders \
      -H "Authorization: Bearer $X3D_API_KEY" \
      -F "file=@plate_1.gcode.3mf" \
      -F "material=petg" \
      -F "color=Black" \
      -F "quantity=1" \
      -F "recipientName=Ada Lovelace" \
      -F "street1=1 Main St" \
      -F "city=Austin" \
      -F "state=TX" \
      -F "zip=78750"
Leave quality on Standard
Quality is a price multiplier, not an instruction: Standard is 1×, Premium is 1.75×. On a mesh it buys you 0.1 mm layers. On a file you already sliced it buys you nothing, because your layer height is already written into the G-code.

What we read out of your file#

  • Total filament weight in grams — this is what you are billed on, rounded up to the whole gram.
  • Estimated print time — used for the machine-time part of the price where the hours exceed what the weight alone would imply, which in practice means multi-colour plates.
  • Footprint and maximum Z, from the print moves.
  • The printer model the file was sliced for, from printer_model or printer_settings_id.
  • Filament types and colours, from filament_type and filament_colour — a multi-slot plate lists each one, and that is what the AMS tray mapping is built from.
  • The embedded plate thumbnail, which becomes the image on your order.

Because those numbers come from your slicer rather than from an estimate, a pre-sliced order prices on exactly what your plate will consume — including purge waste and tool-change time on a multi-colour plate. Nothing is added on top for colour changes; the file already contains them. The one addition is hardware: a plate that uses five or more filaments needs a second AMS unit, so it adds the $25 second-AMS fee once per order line. Through the print API the count is a .gcode.3mf plate's own list of the filaments it uses, and a plain .gcode, which lists every filament its project defined whether used or not, is priced as one colour. A five-to-eight colour plate prints once a printer has that many filaments loaded, which can take longer than the live lead time.

Safety validation before it reaches a machine#

Every sliced file is scanned before it is sent to a printer. A valid Bambu or Orca slice for the right printer passes; the checks exist to catch hand-edited and post-processed G-code.

CheckResult
M112, M502, M211 S0, M301, M304, G28.1, M851Hard fail. Emergency stop, factory reset, endstop override, PID overrides, home redefinition and probe-offset changes are never in a normal slice.
M999, M500Warning. A restart command or an EEPROM write is unusual in a print file and worth a look, but neither blocks.
Nozzle above 320 °C or bed above 130 °CHard fail. These are hardware limits, not material preferences.
Temperature above the material's typical maximumWarning only. A quality concern, not a safety one, so it does not block.
Sliced for a different printer modelHard fail. Re-slice for the target machine.
Footprint or height beyond the plateAdvisory. The measured footprint includes calibration and purge travel, so it is not trusted enough to block.
Fewer than 10 lines of G-codeHard fail — the file is empty or truncated.

Sending the project#

A saved project carries its filament table, the filament each part and modifier prints in, and any colour painting. Upload it at /print and, when it assigns two or more filaments, the page lists them with their slot numbers and materials and offers Print in N colours or One colour instead. We slice each plate in those colours in the background, with your parts, assignments and paint and our standard 0.2mm profile, and the page shows which plate it is on.

  • The colour price is that slice: its grams and hours, purge and changes included. Colours are counted by what lays down plastic, up to eight, and five or more adds the $25 second-AMS fee once per order line.
  • In colour the project prints at 100% scale, standard quality, in the plastic its filaments name. A multi-plate project prints as one job per plate.
  • Not printable in colour: two filament types on one plate (PLA with PETG, or even PLA with PLA-CF), different base plastics on different plates (PLA on one, PETG on another), a colour change at a set layer height, a height-range modifier that switches filament, or more than eight filaments. The page says which, and the project still prints in one colour.
  • Want your own layer height, walls or supports? Slice it and send the plate instead. A project is sliced with our profile.

When to send a mesh instead#

  • You want to change scale, infill or quality after seeing the price. All three are locked on a sliced file, and scale is fixed at 100%.
  • Your sliced file is over 40 MB. The mesh it came from is almost certainly well under 100 MB.
  • You do not know which machine it will land on and do not want to constrain it to one model.
  • You want the quote to come from our slice rather than yours. We slice with OrcaSlicer against the official Bambu presets, so the weight we bill is measured the same way yours is.
  • You are ordering several copies and would rather we lay out the plate.
OrcaSlicer works the same way
Everything on this page applies to OrcaSlicer, which uses the same 3MF layout and writes the same header fields. Export plate sliced file, target the same printer profile, and the file is read identically.

Common export problems#

What you seeWhat to do
We couldn't read that sliced file. Re-export it from Bambu Studio / OrcaSlicer.The plate export is damaged or was written by a post-processing script. Slice the plate again, then File, Export, Export plate sliced file, or upload the saved project and let us slice it.
We couldn't read the print footprint/filament from that sliced file.The header did not carry a usable filament figure or footprint. Re-export from Bambu Studio or OrcaSlicer rather than from a post-processing script.
This file was sliced for … but the target printer is a …Re-slice against the printer profile for the machine it is going to. Ask us which one if you are not sure.
File too large (max 40MB for 3MF files).Export a single plate, or send the mesh and let us slice it.
That same “couldn't read that sliced file” message on a plate you just exportedIts G-code unpacks past the 500 MB we will hold in memory. One plate holds more G-code than we unpack — split it into separate exports.

Questions

Which Bambu printer profile should I slice for?

Bambu Lab H2S with a 0.4 mm nozzle, unless we have told you otherwise. The fleet is H2S and P2S machines, and a plate sliced for a model that is not the one it lands on is refused before it reaches the printer — Bambu firmware would reject it anyway with HMS 0500-4037.

Can I upload the saved project instead of a sliced plate?

Yes, on the website. A project save has no G-code, so we slice it ourselves. If it assigns two or more filaments, we slice each plate in those colours and offer it in colour once two or more really print, at the price that slice measured; otherwise, or if you choose One colour instead, it prints in the one filament you pick. The print API still needs a sliced plate export for a 3MF.

Can you change the layer height or infill on a file I sliced?

No. A sliced file is the print instruction — layer height, infill, walls, supports, orientation and plate position are already fixed inside it, and scale is locked at 100%. To change any of those, re-slice and upload the new file.

Should I pick Premium quality for a pre-sliced file?

No. Quality is a price multiplier on the mesh path, and Premium multiplies the per-gram rate by 1.75. Your sliced file already carries its own layer height, so Premium raises what you pay without changing anything about the print.

Related guides