Skip to content

v0.1.0 — first public release

Latest

Choose a tag to compare

@KenM76 KenM76 released this 31 Jul 20:33

First public release.

Download and run — no Python, no install

Grab SWFileFixer-portable.zip below, unzip anywhere, and run:

  • SWFileFixer.bat — the GUI
  • swfilefixer-cli.bat scan "D:\Jobs\ABC" — the command line

Everything is inside the folder: a private CPython 3.11, PySide6, SWFormat,
olefile and combridge. Nothing is installed, no registry keys are touched.

Scanning is fully self-contained and strictly read-only, so it is safe to
point at production data. Repairs additionally need SolidWorks installed
(they drive a live session) and the .NET runtime combridge targets — if either
is missing, scanning still works and repairs fail with a clear message.

What it finds

Check Severity
duplicate_ids — same filename, provably different files data-loss
mismatched_linked_id — parent expects a different file than what's on disk data-loss
read_only_toolbox_part — read-only Toolbox part silently swapped for the DB master data-loss
missing_configuration — component asks for a config the part lacks silent-drift
broken_reference — referenced file doesn't exist (assemblies and drawings) silent-drift
broken_weldment_profile — weldment member's .SLDLFP profile is gone silent-drift
toolbox_flag_path_mismatch — IsToolboxPart flag disagrees with location silent-drift
name_drift — component name no longer matches the file cosmetic
parse_error — file could not be read cosmetic

Legacy OLE2 (pre-2015) files are read as well as the modern format.

What it repairs

Reference repointing, duplicate consolidation, component configurations,
Toolbox flags, Toolbox size generation, and weldment profile repathing.

The weldment repath preserves the per-member Locate Profile pierce points,
the profile sketch's name and its visibility — all of which the normal
SolidWorks Replace flow discards. On a frame with dozens of members that is
hours of rework avoided, and the sketch name matters because equations and
drawing dimensions bind to it.

Repair plans auto-build from findings but never guess: anything ambiguous
stays an editable row. Preview writes nothing, and a run can be paused,
resumed or cancelled between repairs.

Licence

MIT. The bundle also redistributes CPython (PSF-2.0), PySide6/Qt and shiboken6
(LGPL-3.0), olefile (BSD-2-Clause), combridge (MIT) and SWFormat (Apache-2.0) —
licence texts are in the bundle's THIRD-PARTY-LICENSES/ folder.