What problem is StructMatch trying to solve?
A BIM model can contain a large amount of information. Properties, classifications, materials, object names, quantities, relationships, and many other attributes may all change between two IFC files.
But during many structural coordination tasks, the question is much simpler:
Are the structural members still where they are supposed to be, and do they still have the intended geometry?
For example:
- Did a beam section change?
- Was a column moved horizontally?
- Did the elevation of a beam change?
- Was a brace shortened or rotated?
- Was a structural member added or removed?
A general BIM comparison may report many other differences that are technically correct but irrelevant to this particular review. StructMatch intentionally narrows the problem and focuses on structural member geometry.
What does “same design intent” mean?
Two models do not need to contain identical digital objects in order to describe the same structure.
A beam in one model and a beam in another may have different IFC representations, different object names, different internal IDs, or even different ways of being divided into objects.
What matters from a structural coordination perspective is often whether they are intended to represent the same physical member.
Consider a beam connecting the same two columns in two models. If both beams have the same section, location, elevation, length, and orientation, they likely represent the same structural design intent even if their underlying IFC data is not identical.
StructMatch therefore focuses on the structural meaning expressed through member geometry rather than requiring the two IFC files to have identical internal data structures.
What does StructMatch compare?
StructMatch currently focuses on common structural framing members such as columns, beams, and braces.
Section
Has the member size or profile changed? For example, an RC beam may change from 400 × 700 mm to 500 × 700 mm, or a steel beam may change to another H-section.
Length
Has the member become longer or shorter? This can reveal changes in span, support position, member splitting, or model geometry.
Horizontal position
Has a beam or column moved in plan? Small offsets can be difficult to identify when reviewing two large models manually.
Elevation
Has the member moved vertically? This is useful when checking beam elevations, floor-to-floor changes, or coordination with architectural requirements.
Orientation
Has a member rotated or changed direction? This is especially relevant for sloped beams, braces, and other non-orthogonal members.
Added or removed members
If no corresponding member is found in the other model, the element may represent a member that exists only in one version or one model.
The goal is not to describe every difference stored inside an IFC file. The goal is to make structural geometry changes easier to see.
How does StructMatch know which members should be compared?
Before two members can be compared, the system first needs to determine which members correspond to each other.
When two IFC files come from the same model history, GUID can be a very useful identifier. A member may move, change section, or change length while keeping the same GUID.
However, GUID cannot always establish correspondence. Models may be created independently in different software, rebuilt by different teams, or exported through workflows where object identities are no longer shared.
In those situations, StructMatch can establish correspondence using geometry instead. It analyzes the geometric relationship between structural members, including their centerlines, relative positions, orientation, overlap, and surrounding geometry.
This allows the matching process to work without requiring shared object names or shared GUIDs.
It can also accommodate situations where the same design intent is represented differently, such as:
- One beam matched to one beam
- One member matched to several shorter members
- Several members matched to one continuous member
The detailed geometry-matching process is discussed separately in How Does StructMatch Match Structural Members Without GUID?
When is this type of comparison useful?
StructMatch is not tied to one specific software combination. It is useful whenever two IFC models are expected to describe the same structural framing and you want to know whether their member geometry is consistent.
1. Comparing two versions of a structural model
A structural model changes throughout design. Between two IFC versions, you may want to identify which beams, columns, or braces were added, removed, moved, resized, shortened, or otherwise modified.
Instead of reviewing every BIM property change, StructMatch keeps the comparison focused on structural geometry.
2. ETABS or SAP2000 ↔ Revit
Structural engineers often use analysis software such as ETABS or SAP2000 alongside a BIM or documentation model in Revit. These models serve different purposes and may not always remain perfectly synchronized.
Comparing their IFC exports can help identify beam or column section changes, members that exist in only one model, horizontal position differences, elevation differences, and changes in length or orientation.
The purpose is not to make the analysis model and BIM model identical. It is to identify differences that may affect the intended structural layout.
3. Architecture ↔ Structure
In some workflows, both architectural and structural models contain structural framing geometry.
A comparison can help identify places where the two models no longer describe the same beam or column location, size, or elevation. This can be useful when structural geometry has been copied, referenced, rebuilt, or exchanged between different authoring environments.
4. Design ↔ Fabrication
A fabrication model may be developed separately from the design model. For structural steel workflows, for example, a design model and a fabrication model may represent the same framing system while containing very different object structures and levels of detail.
A structural-member-focused comparison can answer a simpler question: Does the main member geometry still agree with the design intent?
Connection plates, bolts, welds, and fabrication details may be intentionally different and do not necessarily need to become part of the comparison.
5. Any comparison where only structural framing geometry matters
Sometimes the software combination is not important. You may simply have two IFC files and want to know what changed in the structural frame.
Filtering the comparison down to beams, columns, and braces can make the result easier to review than a full-model difference report.
When is StructMatch not the right tool?
StructMatch is intentionally not designed to replace a complete BIM model checker.
If your main goal is to compare fire ratings, material properties, classification data, MEP objects, architectural finishes, property sets, detailed connection components, clash detection, or issue management, a general BIM coordination or model-checking platform will usually be more appropriate.
StructMatch makes a deliberate tradeoff: it gives up broad model coverage in order to keep structural geometry comparison focused and easier to interpret.
Why use IFC?
IFC provides a common exchange format between many BIM, structural analysis, and fabrication applications. That makes it possible to compare models without requiring both sides to use the same authoring software.
However, the same physical member may be represented differently depending on the exporting software, IFC version, modeling method, cuts, joins, and other geometry operations.
This is why StructMatch does not assume that identical IFC data is required. Instead, the comparison attempts to reconstruct the structural information needed for member-level checking—particularly the member axis and section—and uses that information as the basis for matching and comparison.