Class: BTAP::Measures::OSMeasures::TemplateModelMeasure
- Inherits:
-
BTAPModelUserScript
- Object
- OpenStudio::Ruleset::ModelUserScript
- BTAPModelUserScript
- BTAP::Measures::OSMeasures::TemplateModelMeasure
- Defined in:
- lib/openstudio-standards/btap/measures.rb
Overview
Measure Template simplified.
Instance Attribute Summary
Attributes inherited from BTAPModelUserScript
#argument_array_of_arrays, #file
Instance Method Summary collapse
- #arguments(model) ⇒ Object
- #name ⇒ Object
- #run(model, runner, user_arguments) ⇒ Object
-
#set_user_arguments_and_apply(model, argument_values, runner) ⇒ Object
For manually running script via an IDE or a command line.
Methods inherited from BTAPModelUserScript
#argument_getter, #argument_setter, #generate_ruby_macro
Instance Method Details
#arguments(model) ⇒ Object
266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 |
# File 'lib/openstudio-standards/btap/measures.rb', line 266 def arguments(model) #list of arguments as they will appear in the interface. They are available in the run command as @variable_name. @argument_array_of_arrays = [ [ "variable_name", "type", "required", "model_dependant","display_name", "default_value", "min_value", "max_value", "string_choice_array", "os_object_type" ], [ "boolean_argument_name", "BOOL", true, false, "boolean interface name", false, nil, nil, nil, nil ], [ "string_argument_name", "STRING", true, false, "string interface name", "default", nil, nil, nil, nil ], [ "integer_argument_name", "INTEGER", true, false, "integer interface name(units)", 0, 0, 100, nil, nil ], [ "float_argument_name", "FLOAT", true, false, "float interface name(units)", 0.0, 0.0, 100.0, nil, nil ], [ "choice_argument_name", "STRINGCHOICE", true, false, "choice interface name", "choice1", nil, nil, ["choice1","choice2"], nil ], [ "ws_choice_argument_name","WSCHOICE", true, true, "wschoice interface name", nil, nil, nil, nil, "OS_ThermalZone" ] ] args = super(model,@argument_array_of_arrays) return args end |
#name ⇒ Object
262 263 264 |
# File 'lib/openstudio-standards/btap/measures.rb', line 262 def name "BTAPTempModelMeasure" end |
#run(model, runner, user_arguments) ⇒ Object
282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 |
# File 'lib/openstudio-standards/btap/measures.rb', line 282 def run(model, runner, user_arguments) #IF and E+ measure replace model with workspace as the argument #Boilerplate start parent_method_is_true = super(model, runner, user_arguments) #Start measure changes based on model. puts @boolean_argument_name puts @string_argument_name puts @integer_argument_name puts @float_argument_name puts @choice_argument_name puts @ws_choice_argument_name #Do your stuff here! #Here are some logging methods for reference. # runner.registerInitialCondition("Model initial condition (for example number of floors.") # runner.registerInfo("Use this for information to user.") # runner.registerWarning("Use this for warnings to user.") # runner.registerError("Use this for fatal error message to user. Will not continue. Return a false.") ; return false # runner.registerAsNotApplicable("Measure not applicable because XYZ. Return a true and will continue with other chained measures."); return true # runner.registerFinalCondition("Model ended with # of floors for example") # runner.registerFinalCondition("Indicate what was changed.") #If everything went well.. return true ? parent_method_is_true : false end |
#set_user_arguments_and_apply(model, argument_values, runner) ⇒ Object
For manually running script via an IDE or a command line. Using the template above as an example.….
argument_values = [
["boolean_argument_name", true ],
["string_argument_name", "some string" ],
["integer_argument_name", 1 ],
["float_argument_name", 0.001 ],
["choice_argument_name", "choice1" ],
["ws_choice_argument_name", "zone1" ],
["path_argument_name", OpenStudio::Path.new(File.dirname(__FILE__))]
]
327 328 329 |
# File 'lib/openstudio-standards/btap/measures.rb', line 327 def set_user_arguments_and_apply(model,argument_values,runner) self.run(model, runner, super(model,argument_values,runner) ) end |