Table of Contents

Class IfcClashGrouper

Namespace
IfcIO.Clash
Assembly
IfcIO.dll

Provides intelligent grouping and spatial clustering algorithms for IFC clash detection results, bundling collisions by 3D proximity, primary MEP/structural element, building storey, or grid intersection.

public static class IfcClashGrouper

Inheritance

Inherited Members

Methods

GroupByGrid(IfcClashReport, string, int)

Groups clashes by structural grid location (e.g. "A / 1", "B / 4").

public static int GroupByGrid(this IfcClashReport report, string groupPrefix = "Grid", int minGroupSize = 2)

Parameters

report IfcClashReport
groupPrefix string
minGroupSize int

Returns

int

GroupByPrimaryElement(IfcClashReport, string, int)

Groups clashes by primary element (ElementA), bundling collisions involving the same MEP run or structural beam.

public static int GroupByPrimaryElement(this IfcClashReport report, string groupPrefix = "Element", int minGroupSize = 2)

Parameters

report IfcClashReport
groupPrefix string
minGroupSize int

Returns

int

GroupByProximity(IfcClashReport, double, string, int)

Groups clashes by spatial 3D proximity using a Disjoint-Set (Union-Find) clustering algorithm.

public static int GroupByProximity(this IfcClashReport report, double clusterDistance = 1, string groupPrefix = "Cluster", int minGroupSize = 2)

Parameters

report IfcClashReport
clusterDistance double
groupPrefix string
minGroupSize int

Returns

int

GroupByStorey(IfcClashReport, IfcModel?, string, int)

Groups clashes by building storey / level.

public static int GroupByStorey(this IfcClashReport report, IfcModel? model = null, string groupPrefix = "Storey", int minGroupSize = 2)

Parameters

report IfcClashReport
model IfcModel?
groupPrefix string
minGroupSize int

Returns

int

UngroupAll(IfcClashReport)

Dissolves all groups in the report, returning their clashes back to the unbundled list.

public static int UngroupAll(this IfcClashReport report)

Parameters

report IfcClashReport

Returns

int