Skip to content

Instantly share code, notes, and snippets.

@kbenne
Created October 28, 2016 18:13
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kbenne/10996583867f2edf742af4c9a14a22fc to your computer and use it in GitHub Desktop.
Save kbenne/10996583867f2edf742af4c9a14a22fc to your computer and use it in GitHub Desktop.
require 'openstudio'
model = OpenStudio::Model::Model::load('broken.osm').get
zones = model.getThermalZones;
zones.each do |zone|
puts "#{zone.nameString}"
pl = zone.exhaustPortList
pl_objects = pl.modelObjects
puts " exhaust port list size: #{pl_objects.size}"
pl_objects.each do |exhaust_node|
puts " exhaust node: #{exhaust_node.nameString}"
exhaust_node_outlet = exhaust_node.to_StraightComponent.get.outletModelObject
if exhaust_node_outlet.empty?
puts " exhaust node outlet is empty"
exhaust_node.to_HVACComponent.get.disconnect
exhaust_node.remove
else
puts " exhaust node outlet: #{exhaust_node_outlet.get.nameString}"
end
end
end
model.save 'fix.osm', true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment