↑

Taking My Houdini HDA from Local to the Web

This week I’ve been working on setting up a server to run the Houdini backend of my project. The goal was to be able to run my Houdini Digital Asset (HDA) remotely and generate a printable STL file from a web application.

I started out not really knowing which direction to go. I looked into render farm options. Maybe there was one that would work for very small, on-demand processes like this? But after looking into several cloud services that support Houdini, I didn’t find a good match that offered the API access I needed and made sense for such small jobs. There was also the issue of testing on a budget, since some of the options would have required me to move up to at least Houdini Core just to experiment with the approach.

I eventually decided on a relatively simple solution: use Houdini Engine Indie on an AWS EC2 instance to run the HDA and save the resulting STL geometry for 3D printing.

Previously, I had done all of my tests using a non-commercial build of Houdini, so I rebuilt my snowflake ornament HDA in Houdini Indie. That also gave me a chance to revisit the asset and improve some of the geometry.

One thing I liked about this approach was that it allowed me to take the solution I had already built locally and essentially move it onto the server. The HDA was still doing the same job. The bigger challenge was figuring out how to make that process available to the web application.

Yesterday, I pushed the React project to my web host and connected it to the backend running on the AWS EC2 server. I also set up a subdomain for testing: ornaments.smithharbor.com.

And I got an end-to-end test working! I can now use the web interface to send parameters to the server, run the HDA in Houdini Engine, and download the generated STL file. For now, I’m only running the backend while I’m actively testing. My next step is to add more security and safeguards before opening it up for other people to try.

Leave a Reply

Your email address will not be published. Required fields are marked *