oftware connections built from the initial seed of the project. As always you can download the new release from Food4Rhino. Make sure to remove the older version of Ladybug and Honeybee and update your scripts.
This release is also special since today it is just about 3 years (3 years and 2 weeks) from the first release of Ladybug. As with any release, there have been a number of bug fixes and improvements but we also have some major news this time. In no specific order and to ensure that the biggest developments do not get lost in the extensive list of updates, here are the major ones:
Mostapha is re-writing Ladybug!
Ladybug for DynamoBIM is finally available.
Chris made bakeIt really useful by incorporating an export pathway to PDFs and vector-based programs.
Honeybee is now connected to THERM and the LBNL suite thanks to Chris Mackey.
Sarith has addressed a much-desired wish for Honeybee (Hi Theodore!) by adding components to model electric lighting with Radiance.
Djordje is on his way to making renewable energy deeply integrated with Ladybug by releasing components for modeling solar hot water.
There is new bug. Check the bottom of the post for Dragonfly!
Last but definitely not least (in case you’re not still convinced that this release is a major one) Miguel has started a new project that brings some of Ladybug’s features directly to Rhino. We mean Rhino Rhino - A Rhino plugin! Say hi to Icarus! #surprise
Before we forget! Ladybug and Honeybee now have official stickers. Yes! We know about T-Shirts and mugs and they will be next. For now, you can deck-out your laptops and powerhouse simulation machines with the symbology of our collaborative software ecosystem.
Now go grab a cup of tea/coffee and read the details below:
Rewriting Ladybug!
Perhaps the most far-reaching development of the last 4 months is an effort on the part of Mostapha to initiate a well structured, well documented, flexible, and extendable version of the Ladybug libraries. While such code is something that few community members will interact with directly, a well-documented library is critical for maintaining the project, adding new features, and for porting Ladybug to other software platforms.
The new Ladybug libraries are still under development across a number of new repositories and they separate a ladybug-core, which includes epw parsing and all non-geometric functions, from interface-specific geometry libraries. This allows us to easily extend Ladybug to other platforms with a different geometry library for each platform (ie. ladybug-grasshopper, ladybug-dynamo, ladybug-web, etc) all of which are developed on top of the ladybug-core.
Without getting too technical, here is an example of a useful outcome of this development. If you want to know the number of hours that relative humidity is more than 90% for a given epw, all that you have to code (in any python interface) is the following:
import ladybug as lb
_epwFile = r"C:\EnergyPlusV7-2-0\WeatherData\USA_CO_Golden-NREL.724666_TMY3.epw"
epwfile = lb.epw.EPW(_epwFile)
filteredData = epwfile.relativeHumidity.filterByConditionalStatement('x>90')
print "Number of hours with Humidity more than 90 is %d "%len(filteredData.timeStamps)
Compare that to the 500 + lines that you would have had to write previously for this operation, which were usually tied to a single interface! Now let’s see what will happen if you want to use the geometry-specific libraries. Let’s draw a sunpath in Grasshopper:
import ladybuggrasshopper.epw as epw
import ladybuggrasshopper.sunpath as sunpath
# get location data form epw file
location = epw.EPW(_epwFile).location
# initiate sunpath based on location
sp = sunpath.Sunpath.fromLocation(location, northAngle = 0, daylightSavingPeriod = None, basePoint =cenPt, scale = scale, sunScale = sunScale)
# draw sunpath geometry
sp.drawAnnualSunpath()
# assign geometries to outputs
...
Finally we ask, how would this code will look if we wanted to make a sunpath for dynamo? Well, it will be exactly the same! Just change ladybuggrasshopper in the second line to ladybugdynamo! Here is the code which is creating the sunpath below.
With this ease of scripting, we hope to involve more of our community members in our development and make it easy for others to use ladybug in their various preferred applications. By the next release, we will produce an API documentation (documentation of all the ladybug classes, methods and properties that you can script with) and begin making tutorials for those interested in getting deeper into Ladybug development.
LADYBUG
1 - Initial Release of Ladybug for Dynamo:
As is evident from the post above, we are happy to announce the first release of Ladybug for Dynamo! You can download the ladybug package from Dynamo package manager. Make sure to download version 0.0.6 which is actually 0.0.1! It took a number of trial and errors to get it up there. Once you have the file downloaded you can watch these videos to get started:
The source code can be find under ladybug-dynamo repository and (as you can already guess) it is using the new code base. It includes a very small toolkit of essential Ladybug components/nodes but it has enough to get you started. You can import weather files, draw sunpaths and run sunlighthours or radiation analyses.
There are two known issues in this release but neither of them is critical. You need to have Dynamo 0.9.1 or higher installed which you can download from here (http://dynamobuilds.com/). It is recommended that you run the scripts with ‘Manual’ run (as opposed to ‘Automatic’) since the more intense calculations can make Dynamo crash in automatic mode.
To put things in perspective, here is how we would map Ladybug for Dynamo vs Ladybug and Honeybee for Grasshopper on the classic ‘Hype graph’. The good news is that what we learned a lot from the last three years, making development of the Dynamo version easier and getting us to the plateau of productivity faster.
We should also note that the current development of the Dynamo interface is behind that of the Ladybug-Core, which means there are a number of features that are developed in the code but haven’t made their way to the nodes yet. They will be added gradually over the next month or two.
If you’re interested to get involved in the development process or have ideas for the development, follow ladybug on Facebook, Twitter and Github. We will only post major release news here. Facebook, github and twitter will be the main channels for posting the development process. There will also be a release of a new ladybug for Grasshopper soon that will use the came Ladybug-Core libraries as the Dynamo interface [Trying hard not to name it as Ladybug 2].
2 - New Project “Icarus” Provides Ladybug Capabilities Directly in Rhino
Speaking of expanded cross-platform capabilities, the talented Miguel Rus has produced a standalone Rhino Plugin off of the original Ladybug code that has been included in this release. After writing his own core C# libraries, Miguel’s plugin enables users to produce sunpath and run sunlight hours analyses in the Rhino scene without need of opening Grasshopper or engaging the (sometimes daunting) act of visual scripting.
This release includes his initial RHP plugin file. It is hoped that Miguel’s efforts will extend some of the capabilities of environmental design to individuals who are unfamiliar with visual scripting, casting the network of our community into new territory. We need your help spreading the word about Icarus since the people who will benefit the most from it have probably not read this far into the release notes. Also, as the project is in the early stages, your feedback can make a great difference. You can download the current release from this link.
Once you download the zip file. Right click and unblock it. Then extract the files under C:\Program Files\Rhinoceros 5 (64-bit)\Plug-ins\ folder. Drag and drop the RHP file into Rhino and you should be ready to go. You can either type Icarus in the command line or open it via the panels. Here is a short video that shows how to run a sunlighhours analysis study in Rhino.
3 - BakeIt Input Now Supports a Pathway to PDF +Vector Programs
As promised in the previous release, the BakeIt_ option available on Ladybug’s visual components has been enhanced to provide a full pathway to vector-based programs (like Illustrator and Inkscape) and eases the export to vector formats like PDFs.
This means that the BakeIt_ operation now places all text in the Rhino scene as actual editable text (not meshes) and any colored meshes are output as groups of colored hatches (so that they appear as color-filled polygons in vector-based programs). There is still an option to bake the colored geometries as light meshes (which requires smaller amounts of memory and computation time) but the new hatched capability should make it easier to incorporate Ladybug graphics in architectural drawings and documents like this vector psychrometric chart.
4 - Physiological Equivalent Temperature (PET) Now Available
Thanks to the efforts of Djordje Spasic, it is now possible to compute the common outdoor comfort metric ‘Physiological Equivalent Temperature’ (PET) with Ladybug. The capability has been included with this release of “Thermal Comfort Indices” component and is supported by a “Body Characteristics” component in the Extra tab. PET is particularly helpful for evaluating outdoor comfort at a high spatial resolution and so the next Honeybee release will include an option for PET with the microclimate map workflow.
5 - Solar Hot Water Components Available in WIP
Chengchu Yan and Djordje Spasic have built a set of components that perform detailed estimates of solar hot water. The components are currently undergoing final stages of testing and are available in the WIP tab of this release. You can read the full release notes for the components here.
6 - New Ladybug Graphic Standards
With the parallel efforts or so many developers, we have made an effort in this release to standardize the means by which you interact with the components. This includes warnings for missing inputs and the ability to make either icons or text appear on the components as you wish (Hi Andres!). A full list of all graphic standards can be found here. If you have any thoughts or comments on the new standards, feel free to voice them here.
7 - Wet Bulb Temperature Now Available
Thanks to Antonello Di Nunzio - the newest member of the Ladybug development team, it is now possible to calculate wet bulb temperature with Ladybug. Antonello’s component can be found under the WIP tab and takes inputs of dry bulb temperature, relative humidity, and barometric pressure.
8 - New View Analysis Types
The view analysis component now allows for several different view studies in addition to the previous ‘view to test points.’ These include, skyview (which is helpful for studies of outdoor micro-climate), as well as spherical view and ‘cone of vision’ view, which are helpful for indoor studies evaluating the overall visual connection to the outdoors.
HONEYBEE
1 - Connection to THERM and LBNL Programs
With this release, many of you will notice that a new tab has been added to Honeybee. The tab “11 | THERM” includes 7 new components that enable you to export ready-to-simulate Lawrence Berkeley National Lab (LBNL) THERM files from Rhino/Grasshopper. THERM is a 2D finite element heat flow engine that is used to evaluate the performance of wall/window construction details by simulating thermal bridging behavior. The new Honeybee tab represents the first ever CAD plugin interface for THERM, which has been in demand since the first release of LBNL THERM several years ago. The export workflow involves the drawing of window/wall construction details in Rhino and the assigning of materials and boundary conditions in Grasshopper to produce ready-to-simulate THERM files that allow you to bypass the limited drawing interface of THERM completely. Additional components in the “11 | THERM” tab allow you to import the results of THERM simulations back into Grasshopper and assist with incorporating THERM results into Honeybee EnergyPlus simulations. Finally, two components assist with a connection to LBNL WINDOW for advanced modeling of Glazing constructions. Example files illustrating many of the capabilities of the new components can be found in there links.
THERM_Export_Workflow, THERM_Comparison_of_Stud_Wall_Constructions
Analyze_THERM_Results, Thermal_Bridging_with_THERM_and_EnergyPlus
Import_Glazing_System_from_LBNL_WINDOW, Import_LBNL_WINDOW_Glazing_Assembly_for_EnergyPlus
It is recommended that those who are using these THERM components for the first time begin by exploring this example file.
Tutorial videos on how to use the components will be posted soon. A great deal of thanks is due to the LBNL team that was responsive to questions at the start of the development and special thanks goes to Payette Architects, which allowed Chris Mackey (the author of the components) a significant amount of paid time to develop them.
2 - Electrical Lighting Components with Enhanced Capabilities for Importing and Manipulating IES Files
Thanks to the efforts of Sarith Subramaniam, it is now much easier and more flexible to include electric lighting in Honeybee Radiance simulations. A series of very exciting images and videos can be found in his release post.
You can find the components under WIP tab. Sarith is looking for feedback and wishes. Please give them a try and let him know your thoughts. Several example files showing how to use the components can be found here. 1, 2, 3.
3- Expanded Dynamic Shade Capabilities
After great demand, it is now possible to assign several different types of control strategies for interior blinds and shades for EnergyPlus simulations. Control thresholds range from zone temperature, to zone cooling load, to radiation on windows, to many combinations of these variables. The new component also features the ability to run EnergyPlus simulations with electrochromic glazing. An example file showing many of the new capabilities can be found here.
Dragonfly Beta
In order to link the capabilities of Ladybug + Honeybee to a wider range of climatic data sets and analytical tools, a new insect has been initiated under the name of Dragonfly. While the Dragonfly components are not included with the download of this release, the most recent version can be downloaded here. An example file showing how to use Dragonfly to warp EPW data to account for urban heat island effect can also be found here. By the next release, the capabilities of Dragonfly should be robust enough for it to fly on its own. Additional features that will be implemented in the next few months include importing thermal satellite image data to Rhino/GH as well as the ability to warp EPW files to account for climate change projections. Anyone interested in testing out the new insect should feel free to contact Chris Mackey.
And finally, it is with great pleasure that we welcome Sarith and Antonello to the team. As mentioned in the above release notes, Sarith has added a robust implementation for electric light modeling with Honeybee and Antonello has added a component to calculate wet bulb temperature while providing stellar support to a number of people here on the GH forum.
As always let us know your comments and suggestions.
Enjoy!
Ladybug+Honeybee development team
PS: Special thanks to Chris for writing most of the release notes!…
t. So here we go!
1. Honeybee is brown and not yellow [stupid!]...
As you probably remember Honeybee logo was initially yellow because of my ignorance about Honeybees. With the help of our Honeybee expert, Michalina, now the color is corrected. I promised her to update everyone about this. Below are photos of her working on the honeybee logo and the results of her study.
If you think I'm exaggerating by calling her a honeybee expert you better watch this video:
Thank you Michalina for the great work! :). I corrected the colors. No yellow anymore. The only yellow arrows represent sun rays and not the honeybee!
2. Yellow or brown, W[here]TH Honeybee is?
I know. It has been a long time after I posted the initial video and it is not fun at all to wait for a long time. Here is the good news. If you are following the Facebook page you probably now that the Daylighting components are almost ready.
Couple of friends from Grasshopper community and RADIANCE community has been helping me with testing/debugging the components. I still think/hope to release the daylighting components at some point in January before Ladybug gets one year old.
There have been multiple changes. I finally feel that the current version of Honeybee is simple enough for non-expert users to start running initial studies and flexible enough for advanced users to run advanced studies. I will post a video soon and walk you through different components.
I think I still need more time to modify the energy simulation components so they are not going to be part of the next release. Unfortunately, there are so many ways to set up and run a wrong energy simulation and I really don’t want to add one new GIGO app to the world of simulation. We already have enough of that. Moreover I’m still not quite happy with the workflow. Please bear with me for few more months and then we can all celebrate!
I recently tested the idea of connecting Grasshopper to OpenStudio by using OpenStudio API successfully. If nothing else, I really want to release the EnergyPlus components so I can concentrate on Grasshopper > OpenStudio development which I personally think is the best approach.
3. What about wind analysis?
I have been asked multiple times that if Ladybug will have a component for wind study. The short answer is YES! I have been working with EFRI-PULSE project during the last year to develop a free and open source web-based CFD simulation platform for outdoor analysis.
We had a very good progress so far and our rockstar Stefan recently presented the results of the work at the American Physical Society’s 66th annual DFD meeting and the results looks pretty convincing in comparison to measured data. Here is an image from the presentation. All the credits go to Stefan Gracik and EFRI-PULSE project.
The project will go live at some point next year and after that I will release the Butterfly which will let you prepare the model for the CFD simulation and send it to EFRI-PULSE project. I haven’t tried to run the simulations locally yet but I’m considering that as a further development. Here is how the component and the logo looks like right now.
4. Teaching resources
It has been almost 11 months from the first public release of Ladybug. I know that I didn't do a good job in providing enough tutorials/teaching materials and I know that I won’t be able to put something comprehensive together soon.
Fortunately, ladybug has been flying in multiple schools during the last year. Several design, engineering and consultant firms are using it and it has been thought in several workshops. As I checked with multiple of you, almost everyone told me that they will be happy to share their teaching materials; hence I started the teaching resources page. Please share your materials on the page. They can be in any format and any language. Thanks in advance!
I hope you enjoyed/are enjoying/will enjoy the longest night of the year. Happy Yalda!
Cheers,
-Mostapha
…
Grasshopper contains a VB.net and C# component. These components
allow you to run your own custom code within Grasshopper.
Understanding how to make even simple code components can be very
useful in G
the daylighting and energy sim with Nat Vent create many complex questions.
Daylighting :
1. Adding shading to energy AND daylight simulation: Can I add HBconext to Honeybee_run daylight simulation HBobject input ?
Looking at the results it seems like daylight simulation doesn't recognize HBcontext, or maybe the difference is minute. Am I doing this correctly? Is there a possible error due to redundancy ? (meaning I am introducing the HBcontext twice, one time to the Honeybee_run daylight simulation AND energy simulation)
2. One of the component, Honeybee_Read annual result 1 keeps failing and says that ''1. Solution exception:index out of range: 0." I read here input needs to be internalize data but maybe there is a better solution?
Shading :
I want to study life cycle perspective of
A) Optimal ratio of fixed vs dynamic louvers for economic implementation,
B) Assess whether it makes more sense for the dynamic louvers to functions as light shelvs or the fixed ones for economic reasons
C) Simulate dynamic/fixed hybrid louver system schedule, and show it in a manner similiar to lighting schedule.
For this I would need to simulate the effect of dynamic and-or fixed shades in reducing annual lighting cost while reducing cumulative heat gain.
3_How to introduce Dynamic shading schedule for custom shades? Is this done with EPtranschedule input of the HB EP context component? I would like to keep the louvers branched so that it is possible to assign different modes i.e. fixed or dynamic
Light Shelf:
4_Is the lighting schedule effected by light shelves introduced in the annual daylighting simulation?
5_Does energy simulation take account of additional heat gain from light shelvs ?
6_When I use Honeybee_createHBSrfs with Honeybee_radiance Mirror material, it crashes rhino. The geometry input is not branched. Any report similar crashes?
Nat Vent:
I want to design to combine passivhaus principles with Natural ventilation.
My goal to simulate the energy performance of passivhaus house like building system with Bouyancy driven Nat Vent design which maximizing the percentage of the year Nat Vent takes care of ventilation and cooling, and in cloud days heat exchanger with fans kicks in.
using a trombe roof that heats air and using a vertical shaft that recirculate air, want to minimize the use of fans, Ducts, Heating etc. and I want to use the HB Set_Air flow component to evaluate such system if I can.
while I have heard that bouncy driven system may only be reserved for tall buildings, I still would to simulate the effectiveness for mid rizes and podium- types. I am skeptical whether there will be enough pressure difference for effective ventilation of 1.5ms so I would like to test.
How to set up models to evaluate bouyancy driven ventilation :
7 About HB Set_Air Flow, with Natural ventilation, If I use the HB Set_air the honeyzone output is null. I am not sure why, no error messages.
8_ When using the HB Set Air component to include Nat Vent with bouyancy,
does the result of reduced temperature to take effect into the cooling/equipment/ventilation schedule of the Honeybee_set Energy plus zone schedules?
Additionally I want to incorporate Nat vent analysis with the light shelf, since both would effect indoor temperature.
A wish list: as if it were all this has been not.
9_I wish there is something like a deconstruct honeybee zone component that basically breaks down all the options (mechanically ventilated or not) that is associated with the honeybee zones so that it is easy to document all the properties in text.…
will work slightly different from before. Sorry about breaking this, but it proved impossible to improve the selection logic with the fairly ambiguous notation that was implemented already.
Not every change is breaking though and I hope that most simple matching rules will work as before. There will be a McNeel webinar on Wednesday the 6th of November where I discuss the new selection rules (as well as path mapping syntax and relative offsets within one or more data trees). This will be a pretty hard-core webinar aimed at expert users. The event will be recorded so you can always go and watch it later. I figured I'd briefly explain the new selection rules on Ning before I release the update though.
-------------------------------------------------------------------------------
Imagine we have the following data tree, containing a bunch of textual characters:
{0;0} = [a,e,i,o,u,y] {0;1} = [ä,ë,ê,ï,î,ö,ô,õ,ü,û,ÿ,ý] {1;0} = [b,c,d,f,g,h,j,k,l,m,n,p,q,r,s,t,v,w,x,z] {1;1} = [ç,ĉ,č,ĝ,ř,š,ş,ž]
There are a total of four branches {0;0}, {0;1}, {1;0} and {1;1}. The first branch contains all the vowels that are part of the standard English alphabet. The second branch contains all non-standard vowels and branches three and four contain the standard and non-standard consonants respectively.
So what if we want to select from this tree only the standard vowels? Basically include everything in the first branch and disregard everything else. We can use the [Tree Split] component with a selection rule to achieve this:
{0;0}
This selection rule hard-codes the number zero in both tree path locations. It doesn't define an item index rule, so all items in {0;0} will be selected.
If we want all the vowels (both standard and non-standard), then we have several options:
{0;?} = select all branches that start with 0
{0;(0,1)} = select all branches that start with 0 and end in either 0 or 1
{0;(0 to 1)} = ......................................... and end in the range 0 to 1.
Conversely, selecting all standard vowels and consonants while disregarding all non-standard character can be achieved with rules as follows:
{?;0}
{(0,1);0}
{(0 to 1);0}
It is also possible to select items from each branch in addition to limiting the selection to specific branches. In this case another rule stated in square brackets needs to be appended:
{0;?}[0 to 2]
The above rule will select the first three vowels from the standard and the non-standard lists.
Basically, rules work in a very consistent way, but there are some syntax conventions you need to know. The first thing to realize is that every individual piece of data in a data-tree can be uniquely and unambiguously identified by a collection of integers. One integer describes its index within the branch and the others are used to identify the branch within the tree. As a result a rule for selection items always looks the same:
{A;B;C;...;Z}[i] where A, B, C, Z and i represent rules.
It's very similar to the Path Mapper syntax except it uses square brackets instead of parenthesis for the index (the Path Mapper will follow suit soon, but that won't be a breaking change). You always have to define the path selector rule in between curly brackets. You can supply any number of rules as long as you separate them with semi-colons.
The index rule is optional, but -when provided- it has to be encased in square brackets after the path selection rule(s).
The following rule notations are allowed:
* Any number of integers in a path
? Any single integer
6 Any specific integer
!6 Anything except a specific integer
(2,6,7) Any one of the specific integers in this group.
!(2,6,7) Anything except one of the integers in this group.
(2 to 20) Any integer in this range (including both 2 and 20).
!(2 to 20) Any integer outside this range.
(0,2,...) Any integer part of this infinite sequence. Sequences have to be at least two integers long, and every subsequent integer has to be bigger than the previous one (sorry, that may be a temporary limitation, don't know yet).
(0,2,...,48) Any integer part of this finite sequence. You can optionally provide a single sequence limit after the three dots.
!(3,5,...) Any integer not part of this infinite sequence. The sequence doesn't extend to the left, only towards the right. So this rule would select the numbers 0, 1, 2, 4, 6, 8, 10, 12 and all remaining even numbers.
!(7,10,21,...,425) Any integer not part of this finite sequence.
Furthermore, it is possible to combine two or more rules using the boolean and/or operators. If you want to select the first five items in every list of a datatree and also the items 7, 12 and 42, then the selection rule would look as follows:
{*}[(0 to 4) or (6,11,41)]
The asterisk allows you to include all branches, no matter what their paths looks like.
It is at present not possible to use the parenthesis to define rule precedence, rules are always evaluated from left to right. It is at present also not possible to use negative integers to identify items from the end of a list.
If you want to know more, join the Webinar on Wednesday!
--
David Rutten
david@mcneel.com
Seattle, WA…
Added by David Rutten at 8:57pm on November 3, 2013
vocation. TargetInvocationException}Object: KTimer (level 2){ Method not found: 'Int32 GH_InputParamManager.AddBooleanParameter(System.String, System.String, System.String, Grasshopper.Kernel.GH_ParamAccess, Boolean)'. MissingMethodException}Object: QuadMeshDivide (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: QuadMeshDivide (level 2){ Method not found: 'Int32 GH_InputParamManager.AddMeshParameter(System.String, System.String, System.String, Grasshopper.Kernel.GH_ParamAccess)'. MissingMethodException}Object: Trail (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: Trail (level 2){ Method not found: 'Int32 GH_InputParamManager.AddBooleanParameter(System.String, System.String, System.String, Grasshopper.Kernel.GH_ParamAccess, Boolean)'. MissingMethodException}Object: NakedVertices (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: NakedVertices (level 2){ Method not found: 'Int32 GH_OutputParamManager.AddPointParameter(System.String, System.String, System.String, Grasshopper.Kernel.GH_ParamAccess)'. MissingMethodException}Object: Wind (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: Wind (level 2){ Method not found: 'Int32 GH_InputParamManager.AddBooleanParameter(System.String, System.String, System.String, Grasshopper.Kernel.GH_ParamAccess, Boolean)'. MissingMethodException}Object: BoxCollide (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: BoxCollide (level 2){ Method not found: 'Int32 GH_InputParamManager.AddPointParameter(System.String, System.String, System.String, Grasshopper.Kernel.GH_ParamAccess)'. MissingMethodException}Object: AnchorXYZ (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: AnchorXYZ (level 2){ Method not found: 'Int32 GH_InputParamManager.AddPointParameter(System.String, System.String, System.String, Grasshopper.Kernel.GH_ParamAccess)'. MissingMethodException}Object: MeshCollide (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: MeshCollide (level 2){ Method not found: 'Int32 GH_InputParamManager.AddNumberParameter(System.String, System.String, System.String, Grasshopper.Kernel.GH_ParamAccess, Double)'. MissingMethodException}Object: Sequence (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: Sequence (level 2){ Method not found: 'Int32 GH_OutputParamManager.AddBooleanParameter(System.String, System.String, System.String, Grasshopper.Kernel.GH_ParamAccess)'. MissingMethodException}Object: Counter (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: Counter (level 2){ Method not found: 'Int32 GH_InputParamManager.AddBooleanParameter(System.String, System.String, System.String, Grasshopper.Kernel.GH_ParamAccess, Boolean)'. MissingMethodException}Object: KangarooOptions (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: KangarooOptions (level 2){ Method not found: 'Int32 GH_InputParamManager.AddBooleanParameter(System.String, System.String, System.String, Grasshopper.Kernel.GH_ParamAccess, Boolean)'. MissingMethodException}Object: KangarooA (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: KangarooA (level 2){ Method not found: 'Int32 GH_InputParamManager.AddGenericParameter(System.String, System.String, System.String, Grasshopper.Kernel.GH_ParamAccess)'. MissingMethodException}Object: AntiprismComponent (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: AntiprismComponent (level 2){ Method not found: 'Void Grasshopper.Kernel.GH_PersistentParam`1.SetPersistentData(**UNKNOWN TYPE**)'. MissingMethodException}Object: TileComponent (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: TileComponent (level 2){ Method not found: 'Void Grasshopper.Kernel.GH_PersistentParam`1.SetPersistentData(**UNKNOWN TYPE**)'. MissingMethodException}Object: PrismComponent (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: PrismComponent (level 2){ Method not found: 'Void Grasshopper.Kernel.GH_PersistentParam`1.SetPersistentData(**UNKNOWN TYPE**)'. MissingMethodException}Object: PyramidComponent (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: PyramidComponent (level 2){ Method not found: 'Void Grasshopper.Kernel.GH_PersistentParam`1.SetPersistentData(**UNKNOWN TYPE**)'. MissingMethodException}Object: LaplacianComponent (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: LaplacianComponent (level 2){ Method not found: 'Void Grasshopper.Kernel.GH_PersistentParam`1.SetPersistentData(**UNKNOWN TYPE**)'. MissingMethodException}Object: LaplacianHCComponent (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: LaplacianHCComponent (level 2){ Method not found: 'Void Grasshopper.Kernel.GH_PersistentParam`1.SetPersistentData(**UNKNOWN TYPE**)'. MissingMethodException}Object: CatmullClarkComponent (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: CatmullClarkComponent (level 2){ Method not found: 'Void Grasshopper.Kernel.GH_PersistentParam`1.SetPersistentData(**UNKNOWN TYPE**)'. MissingMethodException}Object: DualComponent (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: DualComponent (level 2){ Method not found: 'Void Grasshopper.Kernel.GH_PersistentParam`1.SetPersistentData(**UNKNOWN TYPE**)'. MissingMethodException}Object: LoopComponent (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: LoopComponent (level 2){ Method not found: 'Void Grasshopper.Kernel.GH_PersistentParam`1.SetPersistentData(**UNKNOWN TYPE**)'. MissingMethodException}Object: MidEdgeComponent (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: MidEdgeComponent (level 2){ Method not found: 'Void Grasshopper.Kernel.GH_PersistentParam`1.SetPersistentData(**UNKNOWN TYPE**)'. MissingMethodException}Object: SplitPolygonsComponent (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: SplitPolygonsComponent (level 2){ Method not found: 'Void Grasshopper.Kernel.GH_PersistentParam`1.SetPersistentData(**UNKNOWN TYPE**)'. MissingMethodException}Object: SplitQuadsComponent (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: SplitQuadsComponent (level 2){ Method not found: 'Void Grasshopper.Kernel.GH_PersistentParam`1.SetPersistentData(**UNKNOWN TYPE**)'. MissingMethodException}Object: BevelEdgesComponent (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: BevelEdgesComponent (level 2){ Method not found: 'Void Grasshopper.Kernel.GH_PersistentParam`1.SetPersistentData(**UNKNOWN TYPE**)'. MissingMethodException}Object: BevelVerticesComponent (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: BevelVerticesComponent (level 2){ Method not found: 'Void Grasshopper.Kernel.GH_PersistentParam`1.SetPersistentData(**UNKNOWN TYPE**)'. MissingMethodException}Object: CarpetComponent (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: CarpetComponent (level 2){ Method not found: 'Void Grasshopper.Kernel.GH_PersistentParam`1.SetPersistentData(**UNKNOWN TYPE**)'. MissingMethodException}Object: FrameComponent (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: FrameComponent (level 2){ Method not found: 'Void Grasshopper.Kernel.GH_PersistentParam`1.SetPersistentData(**UNKNOWN TYPE**)'. MissingMethodException}Object: OffsetComponent (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: OffsetComponent (level 2){ Method not found: 'Void Grasshopper.Kernel.GH_PersistentParam`1.SetPersistentData(**UNKNOWN TYPE**)'. MissingMethodException}Object: ThickenComponent (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: ThickenComponent (level 2){ Method not found: 'Void Grasshopper.Kernel.GH_PersistentParam`1.SetPersistentData(**UNKNOWN TYPE**)'. MissingMethodException}Object: WindowComponent (level 1){ Exception has been thrown by the target of an invocation. TargetInvocationException}Object: WindowComponent (level 2){ Method not found: 'Void Grasshopper.Kernel.GH_PersistentParam`1.SetPersistentData(**UNKNOWN TYPE**)'. MissingMethodException}…
ere's not plenty of skate spots. how to know what size skateboard to get and all teams visit for each skate/vacation. Plenty of skateparks, a swimming pool scene that's difficult to break the code to, and street spots which are whether bust or presently offer the techniques logged.
The trip began off for each week in Honolulu. The crew was Chris Haslam, Paul Machnau, Sierra Fellers, and Brent Atchley. Sierra and myself had just become from Nz and australia before departing with regards to this trip, additionally to the people other crew were within the cold Northwest.
They'd a seaside house rented out for your week within the Northern Coast directly across from Pipeline. Inside the doorstep was Cholo's compound along with new Northern Coast concrete skatepark. It had been hot and moist, and so the agenda elevated to acquire awaken early, visit the beach, and swimming at like 8 am.
And possess some coffee and breakfast, maybe begin the rock at Waimea Bay. Then proven around visit skating. We did laps inside the island trying to look at different spots even though it was hot out. Lots of occasions it had been to acquire similar to, " let us visit the beach," however we discovered some rad spots and additionally it switched into " the shore, let us skate." Scott, the TM for Dakine, had the program pretty relaxed. You need to in Hawaii, right? Hold on, how extended can plenty of dudes hang within the sea together when there are lots of places to skate?
Graveside DIY project reaches its third phase. We found this out once we visited skate it one mid-day but got humbled. An issue which inserts lower because place is gnarly as hell. We spent roughly 1 hour getting thrown around instead of got an chance to come back. I'd like no under every week simply to locate the lines, bumps, protuberances, and holes.
Together with tranny, dying boxes, corners, and coping. It is a really sick place the locals needed over and did their unique factor with, not conforming for the public skatepark hype. Customized with BBQ pits within the deck along with whole nine yards. Just hearing who did what where inside was enough that will help you seem like a pussy inside the best complete skateboards for beginners.
We've proven up at Cholo's compound one evening given that they returned for the city. Skating the bowls along with small-ramps was I an enjoyable experience--he'd lights ready you will observe a session happening 'til late. Clearly, just hospitality.
Consider HAWAII? The surfing. "Yeah, Brudda, you need to come searching. We'll demonstrate what is happening.In . Yeah right, they'll. The locals can be found in water almost all day, everyday. We are inside the skateboard trip and then we fide skateboards. A lot of us proven up in this area surfing--or may i have thought that paddling around inside the sea watching the guides rip up.
It is not like i used to be while using the surfers to 13-stair handrails and gaps, letting them know they need to skate around. Nonetheless it had been awesome dealing with seem like a fool in water like numerous inside the locals yelled out such things as "We elevated here therefore you travelled here. Beat it, haoles!" I suppose we stuck out like sore thumbs. Wouldn't it are actually Haslam surfing in jeans which have been cut obtaining a blade roughly the ankles and tied obtaining a shoestring, selecting the show Castaway with Tom Hanks.
Within the second week within the trip, we travelled to Maul Same drill: Beach house in Paia Bay, obtaining a skatepark fight constantly. There's more spots in Oahu than Maui, and then we handled enough the photos there. But Maui had more to provide than we expected. We met some locals who'd formerly been ripping the skatepark in Kihea, once you have a 30-pack together these were lower to demonstrate us the island's spots.
Handrails, more ditches, some concrete parks, and abandoned truck beds stored us busy in the last day or two within the-week vacation within the islands. It had been among individuals journeys that no-one selected over depart, particularly in your thinking for your shitty winter. Of skate journeys an individual finishes inside the amount of sewer-ridden ditch with dead rats, or perhaps amount of ghetto neighborhood school wishing the equipment does not get jacked. But every from time to time when you're getting lucky. Big because of Scott and Dakine for linking plenty of days. Let us book them tickets again for get, Brudda!
WE Began WITH SEANZO in north of manchester Shore. He elevated up skating while using the Phelper within the Colonial, and he's resided in Hawaii in the last fifteen years. We hit him up for whatever pools he might take us to without getting shut within the scene, ditches which have been around. as well as other things looked awesome to ride that folks don't skate much or learn about. Such as the abandoned small-course that proven up in this area as if a skatepark within the mid-'70s. I have not skated somewhat-course much like it. not very I have ever performed small-golf inside the with snake runs and bowls either. Precisely what an crazy place. While using the finish within the session i used to be kicked out, and before we understood it baseballs were flying at us inside the driving range. Precisely what a coincidence.
Seanzo's 12-year-old boy might be a skate rat. and hubby had some rails and street spots for individuals. The youthful along with old recently experienced it covered. Machnau's visited Hawaii on numerous skate journeys, so he understood about the majority of the spots too. A couple of demos, encircled by great water, a seaside house. BBQ's each night, awesome people, Learn how to ride a skateboard and very no schedule. Too may distractions greater than a normal skate trip this is often frequently frequently considered a tough one.
…
currently within a fake euphoria framework - blame China/UAE) and a potential decision about doing/developing this or doing that … well …anyway … read and enjoy.
AEC matters: The good, the bad and the ugly.
The bad news: Rhino is NOT suitable for the job (although some use it … but only in the sense that people use Modo for the so called “hard modeling”). By job I mean things up to shop drawing level + specs + you and me (we call it Final level) – nothing to do with sketches and outlines of some abstract “schematic” topology.
The ugly news: The so called Design-Construct approach gains exponentially momentum especially in countries the likes of China/UAE/BRICS (95% of the whole AEC activity worldwide happens there). DeCo means: AEC engineers deliver some kind of study in a preliminary level and the main contractor splits (outsourcers) the job and assigns the study completion AND the construction to various sup-constructors. That thing appeared first – in a large scale - in Dubai 15 years ago. This means that the era of Sergio Pininfarina is over and out: welcome anonymous Toyota designer. In plain English: days of construction corporations fast replacing practices. Dead men walking.
The good news: All AEC related apps (Revit, AECOsim, Allplan and the likes) are in a lethargic state as regards the brave new world (based on the archaic level driven organization schemas etc etc). Of course they all claim the exact opposite and point that support BIM (nobody mention PLM) better than the other guy. But the 21st century – helped by 2 forthcoming unavoidable crisis (a) about shortage of water (b) about transition from carbon to hydrogen economy – isn’t about bureaucracy: think cost/resources optimization and “fitness” rather than China/UAE type of liquid trend. Days of euphoria fast approaching the Wall.
Top to bottom and visa versa.
Old days Titans (Oscar, Mies, Walter, Pierre Luigi, Frank, Eero, blah blah) outlined things (mostly using crayons) and the rest were struggling to translate these in reality in an one way vector like process : Top to bottom that is. These days the inverse gains momentum : when in the whole consider the part … validate … redo … validate … redo. This means bottom to top geared with top-to-bottom. In plain English : child imposes rules to parent and parent imposes rules to child. This means classic MCAD feature/history modeling (CATIA/NX/MS). This is something that Rhino can’t do (not to mention that Rhino is a surface modeler – a rather critical fact).
The parts that are bigger than the whole.
Go there ( http://www.behance.net/gallery/2885057/a-myriad-of-cables) are inspect the whole thing: it’s a parametric nightmare made with the other guy (Generative Components – slower than a Skoda + bugs + why bother?). But the whole (masts and membranes and the likes) means nothing here: focus to the details that are critical for connecting this with that. Complex feature driven solids that are made with internal (on a per se basis) parameters (like fillets required for casting or radius for cable anchoring) whilst they comply with external rules/parameters (cable angles, topology clash issues etc etc). So the whole outlines possibilities … and the part either can follow…or the part must change…or the whole must change. Can you do that with GH/Rhino? And if not what’s missing? (lot’s of things to be honest).
Some other "similar" things:
The narrow picture.
I agree with what others already said and with pretty much all Ola’s points – especially the visual drag-and-drop path mapper (i.e. a visual data manipulator so to speak) and the enable/disable components in groups capability.
Some other suggestions:
A multi canvas capability. As things are right now…it’s like working in Rhino in one view (rather unsuitable I guess). In fact …since overlapping views they don’t work in Rhino…well…you know, he he.
A working auto profile arrangement capability (non twisted Loft/Sweep and the likes). Worth 1Bn dollars that one.
Ability to locate components that caused this or that in the Rhino view: meaning a 2 way communication approach : GH makes things happen in Rhino and things can indicate their cause in the GH canvas.
A robust collection of components that bake stuff in nested blocks (emulating some primitive assembly/component way of thinking). Why may you ask? Well … the whole objective is to talk to CATIA (via STEP) don’t you agree? CATIA makes things happen in real-life not Rhino.
A robust collection of components that can create real-life parametric tensile membrane solutions (get some inspiration from FormFinder: useless because it’s academic but good to point the way). Membranes (and geodesics) are the future.
I could continue at infinitum but IMHO the big picture is worth 12345,67 “focused” GH improvements.
May the Force (the dark option) be with us all.
…
n common tasks like updating GH definitions, viewing images on the GH canvass, and augmenting existing study-types. Most of the improvements to Honeybee have been in the making for a while and are just getting into the spotlight with this release. Notably, a number of improvements have been made to support large-scale full building energy models, including fixes to memory issues with large models, better components for splitting building masses into zones, and the ability to store HBZones in external files. Additionally, the THERM workflows have gotten a boost and these simulations can now be run directly from the Grasshopper canvass.
As always you can download the new release from Food4Rhino. Make sure to remove the older version of Ladybug and Honeybee before you do so and update your scripts. So, without further adieu, here is the list of the new capabilities added with this release:
LADYBUG
Better Method for Updating Old Grasshopper Files - As many of you have come to realize, Ladybug + Honeybee is updated on a fairly regular basis, with a stable release roughly every 6 months and a github version that never ceases to improve itself on a weekly basis. For this reason, we realize that updating old Grasshopper definitions to use recent components is a challenge for many of us. While we’ve had some methods for this in the past, there were always hiccups, particularly when it came to components that had new inputs/outputs since the previous version. Accordingly, Mostapha has added a new “Ladybug_Update File” component that will automatically update any Grasshopper Definition to be synchronized with the version of Ladybug+Honeybee that is currently in your toolbar (aka. the components in your userobjects folder). If there is a component that has new inputs/outputs since the time you built the definition, it will be automatically circled in red in your GH definition and a newer version of the component will be automatically added right next to this component:
While you still have to do some manual connecting of inputs to the newer component in this case, it should be much faster than our older methods and will hopefully help your old definitions survive long into the future!
EPWmap Now includes OneBuilding Files - Mostapha has added a number of new features to the EPWmap web interface that the “Download Ladybug” component connects to. Among the improvements are a color wheel that quickly shows you how hot, cold, and comfortable a given climate is and, perhaps more importantly, there is now support for EPW files sourced from OneBuilding. With the addition of many more weather files, you should now be able to use Ladybug with ease for more locations across the planet. We should also note that the “Open EPW and STAT” component that downloads/unzips files from a URL now supports OneBuilding URLs.
New Image Viewer Component - Mingbo Peng has graced Ladybug with a fantastic new “Image Viewer” component that takes a given image file on one’s machine and displays it on the Grasshopper canvas. It also enables one to pull color data off of the image with ease by simply clicking on the pixel of the image one is interested in. This new component is useful for a wide variety of cases, including the viewing of screenshots after they have been taken with the “Ladybug_Capture View” or “Ladybug_Render View” components. However, many of you will likely recognize it as most immediately useful in workflows involving image-based Honeybee Daylight (Radiance) simulations. This is particularly true as Migbo has built-in the capability to read many image file types, including PNG, JPEG, GIF, TIFF and the High Dynamic Range (.HDR) image files that Radiance Outputs:
The following video gives a quick overview of the Image Viewer’s capabilities:
The new component can be found under the Ladybug_Extra tab and I think I speak for us all in saying thank you Mingbo for this great component!
New Sun Shades Calculator Released Under WIP - After over a year of software development and nearly a career's worth of geometric math development, a joint effort between Abraham Yezioro and Antonello Di Nunzio has produced a new sun shade design component that can be described as nothing short of “magical.” Based on a similar principle to the current “Ladybug_Shading Designer,” the new component takes an input of sun vectors and produces shade geometries that can block the vectors. However, in comparison to the shading designer, the range of shade options that are available in this new component is truly staggering, ranging from classic overhangs, louvers and fins to pergolas and custom shade surfaces. Perhaps more importantly, the calculation methods used by this new component are faster and more reliable. It can currently can be found under the WIP section of Ladybug and it will continue to evolve in new versions of Ladybug.
Renewable Component Now Support Sandia and CEC Photovoltaics Modules - Polishing off his many contributions to the “Renewables” section of Ladybug, Djordje Spasic has added support for a couple more ways of defining Photovoltaic modules for renewables estimation. Specifically, the Ladybug WIP section now includes components to import modules defined with the California Energy Commission (CEC) and Sandia Labs.
HONEYBEE
Support for OpenStudio 2.x - A few months ago, the National Renewable Energy Lab (NREL) released a stable version of OpenStudio version 2, which included a number of improvements in stability and available features. This stable release of Honeybee is built to work with the new version of OpenStudio and, in the coming months, Honeybee will be adding a few more capabilities to its OpenStudio workflows to support v2.x’s new capabilities. Most notable among these will be support for OpenStudio measures. Measures are short scripts written in Ruby using OpenStudio’s SDK to quickly edit and change OpenStudio models. They are fundamental to visions of OpenStudio as a flexible energy modeling interface and to Honeybee’s goals of being a collaborative interface between the architectural and engineering industries. Stay tuned for the next release for many of these new capabilities!
Critical Memory Issue Fixed for Large Energy Models - A number of you wonderful members of our community have been aware of computer memory issues with large Honeybee models for some time (examples: 1, 2, 3, 4). Namely, a model that is larger than 50 zones could quickly eat up 16 GBs of memory and change Honeybee from a fast-flying insect to something more reminiscent of a snail. We are happy to say that, after a much longer time than it should have taken us, we finally identified and fixed the issue. In this version of Honeybee, such large models can now be created using less than 2% of the memory and time previously. Thanks to all of you who made us aware of this and hopefully you will now reap the rewards of your struggle.
Split Building Mass Component Getting a Makeover - Many of you veteran Ladybug users will recognize Saeran Vasathakumar as one of the original contributors of Ladybug who added components for solar fans and envelopes years ago. Now he’s back with new components to split a building mass into zones that are truly revolutionary in their speed and methodology. Saeran has divided the new capabilities into two components (one for floor-by-floor subdivision and another for core-perimeter subdivision) and they both can be found under the WIP section of this release. In this WIP version, core-perimeter thermal zones can only be generated for all convex and very simple concave geometries. Most concave geometries and geometries with holes (or courtyards) in them will fail. However it can handle even very complex convex geometries with speed and ease. You can expect the component to start accommodating concave/courtyard geometries very soon.
Load / Dump HB Objects to File - Keeping in line with the support of large, full building energy models, this release includes full support for two components that can dump and load any HBObjects to a standalone file. All information about HBzones can go into this file including custom constructions, schedules, loads, natural ventilation, shading devices, etc. You can then send the resulting .HB file to someone else and they can load up the same exact zones in another definition. This also makes it possible to have one Grasshopper file for generating the zones and running the simulation and another GH definition to import results and color zones/surfaces with those results, make energy balance graphics, etc.
Write ViewFactorInfo to File - After many of you asked for it, the _viewFactorInfo that is output from the “Honeybee_View Factor” component can now be written out to an external file using the same Load / Dump HB Objects components cited above. For those of you who have worked with the comfort map workflows, you probably already know that calculating these view factors is one of the most time consuming portions of building a microclimate map. Having to re-run this calculation each time you want to open up the Grasshopper script is a nuisance and, thanks to this new capability, you should only have to run it once and then store your results in an external .HB file.
Transform Honeybee Components Modified for Large Model Creation - Many large buildings today are made up of copies of the same rooms repeated over and over again across multiple floors, or along a street, etc. Accordingly, one can imagine that the fastest way to create a full building energy model of such buildings is to simply move and copy the same zones several times. This is what a new set of edits to the Honeybee Transform components is aimed at supporting by allowing one to build a custom set of zones, translate them several times with a Honeybee_Transform component, then solve adjacencies on all zones to make a complete energy model.
Central Plants Available on HVAC Systems - While Honeybee has historically supported the assigning of separate HVAC systems to different groups of zones, each HVAC was always an entirely new system from the ground up. So a building with separate VAV systems for each floor would be modeled with a different chiller and boiler for each floor. While this can be the case sometimes, it is more common to have only one chiller and boiler per building but separate air systems for each floor. The new ‘centralPlant_’ options on the Honeybee coolingDetails and heatingDetails enable you to create this HVAC structure by making a single boiler and chiller for any HVAC systems that have this option toggled on. Furthermore, in the case of VRF systems, you can also centralize the ventilation system, using the grouping of zones around a given HVAC to assign which zone terminals are connected to a given heat pump.
More HVAC Templates Added - As the profession continues to push the industry standard towards lower-energy HVAC systems, Honeybee intends to keep up. In this release, we have included a few more templates for modeling advanced HVAC systems including Radiant Ceilings, Radiant Heated Floors + VAV Cooling, and Two Ground Source Heat Pump (GSHP) systems. Variable Refrigerant Flow (VRF) systems have also gotten a large boost as it is now possible to model these systems with more efficient water-source loops. The next release will include the ability to model central ground source systems that use hydronics for heating cooling delivery.
Run THERM Simulations Directly from Grasshopper - Anyone who has used the THERM workflow in the past likely realized that, while Honeybee can write the THERM file, you would still have to open model in THERM yourself and hit “simulate” to get results. Now that LBNL has started a transition to becoming more open, they have graciously allowed free access for everyone to run THERM from a command line. What this means for Honeybee is that you no longer need to open THERM at all in order to get results and you can now work entirely in Rhino/Grasshopper. This also opens up the possibility of long parametric runs with THERM models since you can now automatically run simulations and collect results as you animate sliders, use galapagos, etc. A special thanks is due to the LBNL team for exposing this feature, including Setphen Selkowitz, Christian Kohler, Charlie Curcija, Eleanor Lee, and Robin Mitchell.
All Options Exposed for THERM Boundary Conditions - To finish off the full implementation of THERM in Honeybee, a final component has been added called “Honeybee_Custom Radiant Environment.” This component completes the access to all boundary condition options that THERM offers, including separate radiant and air temperatures, different view factor models, and the specification of additional heat flux (which is typically used to account for solar radiation).
Improvements to Schedule-Generating Components - Many of you who have watched the Honeybee energy modeling video tutorials have likely gotten in the habit of using CSV schedules for everything. While this is definitely one valid way to work, it is not always the most efficient since simple schedules can be specified much more cleanly to EnergyPlus/OpenStudio and the use of CSVs can also make it difficult to share your energy models (since you have to send CSV files along with the schedules themselves). This release adds two new schedule components that should take care of a lot of cases where CSV schedules were unnecessary. The new “Constant Schedule” component allow you to quickly make a schedule that is set at a single value or a set of constantly repeating 24-hour values. The second component allows you to create “Seasonal Schedules” by connecting “week schedules” from the other schedule components along with analysis periods in which these seek schedules operate. Together, these will hopefully make our schedule-generating habit a bit better as a community.
Lastly, many of you may know Mingbo Peng as the current maintainer of the Design Explorer web interface and the Colibri components under TTToolbox. Both of these tools have been revolutionary in enabling “brute force” studies of design spaces (aka. Grasshopper scripts where one runs all combinations of a set of sliders). Now, Mingbo has graced Ladybug with the aforementioned image viewer component and it is with pride that we welcome Mingbo Peng to the development team!
As always let us know your comments and suggestions.Cheers!
The Ladybug Tools Development Team
…
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
…