Seven checks between your file and a finished part.
Touch first, read second: switch processes and watch the verdict change. Every number here is a stored engine result, not a guess written into the page.
1. Is the mesh closed?
In a closed mesh every edge is shared by exactly two triangles. An edge with one triangle is a hole: slicers guess how to close it, and services may refuse the file.
0open edges: cube
4open edges: box without a lid
The box without a lid has 4 open edges, so the engine stops there: repair the export first.
Engine examplefabgen.print_check/1Data under review
Not printable as is Fix it before ordering: the mesh is not closed.
Mesh
4 open edges
Thinnest wall
10.0 mm needs ≥ 0.8 mm
Support material
0.0 cm³ 0.0 cm² steeper than 45° with +Z up
Sealed cavities
0
Smallest machine
desktop printer
Mass with supports
0.8 g PLA
ImportantThe mesh has 4 open edges (holes): slicers and services may refuse it or close the holes their own way. Repair it (e.g. in the CAD export or a mesh-repair tool) before ordering.
Assumptions, warnings and sources
Warnings
ImportantThe mesh has 4 open edges (holes): slicers and services may refuse it or close the holes their own way. Repair it (e.g. in the CAD export or a mesh-repair tool) before ordering.
LowSome rules and figures are not yet re-checked against their primary source, or are fabgen planning assumptions. They are flagged “data under review”.
Assumptions
Wall thickness is sampled, not exhaustive: thin features between samples can be missed.
FDM material = 1.2 mm shell (perimeters and skins) + 20% infill of the rest.
The engine casts rays inward from sampled faces to find the thinnest wall, then compares it with the minimum of the process. Supported walls can be thinner than free-standing ones.
0.4 mmmeasured
0.8 mmminimum, supported
0.8 mmminimum, free-standing
Needs changesverdict
0.4 mmmeasured
0.5 mmminimum, supported
1.0 mmminimum, free-standing
Needs changesverdict
0.4 mmmeasured
0.7 mmminimum, supported
0.7 mmminimum, free-standing
Needs changesverdict
0.4 mmmeasured
0.7 mmminimum, supported
0.7 mmminimum, free-standing
Needs changesverdict
Process
Wall, supported
Wall, free-standing
Smallest hole
Smallest detail
FDM
0.8 mm
0.8 mm
2.0 mm
2.0 mm
SLA
0.5 mm
1.0 mm
0.5 mm
0.2 mm
SLS
0.7 mm
0.7 mm
1.5 mm
0.8 mm
MJF
0.7 mm
0.7 mm
1.0 mm
0.5 mm
3. What hangs in the air?
A face that looks down steeper than the process allows needs supports, and supports leave scars. The engine tries all six axis orientations and picks the one with the least support.
Steepest self-supporting angle, from vertical
45°FDM
30°SLA
no supportsSLS
no supportsMJF
Mushroom part in FDM, each way up. The engine recommends −Z up.
Up
Overhang
Support material
+Zas in the file
8.0 cm²
1.2 cm³
−Zleast support
0.0 cm²
0.0 cm³
+X
1.0 cm²
0.1 cm³
−X
1.0 cm²
0.1 cm³
+Y
1.0 cm²
0.1 cm³
−Y
1.0 cm²
0.1 cm³
4. Is anything sealed inside?
A closed pocket inside a part is fine in filament, but in resin and powder processes it traps uncured resin or loose powder. The fix is two escape holes or a solid part.
PrintableFDM
Not printable as isSLA
Not printable as isSLS
Not printable as isMJF
Engine examplefabgen.print_check/1Data under review
LowThe file holds 2 separate shells: several parts (priced per part) or a part with internal cavities.
LowAbout 1.0 cm2 overhangs steeper than 45 deg with +Z up: supports needed (scars on those surfaces).
LowSome rules and figures are not yet re-checked against their primary source, or are fabgen planning assumptions. They are flagged “data under review”.
Assumptions
Wall thickness is sampled, not exhaustive: thin features between samples can be missed.
FDM material = 1.2 mm shell (perimeters and skins) + 20% infill of the rest.
Not printable as is Fix it before ordering: a sealed cavity traps material.
Mesh
Closed
Thinnest wall
5.0 mm needs ≥ 0.5 mm
Support material
0.1 cm³ 1.0 cm² steeper than 30° with +Z up
Sealed cavities
1
Smallest machine
desktop printer
Mass with supports
8.3 g STANDARD RESIN
Important1 closed internal cavity(ies): SLA traps uncured resin or unfused powder inside. Add at least two escape holes of 4.0 mm or more, or make the part solid.
Assumptions, warnings and sources
Warnings
LowThe file holds 2 separate shells: several parts (priced per part) or a part with internal cavities.
Important1 closed internal cavity(ies): SLA traps uncured resin or unfused powder inside. Add at least two escape holes of 4.0 mm or more, or make the part solid.
LowSome rules and figures are not yet re-checked against their primary source, or are fabgen planning assumptions. They are flagged “data under review”.
Assumptions
Wall thickness is sampled, not exhaustive: thin features between samples can be missed.
SLA always prints on supports; support volume is a sparse touch-point estimate.
Not printable as is Fix it before ordering: a sealed cavity traps material.
Mesh
Closed
Thinnest wall
5.0 mm needs ≥ 0.7 mm
Support material
None powder holds the part
Sealed cavities
1
Smallest machine
desktop printer
Mass with supports
6.5 g PA12 SLS
Important1 closed internal cavity(ies): SLS traps uncured resin or unfused powder inside. Add at least two escape holes of 5.0 mm or more, or make the part solid.
Assumptions, warnings and sources
Warnings
LowThe file holds 2 separate shells: several parts (priced per part) or a part with internal cavities.
Important1 closed internal cavity(ies): SLS traps uncured resin or unfused powder inside. Add at least two escape holes of 5.0 mm or more, or make the part solid.
LowSome rules and figures are not yet re-checked against their primary source, or are fabgen planning assumptions. They are flagged “data under review”.
Assumptions
Wall thickness is sampled, not exhaustive: thin features between samples can be missed.
Not printable as is Fix it before ordering: a sealed cavity traps material.
Mesh
Closed
Thinnest wall
5.0 mm needs ≥ 0.7 mm
Support material
None powder holds the part
Sealed cavities
1
Smallest machine
industrial machine
Mass with supports
7.1 g PA12 MJF
Important1 closed internal cavity(ies): MJF traps uncured resin or unfused powder inside. Add at least two escape holes of 5.0 mm or more, or make the part solid.
Assumptions, warnings and sources
Warnings
LowThe file holds 2 separate shells: several parts (priced per part) or a part with internal cavities.
Important1 closed internal cavity(ies): MJF traps uncured resin or unfused powder inside. Add at least two escape holes of 5.0 mm or more, or make the part solid.
LowSome rules and figures are not yet re-checked against their primary source, or are fabgen planning assumptions. They are flagged “data under review”.
Assumptions
Wall thickness is sampled, not exhaustive: thin features between samples can be missed.
Each class of service has a published price range per cubic centimetre, a minimum per part, a minimum order and shipping by zone. Billable volume differs by process: filament prints a shell and infill, powder processes also bill space in the chamber.
Process
Material used
Billable volume
Mass
FDM PLA
3.8 cm³
3.8 cm³
4.7 g
SLA STANDARD RESIN
5.5 cm³
5.5 cm³
6.5 g
SLS PA12 SLS
5.5 cm³
6.8 cm³
5.1 g
MJF PA12 MJF
5.5 cm³
6.8 cm³
5.5 g
Engine examplefabgen.print_cost_compare/1Data under review
Print cost by service class
Input: mushroom.stl · 10 pcs · delivery: USA
11 ways to get 10 pieces made to the US: order totals from $21 to $710. Ranges, not a quote.
Service class
Process
Order total
Per piece, all in
Lead time
Online print factory in Chinae.g. JLC3DP, PCBWay 3D printing, WeNext
SLA STANDARD RESIN
$21–$62
$2.13–$6.21
7–16 days
Online print factory in Chinae.g. JLC3DP, PCBWay 3D printing, WeNext
FDM PLA
$24–$66
$2.35–$6.55
7–16 days
Online print factory in Chinae.g. JLC3DP, PCBWay 3D printing, WeNext
MJF PA12 MJF
$35–$92
$3.51–$9.17
8–18 days
Local maker marketplacee.g. Treatstock, Craftcloud, local makers
FDM PLA
$30–$100
$3.05–$10.00
3–11 days
Online print factory in Chinae.g. JLC3DP, PCBWay 3D printing, WeNext
SLS PA12 SLS
$38–$100
$3.81–$10.04
8–18 days
Local maker marketplacee.g. Treatstock, Craftcloud, local makers
SLA STANDARD RESIN
$48–$142
$4.75–$14.25
3–11 days
Local maker marketplacee.g. Treatstock, Craftcloud, local makers
SLS PA12 SLS
$90–$228
$9.00–$22.75
5–15 days
Industrial service bureaue.g. Protolabs, Xometry, Materialise
FDM PLA
$212–$540
$21.25–$54.00
4–12 days
Industrial service bureaue.g. Protolabs, Xometry, Materialise
SLA STANDARD RESIN
$255–$710
$25.50–$71.00
3–10 days
Industrial service bureaue.g. Protolabs, Xometry, Materialise
MJF PA12 MJF
$255–$710
$25.50–$71.00
5–13 days
Industrial service bureaue.g. Protolabs, Xometry, Materialise
SLS PA12 SLS
$255–$710
$25.50–$71.00
5–13 days
Local maker marketplacee.g. Treatstock, Craftcloud, local makers
MJF
part does not fit the machines this class usually runs
Neutral order: by the middle of the order total, then lead time. Nobody pays for a place in this list.
Assumptions, warnings and sources
Warnings
LowSome rules and figures are not yet re-checked against their primary source, or are fabgen planning assumptions. They are flagged “data under review”.
Assumptions
Quantity factor 0.85 for 10 pieces (typical calculator discount).
FDM material = 1.2 mm shell (perimeters and skins) + 20% infill of the rest.
Prices are ranges for a class of services from public instant-quote calculators, not live quotes; the real quote depends on the file, finish, colour and current load.
Ranking is by the middle of the order total, then lead time, then name; who pays us does not take part in it.
Sources
fabgen price ranges for 3D printing services, from public instant-quote calculators (JLC3DP, Craftcloud, Treatstock, Protolabs Network, Xometry)as of Oct 4, 2026Data under review
fabgen planning assumption (see docs/SOURCES.md#assumptions)as of Oct 4, 2026Data under review
11 ways to get 10 pieces made to Germany: order totals from $21 to $710. Ranges, not a quote.
Service class
Process
Order total
Per piece, all in
Lead time
Online print factory in Chinae.g. JLC3DP, PCBWay 3D printing, WeNext
SLA STANDARD RESIN
$21–$62
$2.13–$6.21
7–16 days
Online print factory in Chinae.g. JLC3DP, PCBWay 3D printing, WeNext
FDM PLA
$24–$66
$2.35–$6.55
7–16 days
Online print factory in Chinae.g. JLC3DP, PCBWay 3D printing, WeNext
MJF PA12 MJF
$35–$92
$3.51–$9.17
8–18 days
Local maker marketplacee.g. Treatstock, Craftcloud, local makers
FDM PLA
$30–$100
$3.05–$10.00
3–11 days
Online print factory in Chinae.g. JLC3DP, PCBWay 3D printing, WeNext
SLS PA12 SLS
$38–$100
$3.81–$10.04
8–18 days
Local maker marketplacee.g. Treatstock, Craftcloud, local makers
SLA STANDARD RESIN
$48–$142
$4.75–$14.25
3–11 days
Local maker marketplacee.g. Treatstock, Craftcloud, local makers
SLS PA12 SLS
$90–$228
$9.00–$22.75
5–15 days
Industrial service bureaue.g. Protolabs, Xometry, Materialise
FDM PLA
$212–$540
$21.25–$54.00
4–12 days
Industrial service bureaue.g. Protolabs, Xometry, Materialise
SLA STANDARD RESIN
$255–$710
$25.50–$71.00
3–10 days
Industrial service bureaue.g. Protolabs, Xometry, Materialise
MJF PA12 MJF
$255–$710
$25.50–$71.00
5–13 days
Industrial service bureaue.g. Protolabs, Xometry, Materialise
SLS PA12 SLS
$255–$710
$25.50–$71.00
5–13 days
Local maker marketplacee.g. Treatstock, Craftcloud, local makers
MJF
part does not fit the machines this class usually runs
Neutral order: by the middle of the order total, then lead time. Nobody pays for a place in this list.
Assumptions, warnings and sources
Warnings
LowSome rules and figures are not yet re-checked against their primary source, or are fabgen planning assumptions. They are flagged “data under review”.
Assumptions
Quantity factor 0.85 for 10 pieces (typical calculator discount).
FDM material = 1.2 mm shell (perimeters and skins) + 20% infill of the rest.
Prices are ranges for a class of services from public instant-quote calculators, not live quotes; the real quote depends on the file, finish, colour and current load.
Ranking is by the middle of the order total, then lead time, then name; who pays us does not take part in it.
Sources
fabgen price ranges for 3D printing services, from public instant-quote calculators (JLC3DP, Craftcloud, Treatstock, Protolabs Network, Xometry)as of Oct 4, 2026Data under review
fabgen planning assumption (see docs/SOURCES.md#assumptions)as of Oct 4, 2026Data under review
Engine examplefabgen.print_cost_compare/1Data under review
Print cost by service class
Input: mushroom.stl · 10 pcs · delivery: Ukraine
11 ways to get 10 pieces made to Ukraine: order totals from $26 to $760. Ranges, not a quote.
Service class
Process
Order total
Per piece, all in
Lead time
Online print factory in Chinae.g. JLC3DP, PCBWay 3D printing, WeNext
SLA STANDARD RESIN
$26–$72
$2.63–$7.21
12–29 days
Online print factory in Chinae.g. JLC3DP, PCBWay 3D printing, WeNext
FDM PLA
$28–$76
$2.85–$7.55
12–29 days
Local maker marketplacee.g. Treatstock, Craftcloud, local makers
FDM PLA
$28–$95
$2.85–$9.50
3–10 days
Online print factory in Chinae.g. JLC3DP, PCBWay 3D printing, WeNext
MJF PA12 MJF
$40–$102
$4.01–$10.17
13–31 days
Online print factory in Chinae.g. JLC3DP, PCBWay 3D printing, WeNext
SLS PA12 SLS
$43–$110
$4.31–$11.04
13–31 days
Local maker marketplacee.g. Treatstock, Craftcloud, local makers
SLA STANDARD RESIN
$46–$138
$4.55–$13.75
3–10 days
Local maker marketplacee.g. Treatstock, Craftcloud, local makers
SLS PA12 SLS
$88–$222
$8.80–$22.25
5–14 days
Industrial service bureaue.g. Protolabs, Xometry, Materialise
FDM PLA
$242–$590
$24.25–$59.00
8–23 days
Industrial service bureaue.g. Protolabs, Xometry, Materialise
SLA STANDARD RESIN
$285–$760
$28.50–$76.00
7–21 days
Industrial service bureaue.g. Protolabs, Xometry, Materialise
MJF PA12 MJF
$285–$760
$28.50–$76.00
9–24 days
Industrial service bureaue.g. Protolabs, Xometry, Materialise
SLS PA12 SLS
$285–$760
$28.50–$76.00
9–24 days
Local maker marketplacee.g. Treatstock, Craftcloud, local makers
MJF
part does not fit the machines this class usually runs
Neutral order: by the middle of the order total, then lead time. Nobody pays for a place in this list.
Assumptions, warnings and sources
Warnings
LowSome rules and figures are not yet re-checked against their primary source, or are fabgen planning assumptions. They are flagged “data under review”.
Assumptions
Quantity factor 0.85 for 10 pieces (typical calculator discount).
FDM material = 1.2 mm shell (perimeters and skins) + 20% infill of the rest.
Prices are ranges for a class of services from public instant-quote calculators, not live quotes; the real quote depends on the file, finish, colour and current load.
Ranking is by the middle of the order total, then lead time, then name; who pays us does not take part in it.
Sources
fabgen price ranges for 3D printing services, from public instant-quote calculators (JLC3DP, Craftcloud, Treatstock, Protolabs Network, Xometry)as of Oct 4, 2026Data under review
fabgen planning assumption (see docs/SOURCES.md#assumptions)as of Oct 4, 2026Data under review
The smallest trace, clearance, drill and annular ring from your DRC report are compared with each class's standard and advanced capabilities. Below advanced, the class cannot make the board.
Engine examplefabgen.pcb_quote_estimate/1Data under review
PCB estimate and DFM
Input: 2 layers · 100 × 80 mm · 10 pcs · 1.6 mm · HASL · delivery: USA
Bare boards with shipping: $23 to $491 depending on the class of fab. Components are never priced. Not a quote.
Prototype fab in China
$23–$51 $2.33–$5.13 per board · 4–11 days
Domestic US/EU prototype service
$260–$491 $26.00–$49.10 per board · 6–17 days
Prototype fab in China
Rule
Your design
Standard
Advanced
Verdict
Trace width
0.15 mm
0.10 mm
0.09 mm
OK
Clearance
0.15 mm
0.10 mm
0.09 mm
OK
Drill
0.30 mm
0.30 mm
0.15 mm
OK
Annular ring
0.15 mm
0.18 mm
0.15 mm
Advanced process
Domestic US/EU prototype service
Rule
Your design
Standard
Advanced
Verdict
Trace width
0.15 mm
0.15 mm
0.13 mm
Advanced process
Clearance
0.15 mm
0.15 mm
0.13 mm
Advanced process
Drill
0.30 mm
0.25 mm
0.20 mm
OK
Annular ring
0.15 mm
0.13 mm
0.10 mm
OK
DFM checklist before you export
Keep copper at least 0.3 mm from a routed edge and 0.5 mm from a V-score (JLCPCB minimum 0.2 / 0.4 mm).
Silkscreen lines at least 0.15 mm wide and text at least 1.0 mm high, 0.15 mm clear of pads.
Solder-mask web between fine-pitch pads needs about 0.1 mm (0.13 mm for black or white mask); otherwise ask for gang relief.
Boards smaller than about 20 x 20 mm, or for assembly, are cheaper and safer as a panel with rails.
For machine assembly add 2-3 global fiducials and keep 3-5 mm rails or clearance at the edges (JLCPCB asks for 5 mm rails and 1 mm fiducials).
Send one closed board outline on its own layer; internal cut-outs at least 1 mm wide.
Export Excellon drill files with plated and non-plated holes separated and units stated.
Assumptions, warnings and sources
Warnings
LowSome rules and figures are not yet re-checked against their primary source, or are fabgen planning assumptions. They are flagged “data under review”.
Assumptions
Advanced trace/drill minimums: x1.3 on the bare-board price.
Prices are ranges per class of fab from published calculators and price pages, not live quotes; colour, impedance control, castellations, via-in-pad and similar options are not included.
Ranking is by the middle of the order total, then lead time, then name; who pays us does not take part in it.
Engine examplefabgen.pcb_quote_estimate/1Data under review
PCB estimate and DFM
Input: 2 layers · 100 × 80 mm · 10 pcs · 1.6 mm · HASL · delivery: USA
No class of fab in the engine's data can make this board as drawn: the design minimums are too fine.
Prototype fab in China
cannot make it
Domestic US/EU prototype service
cannot make it
ImportantNo fab class in fabgen's data can make this board as specified: see `reasons` in each row.
Prototype fab in China
Rule
Your design
Standard
Advanced
Verdict
Trace width
0.08 mm
0.10 mm
0.09 mm
Not possible
Clearance
0.08 mm
0.10 mm
0.09 mm
Not possible
Drill
0.20 mm
0.30 mm
0.15 mm
Advanced process
Annular ring
0.10 mm
0.18 mm
0.15 mm
Not possible
Domestic US/EU prototype service
Rule
Your design
Standard
Advanced
Verdict
Trace width
0.08 mm
0.15 mm
0.13 mm
Not possible
Clearance
0.08 mm
0.15 mm
0.13 mm
Not possible
Drill
0.20 mm
0.25 mm
0.20 mm
Not possible
Annular ring
0.10 mm
0.13 mm
0.10 mm
Not possible
DFM checklist before you export
Keep copper at least 0.3 mm from a routed edge and 0.5 mm from a V-score (JLCPCB minimum 0.2 / 0.4 mm).
Silkscreen lines at least 0.15 mm wide and text at least 1.0 mm high, 0.15 mm clear of pads.
Solder-mask web between fine-pitch pads needs about 0.1 mm (0.13 mm for black or white mask); otherwise ask for gang relief.
Boards smaller than about 20 x 20 mm, or for assembly, are cheaper and safer as a panel with rails.
For machine assembly add 2-3 global fiducials and keep 3-5 mm rails or clearance at the edges (JLCPCB asks for 5 mm rails and 1 mm fiducials).
Send one closed board outline on its own layer; internal cut-outs at least 1 mm wide.
Export Excellon drill files with plated and non-plated holes separated and units stated.
Assumptions, warnings and sources
Warnings
ImportantNo fab class in fabgen's data can make this board as specified: see `reasons` in each row.
LowSome rules and figures are not yet re-checked against their primary source, or are fabgen planning assumptions. They are flagged “data under review”.
Assumptions
Prices are ranges per class of fab from published calculators and price pages, not live quotes; colour, impedance control, castellations, via-in-pad and similar options are not included.
Ranking is by the middle of the order total, then lead time, then name; who pays us does not take part in it.
Deep pockets, small inner radii, thin walls, deep holes, small threads and tight tolerances all slow the machine down. Each feature gets a verdict and the reason.
Feature
As drawn
After the fixes
Pocket
Costly
OK
Side wall
Costly
OK
Mounting hole
Costly
OK
M4 thread
Costly
OK
Bore fit tolerance
Not feasible
OK
Engine examplefabgen.cnc_check/1Data under review
Aluminium bracket, as drawn
Input: AL6061 · 60 × 40 × 20 mm · 5 pcs · 5 features
Not feasible 0 fine, 4 drive the price up, 1 cannot be machined.
ImportantAt least one feature cannot be machined as drawn: see `features`.
PocketCostly
OK Depth is 0.6x the narrowest width (recommended up to 4x, long tools up to 10x).
Costly Needs a 3.00 mm tool reaching 4.0x its diameter: slow, long-reach cutting. Increase the radius if you can.
Side wallCostly
Costly 0.6 mm wall in metal: recommended at least 0.8 mm, feasible 0.5 mm (thin walls vibrate and deflect while cutting).
Mounting holeCostly
OK Diameter 5.0 mm (recommended at least 2.5 mm with standard drills, feasible 0.5 mm with micro drills).
Costly Depth is 6.0x the diameter: deep drilling with pecking.
M4 threadCostly
Costly M4: M6 and larger are cut with standard taps; down to M2 with care (tap breakage risk).
OK Thread longer than 3x the diameter adds no strength; shortening it saves machining time.
Bore fit toleranceNot feasible
Not feasible +-0.02 mm: standard machining holds +-0.125 mm; tighter down to +-0.025 mm needs slower passes and inspection.
OK Part 60 × 40 × 20 mm — fits a typical 3-axis mill
Assumptions, warnings and sources
Warnings
ImportantAt least one feature cannot be machined as drawn: see `features`.
LowSome rules and figures are not yet re-checked against their primary source, or are fabgen planning assumptions. They are flagged “data under review”.
fabgen reads the STL or 3MF from a local path on your machine. The file is never uploaded anywhere — not to us, not to a print service. The examples on this site were computed the same way, from the engine's own test files.
The check runs locally, without the network.
When offers open, only a job summary goes out: process, material, quantity, sizes. No file, no name, no contacts.
You upload the file yourself, on the service's own page, when you decide to order.
Every source, with its date
Sources used by the examples on this site. Figures not yet re-read in the primary source, and fabgen planning assumptions, are flagged until they are checked.
Source
As of
Status
fabgen planning assumption (see docs/SOURCES.md#assumptions)
Oct 4, 2026
Data under review
fabgen price ranges for 3D printing services, from public instant-quote calculators (JLC3DP, Craftcloud, Treatstock, Protolabs Network, Xometry)
ChatGPT: Settings → Apps & Connectors → create a connector (developer mode) → paste the address.
The public server opens after the gateway launch. Until then this address does not answer.
Partners are not connected yet. When they are: neutral order, your contacts go only to the partner you name and only with your consent. How we make money
When offers open, you upload the file only on the service's own page. fabgen never sends it.