Industries & Impact

Common 3D Scan File Mistakes That Kill a Foundry Quote

If you sent a 3D scan to a foundry for a short-run replacement casting and got a follow-up email full of questions instead of a quote, the file almost certainly tripped on one of ten recurring mistakes: (1) no units in the mesh or file name, (2) a non-manifold or non-watertight mesh, (3) resolution that looks fine on screen but is too coarse for the tolerances that matter, (4) resolution so uniformly high the file is unusably large, (5) the worn wall thickness treated as the design wall thickness, (6) no coverage of internal geometry (cores, water jackets, passages), (7) no alloy call-out or service condition, (8) NDE requested without a level, (9) no coordinate system or up-direction, and (10) a mesh exported without unified normals or with stray shells. This page walks each one — what it looks like on our side, why it blocks the quote, and how to fix it before you send. It is the postmortem companion to our "what your scan file actually needs" guide.

Foundry engineer reviewing a reverse-engineered CAD model of a cast part on-screen — the stage where a scan file becomes (or fails to become) a quotable RFQ.

Who this is for

You are a design, procurement, or reliability engineer who has (or is about to send) a 3D scan of a broken, worn, or obsolete cast part, and you want a real quote back on the first pass. Maybe the scan was done in-house on a FARO arm, Creaform HandySCAN, Artec Leo, or ZEISS ATOS. Maybe you paid a scanning bureau. Either way, the last time you sent the file the foundry came back with a list of questions instead of a number, and you want to know why — and what to do differently next time. This article is the mistake-by-mistake walkthrough of what actually breaks scan-based RFQs on our end. It is engineer-to-engineer and it is written to save you a week.

The short answer — ten mistakes, ranked by how often they block a quote

  1. No units declared in the mesh or the file name (unitless STL / PLY / OBJ).
  2. Non-watertight or non-manifold mesh — holes, gaps, self-intersections, flipped normals.
  3. Resolution too coarse on the features that matter (bores, sealing faces, thin walls).
  4. Resolution uniformly maxed out — a multi-gigabyte mesh of a hand-sized part.
  5. The worn wall thickness silently treated as the design wall thickness.
  6. No coverage of internal geometry (cores, water jackets, hidden bores, passages).
  7. No alloy call-out and no service conditions ("cast in steel" / "cast in stainless").
  8. NDE requested without a level ("LPI required" — per what standard? what acceptance?).
  9. No coordinate system, no up-direction, no functional-axis alignment.
  10. Stray shells, duplicate vertices, or a "mesh" that is really a screenshot / PDF report.

Each of these is fixable in under an hour on your end with a competent CAD tech. Each of them, unfixed, either bounces the RFQ back for another round or delays the quote by a week or more. What follows is what each mistake looks like on our side and how to head it off before you send.

Mistake 1 — No units in the mesh or file name

What it looks like on our side: a mesh opens and the bounding box comes back at either 25.4× too big or 25.4× too small. Someone eyeballs the flange face against a photograph, guesses inches vs millimeters, and the RFQ goes back to you for confirmation.

Why it kills the quote: STL, PLY, and OBJ are unitless formats. There is no header field that says "millimeters." A part exported by a scanner set to millimeters and imported by a CAD package defaulting to inches becomes a 100-inch hub instead of a 100-mm hub — and a foundry that quoted on a guess just booked a mold print that will not fit the part. Nobody in the loop wants to be the one who guessed. This is why every quote pauses here. See STL Format Reference (3DMAG) for the underlying reason.

How to fix it before you send: put the units in the file name — pump-volute-cf8m-mm.stl, not scan_v3.stl. State the units in the RFQ email in one sentence. If your scanner or CAD exports a companion metadata file, send it. If the scan was done in inches, say so; we do not care which system, we care that it is stated.

Mistake 2 — Non-watertight or non-manifold mesh

3D-printed sand mold section showing the cavity and cores that a watertight, manifold mesh drives — a non-manifold input mesh cannot resolve into buildable mold geometry.

What it looks like on our side: the mesh loads. The volume calculation returns an error or a nonsensical negative value. Simulation refuses to run. The mold generator produces a solid that has invisible internal cavities where flipped normals or T-junctions crossed each other. The mesh has to go through repair before anything downstream can start.

Why it kills the quote: "Watertight" means every triangle shares each edge with exactly one neighbor and the surface encloses a closed volume. Solidification simulation in MAGMASOFT / NovaCast, sand-mold generation, CNC tool-path generation, and mass calculation all require a solid volume — not a partial surface. A non-manifold mesh either fails to import or, worse, imports and produces silently wrong results downstream. The repair itself is standard work but it is a schedule item and it is a source of downstream errors if the repair guesses which hole to close. See Revopoint on watertight mesh criteria and Spatial on STL healing.

How to fix it before you send: most scan software has a one-click watertight export — Artec Studio's "Watertight Model", Geomagic Wrap's mesh doctor, PolyWorks' fill-holes toolchain, MeshLab's "Close Holes" filter. Run it. Then run a "print check" or "3D print toolbox" against the exported mesh and confirm zero non-manifold edges, zero holes, and consistent outward normals. If your scanner produced a deviation report, send that too.

Mistake 3 — Resolution too coarse on the features that matter

What it looks like on our side: the outer envelope of the part is smooth and the mesh looks clean, but the bearing bore is a faceted decagon and the sealing face has 3-mm triangle edges. The tolerance called out on the print is ±0.005 in on the bore, and the mesh resolution is coarser than the tolerance band. There is no CAD reconstruction path that recovers a circular bore from a decagon and holds tolerance.

Why it kills the quote: for reverse-engineering to a manufacturable model, the mesh has to resolve every critical feature well below its tolerance. The working rule: triangle edge length on critical features at or below one-third of the tolerance band. A ±0.005 in tolerance (about 0.13 mm) needs roughly 0.04 mm triangle edges to reconstruct cleanly. A 3-mm-edge mesh cannot get there. Recapture is the only path. See Markforged on STL export tolerances for the standard chordal-tolerance / angular-tolerance conventions.

How to fix it before you send: on the first pass, export the whole part at moderate density (0.3–0.5 mm) and separately crop the critical features and re-export those regions at high density (0.05–0.15 mm). Send both. If the scanner does not support region-specific density, run one scan pass on the critical zones with the scanner in close mode. The rule is: match the mesh to the tolerance, not to the screen.

Mistake 4 — Resolution uniformly maxed out

What it looks like on our side: the file downloads. And downloads. It is 3.2 gigabytes. It takes ten minutes to open on a workstation and the CAD reconstruction seat runs out of memory partway through the trim-to-solid step. The whole part is meshed at 0.02 mm even though most of the envelope will come out as-cast at DCTG 10–12 tolerance anyway.

Why it kills the quote: a wildly over-resolved uniform mesh does not add precision — it just chokes the pipeline. CAM software, simulation solvers, and mold-generation tools all have practical mesh-size limits. A 3 GB STL of a hand-sized part often has to be decimated before anything downstream can run, and decimation on a heavy uniform mesh loses feature-critical density along with envelope density if it is not done carefully. See UCREA export deviation guidance — 0.02 mm deviation / 10-degree angle is a practical ceiling for most parts.

How to fix it before you send: the same fix as mistake 3, from the other direction. Uniform 0.02-mm density on a whole part is almost never needed. Crop the critical features at 0.05–0.1 mm and re-export the envelope at 0.3–0.5 mm. Target file size: under 500 MB for a hand-sized part, under 2 GB for a large envelope with critical features cropped. Binary STL, not ASCII — the file will be roughly one-sixth the size for the same geometry.

Mistake 5 — Worn wall thickness treated as design wall thickness

What it looks like on our side: the scan is clean, watertight, well-resolved, correctly scaled. It is a beautiful digital copy of a worn casting. There is no anchor — no OEM drawing, no less-worn sister part, no reference geometry callout — to tell us what the wall thickness was before service. If we pour the file, we pour the worn part.

Why it kills the quote: this is the biggest silent gotcha in scan-based reverse engineering. A scan captures the outer surface as it is today. Wall thickness — which is what the foundry actually pours — has to be recovered from unworn reference features on the same part, from a less-worn sister part, or from OEM literature. If none of the three is available, the replacement casting will silently be an as-new copy of the failure mode and the wear cycle starts over on install. See FARO on 3D scanning efficiency in reverse engineering for scan-vs-design-intent discussion.

How to fix it before you send: flag it in the RFQ. Explicitly say: "the part is worn in these regions; recovered geometry should be anchored to [unworn flange face / bolt-boss geometry / sister part]." If you can, scan a less-worn sister part alongside the worn one. If you have OEM literature — even a decades-old service manual, catalog cut, or general-arrangement drawing — send it. A 40-year-old microfiche is still data. See our reverse-engineering-from-a-sample-or-scan article for the recovery workflow.

Mistake 6 — No coverage of internal geometry

What it looks like on our side: the scan is of a housing, valve body, manifold, cylinder, or compressor part. The external surfaces are excellent. The internal cavity — where the water actually flows, the shaft actually turns, the port cross-section actually opens — is not in the file. The RFQ pauses at first drawing review and the schedule adds a week for CT or destructive sectioning.

Why it kills the quote: external surface scans cannot see past a wall. The scanner beam is blocked. For any part where the internal geometry is the whole reason the part exists — a pump volute, a valve body, an engine head, a compressor cylinder, a bearing housing with oil galleries — the internal has to be captured explicitly. The three paths are: (1) industrial CT scanning through a bureau, non-destructive, limited by part size and density; (2) destructive sectioning of one sample on the parting line of interest — cheap, fast, definitive, costs you one part; (3) measurement of the mating internal (shaft, plug, seat, gasket) that sits in the cavity. See Artec 3D on reverse-engineering internal geometry.

How to fix it before you send: flag internal geometry on day one of the RFQ. Do not assume the foundry infers cores from the external scan — the mold cannot be built without an explicit internal model. If you already have OEM literature that shows the internal, send it. If you can spare a sample part for sectioning, say so. If CT is the right path, we help arrange it through a bureau; plan for the extra week and the CT invoice on top of the casting line item.

Mistake 7 — No alloy call-out, no service conditions

What it looks like on our side: the RFQ says "cast in steel" or "cast in stainless" and nothing else. There are more than a hundred cast steel grades and a dozen cast stainless families with radically different mechanical, corrosion, weldability, and cost characteristics. We cannot price the pour without knowing which one.

Why it kills the quote: the alloy call-out drives the melt, the heat treatment, the NDE method, the acceptance criteria, and the cost per pound. Carbon steel A216 WCB and stainless A351 CF8M are pouring the same shape into very different processes with very different price tags. If neither the alloy nor the service condition (fluid, temperature, pressure, wear or corrosion mode) is stated, we come back with the alloy questionnaire before anything else. If the original alloy is unknown, send a small button or coupon — we run optical-emission spectrometry (OES) in-house to identify it. Handheld XRF is field triage; it does not resolve carbon content and it only reads the surface. See our specifying an ASTM grade for a replacement casting guide for the decision path.

How to fix it before you send: pick one of the three: (a) name the ASTM grade — for example ASTM A48 gray iron, ASTM A536 ductile iron, ASTM A216 carbon steel, ASTM A743 stainless; (b) state the service — "seawater, ambient, 150 psi hydrostatic" or "hydro turbine runner, cavitation duty, occasional field weld repair"; or (c) ship a coupon and say "identify and confirm". Any of the three is quotable; none of the three is not.

Mistake 8 — NDE requested without a level

What it looks like on our side: the RFQ says "LPI required" or "MPI required" or "RT required". There is no acceptance level, no acceptance code, no rejectable-indication size. We do not know what "pass" looks like.

Why it kills the quote: the NDE level determines the pouring practice, the cleaning step, the number of coupons, and the pour rejection rate. Liquid penetrant per ASTM E165 against MSS SP-93 acceptance is a different pour from ASTM E165 against ASME B16.34 App. III. Magnetic particle per ASTM E709 at level 1 is a different pour from level 2. Radiography per ASTM E94 against ASME Section VIII Div. 1 UG-24 is a different pour from ASTM E446 Class 1. The NDE level is not a downstream detail; it is upstream of the melt.

How to fix it before you send: state the standard and the acceptance criterion together. "LPI per ASTM E165, acceptance per MSS SP-93". "MPI per ASTM E709, acceptance per ASTM A903 level 1". "RT per ASTM E94, acceptance per ASME Section VIII Div. 1 UG-24 severity level 2". Also state the MTR level — EN 10204 2.2 for a certificate of compliance, 3.1 for a mill test report on the heat (this is the standard ask), 3.2 for an inspected MTR with third-party sign-off.

Mistake 9 — No coordinate system, no up-direction, no functional-axis alignment

What it looks like on our side: the mesh opens and the part is floating at a 37-degree tilt with the shaft axis pointing at an odd angle. Nobody in the RFQ chain knows which face is the flange face, which axis is the shaft, or which direction is "up" for parting-plane discussion. Someone reorients the part before anything else can happen.

Why it kills the quote: mold design, parting-plane selection, feeder and riser placement, and gating design all depend on knowing how the part sits when it is poured. An unaligned scan makes those design decisions ambiguous. The reorientation step is a schedule item, and if the engineer who reoriented it got the shaft axis wrong, the whole downstream simulation is on a wrong assumption. Not fatal, but avoidable.

How to fix it before you send: align the scan to the part's functional axes before export. Shaft axis on Z. Flange face on the XY plane. Flow direction on +X. Include a screenshot with the three axes drawn on top of the part and a note in the RFQ ("shaft axis = Z, flange face = XY, flow direction = +X"). Ten minutes at your end, an easy hour saved at ours, and no confusion about which face is up.

Mistake 10 — Stray shells, duplicate vertices, or "mesh" that is a screenshot

What it looks like on our side: the file is a PNG or PDF report from the scanning software — a rendered image of the scan, not the scan itself. Or the mesh opens with three floating fragments off in space, or a doubled-up mesh where the same surface exists at two slightly offset copies (a common artifact of merging scan passes without alignment). Or the file has 40,000 duplicate vertices that make every edge query take five seconds.

Why it kills the quote: a screenshot is not a mesh — there is no geometry to reconstruct from a pixel image. A doubled-up mesh confuses the volume calculation and the solidification solver about which surface is real. Stray shells get read as intended parts. See 3DPrinterOS on common STL problems and Fathom's guide to better STL files for the standard cleanup checklist.

How to fix it before you send: in your mesh tool of choice — MeshLab, Meshmixer, Geomagic, Artec Studio, PolyWorks — run "select non-manifold vertices", "remove isolated pieces", "merge duplicate vertices", and "merge close vertices" before export. Preview the final mesh in a fresh viewer so a screenshot cannot masquerade as geometry. Confirm the export is a real STL / PLY / OBJ, not a document, by checking the file extension and opening it in a mesh viewer that is not the software that produced it.

Preflight checklist — 5 minutes at your end, one week saved at ours

CNC machining of critical bore and sealing-face features on a short-run replacement casting — the surfaces where scan-file resolution errors get discovered too late.

Before you hit send, walk this list top to bottom:

  • File name states units and part identity: partname-alloy-units.stl.
  • Mesh is watertight, manifold, and outward-normal — verified in a print-check tool.
  • Critical features (bores, sealing faces, bolt patterns, vane profiles) resolved at triangle edge ≤ one-third of the tolerance band.
  • General envelope resolved coarsely enough that the file is under a workable size (target < 500 MB for a hand-sized part).
  • Wall thickness recovery method is flagged: unworn reference features / sister part / OEM literature.
  • Internal geometry capture method is flagged: CT / destructive section / mating internal / not applicable.
  • Alloy is named or the service condition is described; coupon shipped if the original alloy is unknown.
  • NDE method AND acceptance level are both stated (E165 + SP-93, E709 + A903 level 1, etc.).
  • MTR level stated: EN 10204 3.1 is the standard ask.
  • Coordinate system and up-direction stated; scan aligned to functional axes before export.
  • Mesh is a real mesh — not a PNG, not a PDF report — verified in a fresh viewer.
  • Quantity and schedule stated. Downtime jobs get flagged and run hot; call before you ship.

A scan file that clears all twelve is quotable on the first pass. A file that misses one bounces back for another round, and each round is a week on your calendar.

Where a clean scan file goes from here

Once the file passes the preflight, it drops into the reverse-engineering + patternless-casting workflow: mesh cleanup and parametric CAD reconstruction (see our reverse-engineering guide), solidification simulation in MAGMA / NovaCast (see Simulate Before You Pour), mold generation as a 3D-printed sand mold, pour in gray iron, ductile iron, carbon and low-alloy steel, stainless (austenitic, martensitic, or duplex), or aluminum (see metals poured), heat treat as the grade requires, CNC machining to print on the critical features (CNC machining), and NDE, FAI, and MTR per the acceptance package (see inspection & QC). End-to-end this typically runs 3–5 weeks for a one-off reverse-engineered casting: roughly one week on scan and CAD, one week on simulation and mold print, one week on pour and heat treat, and one to two weeks on machining, NDE, and final inspection. See our lead-times guide for the schedule breakdown.

Who this is not for

A scan-to-cast RFQ with an MTR, NDE, and FAI is real engineering paperwork. If the part has no service condition and no material call-out — a decorative piece, a hobby project, a novelty — this workflow is overbuilt for the job and we are not the right foundry. If the OEM is still supplying the part on reasonable terms, buy the OEM part. If the annual volume is thousands of pieces per year running indefinitely, a permanent pattern is likely cheaper per piece than patternless; we tell you when the volume calls for a different supplier. We are short-run specialists: 1 to 100 pieces per campaign, high complexity, engineering-grade, USA-poured — that is the fit.

Related reading on this site

Sources & standards

  • ISO 8062-3 — dimensional and geometrical tolerances for moulded parts (castings).
  • EN 10204 — metallic products, types of inspection documents (2.2 / 3.1 / 3.2 MTR levels).
  • ASTM E165 — standard practice for liquid penetrant testing.
  • ASTM E709 — standard guide for magnetic particle testing.
  • ASTM A48 — gray iron castings.
  • ASTM A536 — ductile iron castings.
  • ASTM A216 — steel castings, carbon, suitable for fusion welding, for high-temperature service.
  • ASTM A743 — castings, iron-chromium, iron-chromium-nickel, corrosion-resistant, for general application.
  • Markforged — guide to STL 3D print files (chordal / angular tolerance conventions).
  • Revopoint — watertight / manifold / consistent normals criteria.
  • Spatial — STL healing process reference.
  • Fathom Manufacturing — guide to better STL files.
  • FARO — 3D scanning efficiency in reverse engineering.
  • Creaform — 3D scanning for reverse engineering and QC of cast parts.
  • Artec 3D — reverse-engineering learning center.
  • Steel Founders' Society of America (SFSA) — industry reference for steel casting practice.

FAQ

Why did the foundry ask me to re-send my STL file?

The three most common reasons are: (1) the file is not watertight — there are holes, gaps, self-intersections, or non-manifold edges the foundry cannot resolve into a solid volume; (2) the units are ambiguous — STL/PLY/OBJ meshes carry no units, so a mesh that was "obviously millimeters" on your screen is silently the wrong size on ours; (3) the resolution is fine for a screen render but not for a manufacturable part — critical features like bores, sealing faces, and thin walls have faceted or dropped out. Any one of the three sends the file back for another round.

What is a "non-manifold" mesh and why does the foundry care?

A manifold mesh is one where every edge is shared by exactly two triangles, forming a closed watertight surface with a well-defined inside and outside. A non-manifold mesh has edges shared by three or more triangles, T-junctions, internal fins, or flipped normals — the geometry is ambiguous as a solid. Solidification simulation, volume and mass calculation, mold generation, and CAM tool-path generation all require a solid volume as input. A non-manifold mesh either fails the import outright or produces silently wrong results downstream. Repairing it is standard work but it is not free — it is time on the schedule and a source of downstream errors if the repair guesses wrong.

Can I just export my STL at maximum resolution to be safe?

That backfires. A 2 GB mesh of a hand-sized part chokes the CAD, simulation, and CAM pipelines without adding manufacturing precision. The rule that works: on critical features (bores, sealing faces, bolt patterns, vane profiles) target a triangle edge length at or below one-third of the tolerance band — typically 0.1 to 0.3 mm. On the general envelope where the surface will come out as-cast anyway, 0.5 to 1.0 mm is plenty. Better than a maxed-out uniform mesh: crop the critical zones at high density and drop the envelope to a coarser density. Markforged and other CAM references converge on chordal tolerance around 0.1 mm and angular tolerance around 1 degree as the practical export settings.

The scan captured the worn part perfectly — why is that a problem?

Because the foundry pours the wall thickness in the file. A scan of a worn part captures the worn wall as the design wall. If you pour that, the replacement part is a fresh copy of the failure mode and the same erosion, cavitation, or wear cycle that killed the original starts over on install. The recovery step — anchoring the worn geometry back to as-new dimensions using unworn reference features, a less-worn sister part, or OEM literature — is the difference between a fresh replacement and a fresh failure. Call it out in the RFQ, not after the pour.

What if the part has internal cavities the scanner never saw?

External surface scans miss internal geometry by definition. Three paths, in order of preference: (1) industrial CT scanning through a bureau — captures internal and external in one pass, non-destructive, limited by part size and density; (2) destructive sectioning of one sample part on the parting line of interest — cheap, fast, definitive, costs you one part; (3) measurement of the mating internal (shaft, plug, seat, gasket, valve internal) that sits inside the cavity. Whichever method, flag internal geometry on day one of the RFQ. A one-week reset to add CT at the front of the workflow is far cheaper than a poured mold that missed a core.

Do I need to declare the alloy before you can quote?

For a real quote, yes — or at least the service conditions (fluid, temperature, pressure, wear mode, corrosion mode) so a candidate ASTM grade can be called out. "Steel" and "stainless" alone are not specs — there are hundreds of cast steel grades and a dozen cast stainless families that behave very differently. If the original alloy is unknown, ship us a small button or coupon and we run optical-emission spectrometry (OES) in-house to identify it. Handheld XRF is useful for field triage but does not resolve carbon content and only reads the surface — it is not enough to price a real casting. Whatever you send, the replacement is poured to a named ASTM grade with a Material Test Report (MTR) on the heat.

What is the fastest way to make my scan RFQ quotable?

Run the preflight checklist in this article before you send. In under an hour a competent CAD tech can: (1) verify the mesh is watertight, manifold, and consistent-normal in the export step; (2) rename the file with units and part identity ("pump-volute-cf8m-mm.stl"); (3) align to the part's functional axes; (4) crop noise shells and stray geometry; (5) attach a one-page RFQ cover with alloy or service, mating interfaces, critical-feature callouts, NDE and MTR level, and quantity + schedule. A scan file that passes those five checks lands in the quote queue instead of the follow-up queue.

Ready to send a scan-based RFQ that comes back with a quote, not a follow-up list?

Get a Quote