In Document Properties > Units, the Mass/Section Properties row has a Decimal Places dropdown. Pick any preset — 1, 2, 3 — and the drawing obeys immediately. Pick Custom and nothing visible happens. No input field. No dialog. No spinner. Just the dropdown label sitting there showing “Custom” with nowhere to type the actual number.
This is a genuine SOLIDWORKS UI quirk that affects several versions. It is not a bug in your drawing or your template.
What the Mass Decimal Places Setting Actually Controls
Before diagnosing the issue, it is worth knowing what this setting drives. In Document Properties > Units, each row in the table controls how that quantity is formatted wherever SOLIDWORKS renders a dimension or property value:
- BOM table mass column — the Mass column in a Bill of Materials reads this setting when displaying mass values pulled from the model
- Drawing note mass properties — when you insert a Mass Properties note (
$PRP:Massor through Insert > Annotations > Mass Properties), the decimal count comes from this setting - Properties dialog mass display — File > Properties mass value formatted to this count
The default is usually 2 decimal places. When a precision requirement calls for 3 or 4 (typically for small parts where the difference between 1.23 g and 1.234 g matters to the weight budget), you need Custom.
Why the Custom Field Does Not Appear
The custom input control is rendered inline inside the table cell, not in a separate dialog. It is a narrow numeric spinner that appears to the right of the “Custom” label within the same dropdown cell — roughly 30–40 pixels wide depending on your DPI scaling. On high-DPI displays (150%+) or when the Document Properties window is at its minimum width, this spinner is frequently clipped by the column boundary and visually invisible.
The control exists. SOLIDWORKS is waiting for you to type into it. You just cannot see it.
Fix 1: Widen the Decimal Places Column
This is the most reliable fix for the DPI-clipping case.
- Open Document Properties > Units (via File > Properties > Document Properties tab, then Units in the left tree; or Tools > Options > Document Properties > Units)
- Select Custom from the Decimal Places dropdown for Mass/Section Properties
- Position your cursor on the right edge of the Decimal Places column header — the resize cursor should appear
- Drag the column wider by 50–100 pixels
- The spinner should now be visible inside the cell
Once you can see it, click the spinner or the field to the right of “Custom” and type your decimal count (3, 4, or whatever you need). Press Tab or click another field to commit.
Fix 2: Tab Into the Hidden Field
If you cannot find the column edge to resize, you can tab into the invisible control:
- Select Custom from the Decimal Places dropdown for the Mass row
- Press Tab once — focus moves into the inline spinner
- Type the decimal count
- Press Tab again to commit and move to the next field
This works because the spinner is in the tab order even when it is not visible. You are typing into a zero-width box, which feels strange, but the value commits correctly.
Fix 3: Close, Resize, and Reopen
The Document Properties window sometimes gets its layout locked to a cached size that predates your display scaling change. The fix:
- Close Document Properties without saving
- Drag the Document Properties window to roughly the center of your primary monitor
- Drag the window’s right edge to make it noticeably wider — enough that the table grid has room to expand
- Re-open the Units page and try selecting Custom again
After the window is forced to re-layout, the inline spinner typically renders at its correct width.
Setting Mass Decimal Places via API (for Templates and Automation)
If you are building a SolidWorks drawing template or an automation macro that creates drawings with consistent unit formatting, setting this through the UI every time is fragile. The correct approach is to set it programmatically via the user preference API.
In VBA:
Dim swApp As SldWorks.SldWorks
Dim swDoc As SldWorks.ModelDoc2
Set swApp = Application.SldWorks
Set swDoc = swApp.ActiveDoc
' Set mass decimal places to 3
' swDetailingMassPropDecimalPlaces is an Integer preference on the document
swDoc.SetUserPreferenceIntegerValue _
swUserPreferenceIntegerValue_e.swDetailingMassPropDecimalPlaces, 3
The constant name varies slightly by SolidWorks API version — if swDetailingMassPropDecimalPlaces does not resolve in your environment, search the SolidWorks API help (sldworksapi.chm) for MassProp in the swUserPreferenceIntegerValue_e enum. SolidWorks 2022+ renamed several detailing constants.
For C# add-ins, the same call through IModelDocExtension.SetUserPreferenceInteger:
swDoc.Extension.SetUserPreferenceInteger(
(int)swUserPreferenceIntegerValue_e.swDetailingMassPropDecimalPlaces,
(int)swUserPreferenceOption_e.swDetailingNoOptionSpecified,
3);
Set this in the document template (before the template is saved as .drwdot) and every drawing based on that template inherits the value automatically. You do not need the UI fix at all when the template is already correct.
The Scope of the Setting: Document vs System Options
One subtlety worth noting: this setting lives in Document Properties, not System Options. That means:
- It affects the current drawing only — not all future drawings
- If you want all drawings to use 3 decimal places for mass, you must update the drawing template (
.drwdotfile), not just the current document - Drawings created before you change the template are not retroactively updated
To update the template: open the .drwdot file directly (File > Open > change file type to Drawing Templates), set the mass decimal places correctly via the UI fix or macro above, and save. Drawings created from that template going forward will have the right setting.
If the BOM Mass Column Still Shows the Wrong Precision
If you have set mass decimal places to Custom (3) but your BOM column still shows 2 places, the BOM is not reading Document Properties directly for formatting — it reads the BOM template (.sldbomtbt file), which has its own column formatting settings.
Right-click the Mass column header in the BOM table > Column Properties. The cell format here overrides the Document Properties unit precision for that specific column. Change the decimal format in the column properties to match what you set in Document Properties.
This is the cause of “I set it to 3 places but the BOM still shows 2” — two separate settings control the same output, and the BOM column wins.
Preventing the Problem in Templates
The root fix for any organization that cares about drawing precision standards: bake the mass decimal places setting into your drawing templates, and commit your templates to version control alongside your CAD data. Our CAD version control guide covers where to store templates in a PDM workflow so they are shared reliably across workstations.
For drawing templates specifically, the settings that warrant explicit review before distributing a new template version include: unit type, decimal places per quantity (especially mass, angle, and dual dimensions), and company-specific drawing standards. Catching a mass precision discrepancy in the template review is significantly cheaper than catching it after a year of released drawings.
If your team regularly exports drawings to PDF with mass properties embedded (via CadShift’s PDF export or the native SolidWorks PDF exporter), a wrong decimal setting in the template will produce inconsistent mass values across your released documentation. Auditing the template against your drawing standards before rollout takes five minutes and avoids that class of rework.