solidsquid

A node-based solids modeler where sketches live in the node graph

solidsquid is a node-based solids modeler for 3D artists and designers who want Grasshopper's freedom and power with a more streamlined interface, and a new sketch system inspired by SDFs.

looping demo clip
c9i9j connects two nodes
clip: 2D sketch driving a 3D solid

Design intent lives in 2D

Every sketch sits on the node graph. Keep the design intent mostly in 2D, and stop wiggling the viewport to find depth.

clip: curve gains thickness, auto fillet blend

A sketch system that feels really good

A hybrid between the curve control of Rhino and the constraints of Fusion 360, shaped by SDFs. Give curves thickness, blend shapes with automatic fillets, and pattern only where shapes intersect.

clip: connect mode, c → 9i → 9j

Nodes without the mouse

Press c and labels appear over every node. Two keystrokes connect them. Grab, cut, and type values the same way.

Why I built solidsquid

During COVID, I moved from working in Rhino and Grasshopper to learning and enjoying Blender. I found myself caught between the two, craving features from both: the freedom and creative power of Blender, and the precision of Rhino and Grasshopper. I also got annoyed at times by actually having to navigate in 3D especially when working on a complex model I had already made.

Over the next couple of years that feeling stuck with me, and the first ideas for solidsquid took shape: something closer to a parametric, node-based mood board, where every choice you make lives on a 2D graph you can navigate, with some 3D editing contextually available when needed.

I also wanted to fix a serious problem with node-based programs, that I think has caused many traditional software developers from embracing it: having to precisely point a mouse at a tiny dot on a node, and drag your mouse without accidentally lifting the LMB before you get to the desired port you want to connect. The label based node manipulation system I'm calling "squid-motions" is heavily inspired by the Neovim plugin called flash. I also have included a controller input system inspired by twin-stick shooters.

I've built this for myself over the past year and a half, putting many of my own design projects on hold. I'm looking forward to continuing to develop this, but it is finally at a point where I can use it for my personal projects. I hope you will enjoy it too, and I look forward to your feedback.