Why we are developing IFCCAD

CAD drawings remain essential: for details, working drawings, existing projects and designs that do not need a BIM model. Yet exchanging this information relies heavily on DWG, a format whose development is controlled by a software vendor. OpenAEC wants to develop an open alternative that lets drawings move between applications and remain accessible for the long term.

IFCCAD needs to preserve more than visible lines. Layers, blocks, text, dimensions, paper layouts and their relationships are also part of a usable drawing. Our goal is to replace DWG as a working and exchange format, with a transition that preserves the meaning of existing DWG and DXF files.

Open and independent

A publicly documented drawing model that different CAD applications can read and write.

Usable on its own

A complete CAD drawing must also be usable without a BIM model or BIM connection.

Connecting to BIM

A foundation for connecting drawings, building objects and generated CAD content.

Reliable round trips with DWG and DXF

We are working towards a faithful roundtrip: converting DWG or DXF to IFCCAD, working with it and writing it back while preserving geometry, drawing structure, properties and relevant relationships. The aim is to preserve meaning and editability; internal file bytes or reassigned CAD handles do not need to be identical.

Native representation, preservation and explicit conversion diagnostics complement each other. Supported content must transfer reliably; limitations must be visible. Current tests qualify specific components and workflows, rather than a complete round trip for every DWG or DXF file. Later, we want to extend the same approach to other CAD formats.

opencadcodec and Open CAD Studio

For reading and writing DWG and DXF, we use opencadcodec, the CAD codec from the Open CAD Studio ecosystem. Our converters connect that codec’s CAD model directly to IFCCAD. Improvements and identified limitations are also shared with the upstream project.

The Format Explorer can already use Open CAD Studio to view original and round-tripped CAD content. We also want to integrate IFCCAD directly into Open CAD Studio soon, making the format part of a practical CAD working environment.

A CAD profile within IFCX

IFCCAD uses the structure and composition capabilities of IFCX for CAD drawings. IFCX provides a way to describe information through schemas and namespaces. IFCCAD adds the meaning and rules needed for a drawing: geometry, presentation, ownership and references between drawing components.

We want to reuse existing IFCX schemas directly wherever they can express the required CAD semantics. Temporary custom definitions fill the current gaps. This lets us explore how CAD can fit into the growing IFCX ecosystem, while an IFCCAD file can also describe a standalone drawing.

IFCCAD is currently an experimental OpenAEC profile. Both the profile and IFCX are in development; IFCCAD is not yet an official buildingSMART CAD standard.

What IFCCAD can already store

There is a dedicated drawing model, schemas, strict validation, readers and writers, and direct conversion routes for DWG and DXF. The Format Explorer makes the format inspectable and lets you try conversion. Current support has defined boundaries: not all variants and properties of the CAD components below are covered yet.

Geometry

Points, lines, circles and arcs, full and partial ellipses, planar polylines with straight and curved segments, and spatial polylines with straight segments.

Layers and presentation

Layers, colours, transparency, lineweights, simple linetypes and scale settings, with separate choices for ByLayer, ByBlock and explicit properties.

Blocks and text

Reusable and nested local blocks, insertion points, rotation and scale, plus text and multiline text within the supported formatting profiles.

Hatches

Solid fills and explicit line patterns with stored boundaries, islands and supported references to boundary geometry.

Modelspace and paperspace

Modelspace, multiple paper layouts, tab order, paper sizes, supported plot settings and viewports with cameras and clipping.

Drawing environment

Supported UCS definitions, model viewports and grid and snap settings, alongside visibility and draw order.

We test supported conversions by reopening files and comparing their meaning. Missing support and information loss are reported. Complete dimension support, broader object support and the stable associative BIM workflow remain future work. The format and its compatibility commitments are still provisional.

Preservation and the temporary spline pilot

Not every CAD component immediately has a native IFCCAD representation. With preservation, we aim to explicitly retain source information that does not yet fit fully into the drawing model. On conversion back, that information can be restored if the necessary relationships and context remain valid. Native edits take precedence: a preserved source record must never silently overwrite later changes.

Splines test preservation; native support will follow

Splines are currently stored through a preservation pilot and written back within the qualified conversion routes. We use splines here to test the preservation mechanism from storage through to restoration. We want to support them natively soon as fully fledged, geometrically editable IFCCAD entities.

The current pilot preserves spline parameters and available source data, but does not yet provide native spline geometry or geometric editing. Preservation complements native support. Broader preservation for other CAD entities and additional source information is planned; the current pilot does not guarantee that all information from an arbitrary DWG file is retained.

Smaller files and efficient reading and writing

Compact files, limited memory use and efficient reading and writing are important development goals. We are already working on these, including experimental binary storage based on CBOR and additional compression.

These are IFCCAD-specific experiments; final storage choices have not yet been made. We continue to assess improvements for preservation of drawing content and practical usability.

From BIM to CAD, preserving manual drawing work

Our ambition goes beyond linking a drawing to a BIM object. We also want to generate CAD content from BIM and regenerate it when the model changes. Manually added drawing work must be preserved in the process.

A wall moves, the drawing stays connected

Imagine a drafter adding dimensions and annotations to a floor plan generated from BIM, then placing it on a sheet with viewports. When a wall moves, we want to update the generated geometry, have the associated dimensions follow, and preserve the manual additions and sheet layout.

This requires stable identity and associative relationships between BIM objects, generated drawing components and manual CAD edits. We want to avoid each regeneration producing disconnected geometry that the drafter has to link up all over again. When objects disappear or change fundamentally, invalid relationships must be identifiable. This BIM connection and regeneration workflow are development goals; they have not yet been implemented.

Explore IFCCAD and contribute

Try the Explorer, browse the source code or share practical experience and test files you have permission to share. Feedback from CAD users, BIM specialists and developers helps us focus the next steps on real drawing workflows.