Grasshopper

algorithmic modeling for Rhino

Dear GHA developers,

 

hopefully very soon I'll release Grasshopper 0.8.0050 to the public. I'm pre-releasing 0.8.0050 on the VB/C# forum first so developers can take a look at it. This release contains many breaking changes to the SDK and has utterly lost file-format forwards compatibility. The binary gh file format is now saved with standard Deflate compression and it has become the default format.

 

Do not overwrite your old files! There are possibly serious bugs in the new IO code. 

 

The most serious breakages have occured in the IGH_Attributes interface and subclasses, so if you have objects that override the default attributes they will most likely need to be fixed and recompiled.

 

The installer is available for download from our servers. I've also updated the SDK help file and added a few more topics, most notably how to implement IGH_Attributes under the new SDK. I'll try and answer any questions about compiler errors and SDK changes as quickly as possible.

 

Here's a complete list of changes and fixes since 0.8.0013:

  • File format forwards compatibility has been broken. You will not be able to open files saved with 0.8.0050 on earlier versions.  
  • This release contains many breaking changes and GHA libraries compiled for older version may not work anymore.  
  • Grasshopper Binary files (*.gh) are now saved as compressed data.
  • Grasshopper Binary files (*.gh) are now the default format.
  • Support for ancient versions of the Text Panel (still called Post-It from back then) has been removed.
  • Support for ancient versions of the Path Mapper (still called Path Lexer from back then) has been removed.
  • Placeholders for ancient versions of the Graph Mapper have been removed.
  • Galapagos wires are drawn much fainter when the Galapagos object is unselected.
  • Gradient input parameters now show state tag icons (Reversed, Flatten etc.).
  • Geometry Cache name changes are now updated on every key press.
  • Geometry Cache name changes can now be cancelled with Escape.
  • Geometry Cache name changes can now be undone.
  • Mesh|Mesh intersection component now uses a different algorithm. The old behaviour is still available from the component menu.
  • Warning and Error balloons are now drawn as part of a Canvas Widget and will no longer show up in the Hi-Res image export.
  • Galapagos now accepts multiple fitness values. The true fitness will be the average of the collection.
  • Medium fast redraw mode in Galapagos now immediately redraws instead of solving the fittest genome again at the end of each generation. This should result in fewer redraws altogether (though potentially several redraws in the same generation) and definitely fewer computations.
  • Redesigned all grasshopper file format icons and added larger size icons for high-dpi explorer views.
  • Redesigned the Most Recently Used files menu, it should now display much quicker.
  • Compass widget has been rewritten in an attempt to increase display performance. 
  • Added preferences section for Compass widget.
  • Added preferences section for Align widget.
  • Added preferences section for Default Preview colours (fairly clunky UI so far).
  • Added preferences section for the Most Recently Used files menu.
  • The Area component now accepts Breps, Meshes and Planar Closed Curves.
  • The Area Centroid component now accepts Breps, Meshes and Planar Closed Curves.
  • The Volume component now accepts Breps and Meshes.
  • The Volume Centroid component now accepts Breps and Meshes.
  • Added Merge Faces component (Surface.Util panel).
  • Added a Mesh Smooth component (Mesh.Util panel).
  • Added a Curve Seam component (Curve.Util panel).
  • The Canvas would remain black upon maximizing the Rhino window, this is fixed.
  • Sliders would cause multiple updates under certain conditions, this is fixed.
  • Pipes were inside out. This is fixed.
  • The curve component would not adjust invalid nurbs degrees, this is fixed.
  • Curves referencing Brep edges failed to load, this is fixed.
  • Points referencing Brep edges failed to load, this is fixed.

 

--

David Rutten

david@mcneel.com

Poprad, Slovakia

Views: 1513

Replies to This Discussion

Also my random lolcats component is creating duplicates in lists, it's madness; j/k. Btw thank for fixing the blackscreen.

Wow... so many changes!  I haven't had a chance to install the pre-release, but I'm pretty sure some of the Firefly features could break with this release because a few components do have overridable attributes... but hopefully those should be relatively easy fixes.

While we're talking about changes, I was wondering if I could suggest a feature request.  I was wondering if it would be possible to add an input to the GH_Timer component that would accept a boolean to enable/disable the timer.  The reason being is that it would be really great to be able to dynamically control when you might want to start 'refreshing' a solution.  There are a number of instances when this would come in handy using Firefly in particular.  I don't know how difficult that would be to implement, but this would be a very welcome addition. 

And, one last thought... I was playing around with the Data Recorder component in the latest release (which is amazing BTW)... and I like that you can now store a set length of data... One thought occurred to me though was that it could be helpful if there was also a checkbox in the drop-down menu to wrap the data back to the top once the record had reached the end of the list.  Sort of a live looping kind of thing.  Anyway, it's just a suggestion, but I think it could be useful in some instances.

Thanks again for all the hard work.

"...to wrap the data back to the top once the record had reached the end of the list.  Sort of a live looping kind of thing."

 

So let's assume data comes in as alphabetic characters; A,B,C,D,E,....,K,L,M,N,....,X,Y,Z

 

If the data limit is set to 4, then the progression of data stored in the recorder should be

 

  1. A
  2. A,B
  3. A,B,C
  4. A,B,C,D
  5. B,C,D,E
  6. C,D,E,F
  7. ...

How would it look with this looping kind of thing?

 

--

David Rutten

david@mcneel.com

Poprad, Slovakia

So, what I was thinking is something like this.  If the Wrap boolean is set to True  and data limit is set to 4 then:

 

1. A

2. A,B

3. A,B,C

4. A,B,C,D

5. E,B,C,D

6. E,F,C,D

7. E,F,G,D

8. ...

 

Maybe this doesn't make any sense... but the Data Log component for Firefly does essentially what the Data Recorder now does (although the Data Recorder is much more compact)... The only difference is that there is a Wrap input which would create the list as above.

I see. It does seem like a peculiar recording method, but if it's useful for something then this is the only chance you get to layout the data in this fashion. Is it useful for something?

 

--

David Rutten

david@mcneel.com

Poprad, Slovakia

 

I guess I could see 1 or 2 demo examples... but to be honest... it may not be that important now that I think about it.  I use the Data Log (Firefly) quite a bit, but I'm not sure the wrap function gets used all that much... so, I apologize about confusing everything quite a bit. 

Any chance the boolean input for the GH_Timer is doable?  That would be very useful for me at least.

It's probably possible, the Timer sort of sits on top of Grasshopper just like Galapagos. It'll therefore be a bit of a hack to control it from within the solution, but I'll find a way. I'm trying to solve some rather serious bugs reported by Jon, so I'm not sure I'll get around to it for 0.8.0050.

 

--

David Rutten

david@mcneel.com

Poprad, Slovakia

 

Ok.  Thanks for the update.  Cheers.

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service