Set Grasshopper Units & X-Section Sizes

Thanks for releasing Peregrin; I am excited to test its applications!

  1. A basic question hopefully. In example ‘Simple2D’ I click ‘OK’ to set the units to [m]. How do I manually change the units of Grasshopper?


  1. Can I specify (or at least view) the list of cross sections that Peregrine uses for optimisation? i.e. I may need to build a truss from UB’s which may result in a different geometric solution to the one currently provided (due to the discretised nature of sections avaialble to me).

Hi Leo,

  1. The warning is shown because your Rhino environment is set to work in metres, but the file is saved assuming millimetres as the unit of length. The Grasshopper environment is actually itself a unitless system, but Peregrine needs to know information such as forces and lengths in order to optimize the structure. When setting up a problem, the units for length are taken from the current Rhino environment and saved with the Peregrine (.gh) file. Therefore,where there is a discrepancy, one would generally change the units in Rhino (File>Properties>Units) and update (F5) the Grasshopper environment to match. If needed, the values of inputs can be altered accordingly.

  2. Peregrine assumes continually varying cross-sections. As such, you can’t specify them as input. It’s something that we’re looking into (allowing only a finite set of sizes makes it a lot more complex a problem to solve). However, one can view the cross-sectional areas of the elements that are used in the optimum solution by adding Panels to the output from a Structural Details component.

Thanks Tom,

The workaround I am using for point 2 is to optimise in Peregrine and then take the resulting Topology from the Peregrine ‘Structural Details’ node and use to optimise the cross sections for this geometry. Karamba3d does let you specify the cross section options (after the beam layout has been optimised).