n early sneak peak at a project I have been working on: live parametric programming for Rhino. As you edit the script, in real time, the geometry is created and modified. There is slightly more going on behind the scenes than just phrasing the text and turning it into geometry, because it is based on the Yaml language (hence Yeti), which allows references between objects. So you can name an object with a ‘&’ and refer to it with a ‘*’, effectively establishing a parametric relationship between the objects. It is still in the early stages, but the parametric engine is there, as is most of the phrasing stuff, so hopefully I can push out a demo / the source in the near future.
Live Programming in Rhino
Daniel Davis – 12 April 2011
A
Arend
Very nice work, how should I see the big picture of the project? What is the advantage of going with an own grammar set, instead of the ones that were before? (rather, where will it end? I read about maya’s troubles with mel: which was chosen over perl als a scripting language because of speed, but in the end was many times slower and less versatile when implemented with error reporting and new language features.
However I see nice opportunities to define patterns or objects, (is it perhaps a processing equivalent of rhino?), and it would be awsome to see if such objects can be integrated in the present-state mature languages as python and *.net languages.
Daniel
Hi Arend,
The larger context for this project is that it is part of my PhD, which is looking at ways of making parametric models more flexible. Specifically I am trying to explore other ways of generating parametric models other than the graph based dataflow parametric models and the procedural scripts we traditionally use. Hence the reason why it is a live programming environment with a relational markup language.
In terms of performance, it should be similar to Grasshopper since it is generating geometry through the same API and using a similar construction method. At the moment the code is not optimised and I have deliberately left out surface generation until performance improves.
I am not sure how useful Yeti is yet. I am thinking it would be useful to define the underlying geometry in parametric models, and that people might find it easier to learn than scripting or parametric modelling since it is similar to the command line. I am planning to opensource the project once it becomes stable enough, so hopefully it is an idea that is picked up by others, and perhaps even forked to included something like python…
Daniel