All Collections
Integrations
VIM for Power BI
How to use VIM's custom Power BI Visual
How to use VIM's custom Power BI Visual

Tune the visual to suit your needs!

VIM avatar
Written by VIM
Updated over a week ago

Welcome to the user documentation the VIM Custom Power BI visual that enables interaction with Building Information Modeling (BIM) through WebGL. This powerful tool brings 3D capabilities to your data visualization, enabling efficient, real-time, interactive exploration of BIM models. This bi-directional tool empowers you to engage with your BIM models directly within Power BI, unlocking insights within your data like never before.



Fields

The required fields link the Power BI visual to your BIM data set. They set the foundation for your visual, enabling it to correctly index and display each element and its corresponding geometry.

The fields include:


Required fields

  • Element.Index: Set to Element/Index from the vim data set.

  • Vim.Url: Set to Vim/Url from the vim data set.

  • Node.Index: Set to Node/Index from the vim data set.

  • GeometryNodeJoining.Geometry: Set to GeometryNodeJoining/Geometry from the data set.

Optional Fields

The optional fields allow you to customize the visual rendering of your BIM model, giving you a greater depth of control over how your data is presented. These fields include settings for custom coloring and defining the 3D grid positions of elements.
​

  • Coloring: Set to a value you want to apply custom coloring to the model. Try it out with Category Id, or Level Height to see the effect.

  • Grid:

    • PositionX: Set to a value representing the element location. Usually Element/Location.X

    • PositionY: Set to a value representing the element location. Usually Element/Location.Y

    • PositionZ: Set to a value representing the element location. Usually Element/Location.Z

    • gridIndex: Set to a generated column representing the cell in which each element falls.

    • gridValue: Set to a computed column representing the value for each cell.


Options (Visual Formatting Tab)

The Visual Formatting Tab offers a suite of settings to control the appearance and interaction of the BIM model. It allows you to tailor the user experience, adjusting the level of detail, view modes, and even specific rendering options to match your project's requirements.

This section further divides into five subsections:

Data Options

Data options provide the ability to control how much and which parts of your BIM model data is loaded into the visual.

  • firstOnly: This option allows you to limit the visual to display only the first object of the current query, which can be useful for testing or managing large datasets.

  • selective: This experimental feature allows you to download only the necessary parts of the model, potentially reducing the load time for large models.

  • useFilterAsReference: This setting allows you to control the use of a ghost shader, a visual effect that can be used to highlight or de-emphasize certain elements in the view.

Viewer Options

Viewer options provide controls for how the BIM model is viewed and how it can be interacted with.

  • isolationMaterial: This allows you to choose whether to use a ghost shader to de-emphasize non-selected parts when the view is filtered.

  • isolationOpacity: This setting controls the opacity of the ghost shader, allowing you to adjust the visibility of non-selected parts.

  • groundPlane: You can choose whether to display a ground plane under the model.

  • canSelect: This option enables or disables the ability to select elements in the visual.

  • filterOnSelect: This setting decides whether the visual filters the report when an element is selected.

  • highlightObjects: Enabling this adds outlines to all visible objects, making them easier to identify.

  • orthographic: This enables the switch to an orthographic camera view, which can give a more schematic view of the model, eliminating the effects of perspective.

  • lockedMovement and lockedRotation: These settings allow you to lock movement and rotation around specific axes, giving you finer control over the view manipulation.

User Interface (UI) Options

UI Options allow you to customize the control bar and other visual elements of the interface. This allows you to tailor the interface to your needs, removing any unnecessary distractions and focusing on the tools that are most relevant to your analysis.

  • controlBarCursors, controlBarTools, controlBarSettings: These settings allow you to customize the control bar by showing or hiding the cursor section, the tools section, or the settings section.

  • logo: This allows you to choose whether to display the logo.

  • performance: This setting enables or disables the performance widget, which provides real-time feedback about the rendering performance.

  • bimTreePanel, bimTreeInfo: These options enable or disable the display of a BIM tree panel or BIM info panel on the left, respectively. We usually keep this off because PowerBI acts as it's own Tree view and information panels.

  • axesPanel: This setting controls the display of axes and a camera gizmo in the top-right corner, which can help with orienting the 3D view.

  • loadingBox: This enables or disables the display of a loading box, which gives visual feedback while the model is loading.

  • logPanel: This enables the display of a log panel, which can be helpful for debugging or monitoring data loading and processing activities.

Grid Options (preview)

The grid options is a research preview and allows the configuration of a 3D grid. We thinkg it could be a neat tool for seeing how dense content is within your BIM model. These settings control the size, scale, and center coordinates of your grid, enabling accurate and efficient spatial organization. It defaults to a 10' grid.

  • centerX: Defines the center of the grid X coordinate.

  • centerY: Defines the center of the grid Y coordinate.

  • centerZ: Defines the center of the grid Z coordinate.

  • sizeX: Defines the number of cells of the grid on the X axis.

  • sizeY: Defines the number of cells of the grid on the Y axis.

  • sizeZ: Defines the number of cells of the grid on the Z axis.

  • scaleX: Defines the size of a grid cell along the X axis.

  • scaleY: Defines the size of a grid cell along the Y axis.

  • scaleZ: Defines the size of a grid cell along the Z axis.

Coloring

In this section, you'll learn how to utilize the powerful coloring options of the visual, including Palette Mode and Interpolate Mode. These options offer a rich capability to apply distinct coloring schemes to your model based on specific data values, aiding in visual differentiation and data range visualization.
​

In Interpolate (like a gradient) mode, each element is colored according to the value of the data field Coloring and the result of interpolation defined by the fields in this section. This example shows Blue (-20), Green (25), and Yellow (100) coloring based on the Level height.


​

In palette mode, each element is colored according to the value of the data field Coloring and its corresponding value in the Color Map below. We used the BuiltInCategory column in Category - Instance Property table in the optional color field to make this work.

  • Mode: Either Palette or Interpolate.

  • Min Value: Defines the min value of the interpolation.

  • Min Color: Defines the color corresponding to the min value of the interpolation.

  • Mid Value: Defines the mid value of the interpolation.

  • Mid Color: Defines the color corresponding to the mid value of the interpolation.

  • Max Value: Defines the max value of the interpolation.

  • Max Color: Defines the color corresponding to the max value of the interpolation.

  • Color Map: Defines the color map for Palette Mode. The format is JSON.
    Example: {"Air Terminals": "#5E3C97", "Duct Fittings": "#BFB1D5"}.

Full list of Categories and colors used inthe Color Map field:
​It's in the PowerBI file, but here it is again if you need it.

{ "OST_FireProtection":"#37A6D6", "OST_PlumbingEquipment":"#37A6D6", "OST_PlumbingFixtures":"#37A6D6", "OST_FabricationPipeworkCenterLine":"#37A6D6", "OST_PipeCurvesCenterLine":"#37A6D6", "OST_FabricationPipeworkDrop":"#37A6D6", "OST_PipeCurvesDrop":"#37A6D6", "OST_FlexPipeCurves":"#37A6D6", "OST_PipeHydronicSeparationSymbols":"#37A6D6", "OST_FabricationPipeworkInsulation":"#37A6D6", "OST_FabricationPipework":"#37A6D6", "OST_FlexPipeCurvesPattern":"#37A6D6", "OST_PipeAccessory":"#37A6D6", "OST_PipeFitting":"#37A6D6", "OST_PipeInsulations":"#37A6D6", "OST_PlaceHolderPipes":"#37A6D6", "OST_PipeSegments":"#37A6D6", "OST_PipeCurves":"#37A6D6", "OST_FabricationPipeworkRise":"#37A6D6", "OST_Sprinklers":"#37A6D6", "OST_FabricationPipeworkSymbology":"#37A6D6", "OST_StairsCutMarksAboveCut":"#58667D", "OST_RailingHandRailAboveCut":"#58667D", "OST_StairsNosingLinesAboveCut":"#58667D", "OST_StairsOutlinesAboveCut":"#58667D", "OST_StairsRailingAboveCut":"#58667D", "OST_StairsRiserLinesAboveCut":"#58667D", "OST_StairsSupportsAboveCut":"#58667D", "OST_RailingTopRailAboveCut":"#58667D", "OST_StairsHiddenLines":"#58667D", "OST_Areas":"#58667D", "OST_StairsRailingBaluster":"#58667D", "OST_SitePointBoundary":"#58667D", "OST_Casework":"#58667D", "OST_Ceilings":"#58667D", "OST_RoomColorFill":"#58667D", "OST_AreaColorFill":"#58667D", "OST_ToposolidDefault":"#58667D", "OST_FloorsDefault":"#58667D", "OST_RoofsDefault":"#58667D", "OST_WallsDefault":"#58667D", "OST_CurtainWallPanels":"#58667D", "OST_CurtainGridsRoof":"#58667D", "OST_CurtaSystem":"#58667D", "OST_CurtainGridsWall":"#58667D", "OST_CurtainWallMullions":"#58667D", "OST_StairsCutMarks":"#58667D", "OST_ToposolidCutPattern":"#58667D", "OST_FloorsCutPattern":"#58667D", "OST_RoofsCutPattern":"#58667D", "OST_WallsCutPattern":"#58667D", "OST_DetailComponents":"#58667D", "OST_Doors":"#58667D", "OST_RampsDownArrow":"#58667D", "OST_RampsDownText":"#58667D", "OST_Entourage":"#58667D", "OST_Fascia":"#58667D", "OST_ToposolidFinish1":"#58667D", "OST_FloorsFinish1":"#58667D", "OST_RoofsFinish1":"#58667D", "OST_WallsFinish1":"#58667D", "OST_ToposolidFinish2":"#58667D", "OST_FloorsFinish2":"#58667D", "OST_RoofsFinish2":"#58667D", "OST_WallsFinish2":"#58667D", "OST_Floors":"#58667D", "OST_ToposolidFoldingLines":"#58667D", "OST_FloorsInteriorEdges":"#58667D", "OST_DoorsFrameMullionProjection":"#58667D", "OST_WindowsFrameMullionProjection":"#58667D", "OST_Furniture":"#58667D", "OST_FurnitureSystems":"#58667D", "OST_GenericModel":"#58667D", "OST_DoorsGlassProjection":"#58667D", "OST_WindowsGlassProjection":"#58667D", "OST_Gutter":"#58667D", "OST_RailingHandRail":"#58667D", "OST_Hardscape":"#58667D", "OST_RoofsInteriorEdges":"#58667D", "OST_AreaInteriorFillVisibility":"#58667D", "OST_RoomInteriorFillVisibility":"#58667D", "OST_SitePoint":"#58667D", "OST_CoordinateSystem":"#58667D", "OST_StairsLandings":"#58667D", "OST_MedicalEquipment":"#58667D", "OST_ToposolidMembrane":"#58667D", "OST_FloorsMembrane":"#58667D", "OST_RoofsMembrane":"#58667D", "OST_WallsMembrane":"#58667D", "OST_WallNonCoreLayer":"#58667D", "OST_StairsNosingLines":"#58667D", "OST_DoorsOpeningProjection":"#58667D", "OST_WindowsOpeningProjection":"#58667D", "OST_StairsOutlines":"#58667D", "OST_BuildingPad":"#58667D", "OST_DoorsPanelProjection":"#58667D", "OST_Parking":"#58667D", "OST_Parts":"#58667D", "OST_Planting":"#58667D", "OST_TopographyContours":"#58667D", "OST_ToposolidContours":"#58667D", "OST_ProjectBasePoint":"#58667D", "OST_SitePropertyLineSegment":"#58667D", "OST_SiteProperty":"#58667D", "OST_StairsRailing":"#58667D", "OST_StairsRailingRail":"#58667D", "OST_Ramps":"#58667D", "OST_RampsAboveCut":"#58667D", "OST_SWallRectOpening":"#58667D", "OST_AreaReferenceVisibility":"#58667D", "OST_RoomReferenceVisibility":"#58667D", "OST_Reveals":"#58667D", "OST_StairsRiserLines":"#58667D", "OST_Roads":"#58667D", "OST_RoofSoffit":"#58667D", "OST_Roofs":"#58667D", "OST_Rooms":"#58667D", "OST_StairsRuns":"#58667D", "OST_SecondaryTopographyContours":"#58667D", "OST_ToposolidSecondaryContours":"#58667D", "OST_ShaftOpening":"#58667D", "OST_Signage":"#58667D", "OST_WindowsSillHeadProjection":"#58667D", "OST_Site":"#58667D", "OST_EdgeSlab":"#58667D", "OST_SpecialityEquipment":"#58667D", "OST_ToposolidSplitLines":"#58667D", "OST_FloorsSplitLines":"#58667D", "OST_Stairs":"#58667D", "OST_RampsStringer":"#58667D", "OST_RampsStringerAboveCut":"#58667D", "OST_ToposolidStructure":"#58667D", "OST_FloorsStructure":"#58667D", "OST_RoofsStructure":"#58667D", "OST_WallsStructure":"#58667D", "OST_ToposolidSubstrate":"#58667D", "OST_FloorsSubstrate":"#58667D", "OST_RoofsSubstrate":"#58667D", "OST_WallsSubstrate":"#58667D", "OST_StairsSupports":"#58667D", "OST_RailingSupport":"#58667D", "OST_StairsStringerCarriage":"#58667D", "OST_ToposolidSurfacePattern":"#58667D", "OST_RoofsSurfacePattern":"#58667D", "OST_FloorsSurfacePattern":"#58667D", "OST_WallsSurfacePattern":"#58667D", "OST_SharedBasePoint":"#58667D", "OST_TemporaryStructure":"#58667D", "OST_RailingTermination":"#58667D", "OST_ToposolidInsulation":"#58667D", "OST_FloorsInsulation":"#58667D", "OST_RoofsInsulation":"#58667D", "OST_WallsInsulation":"#58667D", "OST_RailingTopRail":"#58667D", "OST_Topography":"#58667D", "OST_TopographyLink":"#58667D", "OST_Toposolid":"#58667D", "OST_ToposolidLink":"#58667D", "OST_StairsTrisers":"#58667D", "OST_TopographySurface":"#58667D", "OST_RampsUpArrow":"#58667D", "OST_RampsUpText":"#58667D", "OST_VerticalCirculation":"#58667D", "OST_Cornices":"#58667D", "OST_Walls":"#58667D", "OST_Windows":"#58667D", "OST_FoodServiceEquipment":"#714FAB", "OST_MechanicalControlDevices":"#714FAB", "OST_MechanicalEquipment":"#714FAB", "OST_DuctTerminal":"#714FAB", "OST_HVAC_Zones_Boundary":"#714FAB", "OST_FabricationDuctworkCenterLine":"#714FAB", "OST_FlexDuctCurvesCenterLine":"#714FAB", "OST_DuctCurvesCenterLine":"#714FAB", "OST_HVAC_Zones_ColorFill":"#714FAB", "OST_MEPSpaceColorFill":"#714FAB", "OST_FabricationDuctworkDrop":"#714FAB", "OST_DuctCurvesDrop":"#714FAB", "OST_DuctAccessory":"#714FAB", "OST_DuctFitting":"#714FAB", "OST_DuctInsulations":"#714FAB", "OST_DuctLinings":"#714FAB", "OST_PlaceHolderDucts":"#714FAB", "OST_DuctCurves":"#714FAB", "OST_FlexDuctCurves":"#714FAB", "OST_HVAC_Zones":"#714FAB", "OST_FabricationDuctworkInsulation":"#714FAB", "OST_MEPSpaceInteriorFillVisibility":"#714FAB", "OST_HVAC_Zones_InteriorFill_Visibility":"#714FAB", "OST_FabricationDuctworkLining":"#714FAB", "OST_MEPAncillaryFraming":"#714FAB", "OST_FabricationDuctwork":"#714FAB", "OST_FabricationDuctworkStiffeners":"#714FAB", "OST_FabricationHangers":"#714FAB", "OST_FlexDuctCurvesPattern":"#714FAB", "OST_MEPSpaceReferenceVisibility":"#714FAB", "OST_HVAC_Zones_Reference_Visibility":"#714FAB", "OST_FabricationDuctworkRise":"#714FAB", "OST_PipeCurvesRiseDrop":"#714FAB", "OST_DuctCurvesRiseDrop":"#714FAB", "OST_MEPSpaces":"#714FAB", "OST_FabricationDuctworkSymbology":"#714FAB", "OST_SiteHiddenLines":"#8B4513", "OST_BridgeFramingHiddenLines":"#8B4513", "OST_BridgeAbutmentHiddenLines":"#8B4513", "OST_ToposolidHiddenLines":"#8B4513", "OST_VerticalCirculationHiddenLines":"#8B4513", "OST_AbutmentFoundations":"#8B4513", "OST_AbutmentPiles":"#8B4513", "OST_AbutmentWalls":"#8B4513", "OST_BridgeAbutments":"#8B4513", "OST_BridgeBearings":"#8B4513", "OST_BridgeCables":"#8B4513", "OST_BridgeDecks":"#8B4513", "OST_BridgeFraming":"#8B4513", "OST_BridgeFramingCrossBracing":"#8B4513", "OST_BridgeFramingDiaphragms":"#8B4513", "OST_ExpansionJoints":"#8B4513", "OST_BridgeGirders":"#8B4513", "OST_PierCaps":"#8B4513", "OST_PierColumns":"#8B4513", "OST_BridgeFoundations":"#8B4513", "OST_PierPiles":"#8B4513", "OST_BridgeTowers":"#8B4513", "OST_PierWalls":"#8B4513", "OST_BridgePiers":"#8B4513", "OST_StructuralTendons":"#8B4513", "OST_BridgeFramingTrusses":"#8B4513", "OST_VibrationDampers":"#8B4513", "OST_VibrationIsolators":"#8B4513", "OST_VibrationManagement":"#8B4513", "OST_TrussChord":"#E15CA9", "OST_Columns":"#E15CA9", "OST_Girder":"#E15CA9", "OST_HorizontalBracing":"#E15CA9", "OST_Joist":"#E15CA9", "OST_KickerBracing":"#E15CA9", "OST_StructuralColumnLocationLine":"#E15CA9", "OST_StructuralFramingLocationLine":"#E15CA9", "OST_StructuralFramingOther":"#E15CA9", "OST_Purlin":"#E15CA9", "OST_StructuralColumnStickSymbols":"#E15CA9", "OST_StructuralFramingSystem":"#E15CA9", "OST_StructuralColumns":"#E15CA9", "OST_StructConnections":"#E15CA9", "OST_StructuralFoundation":"#E15CA9", "OST_StructuralFraming":"#E15CA9", "OST_StructuralFramingOpening":"#E15CA9", "OST_Rebar":"#E15CA9", "OST_Coupler":"#E15CA9", "OST_StructuralStiffener":"#E15CA9", "OST_VerticalBracing":"#E15CA9", "OST_TrussWeb":"#E15CA9", "OST_StructConnectionAnchors":"#E15CA9", "OST_AnnotationCropSpecial":"#E15CA9", "OST_AnnotationCrop":"#E15CA9", "OST_ApproachSlabTags":"#E15CA9", "OST_ApproachSlabs":"#E15CA9", "OST_BridgeArches":"#E15CA9", "OST_ELECTRICAL_AreaBasedLoads_Tags":"#E15CA9", "OST_AreaLoadTags":"#E15CA9", "OST_AreaLoads":"#E15CA9", "OST_AreaSchemes":"#E15CA9", "OST_AreaTags":"#E15CA9", "OST_StructConnectionBolts":"#E15CA9", "OST_FabricReinforcementBoundary":"#E15CA9", "OST_PathReinBoundary":"#E15CA9", "OST_AreaReinBoundary":"#E15CA9", "OST_FabricReinforcementWire":"#E15CA9", "OST_StructConnectionHoles":"#E15CA9", "OST_StructConnectionModifiers":"#E15CA9", "OST_StructConnectionOthers":"#E15CA9", "OST_StructConnectionPlates":"#E15CA9", "OST_StructConnectionProfiles":"#E15CA9", "OST_StructConnectionReference":"#E15CA9", "OST_StructConnectionShearStuds":"#E15CA9", "OST_AreaRein":"#E15CA9", "OST_FabricAreas":"#E15CA9", "OST_FabricReinforcement":"#E15CA9", "OST_PathRein":"#E15CA9", "OST_StructuralTruss":"#E15CA9", "OST_StructConnectionSymbol":"#E15CA9", "OST_StructConnectionWelds":"#E15CA9", "OST_AudioVisualDevices":"#F5A031", "OST_ElectricalEquipment":"#F5A031", "OST_ElectricalFixtures":"#F5A031", "OST_LightingFixtures":"#F5A031", "OST_CableTrayFitting":"#F5A031", "OST_CableTrayRun":"#F5A031", "OST_CableTray":"#F5A031", "OST_ConduitCenterLine":"#F5A031", "OST_CableTrayCenterLine":"#F5A031", "OST_CommunicationDevices":"#F5A031", "OST_ConduitFitting":"#F5A031", "OST_Conduit":"#F5A031", "OST_DataDevices":"#F5A031", "OST_ConduitDrop":"#F5A031", "OST_CableTrayDrop":"#F5A031", "OST_FireAlarmDevices":"#F5A031", "OST_WireHomeRunArrows":"#F5A031", "OST_LightingFixtureSource":"#F5A031", "OST_LightingDevices":"#F5A031", "OST_FabricationContainment":"#F5A031", "OST_NurseCallDevices":"#F5A031", "OST_FabricationContainmentRise":"#F5A031", "OST_ConduitRiseDrop":"#F5A031", "OST_CableTrayRiseDrop":"#F5A031", "OST_SecurityDevices":"#F5A031", "OST_FabricationContainmentSymbology":"#F5A031", "OST_TelephoneDevices":"#F5A031", "OST_WireTickMarks":"#F5A031", "OST_Wire":"#F5A031" }

Did this answer your question?