4 ms·
Just going to highlight some of my favorite graph/flow based programming environments: - Max/MSP - originally for audio/visual synthesis, but widely used for g
by szvsw 2y ago
Just going to highlight some of my favorite graph/flow based programming environments:
- Max/MSP - originally for audio/visual synthesis, but widely used for generative art (in the meaning of generative that existed before the AI boom of the 2020s)
- Grasshopper & Dynamo : structural/geometry/architectural generative design
- Modelica/Dymola/OpenModelica etc: symbolic equation modeling and diffeq solving, widely used in HVAC/systems modeling, automotive, aeronautical design
- Modular synthesizers - analog audio synthesis (and these days, digital as well!)
It’s interesting to see that almost all of the examples mentioned above leverage the fact that they are abstractions on top of lower level programming frameworks which are tailored to specific tasks in order to make fantastic, intuitive interfaces that are easy to learn and quick to iterate incredibly complex designs within their domains, while the example linked here is not really domain-specific and is much closer to traditional programming (or something like Scratch)
- deleted 2y ago[deleted]
- WillAdams 2y agoThree of my favourites: https://www.blockscad3d.com/editor/ https://www.blockscad3d.com/editor/ https://github.com/derkork/openscad-graph-editor https://github.com/derkork/openscad-graph-editor http://nodezator.com/ http://nodezator.com/ Also worth noting is: https://ryven.org/ https://ryven.org/
- jitl 2y agoThis Youtube channel "Ussa Design" has some really neat process videos of using Rhino3D + Grasshopper parametric design approach to build a whole bunch of different stuff. But, not much in the way of explanation or tutorial, mostly just a watch-along and chill out kind of vibe. I really like the idea of parametric CAD design via flow programming - you can go back and change any parameter later. Versus typical 3D modeling or CAD workflows where you basically are working with digital versions of typical shop tools like lathes, routers, extruders, etc where a fillet or cut you made 10 hours ago can't be changed without "rebuilding by hand". https://www.youtube.com/watch?v=bP-eWFpm-IY https://www.youtube.com/watch?v=bP-eWFpm-IY https://www.youtube.com/watch?v=wdaCA8CUoF8 https://www.youtube.com/watch?v=wdaCA8CUoF8 https://www.ussadesign.com/ https://www.ussadesign.com/
- szvsw 2y agoThere are many many many dedicated grasshopper modeling channels, both in the “watch and chill” style and the explanatory style. Once you’ve done lots of grasshopper programming and can recognize component icons from both the base library and the cornucopia of grasshopper plugins, you can skip through all of those videos at like 3x speed and very rapidly absorb the graph structure. One of the most interesting parts of grasshopper is how components operate over tree based data structures - ie the equivalent of numpy broadcasting.
- jitl 2y agoAwesome! I had no idea, for some reason I just assumed this niche topic no one was interested in. Do you have any recommendations for how to learn grasshopper for a casual like me who only feels comfortable in SketchUp?
- szvsw 2y agoIt really really depends on what your goals are and what type of design domain you are working in, eg jewelry, architecture (and what within architecture), fabrication, experimental sculpture, etc. At the end of the day though… play. Lots of play! Playing within Grasshopper and just making crazy things is a great way to build intuition. at the same time, it of course is very helpful to have directional play, ie problem solving, frequently in the form of trying to recreate - or parametrize/generalize/abstract - a specific pre-existing design. It also helps a lot if you are pretty familiar with modeling in rhino (ie working with construction planes, curves, etc) since a lot of grasshopper worker is just a matter of formally capturing a sequence of operations that you might perform in Rhino into a codified DAG. Unfortunately some of the naming of rhino operations does not align with their corresponding grasshopper components (and the corresponding components might not perfectly align their api with the corresponding rhino commands) but developing that geometric intuition is essential. There’s also some stuff that is ultimately more efficient to program within python / CSharp / Visual Basic within grasshopper so always keep that in mind… but it can become another layer of complexity (or simplification…) to learn at the same time.