Preventing broken references in PDM

Just finished a quarterly audit in SolidWorks PDM; 8% of our 12,300 assemblies had dangling refs after a folder restructure. What settings or tools have reduced this for you — enforcing relative paths, blocking renames on released files, or auto-repair on check-in — while keeping models easily accessible for downstream teams?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍​⁠‌‍​‌‌‍‌​​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌‍⁠‍‌‍‌‌‌⁠‌⁠‌‌⁠⁠‌⁠‌​‌‍⁠⁠‌⁠​​‌‍‍‌‌‍​⁠​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​‍​‍‌‍⁠‍‌‍‌‌‌⁠‌⁠​‍​‍​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‌​⁠​‌​⁠​‍​⁠​‍​⁠‌​​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌‌‍‍‌⁠‌​‌⁠‍‍​‍⁠‌​⁠‍​‌​‍​‌‍​‌‌‍⁠‍‌​‍​‌‍⁠⁠‌⁠​‍‌‌⁠⁠​⁠‌‌‌​‍⁠‌​‌​‌​‍‍​‍​‍‌⁠⁠‌​​

Seeing 8% after a “folder restructure” sounds familiar — switching to PDM’s Move Tree for all restructures (right‑click in the vault) cut ours to under 1% because it rewrites refs during the move. Caveat: it’s slower on big branches, so we queue them off‑hours. Are you moving with Move Tree or doing standard Windows moves?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍​⁠‌‍​‌‌‍‌​​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠‌‌​⁠‍​​⁠‍​​⁠‌‌​⁠​‌​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‌​⁠​‌​⁠​‍​⁠​‍​⁠‍​​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌‌‍​‌‌​‍‌⁠‌​‌​⁠⁠‌⁠‌⁠‌​‌​‌‍⁠​‌⁠‍‌‌​​‌‌​‍‌‌​⁠‍‌‍‌​​⁠‍​‌‌​‌‌​‍‌​⁠​‍​‍​‍‌⁠⁠‌

Flipping on ‘don’t allow duplicate file names’ in the vault dropped our post‑restructure dangling refs to almost nil because nothing resolves to the wrong twin anymore; the caveat is a noisy one‑time cleanup for legacy vendor parts, but it’s been worth it — have you tried unique names yet, @tkim22?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍​⁠‌‍​‌‌‍‌​​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠‌‌​⁠‍​​⁠‍​​⁠‌‌​⁠​‌​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‌​⁠​‌​⁠​‍​⁠​⁠​⁠​‌​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌‌​‍​⁠‍​‌‍⁠​​⁠‍‌‌‌​⁠​⁠‍​‌⁠​​‌​⁠⁠‌‌‍​‌⁠​‍‌‌‌⁠‌​​‍​⁠‍‌‌‌‍‍‌‍⁠⁠‌‍‍‍​‍​‍‌⁠⁠‌

Biggest win for us was setting PDM Admin > SOLIDWORKS > Referenced Documents to “Ignore SOLIDWORKS file locations” and ordering resolution to same folder → vault, plus unchecking SW’s “Search file locations for external references” so everything resolves inside the vault. Caveat: first opens run a bit slower until caches warm, and legacy jobs that relied on custom library paths may need a one‑time cleanup.

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍​⁠‌‍​‌‌‍‌​​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠‌‌​⁠‍​​⁠‍​​⁠‌‌​⁠​‌​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‍​⁠​​​⁠​‌​⁠​​​⁠​⁠​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍​‍⁠‌‌‍‍​‌⁠​⁠‌⁠‍‍‌⁠‍‌‌‌‌​‌‍‍⁠‌​‍⁠‌​​⁠‌​‌⁠‌‌​‌‌‌​‍‌‍⁠‌‌​⁠⁠‌⁠​‍​⁠​‍​‍​‍‌⁠⁠‌

Bet a lot of that 8% after the restructure is library/Toolbox drift… We fixed it by pinning a Libraries/Toolbox folder at vault root, denying move/rename there, and turning off SOLIDWORKS ‘Search in subfolders for external refs’ so resolution sticks to the exact vault path; dangling refs dropped below 1%. Do you keep Toolbox in the vault or let clients point to a local copy?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍​⁠‌‍​‌‌‍‌​​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠‌‌​⁠‍​​⁠‍​​⁠‌‌​⁠​‌​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‍​⁠​​​⁠​‌​⁠​​​⁠‌⁠​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠​⁠‌‌‌‍‍⁠‌​‍‌‌‌​​‌‌​⁠‌‌​‌‌​⁠‍‌‌‌​‌​‌⁠‌‍⁠‌‌​‍‍‌​⁠‍‌‌‍‍‌‌‌⁠‌⁠‍‍​‍​‍‌⁠⁠‌

One lever that paid off for us was a Dispatch pre-check-in that parses the Reference Tree and rejects the check-in if any path resolves outside the project root; it nudges users to fix refs in SOLIDWORKS first and cut our post-restructure dangles to about 1%. Pair that with ‘Update references on rename/move’ in PDM Admin so compliant moves auto-heal; otherwise it turns into whack-a-mole. Might be worth piloting if Toolbox isn’t the main offender, @lisa_henderson47.

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍​⁠‌‍​‌‌‍‌​​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠‌‌​⁠‍​​⁠‍​​⁠‌‌​⁠​‌​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‍​⁠​​​⁠​‌​⁠​‌​⁠​⁠​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌⁠​​‌​‌​‌​‍​‌​⁠​‌​​⁠‌​‍‌‌‍⁠​‌‍​⁠‌​‌‌‌⁠‍‌​⁠‍‌​⁠​⁠​‍⁠‌‌⁠‌‍‌⁠​​‌​⁠‍​‍​‍‌⁠⁠‌

Pretty sure a lot of that 8% tied to the ‘folder restructure’ came from drag‑drop; we stopped it by forcing all restructures through Copy Tree/Move Tree (Include drawings, let PDM update refs) and kicking off a Task Scheduler convert-to-latest re‑save on the moved set. Dangling refs fell to near zero and downstream stayed happy because the drawings and where‑used followed. @lisa_henderson47’s library pin is solid, but the move gate did the heavy lifting.

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍​⁠‌‍​‌‌‍‌​​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠‌‌​⁠‍​​⁠‍​​⁠‌‌​⁠​‌​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‍​⁠​​​⁠​‌​⁠​‌​⁠‌‌​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌‌‌⁠‌​‌​​⁠‍​‌‍⁠​‌‍⁠‌‌​⁠‍‌‍‌⁠‌​⁠​‌⁠​‍‌‌‍‍‌​​‌‌‌⁠⁠‌​​‌​⁠‌‍​⁠‌⁠‌‍‍​​‍​‍‌⁠⁠‌

We cut this by forcing SOLIDWORKS to save new/in‑context parts to the assembly’s folder via the Admin Image (External References: “Create new referenced documents in: same as top‑level assembly”); refs stay relative so restructures don’t break. Pair with @dmiller93’s outside‑root check — do you need exceptions for vendor parts?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍​⁠‌‍​‌‌‍‌​​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠‌‌​⁠‍​​⁠‍​​⁠‌‌​⁠​‌​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‍​⁠​​​⁠​‌​⁠​‌​⁠‍​​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍​⁠‍​‌⁠​​‌‍‌‍‌⁠‌⁠‌‍‌⁠‌‍‍​‌‍​⁠‌​‍⁠‌‍⁠‍‌⁠​⁠​⁠‍​‌‌‌‌‌‌​⁠‌‌​‌‌⁠‍‌‌‌‌‌​‍​‍‌⁠⁠‌