NativeBIM by NativeCAD

NativeBIM / Demos / Ask the model

NativeBIM by NativeCAD

IFC questions answered with the GlobalIds behind them

Every answer NativeBIM gives about a model names the elements it is based on, by GlobalId, with the property or attribute each one matched. Here are 6 plain questions put to the generated warehouse model.

What runs today: the selector query language in the core library, the same code the query tool calls (bim_query is registered in this build). The questions below were translated to selectors by hand and run by a committed script on . The grammar is in docs/QUERY.md.

The questions

“How many dock doors are there, and which ones?”
IfcDoor, Name=/DK-/107 matches
GlobalIdClassNameMatched on
3fppB9fUbTR82q7YLwqGiAIfcDoorDK-001class IfcDoor; Name = DK-001
0REIoSI5PLjf6lPn0YQxV9IfcDoorDK-002class IfcDoor; Name = DK-002
26IZXXivzHmx$hhRpvGrahIfcDoorDK-003class IfcDoor; Name = DK-003
34nk_7MfzT0B5jtVYYmVm$IfcDoorDK-004class IfcDoor; Name = DK-004
07W5_tB45IZ9o9z1kvO7X0IfcDoorDK-005class IfcDoor; Name = DK-005
3BledKesvIr8TfXTullJBkIfcDoorDK-006class IfcDoor; Name = DK-006

Showing 6 of 107; the full answer lists every GlobalId. Captured with docs/launch/site/capture.js (method).

“Which doors are marked as external?”
IfcDoor, Pset_DoorCommon.IsExternal=TRUE117 matches
GlobalIdClassNameMatched on
1BV9HtHDnOlBFnG_NIMBXXIfcDoorGD-01class IfcDoor; Pset_DoorCommon.IsExternal = true
2LOZssN1XQkhlvLwY7IzXhIfcDoorGD-02class IfcDoor; Pset_DoorCommon.IsExternal = true
3fppB9fUbTR82q7YLwqGiAIfcDoorDK-001class IfcDoor; Pset_DoorCommon.IsExternal = true
0REIoSI5PLjf6lPn0YQxV9IfcDoorDK-002class IfcDoor; Pset_DoorCommon.IsExternal = true
26IZXXivzHmx$hhRpvGrahIfcDoorDK-003class IfcDoor; Pset_DoorCommon.IsExternal = true
34nk_7MfzT0B5jtVYYmVm$IfcDoorDK-004class IfcDoor; Pset_DoorCommon.IsExternal = true

Showing 6 of 117; the full answer lists every GlobalId. Captured with docs/launch/site/capture.js (method).

“Where is the office?”
IfcSpace, LongName="Office"1 match
GlobalIdClassNameMatched on
3EPXPjggjUIxc2YOvQNxIbIfcSpace101class IfcSpace; LongName = Office
“Which spaces are paving outside the building?”
IfcSpace, PredefinedType=PARKING + IfcSpace, PredefinedType=EXTERNAL2 matches
GlobalIdClassNameMatched on
0SdOMxy9TGfR9Zb3hZX7y1IfcSpaceTC-rearclass IfcSpace; PredefinedType = EXTERNAL
0LXFMqPC5HMfZxokjv2J5pIfcSpaceCF-frontclass IfcSpace; PredefinedType = PARKING
“Which columns are steel tube sections?”
IfcColumn, type=/HSS/145 matches
GlobalIdClassNameMatched on
3U4Y1zfHHSxer334rzMGiPIfcColumnC-2/Bclass IfcColumn; type HSS8X8X3/8 column
2oFWXSHcfHdf1sBGpwd$p9IfcColumnC-2/Cclass IfcColumn; type HSS8X8X3/8 column
02r3$mvQnN3uHaFYCSfH$cIfcColumnC-2/Dclass IfcColumn; type HSS8X8X3/8 column
1KD2hUCTnTjBJAdEjX9YdAIfcColumnC-2/Eclass IfcColumn; type HSS8X8X3/8 column
3eEuiFzNXR3gLgX7rukvrHIfcColumnC-2/Fclass IfcColumn; type HSS8X8X3/8 column
0BYVKym$zPDfnizf6bMcngIfcColumnC-3/Bclass IfcColumn; type HSS8X8X3/8 column

Showing 6 of 145; the full answer lists every GlobalId. Captured with docs/launch/site/capture.js (method).

“List the tilt-up exterior walls.”
IfcWall, Name=/Tilt-up/4 matches
GlobalIdClassNameMatched on
2i_QPVqyzP7exd2aWeIZxLIfcWallTilt-up frontclass IfcWall; Name = Tilt-up front
294IJfshPOiv95MkiwwrdWIfcWallTilt-up rightclass IfcWall; Name = Tilt-up right
3AxnBbnpvQKuiDkMniH9S0IfcWallTilt-up rearclass IfcWall; Name = Tilt-up rear
0Uezx7rd5Hn9S9PJBLiF9dIfcWallTilt-up leftclass IfcWall; Name = Tilt-up left

How an answer is built

  1. The model is read from its IFC file into the model graph. Nothing is sent anywhere to answer a question.
  2. A selector picks elements by class (subtypes included), attribute, property, type, material, classification or location.
  3. Each result carries its GlobalId and the evidence: which facet matched, on which value, from which property set or type.
  4. An assistant quotes the GlobalIds with the answer, so you can check any element in the viewer or in your own tools.

Reproduce it

node docs/launch/site/capture.js

The model is the one on the warehouse check page, built with a fixed seed, so the GlobalIds above are stable.

Notices

NativeBIM is licensed software. It does not provide design, engineering or other professional services. Outputs are drafts for review by the licensed professional of record.

NativeBIM is not affiliated with, endorsed by or sponsored by the companies and organizations named here. Product names and marks belong to their owners.

NativeBIM is provided as is, without warranty of any kind. To the extent the law allows, FeatureBoard Labs Incorporated is not liable for indirect, incidental or consequential damages, lost profits or lost data, and its total liability is limited to the license fees paid in the 12 months before the claim. Read the license.