generative modeling for Rhino
Hey David --
It's been a while since I've made any requests, so I'm going to just stick to one topic here, which is primarily related to visualization and interface. I'm assuming none of these have been covered since 0051 (correct me if I'm wrong):
1) Shoot for the moon first -- "Control Panel Mode" which allows for advanced interface design. See Max/MSP for example of modal function. I spent a lot of time laying out control panels so they are nice for clients and team members to look at. I spend a lot of time disabling wire display and dragging sliders and panels and graphs around into nice little clusters. Could be something as simple as a mode that disables the view of all component handles, cleans up graph objects, sliders, etc. I know the Remote Control Panel has been requested over and over again since it disappeared, but honestly it wouldn't be much use to me unless it was a full blown customizable interface. In the meantime I'll stick to my own "Canvas Control Panel" methods. (See below...)
2) More control over graph objects. Right now the bar graph for instance automatically sets the lowest and highest value displayed. Would be nice to be able to set extents manually so that you can compare apples to apples on two different lists that have different extents. Also would love to force the bar graph to show all values along x axis, not just first and last. Same goes for showing the numbers of instances for each value. Now it only shows instance numbers in oddball cases. Would like to force them to show for statistical purposes. Love percentages, but usually I also want accurate tallies. I tend to use a member index sets to generate my own lists.
3) Color input for Vectors -- there are fakey fake workarounds but none that are as versatile as simply having a color input.
4) COLOR INPUT FOR TEXT TAGS -- sorry to yell... this one really frustrates me. I often build interactive feedback systems that involve a lot of different types of data, and it is difficult to convey that input when all text is red (or green when selected).
5) Ability to justify text tags using paragraph controls -- currently default is left-justified. Would like to be able to center text horizontally and vertically, among other things.
6) Ability for text tags to handle multi-line text. Not sure the best way to implement this, but often I find myself wanting to attach 3 items of information to a particular object, and I have to string it all together in one line. Would be great if I could insert a "^M" character that stands for carriage return and have that display as multiline text (used in conjunction with above justification controls).
7) More control over Text panels. Thank you for including justification options... but sadly now it begs the question for margin and header control. Text slammed up against the left edge is pretty unsightly. Moreover, if you have labeled a text box, the drop shadow from the title bar tends to overshadow the first line of text if you have Path display turned off. Would like to add some header space to fix the problem and create a cleaner look.
8) Easier access to text font size. Buried in a Special Font... menu. I want to be able to up up down down (left right left right select start) if you know what I mean.
I guess that's it for now... just the things on the top of my head in this category. Looking forward to installing the new release, have to wait until this major project is over though.
(7) How about this?
Yep, cool. Cross margin control off the list, thanks. Any thoughts on the others?
Very cool. This alone makes my day. Keep 'em coming! :)
one thing I thought would be nice as well for text is somehow controlling it's location in the viewport, like an overlay at a specified viewport coordinate.
Yeah, I would love that as well. As I recall, this came up as a topic about a year ago and there was an issue with how the OpenGL buffer works that prevented doing it easily (I'm sure David could explain more precisely). Some folks here developed a VB workaround that created a text object and oriented it in relation to the camera of a particular viewport, which was great but had some quirks (text appearing in other viewports, skewed, etc).
Anyway, don't know if anything has changed to make it easier to pull off... for me, if there was a way to display the text not in relation to the viewport but in relation to the screen in it's entirety, you could create tags and data displays independent of Rhino entirely (but overlayed). That would be super cool. In fact, it would be great to be able to display graphs or even geometry this way too, as floating graphics.
this would be supernice!. Same, btw, for remote controls - we talked about this several month ago when we called it "Hud" interface
Just to bring this back up - I think point (2) above is an extremely useful one and it would be great to see some feature enhancements on all of the graphing functions (and as has been discussed before it would of course be amazing if these could be displayed in a Rhino window / baked as objects...). I use the BarGraph as a histogram constantly for exploring the data I generate as I'm designing - in fact the graph components are one of the most frequent components I use at the 'end' of my design process. Would be nice to add Titles to the graph/bargraph and labels to axes, as well as the feature requests Marc points out above.
Also wondered if the 'MD slider' would soon have a 3D option similar to the colour picker? Would be useful.
Of course many other graph types would come in quite handy (I often export my data to Excel in order to visualise better) - 2D scatter with the tree structure indicating different data sets and therefore different colour/point types on the graph (Excel-style) would be handy. Of course these could be created as Grasshopper objects and displayed in the viewport but I find the work needed to get to a presentable output this way is often too much and its faster for me to just look at the data in Excel. Also in the Rhino viewport you often want to be visualising the end result of your definition (i.e. geometry) and not have to zoom somewhere else or fiddle around to try to display a graph of values at the same time. I could imagine an 'output' control panel could be quite handy, where you drag and lock in the various text panels / graphs / etc which are useful to you and tell you information about your design as you are varying the input parameters. This could be outside of GH possibly and maybe linked to one side of the Rhino viewport.
Any thoughts? Of course some of these requests are asking Grasshopper to expand a bit more into the 'data display/interpretation' space - however I think this is extremely important as with each design I create there is most always associated data which tells me about its performance in some way or another and viewing that / illustrating it to clients in a quick and friendly way is key. Of course what is there already is most impressive and useful!