Automate SolidWorks Drawing Generation — Batch Layouts, Title Block Fill, and BOM Export

Generating SolidWorks drawings manually — open part, new drawing, place views, fill title block, insert BOM, save PDF — is fine for a handful of parts. At scale it becomes a bottleneck. The SolidWorks API exposes every step of that workflow, and a well-structured macro or add-in can generate complete drawing packages for an entire assembly in minutes. This post covers the full pipeline: creating drawing documents from a template, adding model views, populating title block annotations from custom properties, inserting BOMs, and exporting to PDF. Both VBA (for quick scripts) and C# (for production add-ins) approaches are shown. ...

3 September 2026 · 10 min · CadShift

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

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

SOLIDWORKS Macro: Bounding Box Offset Lines in Drawings — IView.GetOutline VBA Script

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