GeoJSON to Shapefile: The 10-Character Field Name Limit That Silently Breaks Your Data

You convert a GeoJSON file to a shapefile and load it into ArcGIS. Your attribute table has changed. The field called municipality_name is now municipali. The field called building_type_code and the field called building_type_category are both now called building_t, except one of them got renamed to building_t0 by GDAL and you missed it. Your spatial join script that references building_type_code now silently returns nulls on every row. This is not a GDAL bug. It is the shapefile format working exactly as designed since 1983. ...

10 June 2026 · 6 min · CadShift

SolidWorks DXF Has Disconnected Curves — Spline Constraints and Chord Tolerance Explained

You export a flat pattern from SolidWorks, send the DXF to the laser cutter, and get a phone call: “There are open loops in your file. The machine can’t run it.” You open the DXF back in SolidWorks, zoom in, and the outline looks fine. Zoom in further. There’s a 0.003 mm gap between two arc endpoints at a spline junction. This problem has two distinct root causes that require different fixes. Conflating them wastes time. Here is what is actually happening in each case. ...

9 June 2026 · 8 min · CadShift

The Save Bodies Command: SolidWorks' Hidden Batch Part Extractor

A Reddit post asking about converting solid bodies to individual part files got 77 upvotes. The top comment pointed to Insert → Features → Save Bodies — and multiple replies said they’d never heard of it despite years of SolidWorks use. CSWP holders included. This is not a niche feature. It’s the correct way to extract individual part files from a multi-body part, and it does things that Insert into New Part and manual workflows cannot match. ...

8 June 2026 · 7 min · CadShift

SolidWorks 2025 Freezing Your PC? Fix the sldShellExtServer DCOM Error

Your machine doesn’t crash. Nothing shows an error dialog. Windows just stalls — File Explorer hangs for 5 to 30 seconds, the taskbar goes unresponsive, and then everything unfreezes as if nothing happened. This happens repeatedly, and it always seems to coincide with working near SolidWorks files. The culprit is sldShellExtServer.exe, the SolidWorks shell extension server, and it’s been causing more friction in SolidWorks 2025 than previous versions. Here’s how to confirm it’s the source and how to fix it without a support ticket. ...

7 June 2026 · 8 min · CadShift

Converting Vector Tiles to Editable GIS Layers — What QGIS and GDAL Can Actually Do

The question comes up constantly: you’re in QGIS, you’ve added a vector tile layer from a basemap service or loaded a .mbtiles file, and you want to export those features to a Shapefile or GeoJSON for editing. You right-click the layer and look for “Save Features As” — but the option is either missing or produces empty output. This is not a QGIS bug. It’s a fundamental property of the vector tile format, and understanding it is the difference between a working extraction workflow and hours of confusion. ...

6 June 2026 · 7 min · CadShift

SolidWorks API Gotchas: 7 Silent Failures — SelectByID2, Null Components & Rebuild Timing

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

Batch DXF Export: SolidWorks vs Inventor — How the Sheet Metal Workflows Actually Differ

If your shop uses SolidWorks and your supplier’s shop uses Inventor, at some point you will end up comparing notes on batch DXF export. Both platforms flatten sheet metal and write DXF files. Both can be automated. The workflows look similar from a distance and differ substantially in the details that matter for production pipelines. This is a comparison of the actual automation approaches, not marketing specs. Platform capabilities are drawn from the COM API (SolidWorks) and the ObjectModel/iLogic API (Inventor). ...

4 June 2026 · 8 min · CadShift

SolidWorks API Meter Units Trap — Why SetSystemValue3 Ignores Document Units (and the Fix)

The SolidWorks API speaks one language for lengths: meters. Not millimeters. Not inches. Meters, always, regardless of what your document’s unit system displays. This sounds like something you’d learn in the first chapter of any SolidWorks API tutorial, and it is — yet it causes more silent macro failures than any other single issue. The problem is not that developers don’t know about it. The problem is that it bites you in a second way you didn’t expect, in a context you were already confident about. ...

3 June 2026 · 7 min · CadShift

Geocoding a Mailing List to a QGIS Heatmap — Nominatim, MMQGIS, and Kernel Density Estimation

You have a CSV of postal addresses — a membership list, a customer database, a survey response set. Someone wants to know where these people are concentrated. A heatmap is the right output: it shows density without exposing individual addresses, it scales from 100 to 100,000 records without changing the workflow, and it overlays cleanly on basemaps, zoning layers, or any other spatial data you have. The full pipeline in QGIS: geocode addresses to coordinates using MMQGIS and Nominatim (OpenStreetMap’s free geocoding service), reproject the resulting point layer to a metric CRS, and run kernel density estimation in the QGIS Processing Toolbox. Three steps. The traps are in the rate limits, the CRS handling, and the distinction between two different “heatmap” tools inside QGIS that look alike and behave differently. ...

2 June 2026 · 9 min · CadShift

When to Upgrade from a SolidWorks Macro to a Full Add-in

A SolidWorks macro gets you 80 percent of the way there. It can open files, traverse assemblies, read custom properties, save DXF, and close — all without writing a line of C#. The VBA IDE ships inside SolidWorks, the API reference is documented, and a working batch export macro can be running in an afternoon. Then the macro breaks in a way that a one-line fix will not solve. Or someone needs it on fifteen workstations, or the team wants a toolbar button, or the workflow needs to respond to file saves without being manually invoked. That is when engineers discover that “just adding a button” requires a complete architectural shift. Macros and add-ins are not on the same continuum — they differ at the design level, and the capabilities that matter most to production workflows sit entirely on the add-in side of that line. ...

1 June 2026 · 8 min · CadShift