Small Batch 3D Printing: 100 Custom Parts, Worked Example
With small batch 3D printing, one hundred identical custom parts can be quoted, printed and delivered without owning a printer or scheduling a single plate change. This worked example follows a 100-unit run of a 14 g PLA mounting bracket from file to doorstep: $151.20 all in, sent as two print API orders of 50, each bracket printed as its own plate across the fleet. The prices come from our published rates and the lead time from the farm's own arithmetic. It is an example part, not a named customer, and nothing below is a stopwatch reading.
The Brief: A Small Batch of 100 Custom Parts, One File
The part is a sensor mounting bracket, the kind of thing a small hardware team needs a hundred of and no supplier sells. It bolts a small PCB to 20 mm extruded aluminium: two through-holes for M4 bolts, a flat back face, a raised lip so the board sits proud of the rail. Nothing exotic. It just has to exist a hundred times and it has to fit.
| Spec | Value |
|---|---|
| Part | Sensor mounting bracket |
| Bounding box | 62 x 38 x 22 mm |
| Quantity | 100 |
| Material | PLA, single colour |
| Layer height | 0.2 mm standard |
| Infill | 20% gyroid, 3 walls |
| Sliced weight | 13.4 g, billed as 14 g |
That last row matters more than it looks. Billable weight rounds up to the whole gram, so 13.4 g bills as 14 g. Across 100 units that rounding is 60 g of phantom plastic, or $7.20. It is worth knowing about, and it is worth not worrying about: shaving the part to 12.9 g to dodge a gram is an afternoon of CAD to save the price of a coffee. /docs/farm/bulk covers volume pricing and production runs.
Step 1: A File the Farm Can Actually Print
The bracket started life in CAD and left as a single STL. That is the boring, correct answer. The /print uploader takes STL and 3MF, including a plate you sliced yourself as .gcode.3mf: STL up to 100 MB, any 3MF up to 40 MB. The print API takes STL, GLB and sliced G-code (.gcode or .gcode.3mf) up to 100 MB. Neither accepts OBJ, which trips up more people than any other format question we get, because plenty of CAD and sculpting tools offer it as a default export.
For a run through the print API, slice the bracket once in Bambu Studio or OrcaSlicer and export the plate as .gcode.3mf. The API charges a sliced file from the grams its slicer measured, while an STL sent to the API is priced from its geometry instead. If you are unsure which format your tool should be producing, 3D Printing File Format: What File Do I Need to Print? sorts it out in a few minutes.
Step 2: The Price Comes From the Slice
Most online quoting tools estimate weight from bounding-box volume and a fudge factor. Upload the STL at /print and we slice it in OrcaSlicer and read the grams back off the result; send the sliced plate to the API and its own figure is used. Either way the bracket reads 13.4 g rather than a round guess. At PLA's all-in rate of $0.12 per gram, covering both filament and normal machine time, it prices at $1.68 each before any discount, comfortably above the $1.00 per-part minimum.
The volume break applies wherever a quantity is priced as one job: 5% off from 5 units and 10% off from 10, on Print & Ship at /print (up to 20 copies) and on the print API (up to 50 per order). The cart prices each copy on its own and never takes the break. There is no tier above 10, so the per-part price at 100 is the same as at 10. Postage is the same everywhere: Print & Ship, the print API and the cart all waive standard US postage once the goods reach $49.50. Express, at $15, is never waived. That is why 100 brackets go in as two API orders of 50.
| Quantity | Ordered as | Parts subtotal | Volume break | Shipping | Order total | Per part delivered |
|---|---|---|---|---|---|---|
| 1 | Print & Ship | $1.68 | - | $7.00 | $8.68 | $8.68 |
| 5 | Print & Ship | $8.40 | -5% | $7.00 | $14.98 | $3.00 |
| 10 | Print & Ship | $16.80 | -10% | $7.00 | $22.12 | $2.21 |
| 20 | Print & Ship | $33.60 | -10% | $7.00 | $37.24 | $1.86 |
| 50 | One print API order | $84.00 | -10% | Free (goods over $49.50) | $75.60 | $1.51 |
| 100 | Two print API orders of 50 | $168.00 | -10% | Free on each | $151.20 | $1.51 |
The curve flattens hard. Between 1 and 10 units the delivered price per part drops 75%, almost all of it from spreading $7 of postage across more parts. Between 10 and 100 it drops another 32%, and that last stretch is purely the API's free-postage threshold. If you are pricing a hardware product and wondering where the per-unit cost lands, How Much Does 3D Printing Cost? Custom Prints in 2026 has the general version of this maths, and /pricing has the live rates.
What the Other Choices Would Have Cost
Two settings could have changed the bill: layer height and material. On the website, Premium 0.1 mm layers price at 1.75x the material rate. Neither was worth it here, because this bracket lives inside an enclosure and nobody will ever look at its layer lines.
| Option | Rate | Per part | 100 units after 10% off |
|---|---|---|---|
| PLA, 0.2 mm (chosen) | $0.12/g | $1.68 | $151.20 |
| PLA, 0.1 mm premium | $0.21/g | $2.94 | $264.60 |
| PETG, 0.2 mm | $0.12/g | $1.68 | $151.20 |
| ABS, 0.2 mm | $0.15/g | $2.10 | $189.00 |
| ASA, 0.2 mm | $0.15/g | $2.10 | $189.00 |
The comparison holds the 14 g billable weight constant to isolate the rate; real weight shifts slightly with each material's density, and a plate you slice yourself is charged at whatever its own file says. The honest read is that material choice moves this order by tens of dollars while layer height nearly doubles it. Choose the material for the environment the part lives in, and reach for finer layers only when a surface is going to be seen or measured.
Step 3: One Plate per Bracket
A farm order does not pack two dozen brackets onto a bed the way you might in your own slicer. Each copy in an order is its own plate, so a run of 100 is 100 plates spread over however many printers are productive, and it finishes when the last plate does. A person assigns each job to a printer and its trays; there is no automatic scheduler choosing machines.
The farm's lead-time arithmetic, published in /docs/farm/bulk, makes the timing a sum rather than a promise. At the fallback throughput of 22 g an hour, a 14 g bracket is about 38 minutes of printing plus 12 minutes of bed-clearing and restart, so roughly 0.84 printer-hours a copy and 84 printer-hours for the run. A printer is counted as productive for 22 hours a day, so with all three of ours free that is a little over a day of printing, plus whatever is already queued and one day to pack. The live panel on /farm runs the same sum against the fleet as it stands. That parallelism is the entire argument for a farm, spelled out in 3D Print Farm Setup: Scaling Past One Printer.
Step 4: What Happens While Nobody Watches
Before any plate starts, its G-code goes through safety validation: bed and nozzle temperatures checked against the material, motion bounds checked against the build volume, no commands that would drive a toolhead into a limit. We run that on every file, including ones we slice ourselves, because a farm that skips it eventually finds out why in the most expensive way available.
The run is single-colour, which keeps it simple. Each machine's AMS has four trays, so a second or third colour would have been available had the plate been set up for it — a plain STL runs in one filament — and every change on such a plate costs about 1.3 minutes and roughly 84 mm3 of purged plastic. For a bracket that lives inside a box, one colour is the obvious call.
- G-code validated before a plate is sent to a printer
- Live camera streams on every bay, so a failed first layer is caught in minutes rather than at the end
- Auto-eject clears a finished plate of small PLA parts like this one, so the next copy starts without waiting for a human
- Order stages visible the whole way: placed, printed, shipped, delivered
Step 5: Packed, Shipped, Done
One hundred brackets is about 1.4 kg of plastic, packed as two orders. Each clears $49.50 of goods, so the API waives standard US postage on both. Every API order is printed at Normal print, which ships within 4–5 business days of the order; the arithmetic above says a run this size fits inside that when the queue is short, and /farm shows the live figure before you send it.
The Version Where You Do It Yourself
The comparison worth making is not farm versus factory, it is farm versus your own desk. Assume you already own a capable printer, so hardware cost is zero. You can pack brackets two dozen to a plate, which a farm order does not do, but one printer still serves the run serially and someone has to clear every plate.
| Your printer | X3D farm | |
|---|---|---|
| How the run is laid out | As many as fit on your plate | One plate per bracket, across the fleet |
| Plate changes you perform | One per plate, some overnight | 0 |
| Filament you buy and store | 1.4 kg, plus spare | None |
| Failed plate re-runs | Yours to notice and redo | Re-queued for you |
| Packing and postage | Your afternoon | Included |
| Cash outlay | Filament + electricity + your time | $151.20 |
There is no dishonest thumb on this scale. If you own a printer and enjoy running it, a hundred small brackets is a perfectly reasonable weekend. The farm's actual product is that the weekend belongs to you instead.
What to Get Right on the Next Hundred
- Model the M4 holes at 4.4 mm, not 4.0 mm. FDM holes print slightly undersize because of the inward pull of each perimeter, and a bracket you have to drill out a hundred times is a bracket that failed. 3D Printing Tolerances: A Practical Guide to Parts That Fit covers the compensation values.
- Orient for the load, not for the print time, before you export. Bolt holes take shear, and layer lines running the wrong way through a hole boss is the classic FDM failure; a sliced plate prints in exactly the pose you gave it.
- Split the run at the API's 50-per-order cap, and keep each order above $49.50 of goods so neither pays postage.
- Set infill and wall count in your slicer if they matter. A sliced plate is the spec, so what you exported is what prints.
FAQ
How much does it cost to 3D print 100 parts?
It depends almost entirely on weight, not size or complexity. At our all-in PLA rate of $0.12 per gram, 100 parts weighing 14 g each come to $168.00, less the 10% volume break, for $151.20, sent as two print API orders of 50. Each clears $49.50 of goods, so standard US postage is free and $151.20 is the delivered total. On the website, Print & Ship takes up to 20 copies with the break but charges $7 postage per order, and a cart line takes up to 20 without the break. Swap in your own part weight and the same arithmetic works.
Do I need to upload 100 copies of my file?
No. Send the part once with a quantity: up to 50 per print API order, or up to 20 through Print & Ship or a cart line. Each copy is printed as its own plate, so the farm does not pack them two dozen to a bed the way you might in your own slicer.
How long does a 100-part run take?
By the farm's own lead-time arithmetic, about 84 printer-hours for 14 g parts, which is a little over a day of printing with all three printers free, plus the queue ahead of it and a handling day. Every API order prints at Normal print, which ships within 4–5 business days, and /farm shows the live lead time. Runs get slower when parts are tall rather than numerous, because height is serial and quantity is parallel. A 250 mm tall part cannot be split across printers; a hundred short ones can.
What if one of the parts comes out bad?
It gets re-queued before it ever reaches the box. Live cameras catch first-layer failures within minutes, and finished parts are checked by hand before packing. On a 100-unit order a single reprint is one more plate on the fleet, which is a very different problem than it is when you own the only printer in the room.
Price it now
What would yours cost?
A real example, priced from our India rates: a 50 g PLA part comes to ₹400 printed, plus ₹79 delivery in India. Change the weight, material or quantity below and the price follows.
- 50 g × ₹8/g, per part
- ₹400
- Delivery
- ₹79
An estimate from the weight you entered. The real quote weighs your file.
Two ways to your real price
Have a file?
Upload it. See the exact price.
Drop in your STL or 3MF. We slice it and price the grams it really uses, in rupees. No account needed to see it.
Only an idea?
Describe it. We’ll email you a price.
No file, no problem. A few words on what it is and how big is plenty to start.
Or write to contact@x3dstudios.com