Skip to main content
Version: v5.1

FMV - Developer guide

Overview#

This developer guide is for the Federated Model View (FMV) feature. It demonstrates how to configure {{IafViewerDBM}} for federated projects (multi-model workspaces).

A workspace can contain multiple BIMPKs models, each typically representing one building. The viewer loads and displays these models based on {{modelComposition.defaultFederationType}}.

When GIS is enabled, it also uses {{gis.federatedMode}} to control how multiple models appear on the map.

Building blocks for Federated Model View projects#

The core components are:

  • View3D - 3D building visualization
  • View2D - 2D Plan/Sheet viewer
  • GIS - Mapbox geographical context

The modelComposition component determines which of the components above are loaded into the federated model.

View3D#

View3D props#

View3D supplies 3D building visualization and renders one or more BIMPK models.

PropTypePurpose
enablebooleanEnable/disable 3D viewer
opacitynumberEnables opacity with range of 0.0 to 1.0
displayModeenumSupports modes: FULLSCREEN, SPLIT, FIXED, DEFAULT
showToolbarbooleanShow/hide toolbar
renderingModeenumShaded (default), Wireframe, etc.
cameraobjectCamera position (for sync)
onCameraUpdateobject{ delayInMs, callback } - throttle and callback

View2D#

View2D props#

View2D supplies 2D visualization for 2D plans and sheet viewers.

PropTypePurpose
enablebooleanEnable/disable 2D viewer
fullscreenbooleanFull-screen mode
displayModeenumSupports modes: DEFAULT, SPLIT, FULLSCREEN, FIXED
showToolbarbooleanShow/hide toolbar
alignmentenumLEFT_TOP, LEFT_BOTTOM, RIGHT_TOP, RIGHT_BOTTOM
ordernumberLayout order
marginnumberLayout margin

GIS (Mapbox)#

GIS supplies geographic context. It overlays 3D models on a Mapbox-powered map at geo-locations.

GIS props#

PropTypePurpose
enablebooleanEnable/disable GIS
tokenstringMapbox access token (app-provided)
opacitynumberMap layer opacity (0.0 t0 1.0)
federatedModeenumNone, Outline, Dynamic, Markers
primaryModelIdstringReference model for alignment
elevationModeenumNone, QuickSurface, Underground, etc.
showMapMarkersbooleanShow location markers on map
onIafMapReady functionCallback when map ready (proxy access)
onFederatedModeChanged functionCallback when federated mode changes
onReferenceModelChangedfunctionCallback when primary model changes

modelComposition#

The modelComposition component determines which models are loaded. It feeds the View3D, View2D and GIS visualizatiions.

modelComposition props#

PropTypePurpose
defaultFederationTypestring"SingleModel" \ "Project" \ "MultiModel" (default: SingleModel)
initialobjectDisciplines: { Architectural: true, Structural: false, ... }
quality string'low' \ 'medium' \ 'high' - dynamic-loading eligibility

Resolved in this order:

{{props.settings}} → {{localStorage}} (iafviewer_settings) → {{props.modelComposition}} → PropertyStore default

Federation Type vs Federated Mode#

The Federation Type (modelComposition.defaultFederationType) controls which models are loaded.

ValueBehavior
SingleModel Only one model, determined by {{model}} and {{modelVersionId}} (default)
Project All models in the current workspace or namespace
MultiModel Custom model structure; not currently exposed

Federated Mode (gis.federatedMode)#

The Federated Mode (gis.federatedMode) controls how multiple models are displayed on the GIS map (when GIS is enabled).

ValueBehavior
NoneSingle model mode
OutlineModels rendered as GLTF layers
DynamicHybrid mode
MarkersLocation markers only, no 3D models

Note: {{primaryModelId}} sets the reference model. {{onFederatedModeChanged}} and {{onReferenceModelChanged}} are available callbacks.