Skip to main content
Glama

MIDAS CIVIL NX tools (MIDAS IT Europe)

Advanced DXF Importer — inspect a drawing

dxf_inspect
Read-only

Reads a DXF with the Advanced DXF Importer plugin's own parser and clean-up and reports what an import would create: the file (version, encoding, entity counts, what is ignored or unsupported), its units, every layer with its entities and mapping, and the clean model — nodes, BEAM/TRUSS/PLATE elements per layer, structure groups, disconnected parts, and the clean-up operations (merged nodes, removed duplicates and zero-length segments, splits at crossings and T-junctions, hanging nodes). Needs no CIVIL NX model and changes nothing. Give the drawing as dxfText, dxfBase64 or url (4 MB inline, 25 MB by url). Use it to choose the mapping and settings before dxf_import. Lengths in the report are in the unit the import works in (importIn).

Input Schema

NameRequiredDescriptionDefault
urlNoAn https address the DXF is downloaded from, up to 25 MB (public hosts only on the website).
planeNoFlat drawings only: XY → plan (global XY), XZ → elevation, YZ → side elevation.XY
originNoMove the drawing: {mode:'none'} (default), {mode:'min'} (drawing minimum to 0,0,0), or {mode:'user', x, y, z} (metres, subtracted). Use it for OS-grid / site coordinates.
dxfTextNoThe DXF file's text (ASCII DXF), up to 4 MB. Use dxfBase64 for a binary DXF or an R12 file with non-ASCII layer names (the bytes then keep their code page).
mappingNoLayer mapping in the plugin's preset format (the file Save mapping writes). rules apply in order, first match wins, * and ? wildcards, case-insensitive; layers are exact names and override the rules. Per class (linear = lines/polylines/arcs/splines, face = 3DFACE/polyface/mesh, point): as BEAM|TRUSS|IGNORE (linear), PLATE|IGNORE (face), NODE|IGNORE (point); material, section (linear) or thickness (face) as an id, a name or {id,name} (omitted = the DXF default property, created on import); beta (deg); group ('{layer}' = the layer name); split (split at intersections); plate THICK|THIN; include false drops a layer. Example: {rules:[{layer:'*GIRDER*', class:'linear', as:'BEAM', material:'C40/50', section:'G1', group:'Girders'}, {layer:'DIM*', include:false}], layers:{SLAB:{face:{as:'PLATE', thickness:'Slab 250'}}}}
arcChordNoInstead of arcSegments: largest chord deviation, mm.
fileNameNoName of the drawing (default: from the URL or path, else drawing.dxf). It names the import's master group DXF_<name> #<token>.
filePathNoLocal server only: a path to the DXF on this machine, up to 50 MB.
dxfBase64NoThe DXF file's bytes, base64, up to 4 MB decoded.
arcSegmentsNoArcs/circles/splines: segments per full circle.
planeOffsetNoFlat drawings only: metres added along the axis the drawing's normal maps to.
drawingUnitsNoThe drawing's units when it does not record them ($INSUNITS; R12 files never do), or to override them.
mergeToleranceNoNode merge tolerance, mm (clean-up).
matchModelUnitsNoAs in the plugin: switch the CIVIL NX model's length unit to the drawing's (mm/cm/m/in/ft) before writing. DESTRUCTIVE when it changes the unit — the preview says so; undo switches it back. false = keep the model's unit and convert the coordinates.
ignoreAnnotationLayersNoUntick layers that are empty or mostly annotation (TEXT, DIMENSION, HATCH…), as the plugin's bulk action does.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint; the description adds genuinely new traits — no model required, nothing is changed, and concrete input ceilings (4 MB inline, 25 MB by url). It also notes that report lengths follow the import's working unit, which matters for interpreting results. It stops short of discussing errors or performance on large drawings, so not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and scope, then report contents, then the dxf_import hand-off, then input options and the units caveat. Dense but every clause carries information; the source-inputs sentence is the only part that largely duplicates the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does the necessary work by enumerating what the report contains (version, encoding, entity counts, ignored/unsupported items, layers, elements, structure groups, disconnected parts, clean-up operations). That is enough for an agent to know what it will get back; the reference to 'importIn' as a unit, which is not among this tool's parameters, is the one loose end.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description restates the three input sources and their size limits (already in the schema) and adds the unit framing ('Lengths in the report are in the unit the import works in (importIn)') — but 'importIn' is not a parameter of this tool, which slightly muddies rather than clarifies parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (reads a DXF with the plugin's parser) and names the exact output shape: what an import would create — file metadata, units, layers/mapping, and the clean model. It is unmistakably a dry-run sibling of dxf_import rather than a conversion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit routing: 'Use it to choose the mapping and settings before dxf_import', plus the scope qualifier 'Needs no CIVIL NX model and changes nothing' that tells the agent this is the safe pre-flight step. The alternative (dxf_import) is named and the selecting condition is stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources