SolidWorks Automation Guide — Macros, Add-Ins, Task Scheduler, and API Triggers

What SolidWorks Automation Actually Means “SolidWorks automation” gets used for everything from a 20-line VBA macro that renames a file to a full production-grade COM add-in that processes 10,000 parts a night. Those are not the same thing, and the gap between them is measured in months of development, not hours. This guide maps the territory. Four automation approaches cover almost everything teams do with SolidWorks programmatically. Each one has a ceiling. Knowing which ceiling you’re about to hit before you write code saves rebuilding the same solution twice. ...

31 August 2026 · 9 min · CadShift

Save As PDF vs Print to PDF in SolidWorks — Why They Produce Different Files and Which to Use

A Reddit post last year with 44 upvotes caught a lot of engineers off-guard: Save As PDF in SolidWorks exports your entire model space, not just what’s visible on the sheet. If you or anyone on your team has ever put notes, costs, internal comments, or supplier-specific details off to the side of the sheet border — those are in the PDF you just emailed. Print to PDF clips to the visible sheet boundary. That is the central difference, and everything else follows from it. ...

30 August 2026 · 7 min · CadShift

SOLIDWORKS PDM: Copy Data Card Values into File Custom Properties Without Overwriting the Card

The scenario: a supplier sends fifty SolidWorks parts. The files land in the PDM vault. The PDM admin manually fills in the data cards — material, description, part number, revision. Everything is correct in the vault database. But the files themselves have no custom properties. Any downstream tool that reads properties directly from the file (a drawing, an ERP integration, a batch export macro) sees blanks. The natural fix — run the built-in Task Scheduler “Add/Update Custom Properties” task — breaks the data cards. The task adds the file properties and then syncs them back to the data card. Because the file properties were blank when the task ran, the sync writes blank back over the values the admin entered. ...

27 August 2026 · 10 min · CadShift

SOLIDWORKS Task Scheduler Macros: How to Pass Folder Paths and Parameters Correctly

A SOLIDWORKS user on the 3DEXPERIENCE forum recently posted a batch macro that failed to compile with “Invalid Character.” The macro tried to parameterize a Task Scheduler run with syntax like $$$FOLDER_PATH$$$ and made API calls to CustomPropertyData. Josh Brady identified it immediately: “That is AI-generated code. CustomPropertyData is a hallucinated call. It does not exist in the SolidWorks API.” This failure pattern is now common enough to deserve a direct explanation. SOLIDWORKS Task Scheduler has no built-in parameter syntax. VBA macros cannot receive command-line arguments. There are no token substitutions in macro source code. Here is what works instead. ...

26 August 2026 · 10 min · CadShift

Deploying SolidWorks Macros to Non-Technical Users — The Zero-Setup Approach

A r/SolidWorks thread from last week: an engineer built a macro that exports a DXF, renames it, and drops a PDF in the right folder. It works on their machine. When they try to run it on a manager’s laptop or a shop floor PC, it crashes with a COM exception or silently does nothing. The replies cover the symptoms but not the root cause, and nobody agrees on the right distribution approach. ...

24 August 2026 · 8 min · CadShift

VBA vs C# for SolidWorks API — When to Use Which (and What Portfolio Projects Actually Get Interviews)

A question that surfaces repeatedly on r/MechanicalEngineering and r/SolidWorks: how much C# vs VBA do you actually need for a SolidWorks CAD automation role? The answers in those threads range from “VBA is enough” to “you need modern .NET”—and both are correct, depending on what the role actually involves. The real answer is architectural: VBA macros and C# COM add-ins solve different problems. Understanding the boundary between them—and being able to explain it—is what separates candidates who have run a few macros from those who can design production automation systems. ...

22 August 2026 · 8 min · CadShift

Automating 3DEXPERIENCE Compatibility Updates in SOLIDWORKS — API Gap and Task Scheduler Workaround

A question on the SOLIDWORKS 3DEXPERIENCE forum asked whether there is an API method to trigger the Update for 3DEXPERIENCE Compatibility command programmatically. The team needed to process several thousand legacy part files before uploading to a 3DEXPERIENCE tenant — running the command manually was not an option. The short answer: no such API method exists. The compatibility update command is a UI-level operation with no public IFeatureManager, IModelDocExtension, or ISldWorks equivalent. IModelDocExtension::UpgradeLegacyCustomProperties sounds like it might cover this, but it does something narrower and unrelated to the 3DX compatibility update. ...

20 August 2026 · 9 min · CadShift

Automated SOLIDWORKS Sheet Metal to DWG Export — SLDDRW as Silent Background Partner

Every sheet metal shop with more than a handful of active parts runs into the same gap. The model changes — a bend radius is revised, a hole pattern shifts, a flange length is adjusted — and the SLDDRW already has everything: dimensions, bend notes, tolerances, title block, revision table. But the DWG that goes to fabrication is still sitting at the old revision. Someone has to open the drawing, let it rebuild, and export. Every time. ...

17 August 2026 · 10 min · CadShift

SolidWorks Copilot — What It Is, What It Actually Does, and How to Use It

Dassault Systèmes announced over a dozen AI features for SolidWorks at 3DEXPERIENCE World 2026. The marketing materials show engineers describing geometry in plain English, generating drawings on demand, and having AI explain why a feature failed. Most of that is real — but the gap between what runs on your desktop today and what requires a 3DEXPERIENCE subscription is larger than the announcements suggest. This is a precise breakdown: which features ship, which platform they require, what they can and cannot do, and where API macros still outperform them. ...

10 August 2026 · 10 min · CadShift

Parsing SOLIDWORKS PDM Archive index.xml into SQL — Version History Extraction Guide

A question posted on the 3DEXPERIENCE forum in August 2026 had zero replies after several days: how do you extract the version history stored in the PDM archive’s index.xml files into SQL for reporting or internal tooling? The poster wanted Document ID, archive folder path, actual archived filename (like 00000001), and the full version chain, including entries that use a ref pointer instead of storing their own copy. No answer existed. No Dassault KB article covers it. No public blog post addresses it. This is that guide. ...

9 August 2026 · 10 min · CadShift