BLOG > PLUGINS

Grasshopper plugins Heteroptera, Caterpillar, Fattener and jSwan join the ShapeDiver platform!

November 9, 2020 by ShapeDiver
<< We remain committed to make ShapeDiver a very open and flexible platform, even for our Free users. For this reason, we’ve given a higher priority to the process of adding support for useful third-party plugins.>>


1. Heteroptera

Heteroptera is a toolbox plugin for Grasshopper with a variety of utility components, written and maintained by Amin Bahrami. With over 43,000 downloads on Food4Rhino, Heteroptera features components for almost every purpose, but mostly focuses on Uncertainty and Generation related tools.

Some components in this plugin are based on real-time data manipulation and streaming, and hence are not supported on the ShapeDiver platform. The exact list of forbidden components are:

  1. Mass Additive Numbers Buffer

  2. Replace Objects

  3. Android UDP listener

  4. Mass Additive Vectors Buffer

  5. Camera Story

  6. Capture Baked

  7. Camera Crane

  8. Capture

  9. Group

  10. Noise Oscillator

  11. Text Baker

  12. Transform

  13. Quick Baker

  14. Pick Selection

  15. Agent Display

  16. Mesh Traveler

  17. Wandering Vector

  18. TapBuffer

  19. Capacitor

  20. Ovulate

  21. Event Gate

Though this might seem like a long list, they only represent less than 20% of the total list of 112 components!

With utility components for geometry, maths, network topology, data streaming and randomization, Heteroptera is a massive swiss army knife for Grasshopper. Some of the most frequently useful components include:

  • Random: Even though Grasshopper has its own vanilla Random component, it simply reflects a generic Random function, which may not work as expected for many users. Repetition of seed values can cause replication of results. The Heteroptera Random component solves these problems with a better random number generation function and no manual seed input required. This advantage is a bit less useful on ShapeDiver because of our caching system explained in this post. For the same parameter set you’ll always get the same result. Nonetheless, it's a very powerful component to use outside of ShapeDiver.

  • Seed Generator: If you are using a component that requires a seed input, use this component to ensure every seed is unique and there is no repetition in the results.

  • Center: Once again, Grasshopper includes vanilla components like Bounding Box, Area and Volume that allow the user to calculate the center of input geometry. However, these components can only be used with specific types of geometry. The Heteroptera Center component solves this issue, accepting any type of input geometry and making the calculation of its center a breeze.

  • Stream Freeze/Gate: In order to create a toggle for a part of your script, the Stream Gate or Stream Filter components often need to be used, so that they output a null stream of data when the toggle is off. Stream Freeze/Gate is a component purpose-built for this; allowing you to simply create a gate on your data stream. Very useful in creating high-performance interfaces out of Grasshopper scripts!

  • Min/Max: This component is fairly straightforward - it returns the minimum and maximum values from a list of numbers.

Heteroptera is one of the plugins that becomes an essential part of Grasshopper instantly. Once you start using it, you can’t go back to using Grasshopper without it!

2. Caterpillar

Caterpillar is an open-source Grasshopper plugin that simplifies measurement unit conversions written by David Mans. With conversion components for angles, area, energy, force, pressure, speed, temperature, time and volume, you finally don’t need to worry about using SI or Imperial units to present your parametric models.

The components appear in the ‘Units’ sub-category under the ‘Maths’ tab. Each component allows you to set the units standard as well as the source and target units by right-clicking on the component and it’s input parameters.

Check out the Caterpillar project on GitHub if you’re interested in contributing to the project here and here.

3. Fattener

Fattener is another small-scope plugin developed by Daniel Piker and released in a forum post as an early version. It features a ‘Skeleton fattener’ tool that generates clean meshes from a line structure.

Download Fattener from Daniel’s forum post here, and learn more about it in this forum discussion and the plugin’s documentation.

Most output meshes from Fattener are 3D-printable. Weaverbird’s Catmull-clark component or simple subdivision can help smooth out the mesh for better results as well. The plugin is highly optimized as well - It may take longer for the mesh to be displayed rather than mesh generation!

Here’s a simple example using both Fattener and Caterpillar (along with LunchBox and Weaverbird) to create a 3D Printable object:

4. jSwan

jSwan is an Open-Source JSON Serialization/Deserialization plugin for Grasshopper, created and maintained by Andrew Heumann.

While the ShapeDiver plugin includes the basic tools required for working with JSON data, jSwan is a great alternative choice. The USP of this plugin is it’s dynamic Serialization and Deserialization components, which have variable input and output parameters. This allows you to not only extract values from JSON data visually but also create JSON data structures visually.

Using jSwan, you can quickly compose JSON Objects...

... And deconstruct JSON Objects even quicker!

For ShapeDiver users who frequently work with data through the ShapeDiver API, this is an extremely beneficial addition to ShapeDiver’s supported plugins arsenal. Notably, jSwan also makes it easier to learn how to work with JSON Objects and understand JSON data structures. You can head to this link to learn more about JSON data.

Bottom Line

We’re just getting started. Many more plugins will be available very soon so make sure to follow us on our different social media channels to stay updated whenever we release new ones (simply search for @shapediver).

To get the most up-to-date list of supported third-party plugins, simply check out our documentation section.


<< Would you like us to support any particular plugin? Make sure to read this article that explains what we can and can’t support. If your plugin is eligible for support, let our developers know via our Forum.>>

More posts