The Property Analysis module equips BIM managers, lead information managers, and digital twin engineers with deep diagnostic tools. While rule templates automate statutory checks, custom project requirements often require ad-hoc queries, aspect verification, and statistical distributions across millions of model properties.
The module provides an interactive ECSQL query workbench with query validation, syntax safety guards, dynamic result tables, and instant CSV/JSON exports.
The query console communicates directly with the live Bentley iModel repository over high-performance RPC endpoints.
Unquoted ECInstanceId Literals:
In ECSQL, ECInstanceId and foreign navigation IDs are 64-bit integer values. Always write unquoted hex literals:
-- Correct:
WHERE ECInstanceId = 0x200000010f2
-- Incorrect (fails to match):
WHERE ECInstanceId = '0x200000010f2'
Schema.Class Dot Delimiters:
Always pass 's.c' into ec_className to obtain standard schema dot notation:
SELECT ECInstanceId, ec_className(ECClassId, 's.c') AS ClassName, UserLabel FROM bis.Element
Avoid SELECT *:
Specify exact columns to avoid transferring heavy 3D geometry blobs over the network.
SELECT
d.ECInstanceId,
d.UserLabel,
d.OverallWidth,
d.OverallHeight,
ec_className(d.ECClassId, 's.c') AS ClassName
FROM
bis.GeometricElement3d d
WHERE
ec_className(d.ECClassId, 's.c') LIKE '%Door%'
OR d.UserLabel LIKE '%Door%'
SELECT
s.ECInstanceId,
s.UserLabel AS StoreyName,
s.Elevation
FROM
bis.BuildingStorey s
ORDER BY
s.Elevation ASC
SELECT
aspect.ECInstanceId AS AspectId,
aspect.Element.Id AS ElementId,
aspect.AuditStatus,
aspect.RuleId,
aspect.DefectReason,
aspect.LastEvaluated
FROM
IFCDynamic.Pset_BIMChecker_ExecutionAudit aspect
ORDER BY
aspect.LastEvaluated DESC
ECInstanceId within the analysis grid to locate the physical asset in the 3D viewport.