A general purpose generative AI toolkit in Grasshopper

Hi everyone , we wanted to share a plugin we’ve been tinkering away with for a little while, we’d love your :+1: / :-1:. You can find all these examples to try out here: docs.runchat.app/plugins/grasshopper

Runchat is a visual canvas for creative workflows that was heavily inspired by grasshopper. You can chain different generative ai models together, build tools, fetch from apis etc etc. We’ve been writing about it’s development and how it was influenced by GH on our blog: gwyllim.substack.com.

There has been plenty of examples of adding chat bots to grasshopper, and even some interesting examples recently of using language models to generate GH definitions or 3d geometry from text prompts. We’re providing the community with something a bit different: a way to build your own specific AI tools and then use them in existing cad workflows. Because of this, Runchat in GH can do lots of stuff

AI Rendering

If you’re interested in producing high quality images from draft geometry (aka you don’t care if things like details get hallucinated) then runchat provides a way to do this that gives you control over exactly how the images are generated. You can choose the model to use (e.g. new Flux Kontext model, old control net models etc), swap these out over time, add intermediate steps to your pipeline (like going from shaded view to a lit render, masking and generating a new site, etc).

rendering

Material Editing and Texture Mapping

You can use the same tool to edit existing images like bitmap textures in materials for more control over your rendering pipeline. We made a component to texture map and reproject images onto geometry, so you create tile-less textures of just about anything.

2a_textures-optimize
2b_editmaterial-optimize

Text→3D

Text-to-3D tools aren’t perfect — but they’re now fast and affordable, making them great for generating tons of rough concept models or knick knacks (house plants and trees, rocks, furniture, lights etc). We made a GLB loader component that downloads models from urls and previews them with materials in grasshopper. This seems like a small thing but the alternative of pasting prompts into websites, clicking download links, organizing models and manually importing into Rhino is pretty annoying.

3a_modelGen-optimize

Make any AI tool you want / connect to anything on the internet

Runchat works kind of like clusters in grasshopper. You make a definition in runchat then cluster it into a single component in grasshopper. What happens in your runchat definition is up to you and you can make any tool you want. Here’s an example of a “critique my screenshot” tool.

4a_analyzeScreenshot

You can use runchat to connect your Grasshopper definitions to anything on the internet — AI models, APIs, databases, google sheets, slack, email etc. API keys are encrypted and never leave the server so they don’t get leaked.

Generate code / fix code

This is pretty experimental but it’s obviously possible to get language models to write c# or python scripts and they are becoming more familiar with the rhino sdk. We can use Rhino as a kind of code interpreter that runs the generated code and then sends any bugs back to runchat to be fixed - in theory meaning that eventually your script will work.

5a_codeChat

What’s Next

We hope this is a) useful and b) fun. It feels like generative AI tools should be more useful as creative tools than they are, and we hope that things like Runchat can help expand possibilities on that front. We hope it isn’t just more slop and chatbots.

Runchat does cost money to run but there is a free plan and you can link your own API keys. If you’re really broke but want to have a play around let us know and we can help you out in exchange for some feedback.

Is this something you think would be useful? Does it look fun?

6 Likes

Very interesting!!Good work!!