nov 06, 2023

Pivo-Mesh and March-Mesh

  • Artículo
  • Point clouds
  • Mesh generator
  • 3D Scan

A while ago, I realized that our Vancouver 3D scanning team was seeking a solution to convert point cloud data into 3D meshed surfaces. This conversion process has many benefits and is part of an industry wide growth. Some of these benefits include providing designers with a better understanding of scanned elements, enhancing visualization, enabling surface reconstruction, reducing data size, facilitating editing and processing, improving interoperability with other tools and applications and presenting final 2D and 3D drawings in a more optimal format.

  1. It is also beneficial when presenting the model as a conceptual 3D model, which is necessary to represent the structural, mechanical, and electrical elements and equipment in 3D space. This can be quite challenging with larger models and time-consuming to launch.

    As we look to continuously improve and streamline our processes, our team explored several available software in the market and discovered that such software cannot meet our current needs for BBA projects.

    Additionally, such software can come with high costs related to purchasing licenses or using a certain number of pre-paid tokens. They often involve numerous parameters that need to be defined and adjusted by the user, resulting in additional costs for BBA projects when experimenting with parameter settings to achieve the desired outcome.

    To address this challenge, I decided to explore the concept further and investigate the existing mathematical methods for converting point clouds into meshed elements. Various mathematical techniques have been developed for this purpose, which in general can be categorized into two approaches: surface reconstruction and mesh generation.

    The surface reconstruction approach includes a set of techniques and algorithms used to estimate a continuous surface representation from a discrete set of data points, such as a point cloud. The objective is to reconstruct a smooth and connected surface that approximates the shape and structure of the underlying object or environment. Typically, the surface reconstruction process involves steps such as data processing, surface estimation, connectivity determination and surface refinement.

    On the other hand, mesh generation involves creating a mesh, which is a discrete representation of a surface or volume. A mesh is composed of vertices, edges and faces (such as triangles or quadrilaterals in 2D, or tetrahedra, hexahedra, triangular or quadrilateral facets in 3D) that connect to form a geometric approximation of an object or domain. The mesh generation process includes steps such as input data, point selection, mesh connectivity, mesh generation algorithm and mesh optimization and refinement.

    Common algorithms for surface reconstruction include Poisson surface reconstruction, marching cubes, moving least squares, screened Poisson surface reconstruction, power crust and voxel-based methods. Popular algorithms for mesh generation include Delaunay triangulation, alpha shapes, Poisson disk sampling, Ball-Pivoting algorithm (which can be used in both surface reconstruction and mesh generation), graph-based approaches and surface growing.

    After this stage, I decided to develop two software solutions: Pivo-Mesh and March-Mesh. These programs are designed to convert scanned point clouds into 3D meshed surfaces. The primary algorithm developed in Pivo-Mesh is the Ball-Pivoting algorithm and Poisson reconstruction, which are well-suited for unorganized point cloud data commonly encountered in industrial 3D scanning applications. March-Mesh use the marching cube method, which is the preferred solution for organized point cloud data.

    Both programs are portable and capable of processing input files, typically around 200 MB in size and containing 3,000,000 meshes, on a decent computer within a matter of minutes. These tools have been developed for in-house use in BBA projects. The following are some screenshots from the software environment and the output results.

This content is for general information purposes only. All rights reserved ©BBA

Let’s
think it further
together
Póngase en contacto con nosotros