The Harvesting Engine executes data extraction, spatial tier resolution, system membership joining, classification parsing, and quality issue registration across digital twin iModels.
Harvesting processes raw iModel element records according to your active Unified Asset Configuration, producing normalized asset records, multi-breakdown trees (LBS, SBS, CBS, WBS), and a federated data quality register.
The engine supports two execution targets:

CLIENT_BROWSER) — RecommendedBACKEND_SERVICE)spa-xxxxxxxx-xxxx-xxxx-xxxx).To ensure high performance across large digital twin models containing hundreds of thousands of elements, harvesting utilizes configurable chunking parameters:
chunkSize: Default batch size (e.g. 500 records per chunk).During extraction, every physical element and relationship node is evaluated against unified data quality rules:
| Validation Rule | Config Parameter | Severity | Description |
|---|---|---|---|
| Orphan Spatial Level | flagOrphanLevels |
WARNING / INFO |
Space element missing a parent storey reference, or physical asset missing a space pointer. |
| Blank Identifiers | flagBlankIdentifiers |
WARNING |
Element has an empty or null UserLabel or canonical unique identifier (UAID). |
| Multiple System Parents | flagMultipleParents |
WARNING |
Physical asset linked to multiple bis.PhysicalSystem containers. |
| Placeholder Values | flagPlaceholders |
WARNING |
Asset tag or code matches disallowed placeholder strings (TBC, TBD, N/A, TEMP). |
| Duplicate Federated Definitions | flagDuplicateFederatedDefinitions |
WARNING |
Asset defined in multiple discipline models across federated IFC files. |
Extracted anomalies are compiled into the Data Quality & Federated Issues Register with target element instance IDs, ECClasses, issue types, and status tracking (OPEN, IN_REVIEW, RESOLVED, IGNORED).
Publishing harvested results commits extracted breakdown structures and asset records to central PostgreSQL storage and updates materialized ltree spatial path indexes.
Because central publishing incurs backend database storage and compute operations, the application enforces an explicit Cost Pause & Entitlement Confirmation:

14.25 MB) and transmission chunk count.Client Browser or Registered Backend iTwin Service Account).Harvesting Status: RUNNING, processed assets, issues logged).Harvesting Status: COMPLETED), review the generated LBS, SBS, CBS, and WBS breakdown trees.| Symptom | Cause / Remedy |
|---|---|
| Harvesting fails with network error | Client session token expired. Refresh the browser page to renew your Bentley iTwin API authentication. |
| Publish Index button is disabled | Confirm that your user license includes the Publish entitlement. |
| Extraction is slow on large iModels | Reduce the chunkSize in harvesting settings (e.g. from 1000 to 300) to optimize browser memory management. |