Chromodoris
(by camnewnham)
Fast and simple mesh extensions for Grasshopper.
Support Email

The goal of this library is to provide efficient and simple functionality to extend the creation, usage and display of meshes.

The library's primary function is extremely fast voxel sampling, isosurfacing, and smoothing. See the git repository for benchmarks on isosurfacing and smoothing.

The library's secondary function is to contain a collection of valuable tools for dealing with large datasets, particularly when it becomes prudent to use welded, joined meshes in place of nurbs. For example, extrusion of an entire cityscape is much better done with Mesh Loft than Extrude.

The source code, licensing information and full package for this project is available at https://bitbucket.org/camnewnham/chromodoris. Contributions and suggestions are welcome.

Example files can be found in the git repository (/resources/examples).

The currently included components are:

Creation

  • Mesh Loft: Creates a welded mesh from lofting polylines that have the same number of control points.
  • Mesh Pipe: Quickly pipes polylines. Intended to be similar to "!_ApplyCurvePiping"

Display

  • Curvature Approximation: Displays approximate curvature on an immediate-vertex basis only.
  • Draft Angle Analysis: Displays draft angles relative to the world plane.

Isosurfacing

  • Sample Voxels: Automatically creates a bounding box and grid resolution based on numerical input, and generates a grid of voxel values.
  • Sample Voxels (Custom): As above, but allows a custom box and resolution.
  • Build Isosurface: Constructs the isosurface based on the above found values. Can use any sampling by taking in a Single[x,y,z] as the input.
  • Close Voxel Data: Caps the voxel values so that the output volume is ensured to be closed.

Smoothing

  • QuickSmooth: A very fast smoothing algorithm based on laplacian smoothing. Multi-threaded and optimized.
Also by Camnewnham