How to Prepare Files for SendCutSend Fabrication: Automated Pre-Flight Validation

The SendCutSend skill in the earthtojake/text-to-cad repository automates pre-flight checks by comparing your DXF or STEP file against live SendCutSend manufacturing rules, verifying units, bend geometry, and material constraints before submission.

Preparing CAD files for SendCutSend fabrication requires strict adherence to material specifications, bend tolerances, and unit declarations. The open-source text-to-cad repository provides a dedicated sendcutsend skill that automates these validation steps, ensuring your design passes manufacturing requirements before upload.

How the SendCutSend Skill Validates Your Design

The validation workflow combines three evidence sources to prepare files for SendCutSend fabrication without manual guesswork.

Fetching Official Manufacturing Rules

The skill retrieves authoritative constraints directly from SendCutSend’s live documentation. According to skills/sendcutsend/references/official-sources.md, it fetches the ordering guide, catalog JSON, and engineering specs JSON from official URLs. These files contain material-SKU availability, size limits, bending specifications, and tolerance thresholds.

If a required source cannot be fetched, the skill aborts the check and reports the unavailability rather than guessing a pass/fail verdict.

Local Geometry Extraction

The skill invokes the generic $cad skill to extract concrete facts from your model. For STEP/STP files, it uses build123d.import_step; for DXF files, it uses build123d.ezdxf. This extracts units, bounding boxes, layer information, entity types, and bend lines.

Rule-by-Rule Comparison

Each measured fact is compared against the corresponding requirement from the official sources. Only when both the source requirement and the measured fact are present and trustworthy does the skill emit a verdict: ✅ pass, ❌ fail, or ❓ need more info.

Critical Pre-Flight Checks Explained

When you prepare files for SendCutSend fabrication, the skill performs several defensive validations to catch errors that would otherwise cause manufacturing delays.

Unit Declaration and Scale Verification

DXF files must declare a supported $INSUNITS code. The skill accepts only:

  • 1 for inches
  • 4 for millimeters

If the unit code is missing or unsupported, the skill flags a scale error and asks you to confirm intended units before performing material-specific checks.

Bend Geometry and Flange Validation

For laser-cut parts containing bend lines, the skill measures local flange depth on both sides of each bend. It validates these measurements against the SKU’s bending_specs.min_flange_length_before_bend and bending_specs.min_flange_length_after_bend values. Each distinct failure—such as insufficient flange, intersecting cut geometry, or split bends—receives its own row in the report.

3D Bend Radius Inspection

When processing STEP files containing sheet-metal bend faces, the skill extracts bend radii and compares them against the SKU’s bending_specs.effective_bend_radius or bending_specs.bend_radius values. This ensures 3D models meet the same bending constraints as 2D layouts.

Running the SendCutSend Preparation Pipeline

You can execute the validation workflow via Python API or command-line interface.

Python API Example

from text_to_cad import SkillRunner

runner = SkillRunner()
result = runner.run(
    skill="sendcutsend",
    inputs={"file_path": "models/my_part.dxf"}
)

print(result.report)

Command-Line Interface

text-to-cad run sendcutsend path/to/part.step

The CLI outputs a structured report with columns for File Path, Service, Material/SKU, Rule Source (linking to the relevant JSON field), Measured Fact, and Verdict.

Understanding the Validation Report

The skill generates a structured report based on skills/sendcutsend/references/report-template.md. Each row identifies the exact rule source with a direct link to the SendCutSend specification, the measured geometric fact, and a concise verdict.

If visual clarification would help—for example, highlighting a failing flange depth—the skill attempts to generate a diagnostic diagram via the $cad-viewer integration, falling back to textual description if image generation is unavailable.

Summary

  • The SendCutSend skill automates pre-flight validation by cross-referencing your geometry against live SendCutSend specifications.
  • It extracts data using build123d.import_step for STEP files and build123d.ezdxf for DXF files.
  • Critical checks include $INSUNITS validation (codes 1 or 4), flange length verification against bending_specs.min_flange_length_*, and bend radius compliance.
  • The skill aborts rather than guesses when official sources are unavailable, preventing false positives.

Frequently Asked Questions

What file formats does the SendCutSend skill support?

The skill supports DXF and STEP/STP files. According to skills/dxf/SKILL.md, you should use the $sendcutsend skill specifically for SendCutSend-specific pre-flight validation rather than the generic DXF handler.

How does the skill handle missing unit declarations in DXF files?

If the $INSUNITS variable is missing or contains an unsupported code, the skill immediately flags a scale error and requests user confirmation of intended units. It does not proceed with material-specific checks until units are unambiguous.

Can the skill validate bend radii in 3D models?

Yes. When processing STEP files, the skill extracts bend radii from sheet-metal faces and compares them against bending_specs.effective_bend_radius or bending_specs.bend_radius values from the official SendCutSend engineering specifications.

Where does the skill retrieve current manufacturing rules?

The skill fetches rules directly from the URLs listed in skills/sendcutsend/references/official-sources.md, ensuring your design is validated against the latest SendCutSend ordering guide, material catalog, and engineering specs rather than cached or outdated data.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →