Splitting a Curved Sheet Metal Part in SOLIDWORKS — Preserving Flat Pattern After Split

A sheet metal enclosure for an elliptical staircase, a conical shroud split into two halves for shipping, a large cylindrical tank section cut into panels for laser cutting — these all share the same fabrication requirement: a curved sheet metal body that must be divided into manageable pieces, each with its own flattenable geometry and its own DXF. SOLIDWORKS’s Split feature appears to solve this. It doesn’t. Applied to a curved sheet metal body, Split divides the geometry but destroys the flat pattern capability on every resulting piece. This post explains why that happens and gives three approaches that actually preserve flattenability. ...

25 August 2026 · 8 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

SOLIDWORKS Sheet Metal: Direct Modeling vs Convert to Sheet Metal — When Each Approach Works

The SOLIDWORKS sheet metal environment has two entry points: you either start with a sketch and build the part as sheet metal from the beginning, or you convert an existing solid into a sheet metal body. The second path—Convert to Sheet Metal—is the right tool for STEP imports and inherited legacy parts with no sketches. But it fails silently on a specific class of solid bodies, and understanding why matters both for fixing production parts and for writing API macros that won’t break on edge cases. ...

21 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

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

SOLIDWORKS API DXF Export: Why VBA and Manual Export Differ (and How to Fix It)

A forum thread from 2026-08-06 captures the problem precisely: a user has a manual workflow — roll back to a feature state, show the body, align the view normal to the target face, then do File > Save As DXF. It works. They then try to replicate it in VBA using IPartDoc.ExportToDWG2, pass the same file path, and get either a failed export (False return, no error) or a DXF that contains nothing. No accepted answer exists because the root cause isn’t obvious from the API documentation. ...

29 July 2026 · 12 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 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