Aaron Porterfield on Crystallon: Open Source Lattice Design Software
The Design, Engineering & Materials 'Love Triangle'
Aaron Porterfield (f=f) is behind the popular lattice design software, Crystallon.
Available as a free, open source plug in for Rhino Grasshopper, Crystallon is used on everything from architectural facades to footwear and everything in between.
In this interview we find out the origin story of Crystallon, some of the applications it has been used for and what would happen if he had a million dollars to develop the code further.
If you are exploring lattice structures in your design workflow I recommend checking out Crystallon and contributing via paypal donation page if you find it useful.
Can you give us an overview of your background and the path that led to the creation of Crystallon for Rhino? What motivated you to create this software and what specific problems does it aim to solve?
Sure. First of all, I am not a software developer or an engineer. So the path to developing a software tool was quite zig-zagged. I’m an industrial designer with a little bit of coding experience (only things like arduino and processing). That’s how I found Rhino/Grasshopper, because it’s a visual programming environment within Rhino that allows you to create incredibly complex designs with no coding experience. Using Grasshopper has ended up becoming the majority of my career.
The story behind Crystallon is: I was asked by my employer at the time (FATHOM) to test out some of the new lattice software coming out. At the time, the tools were quite limited and very expensive, so I told them I could probably do this in Grasshopper. Let’s hold off on buying anything for now. So I started putting together a set of tools that I was able to use on client projects. Later, I decided to publish it as a plugin because there was nothing like it available for Grasshopper and no free solutions.
Can you share some of the projects or products you have used Crystallon on, and what have been some of the most impactful or intriguing applications of the software that you have seen so far?
Sure, there are a few projects I can share:
I worked with Origin Labs on a project to test the capabilities of a new BASF resin. So we tried to design a footwear midsole that was lighter than current foams while still performing as needed. We did a ton of testing and did succeed at many of the goals.
I also worked with Nacar Design and HP on a project to test another BASF TPU. We designed a bike saddle that could be customized using a pressure map. So the saddle base and the cushion were both parametric to meet the correct shape and stiffness for comfort.
Lastly, I like to collaborate with my friends at Slicelab quite a bit. We designed a snowboard binding back that was lightweight and stiff. We used topology optimization on the surface to determine the needed thickness, which was then sculpted to look like a mountain range. On the inside was an optimized lattice structure to create the correct stiffness.
But, to be honest, some of the most intriguing projects I have seen are from other people using the tools. Every once in a while I get an email from someone trying to do something with Crystallon that I would have never thought of. Everything from architecture, filtration, even optical applications like diffusers. I have seen lots of interesting applications which has been quite humbling to me.
Can you discuss the philosophy behind making Crystallon available as an open-source tool and your perspective on the growing number of commercial lattice design solutions that have been introduced by both established CAD companies and startups since the release of Crystallon?
I have a long history and love affair with open source software.
My first introduction was when I was a kid and I started using a software called Blender. Suddenly the company was going bankrupt and started a foundation to release it open source. So I asked my parents for money to support them. They had a huge community of support and I believe they still do.
Also, around the time I was graduating, the DIY 3D printing revolution was just beginning and I wanted to be a part of it. I was in love with the idea of open-source machines that could self replicate. Also, the idea of distributed manufacturing and mass customization. I wanted to be part of that revolution.
Grasshopper also has a huge community with forums full of information, tutorials, people sharing code, and free plugins. So, to me, it only made sense to give back to the community and share Crystallon open source. The commercial tools have come a long way, especially nTopology.
I don’t see anyone as competition, since software isn’t my business, but I do think there is a lot everyone could learn from each other and even work together. Sometimes a workflow means jumping between many softwares (which is never easy), so I think there is an advantage for companies to have an open API so plugins can be made. Hence my love for open source projects.
(I did not write this next question ‘someone else’ did, but, let's entertain it anyway.)
What is your experience working with Crystallon in interdisciplinary collaboration with materials scientists, engineers, and product designers? Can you share some of the lessons learned and benefits of this kind of collaboration in developing new products and applications?
I have been lucky to work with many different disciplines. Product designers, mechanical engineers, architects, structural engineers, etc.
To myself, as a designer, the designer/engineer relationship is obviously extremely important.
At FATHOM, the designers and mechanical engineers sat next to each other and that was incredibly beneficial, not only to ourselves, but to the projects. I could just turn my head and ask a question. I have learned so much from them. Even in the development of Crystallon I have had the opportunity to work with many engineers. They had a need for designing lattice structures, and helped me develop it better for them. For example, exporting to different simulation softwares and importing data back into Grasshopper.
I am also working with developers of other plugins to make Crystallon work well with them.
In terms of material science, I have also been lucky to work directly with some 3D printing companies and give feedback on materials. I worked directly with Stratasys and was able to test beta materials for their FDM and polyjet systems. I also worked very closely with Origin Labs (now part of Stratasys) using their SLA materials.
Design, engineering and materials are a “love triangle” that need each other to work. So, the closer the collaboration, the more each will benefit.
What are some of the key developments and enhancements that you would prioritize if you were given the resources, including funding and two developers, to work on Crystallon for a period of two years?
Most important is working with people that can code, since I am terrible at it. There is a limitation of what you can do only using native Grasshopper components, so to do more, you need to write it yourself. Also to incorporate other open source libraries.
Some key developments would be speed (of course), as well as incorporating some of features that we usually use other plugins for. Generating meshes is a big one and I would love to incorporate volumetric meshing into Crystallon.
Generally I use another plugin called Dendro, which is just a wrapper for OpenVDB, an open-source tool for signed distance fields.
Also simulation is a big one. I have worked with some friends on incorporating Calculix, which is an open-source FEA tool.
But what I have found with lots of users, is they prefer to use their own simulation tools. So it is important to be able to export and import the data from Crystallon to other tools. I have been looking into using the MSH format, which is widely used by many softwares.
All in all, there are tons of improvements to be made. Unfortunately, I don’t have the time or the talent to do it all myself.
Have you given any consideration to exploring the potential for monetizing the development of Crystallon while preserving its open-source nature? Are there any approaches or ideas that have been explored or considered towards this objective, ensuring that the open philosophy remains uncompromised?
I’ve tossed around the idea of doing the “pro-version” business model, but that would be difficult to preserve the open philosophy. It has been suggested to try a crowd-funding approach, where there are different rewards. Like early access to new tools, or training. But none of the ideas I have really tried to pursue.
I do have a link to a paypal donation page where you download Crystallon.
While you haven't yet received the multi-million dollar investment you may have dreamt of for Crystallon's development (yet), what projects are you currently working on, and which software tools are you using to achieve your goals?
I am currently working with 2-3 clients. One is an orthopedic company making braces, prosthetics and helmets for various medical issues. Another is a company working on sound suppression devices. And lastly with a car company, mostly designing textures for interiors.
I use Rhino and Grasshopper primarily, along with the huge assortment of plugins for Grasshopper. But I do find myself sometimes jumping into Fusion360, or Netfabb for processing meshes, or even Meshmixer for manually sculpting some parts.
There’s no one tool that can do everything, so it’s necessary to know what tool is best for what you are trying to do.
What are the ways in which individuals, companies, or even investors can contribute to the development of Crystallon, whether it be through financial support or other means?
Collaboration is always open. It’s open source, so the intent was originally to build a community that would contribute to the development.
If you like Crystallon and can code C# or python, there is a link to the Github on the download page.
Financially, donations are appreciated, but if I was to hear from an investor interested in the development, I would be happy to talk.
Thank you Duann and hope to see you in New York!
Thank you Aaron, we hope to see you and everyone interested in lattice design, computational design, software and DfAM at CDFAM 23 in NYC (Tickets on sale now).
Check out Crystallon and consider contributing via paypal donation page if you can.
Related Content