Future directions: visual non-destructive programming and construction

 From:  Michael Gibson
5971.2 In reply to 5971.1 
Hi Andrew, yes I definitely do want to explore various things related to these things you're describing in the future. These are some fairly different things that you've covering here though, like being able to go back and change a fillet radius and have your sequence of operations replayed is not quite the same thing as a full blown visual programming environment.

The visual programming environment stuff is really cool of course, but it's pretty hard to do that without heavily impacting the UI for controlling different aspects of it. When that UI is not used for basic processes it adds a lot of additional complexity to someone that's just trying to do basic drawing... and MoI is heavily focused on trying to make that basic drawing process very accessible and streamlined.

Have you taken a look at the Grasshopper system that's available for Rhino? It's another approach at doing a type of visual programming for model construction.

I have to say though that I think I kind of lean more towards doing more of that kind of stuff with more explicit code, there is a certain amount of overhead in trying to express programming concepts visually and things like conditional loops just take up more space in the presentation and just seem to get kind of unwieldy fairly quickly. And in order to use the visual programming layer really effectively it kind of seems like there's enough of a bar to that already that I'm not sure how much benefit there really is. A lot of people are not going to have enough "algorithmic aptitude" to really make use of the visual programming environment and meanwhile someone who is experienced in programming can be kind of inconvenienced by the visual programming stuff rather than being able to use more compact code... And it becomes specific enough that it's not as easy for someone to find existing tutorials or books for how it works. Like with JavaScript or Python or something there are a lot of pre-existing resources out there that you can use as reference material to learn some of the basics.

Those are some of the reasons why I'm not all that convinced why a very "visual programming" type approach would really be what I'd try to focus on in the future for enhanced procedural or generative type modeling...

Any of that is probably a fair ways out yet though, and I think I would be more likely to focus on a kind of tweaking and replay of just a captured history sequence of operations earlier than a more dedicated algorithmic/generative type toolbox.

- Michael