Besides their often poisonous skin, the main defense mechanism of Pufferfish is their ability to inflate into a much bigger, almost spherical shape. This spectacular transformation inspired Michael Pryor to name his plugin, which is available on ShapeDiver starting today.
Since Michael published the first version of the plugin, it became instantly one of the most popular additions to the Grasshopper ecosystem. Last week, it reached 60,000 downloads on Food4Rhino, making it one of the 10 most downloaded plugins of all time (ShapeDiver already supports several entries of the top 10, including Kangaroo, Lunchbox, MeshEdit and Human).
Pufferfish comprises a whopping 280 components, which might very well set a new record for a third-party plugin! However, those components are organized in a very intuitive way, which makes them easy and fun to play with. Let’s have a closer look below.
The Ultimate Tweening Library
The core of Pufferfish is focused on tweening operations. Tweening is a term that is originally used in the field of animation. It refers to the process of generating intermediate images between key frames, to make sure they blend smoothly with each other.
The scope of Pufferfish is more general than animation: in our case, tweening refers to all sorts of interpolation methods between geometry primitives. Geometrical interpolation is also sometimes called morphing or simply shape-changing.
Pufferfish provides tweening tools for almost all geometry primitives in Grasshopper. There are sets of components for simple objects like points, vectors and curves, which you can always tween between two or through multiple key objects.
Constrained tweenings are also available. For example, it is possible to tween points along a curve and curves on a surface. However the real power of the plugin is when those operations are executed on more complex primitives such as meshes and surfaces.
Twisted Boxes And Morphing
On top of the traditional categories of geometry, Pufferfish offers extended support for twisted boxes. Natively, Grasshopper offers basic support for creating twisted boxes and use them to morph objects. With Pufferfish, twisted boxes become a crucial tool for shape changing. Just like any other primitive, they can be used for tweening operations. In addition, the plugin provides many components to create arrays of twisted boxes along curves, surface parameters and even mesh faces.
There are also several components providing intuitive equivalents to operations such as piping, sweeping and lofting using twisted boxes. Combined with the morphing component, these components open the doors to efficient and powerful ways to transform and repeat design elements in intricate designs.
See the example model below uploaded to ShapeDiver, which makes use of the ‘Twisted Box Loft’ component to create the array of boxes and the ‘Morph to Twisted Box’ component to morph different types of tilable elements to the array.
And Much More…
Among the additional tools of the plugin, we could mention the mesh utilities (close mesh holes, fix invalid meshes, offset meshes…), or the lovely ‘Recursive Transform’ which is a great way to create fractal-like shapes.
Unfortunately, we cannot go through everything Pufferfish has to offer in a single blog post. Thankfully, Michael has created an exhaustive and detailed library of Grasshopper definitions describing all the components of the plugin and some interesting use cases. And no need to worry about ShapeDiver compatibility: all of the Pufferfish components are supported without restrictions.
Feel free to start uploading models using Pufferfish today and post any questions or issues on the forum!