Rasterex APINPM Package/docs/workflows/bim/overview

BIM Workflow

Build an NPM SDK BIM review workspace with a model rail, grouped toolbar controls, quick visual controls, and selected-part inspection.

Workflow Goal

This workflow matches the BIM collaboration demo layout: operators choose a model from the host application, work in a central Canvas area, use a compact grouped toolbar, and read selected-part details in a side panel. The host uses NPM SDK calls and events; it does not expose the demo’s PostMessage contract.

Workspace Design

Use a stable application shell rather than placing every control over the model. Keep the central Canvas workspace unobstructed for inspection and selection.

  • Left rail: project navigation, available model files, active-model indication, and an explicit Open action.
  • Top toolbar: a general action zone, a centered Tools zone, and a Navigation zone aligned to the opposite edge.
  • Tools zone: part selection, markup selection, hide-parts, explode, cross section, and transparency.
  • Navigation zone: walkthrough and reset.
  • Quick-control popovers: labelled explode, transparency, and cross-section controls; cross section also exposes the active X, Y, or Z axis.
  • Side inspector: model readiness, current mode, and selected-part details without covering Canvas.

Workflow Order

Gate the entire BIM toolbar on the active 3D model, then update the UI from documented NPM results and selection events.

  • 1Render the selected model as opening after the user chooses it from the file rail.
  • 2Mount the viewer, wait for viewer.ready(), and open the selected model.
  • 3Enable BIM toolbar controls only after the host has confirmed that the active document is 3D.
  • 4Subscribe to partSelected and selectionCleared before enabling part selection.
  • 5Open a quick-control popover only for its related visual control and keep its prior confirmed value during a pending command.
  • 6Populate the inspector from partSelected; clear it only from selectionCleared.
  • 7On route exit, unsubscribe listeners and destroy the viewer.

State And Interaction Rules

A toolbar click requests a 3D change; it does not prove that the change was applied. Keep requested, pending, and confirmed state distinct in the host UI.

  • Disable all BIM controls while no model is active, while the model is opening, and while the active document is not 3D.
  • Use explicit enabled values for mode buttons and preserve the last confirmed mode if a command fails.
  • Keep a quick-control popover associated with its trigger through aria-expanded and an accessible dialog label.
  • Show the control value, its scope, and selected axis in text, not only through visual position.
  • Do not invent selected-part fields; render only data supplied by the NPM partSelected event.
  • Do not clear part details after reset unless selectionCleared arrives.

Workflow Pages

Use these pages to implement and verify the NPM BIM workspace.