Tools: documents & conversion
These tools require FreeCAD at runtime (except list_supported_formats, which is static). Without FreeCAD they return a per-call error; the server itself stays up. All take the standard operation envelope.
File routing detail that matters: DXF/DWG inputs go through FreeCAD’s Draft importer, while STEP/IGES go through the general importer — headless FreeCAD 1.x rejects DXF on the STEP path with “no supported file format”, so the server routes by extension for you.
open_cad_document
Section titled “open_cad_document”Open and analyze a CAD document using FreeCAD. Supports DXF, DWG, STEP, IGES, STL and other CAD formats. Returns comprehensive document information and object analysis.
| Envelope field | Description |
|---|---|
file_path |
path to the CAD file (validated: no traversal, size-limited) |
Returns success, the document name, a file_info block (filename, detected type, size, object and feature counts, overall bounding box), and an objects list — each with label, type, shape type, volume (solids), area, length, and bounds.
Errors: unsafe path, File not found, File too large. Maximum size: NMB, or a FreeCAD import failure. Path and existence checks run before the FreeCAD gate, so a bad path reports “File not found” rather than “FreeCAD not available”.
measure_cad_objects
Section titled “measure_cad_objects”Measure distances, areas, volumes and analyze CAD objects. Provides comprehensive geometric analysis of every shape-bearing object in the file.
| Parameter | Type / default | Description |
|---|---|---|
measure_distances |
bool, false |
also compute pairwise distances between objects |
Returns per-object measurements: volume/surface area (solids), area (faces), length (edges/wires), bounding box with dimensions, center of mass, and edge/face/vertex counts. With measure_distances, adds pairwise center-of-mass distance and true minimum distance between shapes.
convert_cad_format
Section titled “convert_cad_format”Convert CAD files between different formats. Preserves geometry and metadata where possible.
| Parameter | Type / default | Description |
|---|---|---|
output_format |
string, "step" |
one of step/stp, iges/igs, stl, dxf, obj |
output_name |
string, <stem>_converted |
output filename stem (validated: no separators or traversal) |
Returns input file/format, output file path (under the output directory), output format and size, and the object count converted. The tool verifies the output file actually exists — a conversion that produces nothing returns "Conversion failed - output file not created" instead of a phantom success.
Errors: missing input, unsupported output format, unsafe output name.
DWG input depends on FreeCAD having a DWG converter configured — see Handle DWG.
list_supported_formats
Section titled “list_supported_formats”List all CAD file formats supported by this server, with import and export capabilities, format descriptions, and the advanced tool catalog. Takes no arguments — the only tool that skips the envelope.
Returns import_formats (DXF, DWG, STEP, IGES, STL, OBJ, PLY, 3MF, FCStd), export_formats (STEP, IGES, STL, DXF, OBJ, PLY, FCStd, PDF, SVG), a capabilities map (2D/3D geometry types, boolean operations, measurements, analysis, sketching, technical drawing, modifications, assembly, materials), and an advanced_tools summary.
This is a cheap, dependency-free first call for a client that wants to know what it’s talking to.