BETA
Extension

Scan-to-BIM SDK

An open, vendor-neutral Scan-to-BIM SDK — built and directed by its members

  • RCP
  • RCS
  • LAS
  • PTS
  • XYZ
  • IFC
  • C++
  • Desktop
Free 60-Day Trial

Features

  • Recognize

    Architectural objects directly from point cloud: floors, walls, openings, sloped roofs

  • Classify

    Two recognition pipelines: geometry-based (fast, no ML) and ML-assisted (semantic segmentation for higher accuracy)

  • Convert

    Polygonal mesh to precise B-Rep geometry — automatic mode

See it in action

Point Cloud-to-BIM: automatic pipeline

This demo illustrates the full Point Cloud to BIM pipeline on a model that allows near-fully automatic recognition.

Loading and setup

We begin by running the ML server using Docker — this is required for semantic segmentation. The ML component runs as a separate Docker + Python service, independent from the C++ API. Next, we launch OdaScan2BimApp, select Point Cloud to BIM mode, and load a point cloud.

Stage 1: Semantic segmentation (optional, ML-based)

We initiate semantic segmentation from the dedicated palette. The model used is Point Transformer V2 Extended — one of two models we currently focus on, the other being PointMLP. Both were selected based on our own experiments, trained on the S3DIS (Stanford 3D Indoor Scene Dataset) and our own annotated point clouds.

Semantic segmentation labels each point in the cloud as wall, floor, ceiling, or other. This is an optional step, but it significantly improves downstream accuracy — without it, the pipeline extracts planar regions from everything in the cloud, including tables, chairs, beds, and radiators. These non-structural objects produce noise that gets misinterpreted as false walls and floors during BIM recognition. Segmentation filters this noise early.

After completion, the application allows interaction with the segmentation results: classes can be selectively hidden or displayed, original point cloud colors can be restored, and different visualization modes can be combined.

Stage 2: Planar region calculation

This stage extracts planar surfaces from the semantically segmented point cloud. It uses supervoxel clustering and region growing for initial oversegmentation (deliberately avoiding undersegmentation that could merge distinct surfaces), then iterative RANSAC plane detection to find planar surfaces, followed by surface refinement using region growing.

The initial steps — supervoxel clustering, region growing, and RANSAC — use the third-party Point Cloud Library (PCL). Everything after that is ODA's own code: surface refinement and extension, and boundary recognition. Boundaries are determined by projecting 3D points onto 2D images (top-down and side-view projections), analyzing the 2D regions, and mapping them back into 3D.

The application supports combining different visualization modes: only planar regions, only point clouds, or a combination.

Stage 3: BIM object recognition

On this test model, recognition is near-fully automatic, requiring only minor parameter adjustments. The recognition follows a fixed sequence:

First, floor recognition — horizontal regions are identified as IfcSlabs. Nearby and coplanar slabs are merged, fragmented regions are connected, and small segments are filtered out.

Then wall recognition — the same procedure applied to vertical regions. Walls are identified, merged, connected, and filtered.

Next, floor-wall linking — spatial relationships between walls and floors are established, and geometric adjustments are applied so they align precisely.

Then roof recognition for sloped regions, if present.

Finally, opening recognition — voids in wall geometry are identified as windows and doors. This is the second place where ML segmentation helps: apparent openings caused by missing wall points behind furniture (beds, bookcases, radiators) can be identified as false positives and filtered. ML segmentation enables this filtering — without ML, false openings are not automatically filtered.

Output

The result is exported as an IFC file. It can be saved and opened in any IFC-compatible viewer, such as ODA's OpenIFCViewer, for validation and quality assessment.

Point Cloud-to-BIM: manual corrections

This demo shows a real-world scenario where the automatic pipeline requires significant manual intervention. It illustrates the correction tools available in OdaScan2BimApp and the types of problems that arise in practice.

Starting from saved intermediate results

To save time, we begin with precomputed and saved results from semantic segmentation and planar region calculation. The application allows saving intermediate pipeline states and resuming from them later — essential for workflows where the first two stages (segmentation and region calculation) are time-consuming.

The challenge: closed doors

The main difficulty with this particular point cloud is that the scan was performed with almost all doors closed. Closed doors are indistinguishable from walls in point cloud data, which means the pipeline cannot detect openings where doors should be. This is one of the most common real-world problems in scan-to-BIM workflows.

Automatic steps

The initial recognition steps are still automatic: slab recognition, wall identification, and wall merging. These work reasonably well even on challenging scans.

Manual correction workflow

After automatic connection, we review the results and begin manual fixes. The application provides several key tools:

Point cloud overlay on BIM model — the original point cloud can be overlaid on the recognized BIM geometry. This makes it easy to spot where the recognition went wrong by visually comparing the raw scan data against the generated model.

Undoing individual operations — in the first case, a door region was incorrectly connected to a wall region, producing an invalid wall. We undo just that specific connection (not the entire operation history), delete the door region, and manually connect the correct regions.

Wall resizing — several walls need adjustment: some shorter, some longer, one wider. Precise accuracy is not required at this stage because a later automatic procedure (floor-wall geometric adjustment) handles precise alignment.

Manual filtering — after automatic noise wall filtering, some false walls remain. We delete them manually.

Manual floor-wall linking — the automatic linking cannot process walls that don't reach the floor. These require a manual linking step.

Opening recognition challenges

After geometric adjustments, we proceed to opening recognition. Due to the closed-door problem, automatic false-opening removal performs poorly on this scan. We overlay the original point cloud again and manually remove incorrect openings.

Some door openings are not detected at all — because the scan captured the doors as solid surfaces, they look like walls. This is a fundamental limitation: if the physical door was closed during scanning, no algorithm can infer that an opening exists behind it.

Result

Despite the manual work required, the final BIM model accurately represents the building structure. The manual correction tools — especially undo of individual operations, point cloud overlay, and element resizing — make the process manageable even for difficult scans.

Mesh to B-Rep

This demo shows the Mesh to B-Rep conversion pipeline on two models of different complexity. This is an independent direction in the SDK, not connected to the Point Cloud to BIM pipeline.

What Mesh to B-Rep does

The goal is to convert a polygonal mesh (triangulated surface) into a precise boundary representation (B-Rep) — the standard geometry format used by CAD and BIM applications. B-Rep models have exact mathematical surfaces, clean edges, and proper topology, making them suitable for editing, measurement, and downstream engineering workflows.

The conversion process

The pipeline works in two stages. First, the mesh is segmented: curvature analysis and sharp edge detection divide it into regions, each region is classified as a canonical surface (plane, cylinder, sphere, or cone), and segments are extended to cover neighboring consistent areas.

Second, B-Rep construction: each segment is converted to its analytical surface representation, intersection curves between adjacent surfaces define edges, surfaces are trimmed and assembled into a complete B-Rep solid body. The B-Rep engine used is the ODA Lightweight B-Rep Modeler.

Model 1: Simple geometry with non-planar features

The first model mainly consists of flat surfaces, making the planar regions easy to identify. However, it includes cylindrical and conical holes, which test the canonical surface recognition capability. The system identifies these as cylinders and cones, creates the corresponding analytical surfaces, and builds valid B-Rep geometry including the intersection curves between the holes and the surrounding planar faces.

Model 2: Complex curved geometry

The second model has fewer triangles but is more challenging — it contains a significantly larger number of cylindrical segments. Identifying cylindrical surfaces is harder when the radius of curvature is large, because such surfaces appear nearly flat and can be confused with planes. This model demonstrates how the system handles this ambiguity.

The non-canonical segment problem

Segments that cannot be recognized as planes, cylinders, spheres, or cones are the main challenge. Currently, the SDK uses a brute-force fallback: each triangle in the unrecognized segment becomes an individual planar face in the B-Rep output. This guarantees a valid model but increases face count. An experimental spline-based surface fitting approach shows promising results for limited cases, but robust reconstruction for arbitrary segments remains an open research problem.

DWG export

The results can be exported to DWG format, which is useful for verification in standard CAD programs and for sharing with teams that use DWG-based workflows. The ability to check B-Rep quality in familiar tools is important for validating the conversion results.

How it works

Point Cloud to BIM

  • Point cloud

    RCP · RCS · LAS · PTS · XYZ

  • AEC Objects

    Floors · Walls · Openings · Roofs

  • BIM

    IFC export

An independent direction. Builds a clean polygonal mesh from raw point cloud data. Also serves as a fallback within PC-to-BIM for objects the AEC algorithm cannot classify.


Mesh to B-Rep

  • Mesh

  • Segmentation

    Curvature · Surface recognition

  • B-Rep

    Precise geometry

An independent direction. Converts polygonal mesh into precise B-Rep geometry through automatic segmentation and surface recognition.

Tech details

Supported formats

  • Import

  • .RCP / .RCS

    Autodesk ReCap

  • .LAS

    ASPRS LiDAR

  • .PTS

    Leica

  • .XYZ

    Generic

  • .PCD

    Point Cloud Library

  • Export

  • .IFC

    Open BIM standard

Roadmap

  • Implemented

    • PC-to-BIM:

      AEC object recognition (floors, walls, openings, roofs) → IFC export

    • Mesh to B-Rep:

      Automatic B-Rep conversion from polygonal mesh

    • Point cloud import:

      RCP, RCS, LAS, PTS, XYZ

  • Coming in 2026

    • Building element identification enhancements

    • Large point cloud support for ML

    • Automatic room detection

    • Mesh segmentation improvements

    • Point cloud to mesh for non-structural objects

Roadmap priorities are shaped by SIG members. Join the SIG to influence the direction.

Use cases

  • Design

    Enable your users to scan an existing site and start designing in BIM with an accurate as-built model — automatically recognized from point cloud data.

  • Construction

    Give your users automated QC: scan the structure, extract recognized elements, and compare against the design model — all inside your application.

  • O&M

    Let your users create and maintain digital twins from laser scans. Structured IFC output for documentation, analysis, and facility management — embedded in your platform.

FAQ

  • No. The pipeline works without ML — planar region calculation and BIM object recognition run entirely on CPU using the C++ API. ML-based semantic segmentation is an optional first step that improves accuracy by filtering non-structural objects (furniture, radiators, equipment) before recognition. If you use ML, you need Docker, Python, and a GPU. The two components are independent.

  • Import: .RCP/.RCS (Autodesk ReCap), .LAS (ASPRS LiDAR), .PTS (Leica), .PCD (Point Cloud Library), .XYZ (generic). Export: .IFC (Open BIM standard). E57 and PTX are not currently supported.

  • The PC-to-BIM pipeline currently recognizes floors, walls, openings (windows and doors), and sloped roofs. These are exported as classified AEC objects in IFC format. The 2026 roadmap includes enhancements to building element identification and automatic room detection.

  • Two independent directions. PC-to-BIM recognizes architectural objects directly from point cloud data and exports to IFC — this is the core direction. Mesh to B-Rep converts polygonal mesh into precise boundary representation (B-Rep) geometry through segmentation and canonical surface recognition — this is a separate capability, not connected to the PC-to-BIM pipeline.

  • The SDK is in beta, under active development. It is developed under the ODA Strategic Interoperability Group (SIG) program, where participating companies direct the roadmap. The 2026 roadmap includes large point cloud support for ML, automatic room detection, and mesh segmentation improvements.

  • Through the Scan-to-BIM SIG. Trial SIG is available — 60 days free. Full SIG membership includes voting rights on roadmap priorities and direct access to the engineering team.

Take control of your
Scan-to-BIM technology

Strategic Interoperability Group

  • The Scan-to-BIM SDK is developed under the ODA SIG program — a member-initiated development model where the companies that build on the technology also direct it.
  • Join companies already shaping the project — spanning CAD/BIM platform vendors, construction equipment manufacturers, and technology consortia.
  • Control over project priorities and roadmap direction
  • Ability to determine licensing requirements and cost
  • No royalty-based fees and no per-use fees
  • Beta access from day one

Join the Scan-to-BIM SIG

Shape the SDK alongside the companies that need it most.
Start with a free 60-day trial.

Contact us