Import JSON ConstrucitonSets?

Thnaks @chris,
Just before i get your response i figured it out. Works just fine and this is exactly what i wanted.
You all did a great job with all this [+], allow me to say!!
-A.

Hi @chris,
This sound excelent.
I’m sorry for the bad use of words i made regarding US/ASHRAE/etc. You are right. I think though that some explanations should be provided for this and probably other libraries. Users need to be educated a bit, or at least know what is behind those libraries. I’m sure that you’ll provide the link for that explanation that i just didn’t looked for … :upside_down_face: :wink:
-A.

You all did a great job with all this [+], allow me to say!!

Thank you, Abraham. It’s really rewarding to hear that after a year and a half of full time work on this and also to see you understanding some of the same awesome powers that the JSON schema gives us. The development and refactoring of this schema was a lot of work but it’s really paying off now. Not only is it the reason why we can easily save and share different honeybee objects but it is also the reason why we are currently able to produce plugins for Revit and (standalone) Rhino without having to re-write 90% of the code (since all of these plugins write to the same, simplified JSON schema and we have one core Python library that handles all of the translation of this JSON to the various simulation engines). It’s an exciting new world and I’ll admit we didn’t even realize the size of it when we first started developing the schema.

In any case, glad that you agree with the plan for the construction set and program type components. I will try to implement this today and let you know when it’s ready for testing.

And those were definitely not bad words about US/ASHRAE. They reflect the view that I used to have before I understood how building energy codes are typically produced throughout the world and that governments (or organizations like the IECC) tend to start with other standards that are broad enough to cover a range of climates and they then “re-brand” the part that is applicable to their relevant climates as their own, possibly adding a few amendments or exceptions in the process. I can understand why all this “re-branding” happens but it has a downside where many of us don’t realize that all of our standards are actually not that different from one another. I definitely plan to make some more public posts about this and discuss it in video tutorials after we have the Food4Rhino release.

And, for lack of a more official reference right now for this explanation, this post about building envelopes in particular provides a good summary of the relationship between ASHRAE 90.1 and IECC.

@AbrahamYezioro ,

I just wanted to let you know that I merged in the changes to the “search” components. So feel free to update and let me know any thoughts.

And, maybe just to add a little more credibility to the statement I mentioned earlier about how energy codes are usually derived from other codes, I can say it happens a lot on the local/state level in the US. In the state I live (Massachusetts), there’s a “Massachusetts Stretch Code” that seems to have come from the ASHRAE Advanced Energy Design Guides (AEDG). And California famously has it’s state-wide Title 24 energy code but the current version of it is virtually equivalent to ASHRAE 90.1 2016 as you can see from this map here.

Hi @chris,
Trying to break it but couldn’t so far. Thanks!!
Seems to be working very well (as expected :wink:).

You have my whole credibility. The map you sent is a very good source. Thanks for that. I believe such type of sources can be added to the website. At least for a few of us that want to know beyond the capabilities of the tool and understand where things are coming from AND why, it will be nice.

Thanks again,
-A.

Thanks @AbrahamYezioro . Glad to hear that the components are working.

And thanks for the vote of trust, though you are right to point out the fact that including other sources is always helpful. I guess it’s just a little tougher to cite sources for this type of thing (the adoption and enforcement of standards) compared to the typical citing of scientific sources that we do. I get the sense that, while the people developing codes and standards use some of the same techniques as we do in the natural sciences (eg. building off of others’ work), there doesn’t seem to be as strong of a precedent in their community for citing their own sources. I don’t know if this is because there’s some general sense that codes and standards are a little subjective and therefore don’t need sources as much or if it’s because citing another’s work interferes with branding a new code as ones own or maybe in creates confusion for people enforcing the code to know that two standards are virtually equivalent to one another but differ in a few small respects. In any case, I often find myself having to use more informal sources to understand where certain standards came from.

Hi @chris,
Maybe is more a wish i have. I’ll be glad if more users are aware of the science (maybe just the sources) behind the topics LB covers. For them (us) will be much valuable, having that info, to understand better what are they are doing and not just relating to the task as a technical one with nice colors at the end. Sometimes i get frustrated on this.
Well … is a nice discussion to have.
-A.

I understand the frustration @AbrahamYezioro . I can at least say that we have been pumping the core libraries full of sources where we can, like you can see by checking any page of the ladybug-comfort or ladybug-core docs. And we will continue to try to write sources into the Grasshopper component descriptions. But is there something else that you had in mind other than these two things?

These pages are excelent @chris!!!
This is what i meant: You have the more technical part but you also have the back up for that. Very good!!
I admire the amount of work all of you have put in this. This is serious work.
Thanks,
-A.

Glad to hear that the SDK docs should satisfy your needs here. I think once we can assemble a central location that has links to all of the separate Python library documentation, it will be a really useful resource for a lot of people. Just to give you a sense of scale here, this is what the Ladybug Tools core SDK looks like right now:

Each one of those boxes is a separate repo/Python package and each repo has its own docs website. Each docs website has 5-50 different web pages depending on how many modules there are in the Python package. So there is a lot of detailed stuff there for you to reference, search through, and use to build your own components or Python scripts.

We “did open source right” this time around :smile:

Hey @chris and @AbrahamYezioro, allow me to continue your long and passionate conversation! US/ASHRAE construction standards are definitely useful and reuseable in our projects all over the world, just as the metric system outside France! (thank you for not using Btu / square feet / full moon in Ladybugtools by the way !! ;-)).
The new HB Search Materials and HB Search Constructions seems to be only useable for default libraries. It is planed to extend it to user libraries?
For the moment, I use the component Dump Objects and Load Objects for it, but retrieving the single objects with the Item Selector is not very convenient (the full json object is displayed)

.

See here the project user library : user_library.json (15.0 KB)

Thanks one more time for all your great achievement!
Romain

Hi @Romain. If you have created Json file and the file is dumped in standard under construction you can directly access that through honeybee search ep construction component.

Hey @Romain ,

As Asis says, you can drop these JSON files with constructions into the C:\Users\[USERNAME]\ladybug_tools\resources\standards\honeybee_standards\constructions folder and, when you restart, Rhino/Grasshopper, they will load up into your standards library. However, one of your Constructions revealed a bug in the code for WindowConstructionShade JSONs. If you delete the "fenetre_avec_BSO_alu" construction from your file, which seems to be the only WindowConstructionShade, everything else loads up fine.


So this is one way to get it to work.

Alternatively, I just pushed a fix to the code base for WindowConstructionShade JSONs:

So, if you use the “LB Versioner” in another hour or two, you will be able to get the development version of Ladybug Tools that can load in your JSON without issues.

I wasn’t patient enough to close Rhino and restart! Thanks for that @Asisnath and @chris

Hey @chris ! and everyone in this forum! I know it’s been long since someone post anything, but I’d like to ask for some help. I’ve followed all suggestions given in this forum but still can’t solve my issue, which is similar to that of @Romain .

I made some new Opaque constructions and used the HB Dump Objects to save them as a JSON file. However, when I search in the HB Search Constructions component for the newly created constructions that I have dumped in C:\Users\[USERNAME]\ladybug_tools\resources\standards\honeybee_standards\constructions folder and C:\Users\[USERNAME]\ladybug_tools\resources\standards\honeybee_standards\constructionsets folder, they don’t appear as part of my standards library. I have also followed the suggestion of restarting Rhino/Grasshopper but doesn’t work either. Can you give me a hand on indentifying the issue?

I am running Grasshopper 1.5 version. Grasshopper file is attached. Thank you in advance.


Baseline.gh (142.5 KB)

Hey @jgamero ,

Sorry for the confusion. The location of the user standards folder has changed between LBT 1.4 and 1.5. The user standards now live in:

C:\Users\[USERNAME]\AppData\Roaming\ladybug_tools\standards

So just dump your construction JSONs in there and they should be loaded when you start Rhino/Grasshopper.

FYI, we moved the user resources here so that your custom schedules and constructions are not uninstalled whenever you uninstall or update Ladybug Tools. So you can just put them there once and not have to worry about them going missing if you uninstall ad reinstall.

3 Likes

Thank you @chris! Now it works when I use that location you indicate!

Sory crish, Sorry Crish, I’ve been practicing it but it doesn’t have any effect on my components. i use LBT 1.8


Hi @adenurmap ,

You’re almost there. You just need to write materials like that into the constructions sub-folder of your standards folder. Once you do that and restart Rhino/Grasshopper, you should see them show up with the “HB Search Constructions” component.

thank u cris this is work :smiley:

1 Like