algorithmic modeling for Rhino
A while back, I posted a discussion that suggested some user interface improvements that use some of the functionality found in 3ds Max Design's Slate Materials Editor. It was a very interesting discussion that I learned a lot from:
http://www.grasshopper3d.com/forum/topics/grasshopper-vs-3ds-max-de...
Today I attended a webinar titled, Vasari Talk Session 22: AU2012 Sneak Peak, that had a section devoted to Dynamo, the visual programming interface for Vasari and Revit. It is very similar to Grasshopper. It should be posted online soon:
http://wikihelp.autodesk.com/Vasari/enu/Community/Tutorials/Vasari_...
What really struck me as powerful was the ability to browse to an external script file and bring it into Dynamo for editing on the fly. It made me wonder if the opposite scenario was possible.
I use CAM software that creates tool paths for CNC machining. When I'm done with the tool paths, I post process it into a simple text file of G code that the CNC machine reads. The software automatically converts the graphic representation of the tool path into simple code.
Would it be possible to post process the results of a Grasshopper definition into Python code that could then be used elsewhere?
This would allow you to use the visual programming interface of Grasshopper to create a complex element and then have the software convert it into Python code. You could leverage the easier Grasshopper interface to create complex scripts that a novice scripter might not otherwise be able to create.
Please excuse my ignorance if this is already possible to do with Grasshopper!
Tags:
Hi Mark,
this comes up from time to time, but I'm afraid it's not really within the realm of possibility. There are two basic reasons for this
There are also other reasons that would make this an exercise in frustration, amongst the most important:
All this being said, there have been some people who have actually written -albeit very limited- converters from GH to TextSource. I do not know whether anything was ever publicly released though.
--
David Rutten
david@mcneel.com
Poprad, Slovakia
Hi David,
Thank you for your prompt and very detailed response!
I suspected that the Rhino-specific stuff might prove to be an issue but I had no idea that each component had so much code embedded into them. It makes sense though, considering the fact that each component must be flexible enough to work with a multitude of other components which in turn have numerous options within themselves that must be accounted for.
Oh well, so much for that idea!
I do recommend the Vasari video hyper-linked above. I think similar functionality could be added to GH as well. They have a component (they call them nodes) that has a browse button on it. You click this button, navigate to an external file of code, open it in a panel-like node and then edit it on the fly. The results are dynamically updated in the model in real time.
Thanks again for your feedback.
Mark
"They have a component (they call them nodes) that has a browse button on it. You click this button, navigate to an external file of code, open it in a panel-like node and then edit it on the fly."
I'm not a 100% certain about this, but I'm fairly sure that this workflow can be performed using the Python component. Either by reading an external text file containing the code and passing that along to the "code" parameter of the Python component, or, by importing (in the script header) an external module and having the solution update if this module is changed.
Hi Anders,
Thank you for the suggestion about the Python component. As it turns out, I recently attended a webinar about this:
The workflow was very similar to the Dynamo workflow described above, but you didn't browse to the external file in the same way. The Dynamo technique seemed more like xrefing the script into the definition, to borrow an AutoCAD term.
The webinar was just an introduction to the Python component, so what you're describing could certainly be possible for all I know. I'll have to look into it further.
Thanks again for your suggestion.
Mark
Hi Mark, looks like a nice webinar!
Out of curiosity I just ran a quick test to see how this might work (see the attached files, using GH 0.8.00.66 and GhPython 0.5.0.0). Regarding picking/browsing to a code file, I think that a reasonable workaround is to use a "path parameter" in combination with a "Read File" component (remember to set "Read individual lines" to False). This way one may right-click the path parameter and hit "Set one file path" which opens up a browser window from which one can select a code file to read. Here's a screenshot:
Hi Anders,
Thank you for the GH definition with the browse to file workaround. Maybe David can streamline this workaround into a new Browse component for a future build of GH.
It was a good webinar. I highly recommend anything that modeLab produces. I attended the Parametric Design workshop at TEX-FAB 3.0 this last April and discovered that Gil Akos and Ronnie Parsons are excellent instructors!
This may not be what you're after, but I wanted to also point out that you can "XREF" entire grasshopper definitions into one another by saving them as .ghcluster files. A saved cluster can be brought into other definitions, and will remain dynamically linked to that saved file.
Hi Andrew,
Very cool! I wasn't aware of that functionality. Thanks for the tip.
hi andrew, i see that option but how do you reference a cluster back in to a new document?
The only way I am aware of is to drag and drop the .ghcluster file onto your canvas.
Sounds like a good idea, I could imagine such a component being useful in many situations beyond what we are discussing here.
FYI, there seems to be some issues with the latest GH + GhPython component with regards to the "Code" input parameter. I have logged these bugs over on the RhinoPython forum.
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by