# NativeCAD 0.15.0 "Svetlanov" — DXF in, a part out

**159 tools — seventeen added since 0.14.1; nothing removed or renamed.** Command schema 1.41.0, 97 document operations.

**Drop in a DXF, get a solid and a STEP.** `cad_import` now reads `.dxf`:

1. **A laser-cut drawing becomes a part.** Pass the sheet gauge as `thickness` and each outline, minus its holes, comes back as an exact solid. Holes are real cylinders, and ellipse and spline outlines are exact B-spline walls. Each body is named from the layer it was drawn on, and `cad_export_body` writes it out as STEP with those names. Leave out `thickness` to get a 2D sketch you can extrude, pocket or feature further, with every arc still an arc.
2. **An engineering drawing is read as a drawing.** `mode: "drawing"` splits the sheet into its views, title block and annotation, names each view's projection and scale, and reads paper-space layouts through their viewports. `space` / `layout` pick the sheet, and `saveCurves` writes every view's curves to a file.
3. **Nothing is dropped silently.** Layers, healed gaps, open chains, the drawing's dimensions and texts, and every entity type that was not converted are all on the report. A drawing that cannot close says which gap to heal (`DXF_NO_CLOSED_PROFILE` … `retry with gapTol >= 0.5 (mm)`).
4. **Inline line/arc loops** (`{start, segments}`) for `cad_extrude_profile` / `cad_pad`, so a filleted outline extrudes exactly without a sketch.

`cad_import` needs a licence key (a free key: https://featureboard.ai/register?source=nativecad).

## Also on the surface since 0.14.1

`cad_defeature` · `cad_feature_diagnose` / `cad_feature_suppress` · `cad_offset_faces` / `cad_replace_face` · `cad_ruled_surface` / `cad_offset_surface` / `cad_flatten_surface` · `cad_lattice_fill` · `cad_topopt` · `cad_nest` · `cad_support` · `cad_printer` · `cad_job_status` / `cad_job_result` / `cad_job_cancel` · `cad_gpu`. See `packages/mcp/CHANGELOG.md` for each one.

## Fixed reported issues

- FBR-000028 (CADSB-1745): welded tube and box frames. Tube T-seams stay analytic, the concave selector reaches tube saddles, and the butted-tube weld fillet builds.

## Gates

bundle-smoke over stdio on the shipped `.mcpb` (initialize 0.15.0, tools/list 159, `cad_server_info` staged git `ceb55d7e` tree `8a85fabb4e14` 507 files, `cad_box` / `cad_preview_body` / `cad_mass_properties` run unlicensed, `cad_export_body` refused by name, no file written) · mcp-smoke 159 = 159 (bundle vs source) · cadsf-1128 · package · cadsf-1148 · schema-sync · tool-list-budget · cadsf-1662 · DXF over MCP: cadsf-2615 · cadsf-2617 · cadsf-2623 · cadsf-2634 · cadsf-2658

**Downloads are served from featureboard.ai** (see `latest.json` for bytes + sha256):
https://featureboard.ai/nativecad/releases/nativecad-mcp-0.15.0.mcpb
Built from master `ceb55d7e` with `SOURCE_DATE_EPOCH` pinned to its commit time (1790658168), esbuild 0.28.1, runtime dependencies from `packages/mcp/package-lock.json` (`npm ci`), and the offline `plugin/lib/zip.js` writer. `dist/server.min.js` sha256 `5f51b362…` is identical in the `.tgz` and the `.mcpb`.
