COCKROACH: AN OPEN-SOURCE TOOL FOR POINT CLOUD PROCESSING IN CAD
ANDREA SETTIMI, PETRAS VESTARTAS, JULIEN GAMERRO and YVES WEINAND
École Polytechnique Fédérale de Lausanne (EPFL).
In the architecture, engineering and construction (AEC) sector, the use of point cloud data is not a novelty. Usually employed to retrieve data for inspecting construction sites or retrofitting pre-existing buildings, sensors like LiDAR cameras have been known to practitioners such as architects and engineers for a while now.
In recent years, the growing interest in 3D data acquisition for autonomous vehicles, robotic and extended reality (XR) applications has brought to the market new compact, performant, and more accessible hardware leveraging different technologies able to provide low-cost sensing systems.
Nevertheless, point clouds obtained from such sensors must be processed to extract valuable data for any design or fabrication application. Unfortunately, most advanced point cloud processing tools are written in low-level languages and are hardly accessible to the average designer or maker.
Therefore, we present Cockroach: a link between computer-aided design (CAD) modeling software and lowlevel point cloud processing libraries.
The main objective is an adaptation to C# .NET via Grasshopper visual scripting interface and C++ single-line commands in native Rhinoceros workspaces.
Cockroach has proved to be a handy design tool in integrating building components with unpredictable geometries such as raw wood or mineral scraps into new design and industrial fabrication processes.
In recent years, computer vision hardware has become increasingly accessible (stereo cameras, LiDAR, and AI-based sensors), allowing rapid data acquisition to model the world around us from small-scale objects to large-scale buildings.
Given the sparse character of available point cloud processing libraries, which contain a different set of specific functions with other data structures or method calls, development can frequently become cumbersome when adding, compiling, referencing, and converting code among these repositories.
In addition, when processing point clouds, the programming language C++ often results as an indispensable language for performance issues.
Unfortunately, average designers lack knowledge and time to postprocess point clouds. To address these challenges, we propose Cockroach: a point cloud post-processing open-source tool based on C++ (Vestartas and Settimi, 2020).
Cockroach acts like an umbrella library able to regroup, compile and make communication possible among the many libraries for point cloud processing, currently Open3D, Cilantro, CGAL, and PCL.
The majority of the code is wrapped aroundC# .NET, specifically tailored to be integrated into the Rhinoceros 3D and Grasshopper environment. The proposed processing tools have proven to be useful in research applications dealing with irregular geometries such as architectural modeling and structural analysis.
The current document aims to provide an overview of Cockroach’s most recent point cloud processing applications applied to digital fabrication and design.