Hi Dimitry,
Had a look at the vids for RD 0.1. Looks great, but one of the things that stood out for me is how slow it is currently to apply the constraints to the Rhino elements. I am wondering how RD stores its constraints info.
In future,
1. Can the constraints and objects be stored separately? I guess we are looking for components (with constraints attached) stored in a catalogue (say the shelves in the cabinet vid) that can be dragged and dropped onto other components. This would save a lot of time. I guess, there will need to be a popup menu to ask the user to choose the appropriate constraint or/and connecting component.
2. Can the components be copied with its constraints? I imagine most users will want to copy the constrained component and not re-constrain every time. Will we be able to array them? Think of lots of shelves. I think this will eventually lead to a history 'stack' as one of the other users mentioned. I hope that there isn't anything that will prevent this later as it is a real time saver. See RhinoParametrics and many other MCAD apps like IronCAD.
3. Can there be a scripting interface to handle the constraints? I think you were one of the authors of Nemo+? Going back to the cabinet example, it reminds me of the way CityEngine could work if Peter Wonka has his way. If the overall wood frame can have named faces, inserting the shelves would be much quicker if the constraints could be automatically selected by an inference engine using an established rules base or grammar, or rules based scripting. I think inferencing is being looked at as part of the Sketchup DD plugin?
4. Will there be more visual 'glyphs' based access to editing the constraints? ACAD 2010 can display the type of constraints next to the CAD elements on screen. Constraints can be suppressed by clicking on the identifying glyph. Drag and drop or copy and paste constraints between elements would also help speed things up.
5. Can the RD manager display the constrained components as well as the constraints? Mark Gross' old programme CoDraw had a very visual way of displaying the constraints and their components. Also, is there a way to give the user some feedback on the order in which the constraints are solved? I know that this will probably be dynamic, but it will be useful to help the user limit / break up over large dependency sets.
6. Can a constrained assembly be converted to a series of imperative generative commands like the scripts that Grasshopper produces? I know that some intelligence will be lost, but perhaps this can be recorded? I imagine some dimensional constraints are really just fixed parameters that can be translated as an imperative style value linked to a CAD command ?
Cheers !