Giter VIP home page Giter VIP logo

cockroach's Introduction

Cockroach


Installation

Windows

mkdir build
cd build
cmake -DGET_LIBS=ON -DBUILD_MY_PROJECTS=OFF  -DBUILD_SHARED_LIBS=ON -G "Visual Studio 17 2022" -A x64 .. && cmake --build . --config Release
cmake -DGET_LIBS=OFF -DBUILD_MY_PROJECTS=ON  -DBUILD_SHARED_LIBS=ON -G "Visual Studio 17 2022" -A x64 .. && cmake --build . --config Release
  • Step3 Place a pointcloud in build/Release/ folder. For example bug.ply that is also uploaded in the Release folder.
  • Step4 Run the compiled exe file using using bash or manually
my_exe

Visit our documentation for knowing more about which flavour to install of Cockroach Here!!.

Description

Cockroach is a plugin developed to introduce various commands for point cloud post-processing and meshing into Rhinoceros® [4] environment based on reference functions already existing in the open-source library Open3D [1], CGAL [2], Cilantro [3].

Authors: Petras Vestartas, Andrea Settimi.

Supervision: Julien Gamerro.

The pointcloud processing tools focus on:

  1. fast and easy-to-use geometric manipulation, characterization and decomposition of point clouds directly in Rhinoceros6 and 7®.
  2. improving the link between CAD modelling software (Rhinoceros®) and point-cloud processing.
  3. focus on the integration of point-cloud processing with other frameworks such as easy-to-use .NET programming languages (C#, IronPython, VB) using the interface of Grasshopper, Rhinoceros® [4].

This plug-in is open-source to help researchers working for PointCloud processing in .NET. At IBOIS - EPFL, among other research lines, we have also been 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, 6-axis robot and XR manufacture.

We want to thank Dale Fugier (McNeel) for his help during C++ plugin development into Rhinoceros®.

[1] Zhou, Park, and Koltun, Open3D: A Modern Library for 3D Data Processing. http://www.open3d.org/

[2] CGAL, Computational Geometry Algorithms Library. https://www.cgal.org

[3] Zampogiannis, Konstantinos and Fermuller, Cornelia and Aloimonos, Yiannis, Cilantro: A Lean, Versatile, and Efficient Library for Point Cloud Data Processing, Proceedings of the 26th ACM International Conference on Multimedia, 2018. https://github.com/kzampog/cilantro

[4] https://www.rhino3d.com/

Citation

Please use this citation if you use Cockroach in published work. Also, please also cite the third-party libraries we used: Open3D (https://github.com/intel-isl/Open3D/blob/master/README.md) , CGAL (https://doc.cgal.org/latest/Manual/how_to_cite_cgal.html ), Cilantro (https://github.com/kzampog/cilantro/blob/master/README.md ).

Bibitex citation:

@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} }

Citation (no Bibtex):

Petras Vestartas and Andrea Settimi, Cockroach: A Plug-in for Point Cloud Post-Processing and Meshing in Rhino Environment, EPFL ENAC ICC IBOIS, 2020, https://github.com/9and3/Cockroach.

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 or Andrea Settimi.

Acknowledgements

The laboratory for Timber Construction (IBOIS) at École Polytechnique Fédérale de Lausanne (EPFL) financially supports the authors contribution to the current research and version 1.0.0 development of the .NET PointCloud processing tool.

License

Cockroach is released under LGPL license. If you use Cockroach in published work, please also cite the third-party libraries we used: Open3D, CGAL, Cilantro. We encourage use for research purposes, as long as proper attribution is given. Feel free to send us an email and let us know how Cockroach has been useful to you and how it can be improved.

How to Contribute?

There are several ways how to use and contribute to Cockroach library: a) Compile C++ all or one of the 3rd party libraries (Open3D, CGAL, Cilantro) and use the project as it is. The libraries are divided into separate projects. Therefore, you can each project individually or together. The full project is called PInvoke. Individual C++ projects are PInvokeCGAL, PInvokeOpen3D, PInvokeCilantro. b) Use only .NET C# project – PinvokeCSharp, that wraps C++ libraries. Here you can write C# PointCloud processing algorithms too without 3rd party libraries. c) Use CockroachGH project to develop code for Rhino and Grasshopper.

If you have a valid contribution or bug fix, open an issue with the source code to merge it with the current project.

cockroach's People

Contributors

9and3 avatar petrasvestartas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.