bimkernel · 04

    Concepts · BCF · software

    Clash
    detection.

    Finding a thousand clashes is easy. The hard part is turning them into twenty decisions with an owner and a date.

    The problem

    Every clash is paid for once.

    In the model it costs moving a line. On site, demolishing, ordering another part and waiting.

    Same clash, two moments IN THE MODELON SITE move the linecut · order · wait
    Measured rework 0.4–0.8% of contract value · real data
    A case study 5029→ 13 clashes detected → real problems
    The main cause Working in silos each discipline in its own model, never cross-checked
    Definition

    Two objects, one place.

    A clash is a pair of elements that intersect, or that are closer than allowed.

    What the computer calculates A · beamB · ductpenetration pair (A, B)shared volumeclash point
    Always in pairsA×Bone element against another
    What is detectedGeometryonly what is modelled
    What is resolvedA problemwhich may have a hundred pairs
    Classification

    Hard, clearance and sequence.

    They intersect, get too close or clash in time. And a fourth case: the same object twice.

    01 · Hard They intersectthey occupy the same volume
    02 · Clearance Too closethey invade a clear space
    03 · Sequence They clash in timesame area, same week
    04 · Duplicate Twicesame object, same place
    Tolerance

    One number decides what is a clash.

    In a hard clash, the minimum penetration that counts. In a clearance clash, the free distance required. Same word, two meanings.

    Penetration · anything below is ignored ignoredclash0t1050100 mm t = test tolerance
    Early stage100mmrough coordination
    Developed design50mmsystems defined
    Detail25mmbefore fabrication
    Clearances

    What is not modelled does not clash.

    Insulation, maintenance, door swings, installation. If that space is not a volume, no test protects it.

    A piece of equipment and its clear space equipmentaccess zonepipe ≥ 1 m clear
    Modelled asVolumetransparent, not built
    InsulationThickerthan the pipe that carries it
    AccessEmpty spacein front of panels and equipment
    Level of development

    Detection needs a model that is ready.

    Generic boxes produce clashes that do not exist and miss the ones that do. Each stage has its level and its test.

    Generic box Over-clashesthe volume is not the real one
    Measurable interface Clashes just rightshape, size and position
    Reference level350interfaces with adjacent elements
    Going up one level×2–11modelling effort
    Organisation

    Not everything against everything.

    A matrix decides which disciplines are tested against each other, with what type of test and what tolerance.

    Half a matrix · each cell is a test STRDRNHVACPLBELEARCSTRDRNHVACPLB D·25D·25D·10D·25H·50D·25D·25D·10D·25D·25D·25D·25—H·50H·100
    Disciplines6= 15 pairs + 6 against themselves
    CellType · toleranceH hard, C clearance, in mm
    Goes inThe execution plansigned before the first test
    What goes wrong

    Thousands of clashes, few real ones.

    Up to six in ten results are not problems: parts that touch on purpose, duplicates and uncleaned models.

    100 results from one test ■ 60 false positives■ 40 to review
    False positives60%up to · 36 562 clashes analysed
    Where the noise comes from
    Intended contactDuplicatesLow toleranceEverything against everythingModel not fit for purposeTemporary elements
    Grouping

    One problem, a hundred clashes.

    A badly routed duct clashes with every beam it crosses. Group by element, level, zone or system and decide once.

    One duct, six beams, one group 6 clashes= 1 issue
    A real case5029clashes → 13 groups
    Grouping criteria
    By element·By level·By zone or grid·By system·By owner
    Priority

    Whoever can move, moves.

    Large, permanent and gravity-driven elements have right of way. Flexible ones are rerouted. Agreeing this beforehand avoids arguing over every clash.

    Usual right-of-way order
    1Structure
    2Drainage
    3Ducts
    4Pipes
    5Cable trays
    6Cables
    Why gravity rules 30 cm1.5 % over 20 m a detour breaks the fall
    The general ruleThe larger or more permanent, the more right of way
    Issue

    A clash is not a task.

    It becomes an issue once it carries a view, elements, an owner, a date and a status. That is how it travels between teams.

    An issue card camera #0142 · Duct crosses beam L2 Elements2 · by their ID OwnerHVAC Due date14/11 PriorityHigh OPEN snapshot + viewpoint 3 comments
    Routine

    Federate, detect, decide, repeat.

    A fixed cycle, with a meeting: detect, group, assign, fix in the source model and test again.

    El ciclo FEDERATE DETECT GROUP ASSIGN FIX VERIFY meeting
    Typical cadence1weekor every model delivery
    Fixed inThe source modelnever in the federated one
    Closed whenThe test no longer finds itand someone checks it
    ISO 19650

    Each team, its own container.

    The standard does not say how to detect. It says how the model is split, who delivers each part and who coordinates the whole.

    Federation strategy ARCSTRMEP FEDERATEDread-only task teams · containerscoordinated by the leadappointed party
    Delivery planTIDP → MIDPwhat each team delivers and when
    ISO 19650-1 and -2Federationstrategy and breakdown into containers
    Under revision · 202619650-2 + 19650-3part 3 becomes guidance; not yet published
    Example · Spain

    3D coordination is already mandatory.

    The Spanish central government's BIM Plan defines it as detecting and resolving collisions, and requires it in levels.

    BIM Plan · levels and dates 01/04/2024Initial3D coordination 01/10/2025Intermediate · mandatory≥ €5.382 M in the Order 01/10/2027AdvancedBCF or equivalent
    Order PCM/818/2023“Detection and resolution of collisions”
    What it does not setTolerances or matrixleft to the execution plan
    BCF · buildingSMART

    The issues travel, not the model.

    BCF is an open format for commenting on models: view, snapshot and flagged elements. The model stays where it is.

    Two routes for an issue COORDINATEdetects AUTHORINGfixes .bcf BCF API · server file above · connection below
    Programs with BCF110+according to buildingSMART
    Flags elements byGlobalId IFCthe same in every program
    Started in2009first version published in 2011
    BCF 3.0 · the file

    A zip with one folder per topic.

    Each issue carries its record, its views and its snapshots. The root says which statuses and types are allowed.

    Contents of issues.bcf issues.bcf bcf.version extensions.xmlstatuses, types, labels project.bcfpoptional documents.xmloptional · 3.0 a3f0…e91c/topic GUID markup.bcftitle, status, comments viewpoint.bcfvcamera, elements, clipping snapshot.png≈ 1500 px recommended
    MandatoryType and statusthe rest optional
    Topic fields
    TopicTypeTopicStatusPriorityAssignedToDueDateLabelsStage
    Versions

    2.1 still rules.

    3.0 tidies up statuses and types and separates authentication. But many tools only read 2.1: set it in the execution plan.

    From file to service 20092011201420172021 start1.02.02.1 + API3.0 .bcf (formerly .bcfzip)OpenCDE
    Tools on 2.1Still manysome only import 2.1
    RuleOne versionthe same across the project
    IFC · GlobalId

    22 characters that must not change.

    The issue flags elements by their IFC identifier. If the element is deleted and redrawn, the issue points to nothing.

    A GlobalId 2O2Fr$t4X7Zf8NOew3FLOH 128 bits in 22 characters · 0-9 A-Z a-z _ $
    Export again It is kept
    Delete and redraw The link is lost
    Revit · Interference Check

    For checking your own work.

    Compares categories of the model and of a link. No tolerance, no rules and no saved tests: useful before delivering, not for coordinating.

    Revit · pathCollaborate › CoordinateInterference Check
    What it has and what it lacks
    • Hard intersections
    • HTML report
    No toleranceNo clearanceNo history
    Pitfall“Refresh”only rechecks the clashes in the report; it does not look for new ones
    For BCFAdd-inBCF Manager or another manager
    Solibri · rules

    The clash as a rule.

    There is no detect button: there are parametric rules on the IFC, with tolerances per component and a matrix edited in Excel.

    Rule 1General Intersectionhard, inside and duplicate
    Rule 222Component Distanceminimum or maximum distance
    Rule 226Free Area in Frontfree volume in front
    Rule 245 · since 24.5Clash Detection Matrixtolerance and severity per cell
    Minimum licenceEssentialStarter does not detect
    BCFNativefile and live connection
    Authoring programs

    Almost all detect something.

    They are for cleaning your own model before delivering it. Names, tolerances and BCF support vary.

    ArchicadCollision Detectionvolume and surface tolerance
    TeklaClash checkdistance −500 to 500 mm
    Allplan · BimplusClash detection10 mm by default
    BricsCADINTERFEREtwo sets or one
    BentleyClash Detectionjobs with suppression rules
    VectorworksBCF Managerown detection To be confirmed
    On IFC

    Detecting without the source program.

    IFC viewers and open tools cross-check models from any source, group results and export BCF.

    IfcClash · IfcOpenShell
    intersectioncollisionclearance
    automatic grouping by proximity · BCF
    BIMcollab Zoom · tolerance axis-aligned boxes: they oversize sloping elements
    BonsaiFreeIfcClash inside Blender
    LimitBCF 2.1IfcClash 0.8 does not write 3.0 yet
    Common data environment

    Detect on publish.

    In the cloud, the test runs by itself every time a new version arrives. You gain consistency and lose fine control.

    Publish = test again v12v08v21 CDE 218 automatic detection
    Autodesk FormaModel Coordi­nationformerly ACC · since March 2026
    What you gainAlways up to datenobody forgets to run the test
    What you loseTolerance and clearancethe “tolerance” is an after-the-fact filter; no clearance Inferred
    Comparison

    Some detect, others manage.

    Some platforms compute clashes and others only receive issues. What they should all speak is BCF.

    ReviztoDetectsscheduled tests
    Trimble ConnectDetectsfrom the desktop
    DaluxDetectsgeometry and properties
    AconexDetectsreruns on update
    Catenda HubManagesBCF API 2.1 and 3.0
    ProcoreManagesonly imports BCF 2.1
    The journey

    From viewer to model, and back.

    The coordinator marks the issue in the federated model. The author opens it in their program, which jumps to the elements by GlobalId, fixes and replies.

    Four steps, two programs COORDINATION1 detect4 verifyAUTHORING2 locate3 fix BCF · open BCF · resolved + the fixed model is republished and refederated
    In the authoring programA BCF managernative or add-in
    The keyStable GlobalIdstored in the native model
    BCF API · OpenCDE

    No files to send.

    With the API, every program reads and writes the issues on one shared server. No BCF versions circulating by email.

    One server, many clients SERVER/bcf/3.0 coordinationauthoring 1site viewerauthoring 2
    Before the APIFoundation APIidentity and versions
    API 3.0 resources
    projectstopicscommentsviewpointsdocumentsevents
    Errors

    What does not reach the other side.

    Each program reads a BCF in its own way. Before the first meeting, test a round trip with the project's actual programs.

    01Elementsif the GlobalId changes
    02Version3.0 where only 2.1 is read
    03Custom fieldsonly the standard travels
    04Sections and coloursplanes nobody asked for
    052D viewsno GlobalId, they do not travel
    06Different originthe camera points elsewhere
    Quality control

    First, a model fit for purpose.

    Running detection on an uncleaned model manufactures noise. Five prior checks, which an IDS can automate.

    Before every test
    • Same shared coordinates
    • Stable units and GlobalId
    • No duplicates
    • Systems and classification filled in
    • Insulation and clearances modelled
    IDS · buildingSMART1.0final standard since June 2024
    Why it mattersRules and grouping read properties: if they are empty, the test cannot tell anything apart
    Measure

    The curve has to come down.

    Open issues per discipline and average time to close, week by week. The total number of clashes only measures noise.

    Open issues per week · example W1W4W7W106020 fictitious data
    What mattersDays to closeper assignee
    UsefulOpen per disciplineand overdue
    MisleadingTotal clashesdepends on the tolerance
    Verification

    “Resolved” is not “fixed”.

    A clash disappears if it is fixed, but also if the element is deleted or the test selection changes. Someone has to look.

    Disappears becauseIt was fixedgood
    Disappears becauseIt was deletedcheck
    Disappears becauseIt left the testcheck
    Closing in two steps
    The author marks it resolved→New federated version→The test no longer finds it→The coordinator closes it
    With what

    From your own model to the federated one.

    Each level has its tool. An error caught upstream does not travel to everyone else.

    01 · My modelAuthoringinternal clashes
    02 · My IFCIDSdata the rules need
    03 · The wholeMatrixtests between disciplines
    IfcTesterFree IDSHTML or BCF report
    Solibri · BIMcollab ZoomIDS + clashesin the same IFC viewer
    In summary

    Four rules.

    01One matrixwhat against what, and with what tolerance
    02One group, one ownerissues, not clashes
    03One BCFsame version and stable GlobalId
    04One closureverified in the new model