Cockroach 0.0.1
We released point cloud processing plugin for Rhino.
Authors: Petras Vestartas, Andrea Settimi.
Current version is Rhino Command for Rhino 6 and Rhino 7 written in C++ for windows.
You can already download it from YAK (package manager) or food4rhino: Cockroach | Food4Rhino. I compiled Rhino 6 for not earlier than 6.32.20340.21001 and Rhino 7.0.20314.3001.
We are sharing our IBOIS, EPFL (Laboratory for Timber Constructions ‐ EPFL) research tool-sets outside the lab as a free resource (free as a beer, writing plugins and maintaining them takes time).
Full description below.
Cockroach is a plug-in developed to introduce various commands for point cloud post-processing and meshing into Rhinoceros® environment based on reference functions already existing in the open source library Open3D [1].
The pointcloud processing tools focus on:
- fast and easy-to-use geometric manipulation, characterization and decomposition of point clouds directly in Rhinoceros6 and 7®.
- the better link between CAD modelling software (Rhino) and point-cloud processing.
- integration of point-cloud processing with other frameworks such as easy-to-use .NET programming languages (C#, IronPython, VB) using the interface of Grasshopper, Rhino.
- unified (as much as possible) approach across multiple backends to help researchers collaborate within academic or industrial partners. At IBOIS - EPFL, among other research lines, we have also being focusing on structures with unpredictable geometries such as raw wood and mineral scraps. These construction elements are scanned and post-processed into low-poly meshes or NURBS for design i.e. 3D timber joinery representation and fabrication tool-paths for 5-axis CNC, ABBIRB6400 Robot and XR manufacture.
We would like to thank @dale for his help during C++ plugin development into Rhinoceros®.
[1] Zhou, Park, and Koltun, Open3D: A Modern Library for 3D Data Processing.
Core Features
The first release includes 13 Rhino commands:
Cockroach_BallPivoting : a mesh reconstruction algorithm to reconstruct a triangulated mesh from a point cloud;
Cockroach_Poisson : a mesh reconstruction algorithm to obtain water-tight smoothed meshes from point clouds;
Cockroach_Crop : to crop a point cloud with a box;
Cockroach_DBSCANclustering : a density-based clustering method to obtain separate point clouds from a bigger one;
Cockroach_Downsample : reduce the size of a point cloud by a number threshold of points;
Cockroach_VoxelDownsample : reduce the number of point clouds by voxelization;
Cockroach_MeshSmooth : to uniformly smooth a mesh;
Cockroach_PlaneSegmentation : removal of point cloud planes by RANSAC;
Cockroach_PointCloudNormals : to estimate and correctly orient normal even for unstructured point clouds;
Cockroach_PopulatePoints : to obtain a randomly populated point cloud from a mesh;
Cockroach_PopulatePointsUniform : to obtain an uniformly populated point cloud from a mesh;
Cockroach_RadiusOutlierRemoval : to filter noise (outlier points) from point clouds by distance radius;
Cockroach_RemoveStatisticalOutliers : to filter noise (outlier points) from point clouds by KdTree search;
Citation
Please use this citation if you use Cockroach in published work. In addition, please cite also the third-party libraries we used: Open3D (Open3D/README.md at main · isl-org/Open3D · GitHub).
@misc{IBOIS2020, author = {Petras Vestartas and Andrea Settimi}, title = {{Cockroach}: {A} plug-in for point cloud post-processing and meshing in {Rhino} environment}, journal = {EPFL ENAC ICC IBOIS}, url = {https://github.com/9and3/Cockroach}, year = {2020} }
License
Cockroach is released under the MIT license. If you use Cockroach in published work, please cite also the third-party libraries we used: Open3D. The code is not yet fully open as there are still developments in progress but will be soon. Nevertheless, the code can be made available upon request. We encourage use for both research and commercial purposes, as long as proper attribution is given. Feel free to also send us an email and let us know how Cockroach has been useful to you and how it can be improved.
Contact
For code request or chat i.e. open github issue or contact us by email. Some data, models or generated code using our research are available from the corresponding authors by request: Petras Vestartas, petrasvestartas@gmail.com Andrea Settimi, andrea.settimi@epfl.ch
Install via Package Manager or Food4Rhino