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

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

SOLIDWORKS DXF Flat Pattern: Why Elliptical Holes Become Splines (and the R14 Fix)

A user on the SOLIDWORKS 3DEXPERIENCE forum posted a question about elliptical cutouts in a sheet metal flat pattern. After exporting the flat pattern to DXF, every elliptical hole appeared as a SPLINE entity in the file. The laser cutter’s controller — a Trumpf TruTops installation — rejected the file. TruTops can cut true ellipses from native ELLIPSE entities but has no NURBS solver for arbitrary-degree SPLINE entities, so the holes were silently dropped from the cutting plan. ...

19 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

EUDR Compliance and GIS Coordinate Systems — Why Your Forest Boundaries Need to Be in WGS84

The EU Deforestation Regulation applies from 30 December 2026. For operators placing timber, cocoa, coffee, palm oil, soy, cattle, and rubber on the EU market, compliance requires a Due Diligence Statement submitted through the TRACES NT system. That statement must include plot-level geolocation data — and the format specification is not flexible. TRACES accepts GeoJSON in WGS84 (EPSG:4326) with coordinates expressed as decimal degrees to at least six decimal places. Plots over 4 hectares require a complete boundary polygon. Plots under 4 hectares may be represented by a single point. ...

16 August 2026 · 9 min · CadShift

DXF File Naming for Laser Cutting Nesting Software — Automate Part Routing from SOLIDWORKS Custom Properties

Every nesting operator knows the moment: 200 DXF files land in an import folder named Part1.dxf, Part2.dxf, FlatPattern-3.dxf. The cut program runs. Parts come off the machine. Now someone has to match each blank to an installation slot by hand—measuring, comparing, labeling. This is a manual step that costs 30–90 minutes per nest cycle, scales with order volume, and doesn’t improve no matter how much you spend on nesting software. The root cause is a mismatch between what SOLIDWORKS produces by default and what ProNest, Lantek, and JETCAM expect in order to route parts back to their jobs automatically. ...

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

Autodesk Inventor: Migrating Files Between Versions — What Actually Happens and How to Do It Right

Autodesk Inventor has no backward compatibility. Open an .ipt or .iam file from Inventor 2020 in Inventor 2025, save it, and that file will never open in 2020 again — not with any workaround, not with a trial license, not with a downgrade export. The migration is a one-way door. This matters because version upgrades in Inventor are not transparent events. Each new release updates the internal file format. When you open and save a file, Inventor rewrites it in the current format. If your team is spread across two Inventor versions — which happens whenever a seat upgrades before the rest of the organization — that saved file is now unreachable to anyone still on the old version. ...

13 August 2026 · 9 min · CadShift

CAD File Management for Construction Engineering Teams — Naming, Revisions, and Handoff

Construction engineering creates a document management problem that product engineering doesn’t have. In a manufacturing shop, a single team owns the CAD model from concept to production, revisions are controlled through PDM, and the end artifact is a set of drawings for a factory with controlled access to your files. In construction, the same drawing passes through a structural engineer, MEP consultants, a general contractor, multiple subcontractors, a building inspector, and eventually the owner — each with different tools, different naming conventions, and different ideas about what “current” means. The DWG file from the structural engineer needs to align with the Revit model from the architect and the IFC export from the MEP team. File management failure in this environment means someone builds from a superseded drawing. ...

12 August 2026 · 11 min · CadShift