ave pointed out, if the older version of Honeybee EPZone does not have the recirculatedAirPerArea proprety, then it must be the cause of the error as I am using the Honeybee_Export to OpenStudio component (VER 0.0.58 Nov_07_2015). Given the discrepancy between the version of the Honeybee components used to setup everything in the file all the way prior to the point feeding the zones' data into the Export to Open Studio component, I can see different options/questions to tackle this issue:
1- I have the OpenStudio 1.9.0 that works with EnergyPlusV8-3-0 installed on my computer and the reason that I had to use the newer version of the Honeybee_Export to OpenStudio component (VER 0.0.58 Nov_07_2015) is that I had initially received an error message using the component of the same version as consistent with the rest of the project (VER 0.0.57 Jul_15_2015) with the following content:
"Cannot find OpenStudio libraries. You can download the libraries from the link below. Unzip the file and copy it to C:\Users\Alireza\AppData\Roaming\Ladybug\OpenStudio and try again. Click on the link to copy the address.https://app.box.com/s/y2sx16k98g1lfd3r47zi"
The download link provided in the error message appears to be not active and thereby, I could not follow the instructions on the error message and make the Hoenybee_Export to OpenStudio component (VER 0.0.57 Jul_15_2015) work.
Therefore, if there is a way to make this version (VER 0.0.57 Jul_15_2015) of the Hoenybee_Export to OpenStudio component work by downloading the OpenStudio libraries or switching to a legacy version of the OpenStudio application prior to 1-9-0, then probably this would be one option to solve this issue.
2- When I realized I could not download the OpenStudio libraries as described in section 1 (see above) and make the Honeybee_Export to OpenStudio Component (VER 0.0.57 Jul_15_2015) work with the installed OpenStudio application (V1-9-0), I updated the entire installation of Ladybug + Honeybee User Object files to the new version (Ladybug_0_0_61 and Honeybee_0_0_58). This time the Honeybee_Export to OpenStudio component (VER 0.0.58 Nov_07_2015) seemed to be working with the installed OpenStudio application (V1-9-0) as I did not receive any error messages about missing OS libraries. However, I could not make things work since all other components in my project (eg. Creat HB Zones,Creat HB Surface) have been setup with the 0.0.57 version and obviously, the updated version of the Honeybee User Objects (V0.0.58) could not recognize my HB component of the previous version in the file.
If there is a way to make 'in-place' updates of HB components, for example updating the Honeybee_Create HB Zones in the file without having to re-wire everything from scratch, then it probably would work as the updated version will include the 'recirculatedAirPerArea' property. Otherwise, given the complexity of the scene, it appears to be impossible for me to start everything from scratch and setup the entire scene with the new version of HB components.
3- If none of the options in the last two sections (see above) would be possible, I was wondering if there is a way to open the zones' data as the outcome of the Honeybee_Solve Adjacency component (prior to feeding this data to the Honeybee_Open Studio Systems component and subsequently, to the the Hoenybee_Export to Open Studio) in a text-editor and manually add the missing recirculatedAirPerArea property to the zones' data; then probably I could do that and then eventually feed it to the Hoenybee_Export to Open Studio component.
These are the three options that I could think of in order to tackle this issue of mine. I apologize for the extended reply but I figured it would be better to give a more comprehensive description of my problem and previous attempts to solve it.
Any helps is most appreciated.
Please let me know if you need further information about the described issues in each section or the simulation scene setup in general.
Thank you,
Alireza
…
y using the Honeybee_Update Honeybee component.
The video below (best viewed in full-screen mode) provides an idea of what these components are capable of being used for:
The video below shows how these components can be used in an existing Honeybee project (for additional links please open this video in youtube):
I have uploaded two examples as Hydra files that show how these components can be used for grid-point and image-based simulations:
Example1 : Grid Point Calculations
Example2: Image based simulation
Finally, a more esoteric application is demonstrated in this video:
These components are still in the beta-testing stage. Some of the limitations of the components are:
1. Only Type C photometry IES files are supported at present.
2. Rhino is likely to get sluggish if there are too many luminaires (i.e. light fixtures) present in a scene.
3. Due to the spectral limitations of the ray-tracing software (RADIANCE), simulations involving color mixing might not be physically realizable.
Additional details about photometric and spectral calculations are probably an overkill for this forum. However, I'd be glad to answer any related questions. Please report any bugs or request new features either on this forum or on Github.
Mostapha, Leland Curtis, Reinhardt Swart and Dr. Richard Mistrick provided valuable inputs during the development of these components.
Thanks,
Sarith
Update 16th January 2017:
An example with some new components and bug fixes since the initial release announcement can be found here
…
s o alguna de sus partes con la máquina de control numérico de ControlMAD. La finalidad es entrar en contacto con las herramientas disponibles ( control numérico, corte por láser, brazo robótico, scanner 3D..) para construir formas y superficies de geometría compleja a partir del 3D del ordenador.
El curso se acompaña de visitas para conocer de primera mano el trabajo con estas herramientas digitales.Duración: 48 horas:Clases de 3D: Modelado con RHINO (16 horas) + GRASSHOPPER (8 horas) + Vray (4 horas)Proyecto personal tutorado y fabricado en su totalidad o en la parte más significativa con la máquina de control numéricoVisitas programadas:Taller de maquetas. Maquetas de arquitectura para estudios como Zaha Hadid o Moneo. Trabajan con láser y control numérico.Fundición Capa: han realizado esculturas para Dalí, Oteiza o Manolo Valdés entre otros. Trabajan con scanner 3D y brazo robótico.Pasarela sobre el Manzanares, de D. Perrault.…
inner As Curve() = section.ToNurbsCurve().Offset(normal, pc, -plate, 1e-3, 1e-4, Rhino.Geometry.CurveOffsetCornerStyle.Sharp)
the error message is:
"
{0}0. Error: Het oplossen van de overbelasting is mislukt omdat dit aantal argumenten door geen enkele toegankelijke Offset wordt geaccepteerd. (line 104)
"
this is the VBA script:
"Option Strict OffOption Explicit On'Import SDK and Framework namespacesImports RhinoImports Rhino.GeometryImports Rhino.CollectionsImports GrasshopperImports Grasshopper.KernelImports Grasshopper.Kernel.DataImports Grasshopper.Kernel.TypesImports GH_IOImports GH_IO.SerializationImports SystemImports System.IOImports System.XmlImports System.DataImports System.DrawingImports System.ReflectionImports System.CollectionsImports System.Windows.FormsImports Microsoft.VisualBasicImports System.Collections.GenericImports System.Runtime.InteropServices'Code generated by Grasshopper(R) (except for RunScript() content and Additional content)'Copyright (C) 2011 - Robert McNeel & Associates<System.Runtime.CompilerServices.CompilerGenerated()> _Public Class Script_Instance Implements IGH_ScriptInstance#Region "Members" ''' <summary>List of error messages. Do not modify this list directly.</summary> Private __err As New List(Of String) ''' <summary>List of print messages. Do not modify this list directly, use the Print() and Reflect() functions instead.</summary> Private __out As New List(Of String) ''' <summary>Represents the current Rhino document.</summary> Private doc As RhinoDoc = RhinoDoc.ActiveDoc ''' <summary>Represents the Script component which maintains this script.</summary> Public owner As Grasshopper.Kernel.IGH_ActiveObject#End Region#Region "Utility functions" ''' <summary>Print a String to the [Out] Parameter of the Script component.</summary> ''' <param name="text">String to print.</param> Private Sub Print(ByVal text As String) __out.Add(text) End Sub ''' <summary>Print a formatted String to the [Out] Parameter of the Script component.</summary> ''' <param name="format">String format.</param> ''' <param name="args">Formatting parameters.</param> Private Sub Print(ByVal format As String, ByVal ParamArray args As Object()) __out.Add(String.Format(format, args)) End Sub ''' <summary>Print useful information about an object instance to the [Out] Parameter of the Script component. </summary> ''' <param name="obj">Object instance to parse.</param> Private Sub Reflect(ByVal obj As Object) __out.Add(GH_ScriptComponentUtilities.ReflectType_VB(obj)) End Sub ''' <summary>Print the signatures of all the overloads of a specific method to the [Out] Parameter of the Script component. </summary> ''' <param name="obj">Object instance to parse.</param> Private Sub Reflect(ByVal obj As Object, ByVal method_name As String) __out.Add(GH_ScriptComponentUtilities.ReflectType_VB(obj, method_name)) End Sub#End Region ''' <summary> ''' This procedure contains the user code. Input parameters are provided as ByVal arguments, ''' Output parameter are ByRef arguments. You don't have to assign output parameters, ''' they will be null by default. ''' </summary> Private Sub RunScript(ByVal p0 As Point3d, ByVal p1 As Point3d, ByVal p2 As Point3d, ByVal pc As Point3d, ByVal plate As Double, ByVal itt As Integer, ByVal dev As Double, ByRef crvout As Object, ByRef crvin As Object, ByRef sec As Object, ByRef opp As Object, ByRef div As Object, ByRef pt4 As Object) 'your code goes here… opp = "test01" Dim section As New Polyline(5) section.Add(p0) section.Add(p1) section.Add(p2) section.Add(pc) section.Add(p0) Dim normal As Vector3d = vector3d.CrossProduct((p1 - p0), (p2 - p0)) Dim area As Double Dim chicken_int As Int32 = 0 Dim XX As Double Dim YY As Double Do chicken_int += 1 If (chicken_int > itt) Then Exit Do 'Compute the section offset Dim inner As Curve() = section.ToNurbsCurve().Offset(normal, pc, -plate, 1e-3, 1e-4, Rhino.Geometry.CurveOffsetCornerStyle.Sharp) Dim edges As New CurveList(inner) edges.Add(section.ToNurbsCurve()) crvin = edges Dim sections As Brep() = Brep.CreatePlanarBreps(edges) If (sections Is Nothing) Then Exit Do opp = "test02" 'Compute the centroid of the current section Dim am As AreaMassProperties = AreaMassProperties.Compute(sections(0)) Dim ct As Point3d = am.Centroid XX = am.CentroidCoordinatesMomentsOfInertia.X YY = am.CentroidCoordinatesMomentsOfInertia.Y area = am.Area Dim dx As Vector3d = pc - ct 'Compute the error of the current centroid Dim dl As Double = dx.Length div = dl 'Update output values crvout = section crvin = inner sec = sections(0) opp = area If (dl < dev) Then Exit Do 'Adjust outline with a boosting factor. section(3) += dx * 4 Loop pt4 = section(3) crvout = section End Sub '<Custom additional code> '</Custom additional code> End Class
"…
r changes so please read the following carefully before upgrading:
Grasshopper 0.9.0051 is for Rhino5 only. It will not work on Rhino4. In fact it needs a fairly recent Service Release of Rhino5. If you don't have Rhino5 SR3 then you may consider updating Rhino first.
Grasshopper 0.9.0051 uses the Rhino installer engine. This means you need to manually uninstall any Grasshoppers you may currently have. You can do so via the Windows Control Panel.
Grasshopper 0.9.0051 may have serious bugs. Although we've tested this release in the field it is possible that it may not work under certain conditions. Please refrain from upgrading if you are on a tight dead-line.
Files written with Grasshopper 0.9.0051 may not read on earlier versions. Although old files should open without issue, Grasshopper is not forward compatible. Do not overwrite important files until you are certain that this release works for you.
That being said, you can download the new release from the usual location. Be sure to uninstall any old Grasshoppers first!
It is always possible to revert to the previous version if you find that this release does not work for you. Details on how to roll back to 0.9.0014 are posted here.
Ok enough hedging, on to the good stuff.
New features in this release:
● A lot of component input parameters now have default values. ● The term 'String' has been replaced with the term 'Text'. ● Several other nomenclature changes have been made in an attempt at increasing self-documentation and standardisation. ● Reorganised the components in the Sets.Tree panel and normalised nomenclature a bit. ● Several components have been moved into the dropdown panels, cleaning up the default layout. ● Jagged edges are now drawn more consistently when there are no inputs or outputs. ● The main window is now only hidden during picking operations if it obscures Rhino viewports. ● The Recent File Timeline in the File menu now has tooltips for files. ● Added Export Quick Image feature for saving the canvas image (File menu). ● Added Template File support to the Preferences (Files category). ● Added Tiles with recently used files to the Canvas when no document is loaded. ● Added per-GHA load protection options. ● Added per-GHA load mechanism options. ● Any component input parameter can now be designated as 'Principle Parameter' via its context menu. ● Sliders now inherit their default nickname from recipient parameters. ● Scrollers now inherit their default nickname from recipient parameters. ● Pressing Shift or Control now reverses direction for jump objects. ● Jump Objects now display the target nickname in their tooltips. ● The canvas now appears blue when editing a cluster. ● Parameter Disconnect menu has been cleaned up. ● Number Sliders with expressions now include the unprocessed value during grip dragging. ● Number sliders with expressions now support text input for the processed numbers. ● Extrusions will now be loaded by the Geometry Pipeline as Breps. ● When the category tabs are too wide for the main window, they will now shrink rather than scroll. ● Added Icon Display to the category tabs (icons can be disabled via the tab popup menu and via the preferences). ● Added Category Icon option to Ribbon preferences (Interface.Ribbon section). ● Tab Grip areas now have tooltips which show partial tab content. ● Slider instantiation from popup insert window now accepts A<B in addition to A<B<C formats. ● Slider instantiation from popup insert window now accepts A..B and A..B..C formats. ● Clocks can be instantiated from the popup insert window using HH:mm or HH:mm:ss formats. ● Calendars can be instantiated from the popup insert window using dd/MM or dd/MM/YYYY formats. ● Point parameters can be instantiated from the popup insert window using X,Y[,Z] notation. ● Ctrl+Scrolling now changes the font size in script editor windows. ● The VB/C# script components now have cleaner template code. ● The VB/C# script components now have different private members, providing easier access to useful objects. ● Added BeforeRunScript and AfterRunScript overrides to the VB and C# script template. ● Added Before/After Solution Template button to the script editor. ● Added Preview Template button to the script editor. ● Added RunScript button to the script editor. ● Added a Font Picker button to the script editor. ● 3rd party GHA libraries without assembly info are now displayed on the banner anyway. ● The GHA library info window accessible from the Banner now shows how a GHA was loaded. ● The GHA library info window accessible from the Banner now provides Load Protection options. ● The GHA library info window accessible from the Banner now provides Load Mechanism options. ● Added a section to the Preferences which provides access to plug-in load protection (Solver section). ● Added a section to the Preferences which provides access to plug-in load mechanisms (Solver section). ● Added a numeric formatting section to the Preferences (Display section).
● Added Culture input to the String Format component. ● Added Culture input to the String Sort component. ● Added Culture input to the String Casing component. ● Added Sequence UI mode to Value List object. ● Added Cycle UI mode to Value List object. ● Added Check List UI mode to Value List object. ● Value List text editor now accepts names without values. ● Added variable output parameter ZUI to the List Item component. ● The Addition component has been replaced by a new one that supports multiple inputs. ● Trigonometry components (Sin, Cos, Tan, Sinc,..., CoTangent) now have Degree options for their inputs. ● Custom Preview component now has a Viewport Filter option for restricting preview to specific viewports. ● The Center component has been replaced with Deconstruct Arc. ● Sweep1 and Sweep2 components now use Rhino5 SDK methods. ● Pipe component now uses Rhino5 SDK methods. ● Indices input of the List Replace component is now optional. ● 2D Voronoi component now has a Rectangle as boundary input instead of a Box. ● PullPoint has been replaced by a new, faster component. ● PullPoint now has a component option for the Closest setting. ● Flip Curve component now distinguishes between linear and curved guide curves. ● Key/Value Search now tells you which key wasn't found rather than a generic warning.
New components in this release:
● Added Colour Wheel object for generating colour palettes (Params.Input dropdown). ● Added Clock object for setting times (Params.Input dropdown). ● Added Calendar object for setting dates (Params.Input dropdown). ● Added Cherry Picker object for manually selecting individual items from data-trees (Params.Util dropdown). ● Added Culture data type and parameter for specifying language specific formatting (Params.Primitive dropdown). ● Added Import XYZ component for parsing text files containing points (Params.Input dropdown). ● Added Import 3DM component for importing geometry from 3DM files (Params.Input dropdown). ● Added Import SHP component for importing GIS data from SHP files (Params.Input dropdown). ● Added Import Image component for importing image data as coloured meshes (Params.Input dropdown). ● Added Import PDB component for importing Protein Data Bank molecules (Params.Input dropdown). ● Added Atom Data component for extracting detailed information about atoms (Params.Input dropdown). ● Point XYZ and Decompose Point have been reverted to the older style without plane [S] input. ● Added Plane Coordinates for extracting point coordinates in a custom axis system (Vector.Plane dropdown). ● Added Dot Display component (Vector.Point dropdown). ● Added Date & Time component (Maths.Time panel). ● Added Date Calendar component (Maths.Time dropdown). ● Added Adjust Date component (Math.Time dropdown). ● Added Deconstruct Date component (Maths.Time dropdown). ● Added Time component (Maths.Time panel). ● Added Smooth Time component (Math.Time dropdown). ● Added Combine Date component (Math.Time dropdown). ● Added Interpolate Time component (Math.Time dropdown). ● Added Time Range component (Math.Time dropdown). ● Added Blur Numbers component for averaging a list of numbers (Math.Util dropdown). ● Added Integer Channels option to the ARGB Split component. ● Added Unflatten Tree component for reversing a flattening operation (Sets.Tree panel). ● Added Trim Tree component for merging the outermost branches of data trees (Sets.Tree panel). ● Added Match Tree component for making trees look alike (Sets.Tree dropdown). ● Added a Deconstruct Rectangle component (Curve.Analysis dropdown). ● Added Tween Curves component (Curve.Spline dropdown). ● Added Tangent Curve component for interpolating curves through many tangent points (Curve.Spline dropdown). ● Added Curve To Polyline component for converting splines to polyline segments (Curve.Util dropdown). ● Added an Inside component for testing shape/brep inclusion (Surface.Analysis dropdown). ● Added Plane Through Shape component for creating a plane which exceeds any shape (Surface.Primitive dropdown). ● Added a Box Rectangle component that defines a box by rectangle and height (Surface.Primitive dropdown). ● Added an Extrude Along Curve component (Surface.Freeform dropdown). ● Added Patch component (Surface.Freeform dropdown). ● Added Fragment Patch component for filling closed polylines (Surface.Freeform dropdown). ● Added Network Surface component (Surface.Freeform panel). ● Added Pipe Variable component (Surface.Freeform dropdown). ● Added Ruled Surface component (Surface.Freeform dropdown). ● Added Cap Holes component for capping non-planar holes in breps (Surface.Util dropdown). ● Added Mesh Sphere Ex component for creating spheres out of square patches (Mesh.Primitive dropdown). ● Added Mesh Spray component for colouring meshes with seed points (Mesh.Primitive dropdown). ● Added Weld Mesh component for welding creased mesh edges (Mesh.Utility dropdown). ● Added Unweld Mesh component for unwelding high angle mesh edges (Mesh.Utility dropdown). ● Added Boundary Volume component (similar to the Rhino _CreateSolid command) (Intersect.Shape dropdown). ● Added Rectangle Mapping component for transforming geometry from one rectangle into another (Transform.Affine dropdown). ● Added Box Mapping component for transforming geometry from one box into another (Transform.Affine dropdown). ● Added Linear Array component for creating geometry arrays (Transform.Array panel). ● Added Rectangular Array component for creating geometry arrays (Transform.Array panel). ● Added Polar Array component for creating geometry arrays (Transform.Array panel). ● Added Curve Array component for creating geometry arrays (Transform.Array panel). ● Added Box Array component for creating geometry arrays (Transform.Array dropdown). ● Added Kaleidoscope component for polar arrays with alternate mirroring (Transform.Array dropdown).
Bug fixes in this release:
● Sort Along Curve component was broken, this is fixed. ● Curve|Plane intersection would fail if there was no intersection, this is fixed. ● Sift Pattern output parameters could not be removed, this is fixed. ● Combine Data input parameters could not be removed, this is fixed. ● Combine Data would not work correctly on more than two inputs, this is fixed. ● Nulls in internalised data would not be deserialized, this is fixed. ● Cluster Disentangle menu was locked when the entanglement count was 2, this is fixed. ● Clusters would not serialize author data, this is fixed. ● Capsules with more than zero but less than four sharp corners would not draw correctly, this is fixed. ● Markov Widget would suggest obsolete components, this is fixed. ● Spatial OcTrees would crash if there were a large amount of coincident nodes. ● Document thumbnails were not updated unless the MDI menu was shown, this is fixed. ● Grasshopper tooltips would not show correctly when displayed from a menu, this is fixed. ● Control Knob decimal settings could not be adjusted via the editor, this is fixed. ● Expression component ran slower than in previous versions, this is fixed. ● Grasshopper preview geometry would be visible in OGL Material previews, this is fixed. ● Pipes would often be inside-out, this appears to be fixed. ● PullPoint did not work on boxes, this is fixed. ● The '&' symbol in the popup search box would insert an obsolete component, this is fixed. ● Concatenation component initialization strings were not properly parsed, this is fixed. ● Trim Solid did not remove faces inside the trimmer shapes, this is fixed. ● Mesh Edges were always drawn when meshes were inside a Geometry or Generic param, this is fixed. ● GrasshopperImageStitcher.exe would crash on large hi-res images, this is fixed. ● GrasshopperImageStitcher.exe would not have feedback in case things went south, this is fixed. ● Ampersands in Tab dropdowns were not visible, this is fixed. ● Data Viewer target cones were sometimes drawn without anti-aliasing, this is fixed. ● Image Gallery would something crash when images were being accessed from two different threads, this is fixed. ● There were typos in the Quadrangulate component, these are fixed. ● Random Reduce has a much faster algorithm, though the result will not be the same as before. ● VB and C# script components would take a long time to show large scripts, this is fixed. ● Grasshopper font picker would not jump to the currently selected font, this is fixed. ● Thumbnail document previews now have a single background colour to improve readability. ● Pull Point would return nonsensical values if all pull operations failed, this is fixed. ● CS1702 compiler warning was only ignored if the error message was in English, this is fixed. ● Vector Display components would still draw previews if they were disabled, this is fixed. ● The Plane output for the [Is Planar] component could be far away from the surface, this is fixed. ● Outputting a Rhino.Geometry.Matrix with a single row or column would not work in a script, this is fixed. ● Unitizing Vector Parameters would affect upstream parameters, this is fixed. ● Non case-sensitive string matching would not work if neither a regex nor a pattern were provided. This is fixed. ● Clusters would skip iterations when an input value was null. This is fixed. ● Clusters referencing files in non-exitent folders would not deserialize, this is fixed. ● Dial Knob would crash the display if the user filter was not a valid formatting string. This is fixed. ● Planar Srf (now called Boundary Surface) created trimmed surfaces even when it didn't have to, this is fixed. ● Undo records associated with components would not automaticall recompute input parameters, this is fixed. ● Tabbing through text fields in the Author Preferences did not work, this is fixed. ● "as list" and "as tree" parameter tooltip suffixes were shown even for floating parameters, this is fixed. ● Non-Uniform scaling transformations would not format correctly, this is fixed.
Not all reported bugs have been fixed incidentally, hopefully we'll get around to them in due time.
--
David Rutten
david@mcneel.com
Poprad, Slovakia
…
ger work.
Be aware, this release breaks file-forwards compatibility. You will not be able to open gh and ghx files saved with 0.8.0050 on previous versions, though of course you should be able to open old files without problems. If this is not the case, please yell loudly.
If you're having trouble loading Grasshopper, note that you must have the latest Microsoft C++ Runtimes installed on your machine. They can be downloaded from the microsoft website.
The new release can be downloaded from the usual location.
Here's a list of changes, additions 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.
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.
Galapagos wires are drawn much fainter when the Galapagos object is unselected.
Medium fast redraw mode in Galapagos now immediately redraws instead of at the end of each generation.
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.
Added preferences section for Document Preview colours.
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).
Added Interpolate Curve With Tangents component (Curve.Spline dropdown).
Added GrasshopperFolders command to open Settings, Components and UserObject folders without loading the core plugin.
The window that reports on certain Loading Errors now has a Copy button.
Added Simplify post-process filter to parameters (in addition to Reverse, Flatten and Graft).
Parameter post processes (Reverse, Flatten, Graft & Simplify) can now also be assigned to output parameters.
Version History window now has formatting (not happy with this, I'm working on something better).
The Process Info window is gone.
Main menu has been redesigned.
Canvas toolbar has been redesigned.
Canvas context menu has been replaced by a Radial Menu.
Canvas now has a radial menu which will pop up on Middle Mouse Button clicks.
It's possible to switch between Radial and Legacy menus in the Preferences (Interface.Canvas section).
'Save As Copy' feature has been replaced by 'Save Backup' which is a GUI-less save including date+time stamp.
Added a 'Show in Folder' item to the File menu.
AutoSave settings are no longer available from the File menu, you now need to use the Preferences.
Selection shifts now also modify the view so you can use Ctrl+Left and Ctrl+Right to navigate up and downstream.
Mesh Edge display can now be toggled with Ctrl+M.
Preview modes now have shortcuts (Ctrl+1 = no preview, Ctrl+2 = wireframe, Ctrl+3 = shaded).
Solution States now have a default name.
Data Viewer window now responds to all required events.
Data Viewer window can now handle input and output parameters as well.
Canvas Navigation pane can now be dragged using the icon in the upper left corner.
The Persistent Data Editor has been redesigned.
It's now possible to select multiple items in the Persistent Data Editor list and edit their properties.
It's now possible to drag multiple items at the same time in the Persistent Data Editor list.
Item addition to the Persistent Data Editor is much improved.
The Persistent Data Editor is now non-modal.
The Canvas would remain black upon maximizing the Rhino window, this is fixed.
Sliders would cause multiple updates under certain conditions, this is fixed.
Digit Scrollers 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.
Referenced dlls in the VB/C# components sometimes resulted in invalid imports statements, this is fixed.
Pasting geometry in Rhino would cause a recompute of the Grasshopper solution, this is fixed.
Importing a file into the Rhino document would cause a recompute of the Grasshopper solution, this is fixed.
Galapagos would trigger superfluous solutions, this is fixed.
Mesh Solid Difference had a wrong name and description, this is fixed.
Several menu items were not greyed out despite not being usable, this is fixed.
The position and size of the Grasshopper window failed to get stored on Rhino shutdown, this is fixed.
The Persistent Data Editor would crash on parameters that did not support data proxies, this is fixed.
I'll add some additional information regarding some of the new UI features in subsequent posts.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
mplex the models are. If we are running multi-room E+ studies, that will take far longer to calculate.
Rhino/Grasshopper = <1%
Generating Radiance .ill files = 88%
Processing .ill files into DA, etc. = ~2%
E+ = 10%
Parallelizing Grasshopper:
My first instinct is to avoid this problem by running GH on one computer only. Creating the batch files is very fast. The trick will be sending the radiance and E+ batch files to multiple computers. Perhaps a “round-robin” approach could send each iteration to another node on the network until all iterations are assigned. I have no idea how to do that but hope that it is something that can be executed within grasshopper, perhaps a custom code module. I think GH can set a directory for Radiance and E+ to save all final files to. We can set this to a local server location so all runs output to the same location. It will likely run slower than it would on the C:drive, but those losses are acceptable if we can get parallelization to work.
I’m concerned about post-processing of the Radiance/E+ runs. For starters, Honeybee calculates DA after it runs the .ill files. This doesn’t take very long, but it is a separate process that is not included in the original Radiance batch file. Any other data manipulation we intend to automatically run in GH will be left out of the batch file as well. Consolidating the results into a format that Design Explorer or Pollination can read also takes a bit of post-processing. So, it seems to me that we may want to split up the GH automation as follows:
Initiate
Parametrically generate geometry
Assign input values, material, etc.
Generate radiance/ E+ batch files for all iterations
Calculate
Calc separate runs of Radiance/E+ in parallel via network clusters. Each run will be a unique iteration.
Save all temp files to single server location on server
Post Processing
Run a GH script from a single computer. Translate .ill files or .idf files into custom metrics or graphics (DA, ASE, %shade down, net solar gain, etc.)
Collect final data in single location (excel document) to be read by Design Explorer or Pollination.
The above workflow avoids having to parallelize GH. The consequence is that we can’t parallelize any post-processing routines. This may be easier to implement in the short term, but long term we should try to parallelize everything.
Parallelizing EnergyPlus/Radiance:
I agree that the best way to enable large numbers of iterations is to set up multiple unique runs of radiance and E+ on separate computers. I don’t see the incentive to split individual runs between multiple processors because the modular nature of the iterative parametric models does this for us. Multiple unique runs will simplify the post-processing as well.
It seems that the advantages of optimizing matrix based calculations (3-5 phase methods) are most beneficial when iterations are run in series. Is it possible for multiple iterations running on different CPUs to reference the same matrices stored in a common location? Will that enable parallel computation to also benefit from reusing pre-calculated information?
Clustering computers and GPU based calculations:
Clustering unused computers seems like a natural next step for us. Our IT guru told me that we need come kind of software to make this happen, but that he didn’t know what that would be. Do you know what Penn State uses? You mentioned it is a text-only Linux based system. Can you please elaborate so I can explain to our IT department?
Accelerad is a very exciting development, especially for rpict and annual glare analysis. I’m concerned that the high quality GPU’s required might limit our ability to implement it on a large scale within our office. Does it still work well on standard GPU’s? The computer cluster method can tap into resources we already have, which is a big advantage. Our current workflow uses image-based calcs sparingly, because grid-based simulations gather the critical information much faster. The major exception is glare. Accelerad would enable luminance-based glare metrics, especially annual glare metrics, to be more feasible within fast-paced projects. All of that is a good thing.
So, both clusters and GPU-based calcs are great steps forward. Combining both methods would be amazing, especially if it is further optimized by the computational methods you are working on.
Moving forward, I think I need to explore if/how GH can send iterations across a cluster network of some kind and see what it will take to implement Accelerad. I assume some custom scripting will be necessary.…