Grasshopper

algorithmic modeling for Rhino

The next release of Grasshopper is now available for download.

 

You need Rhino4 SR9 or a recent Rhino5 Beta to run Grasshopper.

 

Note that you need the most recent Microsoft Runtimes to be able to run Grasshopper. You can download the latest runtimes from the Microsoft Website and be sure to get the 32-bit ones (vcredist_x86.EXE).

 

 

This release features fairly minor fixes and updates, to wit:

  • Create Set component now also outputs an Index map.
  • Integer Division now has initialization code support.
  • Typing a double quote (") into the Popup will now always create a Text Panel.
  • Typing a double slash (//) into the Popup will now always create a Text Panel.
  • Typing a tilde symbol (~) into the Popup will now always create a Scribble.
  • Typing a number into the Popup will now always create a Number Slider.
  • Typing a plus symbol (+) into the Popup will now always create an Addition component.
  • Typing a minus symbol (-) into the Popup will now always create a Subtraction component.
  • Typing an asterisk symbol (*) into the Popup will now always create a Multiplication component.
  • Typing a slash symbol (/) into the Popup will now always create a Division component.
  • Typing a backslash symbol (\) into the Popup will now always create an Integer Division component.
  • Typing a percent symbol (%) into the Popup will now always create a Modulus component.
  • Typing an ampersand symbol (&) into the Popup will now always create a Concatenation component.
  • Added a GeneList object to Galapagos to allow for declaration of a large number of solver variables.
  • Expressions now automatically evaluate strings that are used as variables.
  • Added menu shortcut UI to preferences (Interface section).
  • All components and parameters on the component tabs now have an alias menu item.
  • The Custom Preview component now draws its geometry differently when selected.
  • Added Cull Vertices component (Mesh.Util panel).
  • Added Delete Vertices component (Mesh.Util panel).
  • Added canvas panning navigation via the arrow keys.
  • Added canvas zooming navigation via the PageUp/PageDown keys.
  • Toggle Enabled menu didn't work, this is fixed.
  • Default Material Preview colours were both set to red, this is fixed.
  • Recompute item in Legacy menu was only enabled when objects were selected, this is fixed.
  • Canvas tooltips might stick around after an object has been cut or deleted, this is fixed.
  • Baking via the Radial Menu would happen twice under certain conditions, this is fixed.
  • Power operator component failed for integers with non-positive exponents, this is fixed.  
  • XOR gate component was returning the inverted result, this is fixed.
  • Parameter Simplify Post-Process would fail under certain conditions, this is fixed.

Enjoy,

David

 

--

David Rutten

david@mcneel.com

Poprad, Slovakia

Views: 15675

Replies to This Discussion

Thanks David,

 

Great stuff David as usual.  Can I add a plug to do a bit of a revamp of the area/brep moments of inertia calculation components?

Disclaimer – some maths below...

Currently the ‘I’ (moment of inertia) is somewhat confused with the ‘S’ (secondary moments of inertia).  The Rhino help topic is a bit confusing, but for a planar surface what you've called 'S' and 'I' appear to be calculated according to the principles illustrated under respectively 'Second Moment' and 'Moments of Inertia About Centroid Coordinate'.  The 'Second Moment' values are generally useless in practice.

 

Can I suggest the outputs for these components are as follows (these would be the most useful set of area/volume properties in my opinion as an engineer):

Area/Volume (as a number)

Centroid (as a Plane / axis system, not a point).  A point is not enough, as the following inertia values need reference axes about which they are taken (this plane should just be the xy base plane translated to the centroid).

Moments of Inertia about Centroid (as a vector).  This comprises three components of the moment of inertia matrix given here.

Isecond = [Ix,Iy,Iz]

Here Ix = Integral of [(y-y0)^2 + (z-z0)^2] over the area/volume

Product Moments about Centroid (as a vector).  This comprises the other three components of the moment of inertia matrix given here.

Iproduct = [Ixy,Ixz,Iyz]

Here Ixy = Integral of (x-x0)(y-y0) over the area/volume

Radii of Gyration about Centroid (as a vector).

Rcentroid = [Rx,Ry,Rz]

Here Rx = Sqrt [Ix / Area or Volume]

Principal Axes of Inertia (as a Plane).  These principal axes of inertia can be found by the determining the eigenvectors (see here) of the 3x3 symmetric moment of inertia matrix given here by the combination of the Moments of Inertia and Product Moments about Centroid:

[Ix  Ixy  Ixz

 Ixy Iy   Iyz

 Ixz Iyz  Iz  ]

Principal Moments of Inertia about Principal Axes (as a vector).  These are given by the eigenvalues of the 3x3 symmetric matrix given above.

Iprincipal = [I1,I2,I3]

Radii of Gyration about Principal Axes (as a vector).

Rprincipal = [R1,R2,R3]

Here R1 = Sqrt [I1 / Area or Volume]

 

Any other thoughts?

Luke

Hi Luke,

 

unfortunately I don't really understand how moments of inertia work. It's the math guys in Seattle who write this stuff. I just try to expose whatever they give me as component outputs. You should talk to Steve about this, he's a marine design engineer (as far as I know) so he gets this stuff.

 

--

David Rutten

david@mcneel.com

Poprad, Slovakia

Will do, thanks David.  The maths shouldn't be too difficult to implement, and this would provide a much more structured and useful approach to presenting the moments of inertia (which are useful all the time in engineering).

Luke/David,

Has there been any progress with this? I heartily agree with Luke that this is where the tool should go, as it would be incredibly useful for structural engineers. And as Luke says, the maths is no more complicated than what must be caluclated already to get to this state...

D.

(P.S. Luke - hope all is well in BC!)

Hi there.

I didn't find any improvement for this set of methods in th sdk. The tools probably exist in the core as the rhino command yet output the principal axes directors (see this comment).

It would be very useful to implement the following suggestion from Luke:

Centroid (as a Plane / axis system, not a point).  A point is not enough, as the following inertia values need reference axes about which they are taken (this plane should just be the xy base plane translated to the centroid AND ORIENTED TO THE PRINCIPAL AXES).

Anyway, I came up with my own C# component to compute principal axes and moments of inertia before it becomes an embedded functionality !

My component is in the attached definition. The comments explain the required maths.

Lionel

Attachments:

Awesome!

 

can you offer an example of what you mean by this:

"Expressions now automatically evaluate strings that are used as variables."

If you're trying to add two numbers, but one of them is actually a string (text), then it used to fail. Now it should work:

 

5 + "3.4"

 

should now equal 8.4, whereas before it would just throw an error.

 

--

David Rutten

david@mcneel.com

Poprad, Slovakia

but how to use gene list?

It's like X sliders on top of each other. The following two are synonymous.

 

--

David Rutten

david@mcneel.com

Poprad, Slovakia

 

yes!  thank you! :)
again thank you David:)

RSS

About

Translate

Search

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service