ReadonlyvirtualThe virtual-feature selection every query of this client sends by default; change it with Bim.setVirtualFeatures
The clashes between the objects of two BQL conditions on two versions (task CalculateClashes2, the
pure-Java detector). Resolves to the pairs (each with qid1, qid2 and the detector's verdict: kind,
tier, depth), or with options.with_stats to {clashes: [...], stats: {...}}.
Optionaloptions: {Optionalmargin_mm?: numberthe predicate's margin in mm (default: the instance's tolerance for the predicate)
Optionalpredicate?: "INTERSECTS" | "TOUCHES" | "CONTAINS" | "CONTAINED_IN"INTERSECTS (default), TOUCHES, CONTAINS or CONTAINED_IN
Optionalwith_stats?: booleanalso return the run's counters (candidates, tiers, broad phase, time)
Re-run the discipline classifier for the Version's model content. Applies the result to the version unless its discipline was set by a user. Returns the classification badge.
the Vid of the Version
A full export of the versions; resolves with its download URL
Get the discipline of the given Version. Fails with NO_DISCIPLINE when none is set.
the Vid of the Version
The stored automatic discipline classification of the Version's model content — scores, tags and the evidence breakdown. Fails with NO_DISCIPLINE when none is stored.
the Vid of the Version
List all available disciplines, in enum order: the name, the display name and the umbrella value it specializes (null for a top-level value). A filter on an umbrella value matches its descendants.
Using "any" on purpose here, otherwise crazy casting required
Query one or more model versions. Records follow the GET columns; dotted features are nested objects.
One or more version UUIDs
The query (BQL) to execute
OptionaluseCache: boolean | BimQueryOptionsWhether the results should internally be cached so that future calls to the same query+models are faster. Defaults to false. Use this judiciously as the results are cached in memory until the BimWorksClient is closed
OptionalforceGetQid: booleanQueries without a GET statement will automatically returns Qids only, but BQL with a GET statement does not. Setting this parameter to true (default: false) forces Qids to be returned even when not included in the GET statement
Optionalparameters: Record<string, unknown>A Promise that resolves to the query results, currently untyped.
As Bim.query, but returns the Task instead of running it, so progress and error handlers can be attached first. The task's success handler receives the result objects.
BQL text, or a parsed query (see QueryHelper)
OptionaluseCache: booleanOptionalforceGetQid: booleanOptionalparameters: Record<string, unknown> | nullCount the objects a query matches without retrieving the records.
One or more version UUIDs
BQL query; a grouped query counts groups
OptionaluseCache: booleanReserved compatibility argument; this method does not cache results
Optionalparameters: Record<string, unknown>Named BQL parameter values, without the leading dollar sign
The count returned by the QueryCount task
One slice of a grouped query (GROUP BY slice mode): the groups below the addressed group, or, when the path names a leaf group, its member objects.
A group is addressed by groupKeys (the groupKey every slice record carries; keeps its meaning when the set of models changes) or by groupPath (indices into each level's sorted groups; only valid for one set of models). Without either: the first level.
The Vids of the models that you want to query
A BQL query with a GROUP BY
Optionaloptions: {A Promise of {groupLevel, groups, objects}, one of groups and objects being null
As Bim.queryGroups with a group path, returning the Task; its success handler receives {groupPath, groupLevel, groups, objects}
OptionalforceGetQid: booleanThe objects a query matches as bare ids, without a record being written or parsed: the cheap way to get the members of something large.
The query is a plain one (no aggregate, no ORDER BY), or a grouped one with groupKeys / groupPath addressing a group at any level: its members.
The Vids of the models that you want to query
The query to execute
Optionaloptions: {A Promise of a Map of version uuid to the ascending oids of that version
Specialized (and optimized) call to execute a query and get the results as a QidSet. Regardless of any GET statements that are included in the BQL query, only Qids will be retrieved
The Vids of the models that you want to query
The query to execute
OptionaluseCache: booleanWhether the results should internally be cached so that future calls to the same query+models are faster. Defaults to false. Use this judiciously as the results are cached in memory until the BimWorksClient is closed
A Promise that resolves to a QidSet
As Bim.queryQids, returning the Task; its success handler receives a QidSet
Optionalparameters: Record<string, unknown> | nullSet the discipline of the given Version
the Vid of the Version
The new discipline, or null to clear it
Set the multi-label disciplines of the given Version. The first entry becomes the primary; an empty array clears all discipline fields.
the Vid of the Version
The disciplines, primary first
Sets the default virtual-feature selection ("enabled", "none", uuids, ...); cached query results are dropped
Validate a BQL query without running it
A Promise that fails with the error (SYNTAX_ERROR, with line and column) when the query does not parse, and otherwise resolves to
the validator's warnings and errors about it (an IFC class in the wrong case, an unknown attribute, ...); messages is empty for a clean query
API Namespace BIM is used for BIM related API calls.