Grasshopper

algorithmic modeling for Rhino

I've uploaded the Grasshopper 0.6.0015 installer. Download links available in this post.

!!! Careful, do not overwrite old files. Use the SaveAs... feature instead !!!

Since quite a lot has changed I'm assuming there will be some serious bugs. I'll upload a new installer friday-evening with all available fixes. Until then, you can get the pre-release here:
EXE installer

and a zipped version of the same installer:
ZIP installer


Known problems:
- Layout logic has been largely rewritten, which means that components and parameters will appear slightly shifted when loading old files. Panels, ParamViewers, Sketches etc should remain in place.

- Many core functions and classes have been changed. This will affect those VB and C# components that were calling directly into Grasshopper. Several of Giulio Piacento's components (TheEngine, BakingTools) will no longer work for example.

- Clusters have been removed entirely (trust me, there's a good reason for this), so any file you load that had clusters will give you IO warnings and the cluster contents will spill directly onto the canvas (functionality should remain the same).



New Features:
- Params.Special.ParamViewer now has scrollbars if the data description exceeds the visual rectangle.
- Params.Special.ParamViewer now has an alternative display mode which draws a graphic representation of the data tree.
- VB and C# component type hints are now much more robust.
- Zoom Selected button in View menu and Canvas Toolbar.
- Enable/Disable Solver switch which allows the user to completely switch off Grasshopper updates. This global switch replaces the RhinoEvents and Grasshopper events toggles, which were document bound.
- It is now possible to save and restore states ([Solution->Save State...] and [Solution->Restore State] menu). Sliders, Graphs, Boolean Toggles, Colour Swatches and Gradients can be included in a state record.
- ASSERTS can now all individually be discarded for the remainder of the runtime process.
- Discarded ASSERTS can be re-enabled via the [Solution->Clear Exception Ignore List] menu.
- Save operations are now echoed in the status bar, so there is feedback when using Ctrl+S.
- Deselect objects by pressing Escape in addition to Ctrl+D.
- Unknown shortcut combinations and unhandled keypresses are now relayed to the Rhino command line. So if you type "line" while Grasshopper is the active window, it will start the _Line command in Rhino.
- Objects can now instantiate themselves from IDs and Object Names, though there is still a problem with auto-updates.
- Variable parameter UI has been tuned up and all remaining (I hope) bugs have been fixed.
- Parameters and Components now have per-object display modes for icons, text or application default.
- Bakeable objects now feature a Bake... option in the menu which exposes more control over attributes.
- The Panel object now has an option for multiline input, which allows you to define a list of Strings simply by typing in multiple lines.


New Components:
- Params.Primitive.ID (represents a list of Rhino object IDs)
- Params.Special.Readfile (asynchronous text file parsing from disk with auto-update feature)
- Params.Special.ImageSampler (asynchronous image file parsing from disk with auto-update feature)
- Logic.Tree.ExplodeTree (extract all the branches from a data tree)
- Logic.Tree.PathCompare (compare a path to a search pattern)
- Logic.Tree.ReplaceBranches (a find/replace operation on the branches of data trees. Read the help topic of this component for information about how path mask work.)
- Vector.Vector.Display (preview anchored vectors in the Rhino viewport with an optional gradient)
- Curve.Util.Reduce (polyline reduction algorithm)
- Curve.Util.Rebuild (rebuild curves)
- Curve.Spline.CircleFit (fit circles between other circles)
- Surface.Primitive.SphereFit (create a least-squares fitting sphere for a set of 3D points)
- Mesh.Triangulation.ConvexHull (create a 2D convex hull for a set of points)
- Mesh.Triangulation.DelaunayEdges (create a 2D delaunay edge-graph for a set of points)
- Mesh.Triangulation.DelaunayMesh (create a 2D delaunay mesh triangulation for a set of points)
- Mesh.Triangulation.FacetDome (create a facetted dome for a set of points on a sphere)
- Mesh.Triangulation.OcTree (create a 3D Oc-Tree structure for a set of points)
- Mesh.Triangulation.QuadTree (create 2D Quad-Tree structure for a set of points)
- Mesh.Triangulation.Proximity2D (find the N closest points in a 2D set based on minimum and maximum search radii)
- Mesh.Triangulation.Proximity3D (find the N closest points in a 3D set based on minimum and maximum search radii)
- Mesh.Triangulation.Voronoi (create a 2D voronoi diagram for a set of points)
- Intersect.Boolean.TrimSolid (trim a Brep with any number of cutting objects)
- XForm.Morph.SpatialDeform (deform geometry based on a custom spatial definition)


If you're brave enough to test this, please post bugs as soon as possible on this forum since I only have 1 day left before I leave for Siggraph.

Enjoy!
David

--
David Rutten
david@mcneel.com
Robert McNeel & Associates

Views: 2201

Replies are closed for this discussion.

Replies to This Discussion

Rad...thanks David...checking it out ;)
Hi David,
I just tested the Replace Branches component. It is great and thanks to that finally I have a solution to my project.
However, I was hoping there would be a component which could flatten all the sub-branches under certain level of branches. Such as turning the paths (0-N;0;0;0), (0-N;0;0;1), (0-N;0;0;0;0), (0-N;0;0;0;0;0;1) to (0-N). But I found If I want to do that, I have to use the Replace Branches 3 times because there are 3 length of paths. Am I correct?
I'm still playing with this but i think the way of flattening subbranches would be something like this:


I don't know if theres a shorter way by using wildcards more apropiately.
If you supply enough masks/paths, you can do it with a single Find/Replace component, however, making all these different masks and paths may be tricky.

Vicente has a nice solution, but it's not exactly straightforward. In this case, you'll have to make a different mask for each number between 0 and N:

Replace "0;*" with {0}
Replace "1;*" with {1}
Replace "2;*" with {2}

I didn't add variable digits to the path evaluator yet, I'll need to think long and hard about how that is supposed to work.

--
David
Thx you guys :)
I didn't know I could use * to replace lots of "?". I should read the help file more carefully
I also tested RedPLine compoents. It doesn't work as I expected.

The left pline is the original one, while the right one is the reduced. I am not sure whether that is the result as it is surposed to be.
Attachments:
Yep, you're absolutely right. It always skips the last segment... don't know how I missed that.

--
David
Hi David I'm having problems with receivers, some receivers are not working and others are, the ones that are not workin read receiver(goo) when i hover the mouse over them, the other ones read what they are actually receiving(points lines etc....) the receivers not working are actually the ones that only are receiving one point actually, that's the only difference i found and also, i used to be able to use the area component to find the center and area of a circle or a closed curve, now i can't... those are the only things i've found so far

cheers
Diego
Ouch... it looks like receivers are very, very busted.
Well, I fixed the receiver object. But any file which uses it will be broken until I upload the fixed version. Since this is such a serious bug, maybe I'll distribute another one later today.

--
David
great i was looking forward for tomorrow's version now i won't have to wait that long
thanks a lot
diego
It seems TrimSolid won't work on 2 spheres

Attachments:

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service