Skip to content
Structura v0.6.0 · scope

What Structura will not convert

A conversion tool that quietly does its best with a file it cannot read produces a model someone has to discover is wrong. Structura draws the boundary in public and refuses at the edge, with a clear reason. This page is the boundary — the input contract, the vocabulary, what your drawings have to contain, and the things labelled roadmap because they do not exist at the release named in the footer.

DXF only At most 15 storeys At most 50 sheets Architecture only
Input contract

What goes in

Accepted

DXF, two shapes of it.

Vector plan sheets plus elevation sheets, or a single DXF carrying the building as a 3D mesh export. Nothing else is read, and the file type is enforced on the server, not only in the browser.

Refused

DWG, PDF, and anything scanned.

Native DWG is not read — converting a DWG to DXF first is on you, and DWG ingestion is roadmap. Raster and scanned drawings are out of scope entirely: an image is not read at all, so a scan is not a slow conversion, it is no conversion.

Caps

15 storeys, 50 sheets.

Enforced limits, not guidance: a set beyond them is blocked at upload rather than started and abandoned. One conversion runs at a time per building.

Vocabulary

8 architectural classes.

IfcWall · IfcDoor · IfcWindow · IfcColumn · IfcSlab · IfcStair · IfcRoof · IfcSpace. There is no MEP, no structural framing, no furniture or equipment — Structura does not model them at all, and it will not approximate them into walls.

The honest beat

How it refuses a file

A prospect shared a piping isometric PDF. Structura refused it — no crash, no partial model, no building created — with a typed error carrying a code and a message, the same error convention the product uses everywhere else.

The response, quoted from the API contract
HTTP 422
{"code": "upload/not-dxf", "message": "Only .dxf files are accepted"}

The upload screen catches it first so nobody waits on a round trip; the same file posted straight at the API gets the same typed refusal. Rejection is enforced server-side either way.

Two independent boundaries excluded that file, and it is worth separating them. The first is the input contract: it was a PDF, so it was refused on file type before any geometry was read. The second would have stopped it even as DXF — a piping isometric describes a pipe route through space, and Structura has no vocabulary for pipe routes. That is not a confidence problem a reviewer could fix. It is a language the product does not speak.

What Structura can do for a reader in that position: the buildings on an industrial site — control rooms, administration blocks, substations, pump houses — are architecture, and they convert from their own DXF plan and elevation sheets or from an as-built mesh, exactly like every other building on this site. The piping does not, and saying so early is cheaper for everyone than saying it after an invoice.

The principle
Every refusal is a code and a message, chosen from a list, never a stack trace and never a silent drop. A file Structura cannot read costs a reader one clear sentence, not a model they have to audit to discover is wrong.
Rooms

What spaces do and do not do

Plans route only

A mesh-route building never gets rooms. It records the deferral as a building-scoped assumption instead of reconstructing something unverifiable.

Outer boundary only

A column or a closed interior island inside a room does not carve a hole in its boundary. When that happens the room records it as an assumption, and its net floor area quantity is omitted from the IFC rather than silently overstated.

No boundary editing

A room’s shape comes only from the walls that closed it. A reviewer can rename a room, reclassify it or reject it, but cannot redraw its boundary in the browser.

Mesh route

What a mesh export gives up

The mesh route reads a building that was modelled in 3D rather than drawn in 2D. It recovers the envelope well and the detail poorly, and it says which is which: every item below arrives as a recorded assumption or a review flag on the conversion, never as a silent absence.

  • No columns, no stairs

    Neither class is reconstructed from a 3D export at all, and the page above says so rather than pretending otherwise.

  • Openings under-recovered

    Windows in third-party models are often painted onto a surface rather than modelled as a hole. What was never a hole cannot be found as one.

  • Roof-top plant is not modelled

    Masts, plant enclosures and similar structures are outside the architectural vocabulary, so they are dropped rather than approximated as walls.

  • One-sided walls are assumed

    A wall the mesh shows from one face only has no measurable thickness. Structura assumes a thickness, tells you it did, and flags the wall for review, with the assumption recorded against that element.

Sensitivity

What your drawings have to contain

Structura was built for drawings that follow the conventions below. A drawing set that differs is not necessarily a failure — but nothing published about quality covers it, and finding out is what a trial is for. Read the right-hand column first: it is the honest one.

For each element class, what a plan sheet has to contain and the kind of drawing that defeats it.
Reads Needs Defeated by
Walls Drawn as two parallel face lines on a wall layer, broken at every opening. A wall drawn as a single centreline polyline, as a hatched poché, or as an arc is not paired into a wall.
Doors and windows Block inserts sitting in a gap that appears in both wall faces. Openings drawn as loose linework, or blocks under other names, are not recognised as doors or windows.
Columns Circles on a column layer of their own. Rectangular or built-up columns on other layers are not detected.
Stairs A run with one line per tread across it, and a direction label. A stair drawn without the tread lines or the direction label is not reconstructed.
Rooms A room label inside a boundary that the walls actually close. A room the drawing leaves open at a doorway has no closed boundary, so no room is delivered for it.
Sheet identity A titleblock Structura can read, and sheet numbers that follow a plan or elevation pattern. A non-standard titleblock forces a fallback to the sheet number, and a number that follows neither pattern is classified as neither.
Annotation TEXT entities for labels and dimension text. MTEXT is not read at all: a plan whose labels are MTEXT reads as unlabelled.
Orientation Plans drawn axis-aligned, in millimetres or with the drawing units declared. Rotated plans are untested rather than known-good — nothing published about quality covers them.

Structura reads vector geometry — lines, circles, arcs, polylines, block inserts and text. Anything a drawing encodes some other way is invisible to it.

Named, not dated

Roadmap

Everything below is roadmap: it does not exist at the release named in the footer, it carries no date, and nothing elsewhere on this site counts it as shipped.

  • Native DWG ingestion

    Roadmap

    DWG files must be converted to DXF before Structura can read them.

    Not supported at this release

  • PDF and raster ingestion

    Roadmap

    Vector PDF and scanned drawings both need an ingestion path that does not exist.

    Explicit non-goal at this release

  • MEP and structural classes

    Roadmap

    Ducts, pipework, cable trays and structural framing are not delivered in any form.

    Not modelled at this release

  • Piping isometrics

    Roadmap

    An isometric describes a route through space rather than a building, and Structura delivers buildings.

    Would need a different kind of drawing entirely

  • Interior holes in room boundaries

    Roadmap

    Would let a room enclose an island and still report a truthful net floor area.

    Outer boundary only today

  • Boundary authoring and editing

    Roadmap

    Would let a reviewer redraw a room or a wall footprint rather than reject it.

    Review edits dimensions, not shapes

  • Columns and stairs from a mesh

    Roadmap

    Would close the two classes the mesh route currently declines to reconstruct.

    Not recovered from a 3D export today

  • Re-conversion of a revised sheet set

    Roadmap

    Would let a revised drawing set be converted against an existing building so unchanged elements keep their identifiers across a revision, not only across a re-export.

    Versions and stable identity already exist

  • Rotated and non-standard drawings

    Roadmap

    Rotated plans, arcs used as walls and unfamiliar titleblocks need work that has not been done, and a published census, before any claim is made about them.

    Untested rather than supported