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

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 API: Copying a Face with Move Face — Working Around the InsertMoveFace3 Translate-Copy Gap

The Move Face command in SOLIDWORKS has three modes: Offset, Translate, and Rotate. In Translate mode, the PropertyManager shows a Copy checkbox. When checked, the original face stays in place and a translated copy is created alongside it — useful for generating offset geometry, creating clearance ledges, or duplicating a surface patch to use as a reference. The API tells a different story. IFeatureManager.InsertMoveFace3 is the method that drives Move Face programmatically. Its signature accepts a move type from swMoveFaceType_e (0 = Translate, 1 = Rotate, 2 = Offset), the faces to move, and the transformation values. There is no copy parameter. IMoveFaceFeatureData, the data accessor for reading back a Move Face feature, has properties for MoveType, Distance, Rotation, TranslationX/Y/Z, and the face arrays — but no Copy or bCopy flag anywhere in the interface. ...

14 August 2026 · 7 min · CadShift

Working with Large STEP Files in SOLIDWORKS: Sheet Metal Rebuild and Flat-Pattern DXF Workflow

You receive a STEP file from a supplier or another team. It opens in SOLIDWORKS as an assembly with hundreds of sub-components. Some of them are clearly bent sheet metal parts—brackets, enclosure panels, mounting clips. Your goal is to get flat-pattern DXF files for the laser shop. When you right-click a component and look for Flat Pattern, it’s not there. SOLIDWORKS treats every STEP-imported body as a dumb solid: geometry only, no feature tree, no bend data, no flat pattern. Even if the body was originally modeled as sheet metal, none of that intelligence survives the STEP format. ...

11 August 2026 · 11 min · CadShift

Automate Bounding Box Offset Lines in SOLIDWORKS Drawings via API Macro

A question on the SOLIDWORKS User Forum asks whether there is any way to automatically create an offset rectangle from a drawing view’s bounding box. Kevin Chandler — one of the most prolific responders on that forum — gives the short answer: “Auto? No, unless via the API.” That’s the entire opening for this post. The native UI does not support it. The API does. The use cases are real and recurring: inspection templates with a fixed clearance zone around each view, nesting documentation where each part gets a border at a set offset, supplier drawings where the view boundary needs to be marked explicitly for DXF nesting software. All of them need the same thing: a rectangle drawn in the sheet sketch, offset from the view’s outline, assigned to a controlled layer. ...

5 August 2026 · 8 min · CadShift

What the SOLIDWORKS Macro Recorder Silently Drops — and What to Write Instead

The SOLIDWORKS macro recorder is a reasonable starting point for simple geometry operations. Record a sketch, a cut-extrude, a fillet — replay it — it works. But the moment you do anything beyond basic feature creation, the recorder either drops the operation entirely, captures it in a form that cannot be replayed on a different model, or generates so much view-manipulation noise that the useful API calls are buried. The official documentation says “not all commands can be recorded.” That sentence is technically accurate and practically useless. This post covers the specific operations that the recorder silently omits, why each one fails, and the API call you need to write instead. ...

28 July 2026 · 8 min · CadShift

Automate SOLIDWORKS Pack and Go with API Macros — Run, Rename, and Open the New Drawing

Pack and Go through the UI is fine for a one-off operation. When you’re doing it repeatedly — versioning a drawing before a revision cycle, archiving a job package, moving a drawing to a different project folder with all its references intact — you want a macro that runs Pack and Go, tells you where the new file landed, closes the original, and opens the copy. The SOLIDWORKS API supports all of this via the IPackAndGo interface, but the documentation examples stop at SavePackAndGo and leave the “then open the copy” part as an exercise for the reader. ...

27 July 2026 · 8 min · CadShift

SolidWorks Batch STEP and DXF Export — System Options vs Macro Loop

You have an assembly with 40 sheet metal parts and 15 structural components. You need STEP files for each part for your supplier, and DXF flat patterns for your laser subcontractor. SolidWorks has no built-in “batch export as individual STEP/DXF files” command. You have two approaches: the system options SaveAs at the assembly level, or a macro that loops over components with OpenDoc6 and SaveAs. They produce different outputs and serve different use cases. ...

22 July 2026 · 10 min · CadShift

SolidWorks VBA API Events: Why Your Event Handlers Die When the Macro Stops

You set up a WithEvents handler in a SolidWorks VBA macro. The macro runs, SolidWorks does something (opens a document, rebuilds, saves), and your handler fires correctly. Then you close the macro editor and try to use SolidWorks normally — the handler no longer fires. The macro is gone, and so is your event subscription. This confuses VBA developers who are used to Office automation, where event handlers in a document’s VBA project persist as long as the document is open. SolidWorks works differently. Here’s why, and how to keep handlers alive when you need them. ...

15 June 2026 · 7 min · CadShift

SolidWorks API: 7 Things That Silently Fail (And How to Fix Them)

Every SolidWorks API developer has spent hours debugging a macro that produces no error, no exception, and completely wrong output. The SolidWorks COM API is old enough that many of its failure modes predate modern error handling conventions — methods that silently return Nothing, boolean flags that are ignored, and side effects that modify document state without warning. This is a catalogue of the seven most common ones. Each has a pattern, a root cause, and a fix. ...

5 June 2026 · 9 min · CadShift