Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Create a new Material with Python bindings

Hello, I am looking to edit buildings by increasing the thermal insulation of walls. I think there are multiple ways to do this, including changing the thermal conductance of surfaces, but it seems like the best way is to edit the layered construction of the surface and add the insulation material. To do this, I am trying to create that material with code.

From the limited documentation I can see, something like this should work:

import openstudio as osm  
osm1 = 'osm_path' 
b1 = osm.model.Model.load(osm1).get() 
mat = osm.openstudiomodelresources.Material(b1) 
mat.setThickness(0.3)

However, this does not work. I get an error on the mat = osm. line like this:

TypeError: Wrong number or type of arguments for overloaded function 'new_Material'.
  Possible C/C++ prototypes are:
    openstudio::model::Material::Material(openstudio::model::Material const &)
    openstudio::model::Material::Material(openstudio::model::Material &&)

I cannot find any documentation on the proper way to instantiate an object of class Material (or any other class for that matter). Anyone know?

Create a new Material with Python bindings

Hello, I am looking to edit buildings by increasing the thermal insulation of walls. I think there are multiple ways to do this, including changing the thermal conductance of surfaces, but it seems like the best way is to edit the layered construction of the surface and add the insulation material. To do this, I am trying to create that material with code.

From the limited documentation I can see, something like this should work:

import openstudio as osm  
osm1 = 'osm_path' 
b1 = osm.model.Model.load(osm1).get() 
mat = osm.openstudiomodelresources.Material(b1) 
mat.setThickness(0.3)

However, this does not work. I get an error on the mat = osm. line like this:

TypeError: Wrong number or type of arguments for overloaded function 'new_Material'.
  Possible C/C++ prototypes are:
    openstudio::model::Material::Material(openstudio::model::Material const &)
    openstudio::model::Material::Material(openstudio::model::Material &&)

I cannot find any documentation on the proper way to instantiate an object of class Material (or any other class for that matter). Anyone know?

Create a new Material with Python bindings

Hello, I am looking to edit buildings by increasing the thermal insulation of walls. I think there are multiple ways to do this, including changing the thermal conductance of surfaces, but it seems like the best way is to edit the layered construction of the surface and add the insulation material. To do this, I am trying to create that material with code.

From the limited documentation I can see, something like this should work:

import openstudio as osm  
osm1 = 'osm_path' 
b1 = osm.model.Model.load(osm1).get() 
mat = osm.openstudiomodelresources.Material(b1) 
mat.setThickness(0.3)

However, this does not work. I get an error on the mat = osm. line like this:

TypeError: Wrong number or type of arguments for overloaded function 'new_Material'.
  Possible C/C++ prototypes are:
    openstudio::model::Material::Material(openstudio::model::Material const &)
    openstudio::model::Material::Material(openstudio::model::Material &&)

I cannot find any documentation on the proper way to instantiate an object of class Material (or any other class for that matter). Anyone know?