wassimj / TopologicSverchok

Topologic custom nodes for sverchok on Blender3D
GNU Affero General Public License v3.0
83 stars 18 forks source link

Trouble with Topologicpy energy model tutorial #56

Closed anydel1 closed 1 year ago

anydel1 commented 1 year ago

I'm currently working through the Topologicpy Energy tutorial. I started with the YouTube video but moved on to the notebook here on git hub. I'm running into a bit of trouble: "EnergyModel.ByTopology - Error: The openstudio model is null. Returning None" and also when trying to export the model: "AttributeError: 'NoneType' object has no attribute 'save'". I have the path to OpenStudio defined as: osBinaryPath = r"C:\openstudioapplication-1.5.0\bin\OpenStudioApp.exe" (also tried "openstudio.exe" in the same directory), and the outputFolder = r"C:\Users\anyde\Documents\PythonTutorials\TopologicPy\EnergyModels" TopPy_save_error

wassimj commented 1 year ago

Dear @anydel1, This issue ("openstudio model is null") happens when there is a mis-match between the OSM Template version and the openstudio applicatyion binary version. Please upgrade your openstudio application to version 1.6.0 and try again (Your osBinary path is also wrong, it should be osBinaryPath = r"C:\openstudioapplication-1.6.0\bin\openstudio.exe"). Kindly let me know if this solves your issue.

anydel1 commented 1 year ago

Thank you! I'll do that and get back to you.

anydel1 commented 1 year ago

Hello, I updated openstudio using the 1.6 installer from github and still no luck, so I uninstalled and reinstalled open studio with still no luck. OSModeINullError

wassimj commented 1 year ago

If you are working on it now and would like to jump on zoom, email me at wassim.jabi@gmail.com

wassimj commented 1 year ago

Please verify that you are using:

openstudio SDK 3.6.1 (https://github.com/NREL/OpenStudio/releases/tag/v3.6.1)

AND

OpenStudio Application 1.6.0 (https://github.com/openstudiocoalition/OpenStudioApplication/releases/tag/v1.6.0)

anydel1 commented 1 year ago

Sorry, I’m out right now, and have an event tomorrow. I could do Monday or anytime next week that’s good for you.Sent from my iPhoneOn Jul 22, 2023, at 6:12 PM, Wassim Jabi @.> wrote: If you are working on it now and would like to jump on zoom, email me at @.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

anydel1 commented 1 year ago

Yes, the application and also installed the python package. I don’t use Conda. Could that cause issues?Sent from my iPhoneOn Jul 22, 2023, at 6:24 PM, Wassim Jabi @.***> wrote: Also, did you update the openstudio application (GUI)?

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

wassimj commented 1 year ago

Hi @anydel1, I think I figured out why your are getting this error. The problem is in the EnergyModel.ByTopology call that you have. It does not have all the needed input parameters, so it is defaulting to the built-in files which may be out-of-date. Kindly check the documentation for EnergyModel.ByTopology and specify all the input parameters that you wish to customize. You can leave the others as defaults. Most importantly, you need a 3.6.0 OSM Template. You can make your own if you know about such things or you can start from the default OSMTemplate-OfficeBuilding-3.6.0.osm.

At the end, the code should look like something like this:

osModelPath = r"C:\Users\anyde\Documents\PythonTutorials\TopologicPy\OSMTemplate-OfficeBuilding-3.6.0.osm"
model = EneregyModel.ByTopology( building=building,
          shadingSurfaces = shadingSurfaces,
          osModelPath = osModelPath,
          weatherFilePath = weatherFilePath,
          designDayFilePath = designDayFilePath,
          glazingRatio=0.25)

I hope this resolves it.

anydel1 commented 1 year ago

That’s great! Thank you Professor. I’ll start going through this now.Best,AnthonySent from my iPhoneOn Jul 24, 2023, at 11:47 AM, Wassim Jabi @.***> wrote: Hi @anydel1, I think I figured out why your are getting this error. The problem is in the EnergyModel.ByTopology call that you have. It does not have all the needed input parameters, so it is defaulting to the built-in files which may be out-of-date. Kindly check the documentation for EnergyModel.ByTopology and specify all the input parameters that you wish to customize. You can leave the others as defaults. Most importantly, you need a 3.6.0 OSM Template. You can make your own if you know about such things or you can start from the default OSMTemplate-OfficeBuilding-3.6.0.osm. At the end, the code should look like something like this: osModelPath = r"C:\Users\anyde\Documents\PythonTutorials\TopologicPy\OSMTemplate-OfficeBuilding-3.6.0.osm" model = EneregyModel.ByTopology( building=building, shadingSurfaces = shadingSurfaces, osModelPath = osModelPath, weatherFilePath = weatherFilePath, designDayFilePath = designDayFilePath, glazingRatio=0.25)

I hope this resolves it.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

anydel1 commented 1 year ago

Works great following your solution! I ran into a few other errors along the way but was able to figure those out. Thanks again! EnergyAnalysis