Introduction

The DeepSeek Harness (DSH) plugin ecosystem allows functionality to be extended through plugins. In model inference and engineering toolchains, converting 2D engineering drawings—especially flat plate parts—into 3D models usually requires tedious manual modeling or complex scripting. The dsh-noBS-CAD-step plugin aims to solve this problem by using the noBS CAD engine to automatically process 2D flat drawings into executable scripts and STEP files.

Core Capabilities

The plugin registers a core Skill and five tools, covering the full workflow from drawing reading to model validation.

Skill: nobs-cad-step

This is the standard workflow for flat plate parts. It includes the following steps:

  • Sheet survey (sheet/material list)
  • Callout inventory (hole position list)
  • Corner-origin frame
  • Chain arithmetic
  • Verification

Toolset

The plugin provides five tools to drive the noBS CAD engine and drawings:

  • nbcad_run_script(script_path, step_path)
    Runs a .nbcad.jsonc script in a blank document and exports a STEP file. Returns the engine’s feature summary and warnings, such as unused bindings, overlapping hole positions, or hole positions offset from the body.
  • nbcad_inspect_step(step_path)
    Re-imports a STEP file and returns a feature summary for validating the exported result.
  • nbcad_check(step_path, expected, tolerance_mm?)
    Compares the model feature table with the STEP file through the engine: finds matching, missing, or extra hole positions, and calculates hole offsets and bounding boxes.
  • nbcad_print_probe(action, print_path, ...)
    Native pixel toolkit (implemented in Rust and packaged as a binary). It directly reads PDF, PNG, and JPG drawings. Supports rendering, calibration, cropping with a millimeter grid, ring scoring, and symbol recognition. Rendering results are cached.
  • nbcad_overlay_print(print_path, step_path, out_png, length_mm, width_mm, region?, dpi?)
    Draws model hole positions on the printed flat view, supporting either the full sheet or a high-resolution millimeter-window crop, to facilitate manual verification.

Web UI Panel: 2D → 3D

Under the web profile, the plugin adds a 2D → 3D panel to the sidebar. The panel refreshes every two seconds and displays the noBS CAD engine status, desktop session heartbeat, and whether the local print probe binary exists. The panel supports uploading print files (PDF/PNG/JPG), starting a session, and saving the generated STEP file and report.

Installation and Dependencies

  • DSH version: 0.1.5 to 0.2.0, including prerelease versions.
  • Node.js: 22 or higher.
  • noBS CAD: The noBS CAD application must be installed, and the MCP stdio interface must be enabled (the --headless flag must be provided at startup). The engine version must be 0.2.1 or newer.
  • Environment requirements: Python, Poppler, or a Rust toolchain is not required. The print probe binary is prepacked for macOS, Linux, and Windows.

Renaming note: This plugin was renamed from dsh-nbcad-plate to dsh-noBS-CAD-step on 2026-09-28. If your configuration references the old plugin ID, rename it in your configuration overrides.

Installation command:

dsh --profile nbcad --from-default-profile headless --dump-config

Typical Usage

The plugin can be used through function calls and the Web panel:

  1. Command-line tool invocation:
    nbcad_run_script(script_path, step_path)
    nbcad_inspect_step(step_path)
    nbcad_check(step_path, expected, tolerance_mm)
    nbcad_print_probe(action, print_path, ...)
  1. Web UI operation:
    Open the 2D → 3D panel in the sidebar, upload the print file, start a session, and save the STEP file in the output directory.

Limitations and Notes

  • Hole recognition scope: nbcad_run_script, nbcad_inspect_step, and nbcad_check check only vertical cylindrical holes. Holes with a radius smaller than 0.3 mm are recognized as holes, but chamfered holes, tapered holes, slot holes, and inclined holes are ignored. Engine errors show the same pattern in these checks.
  • Verification dependency: The accuracy of the model ultimately depends on the print itself. ring-score, symbols, and nbcad_overlay_print are used to compare the model and drawing independently.
  • Network access: The Web route is bound to 127.0.0.1, and a new secret token is required on every startup, helping ensure security in a local single-user environment.
  • Plugin source code: The plugin consists of pure JavaScript and a prepackaged binary, and no build step is required. It is recommended to review the source code and license (MIT) before installation.

Summary

dsh-noBS-CAD-step provides a complete automation workflow from 2D drawings to 3D models without requiring complex local environment setup. For developers or engineers who need to process flat plate part drawings in bulk, this plugin can significantly improve productivity.

Catalog page
GitHub repository