You've been modeling for three hours. But the mates are solid. The assembly looks clean. You hit "Save" and send the STEP file to the vendor And that's really what it comes down to..
Then the email comes back: *"Your part is 25.4 times too small. Did you model in inches?
You modeled in millimeters. That's why the vendor's system defaulted to inches. Nobody checked.
This happens more than anyone admits. Not because SolidWorks makes units difficult — it doesn't. But because the unit system lives in three different places, and changing one doesn't always change the others. If you've ever scratched your head wondering why your drawing shows dual dimensions but your model properties say something else, you're not alone.
Easier said than done, but still worth knowing.
Let's fix that once and for all.
What Is the Unit System in SolidWorks
SolidWorks doesn't have a single "units setting." It has layers.
At the top level, you've got document units — what the current part, assembly, or drawing uses. This controls what you see in the status bar, what dimensions display, and what gets exported in neutral formats Practical, not theoretical..
Below that, there's template units. Every new file starts from a template. If your template is set to IPS (inch-pound-second), every new part defaults to inches. Change the template, and you change the default for every future file.
Then there's application-level units — the fallback SolidWorks uses when a document doesn't specify. Most people never touch this. They should.
And in drawings? Dual dimensions? On top of that, there's a whole separate drawing units setting that can override the model. That's yet another toggle.
The short version: units aren't a setting. They're a chain. Break one link and the whole thing drifts.
Why It Matters / Why People Care
A unit mismatch doesn't just look wrong. It ships wrong.
I've seen CNC programs cut parts 25.I've seen BOMs show "0.4x undersized because the CAM software read the STEP file in inches while the model was metric. Even so, 039 in" for a 1 mm hole because the drawing template forced dual dimensions with the wrong primary. I've watched simulation results report stress in psi on a model built in MPa — and the engineer didn't catch it until the safety factor looked "too good to be true The details matter here..
Units are the silent killer of downstream workflows. CAM, FEA, PDM, ERP, 3D printing slicers — they all trust what the file says. If the file lies, everything downstream inherits the lie Easy to understand, harder to ignore..
And here's the thing: SolidWorks tries to help. It embeds unit metadata in Parasolid, STEP, and SLDPRT files. Some default to their own settings. But not every reader respects it. Some strip it entirely Worth knowing..
So the only reliable strategy? In real terms, make sure your files are unambiguous. Every time.
How to Set Units in SolidWorks
Changing Units in an Open Document
This is the one everyone knows — and the one that causes the most confusion That alone is useful..
With a part or assembly open, look at the bottom-right status bar. See "MMGS" or "IPS"? Click it. A menu pops up with the common systems: MMGS, CGS, MKS, IPS, and "Custom The details matter here..
Pick one. The model updates instantly. Mass properties recalculate. On top of that, dimensions on screen flip. The status bar reflects the new system.
But — and this trips people up — this only changes this document. It doesn't update your templates. It doesn't change future files. It doesn't touch drawings that reference this model unless you rebuild them.
Also: if you have equations, global variables, or design tables driving dimensions, those values don't auto-convert. A "10" in an equation stays "10" — but now it means 10 mm instead of 10 inches. SolidWorks doesn't rewrite your math. You have to audit it That alone is useful..
Setting Default Units via Templates
Basically where the use lives.
Open a blank part. In real terms, set units how you want them (status bar method above). In practice, prtdot" or "IPS_SheetMetal. prtdot)**. That said, prtdot. Plus, then go File > Save As, change "Save as type" to **Part Template (. Name it something clear: "MMGS_Standard." Save it to your template folder — ideally a network location your whole team uses And that's really what it comes down to..
Repeat for assemblies (.asmdot) and drawings (.drwdot) Easy to understand, harder to ignore..
Now go Tools > Options > System Options > File Locations > Document Templates. Add that folder. Move it to the top.
Next time someone hits File > New, your template appears first. On the flip side, they pick it. Which means they get the right units. No status bar clicking required.
Pro tip: bake more than units into templates. But a template isn't a unit setting. Day to day, custom properties, material, annotation styles, sheet formats — all of it. It's a standard.
Application-Level Default Units
Buried in Tools > Options > System Options > General, there's a "Default units" dropdown. Most people leave it at "IPS" (the install default) and forget it exists.
Here's why it matters: if you open a file that has no unit metadata — some imported STEP, a corrupted SLDPRT, a file from a system that stripped it — SolidWorks falls back to this setting. If it's wrong, your imported geometry gets interpreted wrong. No warning. No prompt.
Set it to your shop standard. MMGS for metric shops. Now, iPS for imperial. Done.
Drawing Units — The Separate Beast
Drawings have their own unit logic. In real terms, open a drawing. Right-click the sheet > Properties. There's a "Units" section with "Use document units" (the model's units) and "Override units.
If you override, the drawing displays in that system — but the model stays untouched. Which means dimensions show the converted values. Dual dimensions can show both.
This is powerful. It's also dangerous.
Say your model is metric. Here's the thing — you add dual dimensions: primary inches, secondary mm. You override the drawing to IPS for a US vendor. So naturally, your shop sees mm. The vendor sees inches. Everyone's happy — until someone edits a dimension in the drawing.
Editing a dimension in a drawing with overridden units writes the value back to the model in the drawing's units. Consider this: that 25. 4 mm hole? You type "1.0" in the drawing. The model now stores 1.Consider this: 0 mm. Here's the thing — not 1. 0 inch. Worth adding: the model just shrank 25. 4x.
Never edit model dimensions from a drawing with overridden units. Add a note. Call out the conversion. But don't type in the dimension box.
Dual Dimensions and Alternate Unit Display
Drawings can show two unit systems simultaneously. Plus, Tools > Options > Document Properties > Dimensions > Dual Dimensions. Turn it on. Pick primary and secondary. Set formatting — precision, trailing zeros, brackets, whatever your standard demands.
This is great for drawings that go to mixed audiences. But it's a drawing-only setting. On the flip side, it doesn't affect the model. It doesn't export to STEP. It's purely visual.
Use it intentionally. Document it in your drawing standard. Don't let it become a surprise.
Units in Equations, Design Tables, and Global Variables
This is the silent trap Turns out it matters..
Equations store numbers, not unit-qualified values. If you switch the document from MMGS to IPS, that equation now drives 50 inches. "D1@Sketch1 = 50" means 50 current document units. The sketch explodes Less friction, more output..
Design tables (Excel-driven) are worse. The spreadsheet has no unit awareness. You type "10" in a cell
Equations and global variables are another layer where the document’s unit context can silently corrupt a design. An equation such as
WallThickness = 0.5 * Length
stores only the numeric factor 0.5. Even so, the actual thickness that SolidWorks applies is 0. 5 mm instead of 0.If the part file is opened in a metric environment, the same equation now yields a thickness of 0.5 × the current document unit. 5 in, and the sketch may become under‑defined or over‑defined in ways that are not obvious from the equation itself.
Design tables operate on the same principle. A spreadsheet row that reads
PartLength, 12.0
does not carry any unit qualifier. When the part file is saved with a different unit system, the value 12.Worth adding: 0 is interpreted in the new system, potentially inflating or shrinking every feature that references that table entry. The safest approach is to keep a dedicated “unit” column in the table or to embed the unit directly in the cell (e.And g. , “12 in”) and then use a custom property or a separate conversion factor in the model to translate that value into the document’s native units The details matter here. Surprisingly effective..
Global variables behave similarly. A variable defined as
Diameter = 100
will always represent 100 of whatever unit the part is currently set to. Think about it: , Diameter_in = Diameter_mm / 25. , Diameter_mm) or create a separate conversion variable (e.Even so, g. Which means to prevent this, many teams store the unit explicitly in the variable name (e. Practically speaking, if the part file is later saved as a different unit system, the diameter changes accordingly, which can break downstream assemblies that expect a fixed size. g.4) and reference the conversion variable in all downstream equations.
Best‑Practice Checklist for Units
- Set the document units once – verify the “Default units” dropdown matches the shop’s standard before opening any files.
- Lock drawing units – keep the “Use document units” option enabled unless a specific override is required, and never edit dimensions in a drawing that has an overridden unit setting.
- Document dual‑dimension intent – if a drawing must show both metric and imperial, note the primary system in the drawing title block and include a conversion note near any critical dimensions.
- Treat equations and tables as unit‑agnostic – always multiply or divide by a known conversion factor to translate between systems, and store the conversion factor as a separate global variable for easy updates.
- Audit imported files – after importing STEP, IGES, or other neutral formats, open the part’s property manager and confirm the units displayed match expectations; if not, re‑import with the correct unit setting or apply a manual scale correction.
Conclusion
Units are the invisible foundation of every SolidWorks model, drawing, equation, and table. A mismatched unit setting can silently reshape geometry, corrupt design intent, and generate costly rework that could have been avoided with a simple checklist. So by establishing a clear unit standard, confirming it on every file open, respecting the separation between model and drawing units, and explicitly handling conversions in equations, design tables, and global variables, engineers eliminate the most common source of hidden errors. When units are managed deliberately, the full power of SolidWorks—precise modeling, accurate documentation, and seamless collaboration—can be realized without surprise.