Point cloud Scan to BIM workflow

The point cloud Scan to BIM semi-automatic workflow consists of four steps:

1. Detecting floors
Use the POINTCLOUDDETECTFLOORS command to detect the floors. A volume section is generated for each floor and ceiling found in the point cloud.
2. Detecting rooms
Use the POINTCLOUDDETECTROOMS command to detect rooms. A room number is assigned to each of the points selected in the point cloud.
3. Creating room solids
Use the POINTCLOUDFITROOMS command to create room solids based on the previously found rooms.
4. Creating BIM components
Use the BIMINVERTSPACES command to create walls in between the selected solids, wall openings, outer wall and slabs.
Note: The workflow is applicable for point clouds for which normal vectors information is available.

For structured point cloud data, normal vectors are calculated during point cloud preprocessing. In case a point cloud has been preprocessed on an older BricsCAD version where normals have not yet been calculated, use the POINTCLOUDNORMALS command first.

For unstructured point cloud data, normal vectors information is imported if present and used in the workflow. Otherwise it is not calculated and the workflow is not applicable.

Note: Normal vectors calculation requires a point cloud processed in HSPC format. Both POINTCLOUDHSPC and POINTCLOUDNORMALS system variables need to be set to On (On by default).

Detecting floors

The first step of the Scan to BIM workflow is to detect the floors and ceiling in the point cloud attached to the drawing. To learn more about attaching point clouds, see POINTCLOUDATTACH command and POINTCLOUDREFERENCE command articles.

  1. Launch the POINTCLOUDDETECTFLOORS command.

    You are prompted: Select point cloud entity:

  2. Select a point cloud attached to your drawing.

    You are prompted: Operate on full point cloud or a selection?

  3. Do one of the following:
    • Click Full to operate on the full point cloud.
    • Click Selection to specify the first point of the selection rectangle, then the opposite point.

    You are prompted: Create spatial elements?

  4. Select Yes to create spatial elements based on the detected floors height.
  5. A pop-up message appears. You can find the generated volume sections in the Structure panel.

    The command will generate volume sections for each found floor and ceiling.

  6. (Optional) Edit the position and/or size of a volume section by selecting it (click the volume section line) and dragging the corresponding grips.

Detecting rooms

The second step of the Scan to BIM workflow is to detect the rooms in a section volume.

  1. Launch the POINTCLOUDDETECTROOMS command.

    You are prompted: Select section volume.

  2. Select one of the volume sections previously generated and press Enter. Only one section volume can be selected.

    You are prompted: Enter building number:

  3. Enter the number to be assigned to the building. This can be seen in the Spatial Locations Manager dialog box.
  4. The command starts the background processing. Depending on the point cloud size, this can take up to several minutes.
    Note: You can continue working during the background processing.

    When the background processing finishes, a pop-up message appears. The points found in the selected section volume are classified under different rooms. The detected rooms are listed in the Point cloud manager panel under Buildings with an Id assigned to each.

    To check that a room is correctly detected, toggle on/off the room visibility state icon next to the room's name.

    Select a room and right-click to access the context menu. Select Edit to adjust the room's contour by dragging the polyline points, then select Accept or Decline from the room's context menu. Use Rename or Delete options if needed. Merge multiple rooms by selecting the rooms in the list and using Merge from the context menu.

    To add a new room to a floor, right-click the floor's name in the Point cloud manager panel, select Add Room and draw a polyline to define the new room's boundary.

Once the points in the selection have been classified into different rooms, you can create solids based on this classification.

Creating room solids

The third step of the Scan to BIM workflow is to create room solids based on the detected rooms.

  1. Launch the POINTCLOUDFITROOMS command.

    You are prompted: Specify building id or select all

  2. Do one of the following:
    • Click All to create solids for all the detected rooms.
    • Click Id to create a solid for the detected room with the specified Id.

    You are prompted: Restrict detection to perpendicular (90°) walls?

  3. Select Yes if the rooms have two perpendicular wall directions.

    The command starts the background processing. Depending on the point cloud size and wall directions, this can take up to several minutes.

    Note: You can continue working during the background processing.

    When the background processing finishes, a pop-up message appears. The created solids are assigned to the automatically generated Rooms layer.

  4. Turn off the attached point cloud's visibility. The rooms solids are now visible.

Optionally, you can edit the rooms by using the DMPUSHPULL command to adjust the faces of the created solids.

Creating BIM components

The last step of the Scan to BIM workflow is to generate walls in between the previously created solids, as well as the outer shell.

  1. Select a layer on which the BIM components will be created.
  2. Launch the BIMINVERTSPACES command. The Invert Spaces Command Context panel opens to let you define the settings. For detailed information about each option, see the article BIMINVERTSPACES command.
  3. Click Apply.

The Scan to BIM workflow is now complete, with the 3D model based on the point cloud being fully generated.

Next you can verify and edit the result:
  1. Turn off the layer on which the room solids were created.
  2. Use the BIMSECTION command to create a horizontal section plane that displays the internal walls.
  3. Use wall editing tools like the LCONNECT or BIMEXTEND commands to adjust the result as needed.