honeybee-openstudio 1.8.3 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +6 -9
- data/Gemfile +1 -1
- data/README.md +2 -2
- data/honeybee-openstudio.gemspec +6 -6
- data/lib/from_honeybee.rb +1 -0
- data/lib/from_honeybee/_openapi/model.json +2119 -1313
- data/lib/from_honeybee/_openapi/simulation-parameter.json +202 -61
- data/lib/from_honeybee/construction/window.rb +0 -1
- data/lib/from_honeybee/construction/windowshade.rb +207 -0
- data/lib/from_honeybee/model.rb +73 -36
- data/lib/from_honeybee/schedule/ruleset.rb +15 -11
- data/lib/from_honeybee/simulation/parameter.rb +51 -12
- metadata +14 -14
data/lib/from_honeybee/model.rb
CHANGED
|
@@ -50,6 +50,7 @@ require 'from_honeybee/hvac/ideal_air'
|
|
|
50
50
|
# import the construction objects
|
|
51
51
|
require 'from_honeybee/construction/opaque'
|
|
52
52
|
require 'from_honeybee/construction/window'
|
|
53
|
+
require 'from_honeybee/construction/windowshade'
|
|
53
54
|
require 'from_honeybee/construction/shade'
|
|
54
55
|
require 'from_honeybee/construction/air'
|
|
55
56
|
|
|
@@ -184,12 +185,23 @@ module FromHoneybee
|
|
|
184
185
|
end
|
|
185
186
|
create_program_types
|
|
186
187
|
|
|
187
|
-
# create all of the model geometry
|
|
188
188
|
if log_report
|
|
189
189
|
puts 'Translating Room Geometry'
|
|
190
190
|
end
|
|
191
191
|
create_rooms
|
|
192
192
|
|
|
193
|
+
unless $window_shade_hash.empty?
|
|
194
|
+
if log_report
|
|
195
|
+
puts 'Translating Window Shading Control'
|
|
196
|
+
end
|
|
197
|
+
create_shading_control
|
|
198
|
+
end
|
|
199
|
+
|
|
200
|
+
if log_report
|
|
201
|
+
puts 'Translating HVAC Systems'
|
|
202
|
+
end
|
|
203
|
+
create_hvacs
|
|
204
|
+
|
|
193
205
|
if log_report
|
|
194
206
|
puts 'Translating Context Shade Geometry'
|
|
195
207
|
end
|
|
@@ -197,15 +209,11 @@ module FromHoneybee
|
|
|
197
209
|
create_orphaned_faces
|
|
198
210
|
create_orphaned_apertures
|
|
199
211
|
create_orphaned_doors
|
|
200
|
-
|
|
201
|
-
# create the hvac systems
|
|
202
|
-
if log_report
|
|
203
|
-
puts 'Translating HVAC Systems'
|
|
204
|
-
end
|
|
205
|
-
create_hvacs
|
|
206
212
|
end
|
|
207
213
|
|
|
208
214
|
def create_materials
|
|
215
|
+
$gas_gap_hash = Hash.new # hash to track gas gaps in case they are split by shades
|
|
216
|
+
|
|
209
217
|
@hash[:properties][:energy][:materials].each do |material|
|
|
210
218
|
material_type = material[:type]
|
|
211
219
|
|
|
@@ -216,8 +224,13 @@ module FromHoneybee
|
|
|
216
224
|
material_object = EnergyMaterialNoMass.new(material)
|
|
217
225
|
when 'EnergyWindowMaterialGas'
|
|
218
226
|
material_object = EnergyWindowMaterialGas.new(material)
|
|
227
|
+
$gas_gap_hash[material[:identifier]] = material_object
|
|
228
|
+
when 'EnergyWindowMaterialGasMixture'
|
|
229
|
+
material_object = EnergyWindowMaterialGasMixture.new(material)
|
|
230
|
+
$gas_gap_hash[material[:identifier]] = material_object
|
|
219
231
|
when 'EnergyWindowMaterialGasCustom'
|
|
220
232
|
material_object = EnergyWindowMaterialGasCustom.new(material)
|
|
233
|
+
$gas_gap_hash[material[:identifier]] = material_object
|
|
221
234
|
when 'EnergyWindowMaterialSimpleGlazSys'
|
|
222
235
|
material_object = EnergyWindowMaterialSimpleGlazSys.new(material)
|
|
223
236
|
when 'EnergyWindowMaterialBlind'
|
|
@@ -235,6 +248,7 @@ module FromHoneybee
|
|
|
235
248
|
|
|
236
249
|
def create_constructions
|
|
237
250
|
$air_boundary_hash = Hash.new # hash to track any air boundary constructions
|
|
251
|
+
$window_shade_hash = Hash.new # hash to track any window constructions with shade
|
|
238
252
|
|
|
239
253
|
@hash[:properties][:energy][:constructions].each do |construction|
|
|
240
254
|
identifier = construction[:identifier]
|
|
@@ -245,6 +259,9 @@ module FromHoneybee
|
|
|
245
259
|
construction_object = OpaqueConstructionAbridged.new(construction)
|
|
246
260
|
when 'WindowConstructionAbridged'
|
|
247
261
|
construction_object = WindowConstructionAbridged.new(construction)
|
|
262
|
+
when 'WindowConstructionShadeAbridged'
|
|
263
|
+
construction_object = WindowConstructionShadeAbridged.new(construction)
|
|
264
|
+
$window_shade_hash[construction[:identifier]] = construction_object
|
|
248
265
|
when 'ShadeConstruction'
|
|
249
266
|
construction_object = ShadeConstruction.new(construction)
|
|
250
267
|
when 'AirBoundaryConstructionAbridged'
|
|
@@ -344,7 +361,7 @@ module FromHoneybee
|
|
|
344
361
|
end
|
|
345
362
|
end
|
|
346
363
|
|
|
347
|
-
#
|
|
364
|
+
# create mixing objects between Rooms
|
|
348
365
|
$air_mxing_array.each do |air_mix_props|
|
|
349
366
|
zone_mixing = OpenStudio::Model::ZoneMixing.new(air_mix_props[0])
|
|
350
367
|
zone_mixing.setDesignFlowRate(air_mix_props[1])
|
|
@@ -361,35 +378,25 @@ module FromHoneybee
|
|
|
361
378
|
end
|
|
362
379
|
end
|
|
363
380
|
end
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
def create_orphaned_shades
|
|
367
|
-
if @hash[:orphaned_shades]
|
|
368
|
-
shading_surface_group = OpenStudio::Model::ShadingSurfaceGroup.new(@openstudio_model)
|
|
369
|
-
shading_surface_group.setShadingSurfaceType('Building')
|
|
370
|
-
@hash[:orphaned_shades].each do |shade|
|
|
371
|
-
shade_object = Shade.new(shade)
|
|
372
|
-
openstudio_shade = shade_object.to_openstudio(@openstudio_model)
|
|
373
|
-
openstudio_shade.setShadingSurfaceGroup(shading_surface_group)
|
|
374
|
-
end
|
|
375
|
-
end
|
|
376
|
-
end
|
|
377
381
|
|
|
378
|
-
def
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
382
|
+
def create_shading_control
|
|
383
|
+
# assign any shading control objects to windows with shades
|
|
384
|
+
# this is run as a separate step once all logic about construction sets is in place
|
|
385
|
+
sub_faces = @openstudio_model.getSubSurfaces()
|
|
386
|
+
sub_faces.each do |sub_face|
|
|
387
|
+
constr_ref = sub_face.construction
|
|
388
|
+
unless constr_ref.empty?
|
|
389
|
+
constr = constr_ref.get
|
|
390
|
+
constr_name_ref = constr.name
|
|
391
|
+
unless constr_name_ref.empty?
|
|
392
|
+
constr_name = constr_name_ref.get
|
|
393
|
+
unless $window_shade_hash[constr_name].nil?
|
|
394
|
+
window_shd_constr = $window_shade_hash[constr_name]
|
|
395
|
+
os_shd_control = window_shd_constr.to_openstudio_shading_control(@openstudio_model)
|
|
396
|
+
sub_face.setShadingControl(os_shd_control)
|
|
397
|
+
end
|
|
398
|
+
end
|
|
399
|
+
end
|
|
393
400
|
end
|
|
394
401
|
end
|
|
395
402
|
|
|
@@ -428,6 +435,36 @@ module FromHoneybee
|
|
|
428
435
|
end
|
|
429
436
|
end
|
|
430
437
|
|
|
438
|
+
def create_orphaned_shades
|
|
439
|
+
if @hash[:orphaned_shades]
|
|
440
|
+
shading_surface_group = OpenStudio::Model::ShadingSurfaceGroup.new(@openstudio_model)
|
|
441
|
+
shading_surface_group.setShadingSurfaceType('Building')
|
|
442
|
+
@hash[:orphaned_shades].each do |shade|
|
|
443
|
+
shade_object = Shade.new(shade)
|
|
444
|
+
openstudio_shade = shade_object.to_openstudio(@openstudio_model)
|
|
445
|
+
openstudio_shade.setShadingSurfaceGroup(shading_surface_group)
|
|
446
|
+
end
|
|
447
|
+
end
|
|
448
|
+
end
|
|
449
|
+
|
|
450
|
+
def create_orphaned_faces
|
|
451
|
+
if @hash[:orphaned_faces]
|
|
452
|
+
raise "Orphaned Faces are not translatable to OpenStudio."
|
|
453
|
+
end
|
|
454
|
+
end
|
|
455
|
+
|
|
456
|
+
def create_orphaned_apertures
|
|
457
|
+
if @hash[:orphaned_apertures]
|
|
458
|
+
raise "Orphaned Apertures are not translatable to OpenStudio."
|
|
459
|
+
end
|
|
460
|
+
end
|
|
461
|
+
|
|
462
|
+
def create_orphaned_doors
|
|
463
|
+
if @hash[:orphaned_doors]
|
|
464
|
+
raise "Orphaned Doors are not translatable to OpenStudio."
|
|
465
|
+
end
|
|
466
|
+
end
|
|
467
|
+
|
|
431
468
|
#TODO: create runlog for errors.
|
|
432
469
|
|
|
433
470
|
end # Model
|
|
@@ -58,10 +58,23 @@ module FromHoneybee
|
|
|
58
58
|
os_sch_ruleset = OpenStudio::Model::ScheduleRuleset.new(openstudio_model)
|
|
59
59
|
os_sch_ruleset.setName(@hash[:identifier])
|
|
60
60
|
|
|
61
|
+
# assign schedule type limit
|
|
62
|
+
sch_type_limit_obj = nil
|
|
63
|
+
if @hash[:schedule_type_limit]
|
|
64
|
+
schedule_type_limit = openstudio_model.getScheduleTypeLimitsByName(@hash[:schedule_type_limit])
|
|
65
|
+
unless schedule_type_limit.empty?
|
|
66
|
+
sch_type_limit_obj = schedule_type_limit.get
|
|
67
|
+
os_sch_ruleset.setScheduleTypeLimits(sch_type_limit_obj)
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
|
|
61
71
|
# loop through day schedules and create openstudio schedule day object
|
|
62
72
|
@hash[:day_schedules].each do |day_schedule|
|
|
63
73
|
day_schedule_new = OpenStudio::Model::ScheduleDay.new(openstudio_model)
|
|
64
74
|
day_schedule_new.setName(day_schedule[:identifier])
|
|
75
|
+
unless sch_type_limit_obj.nil?
|
|
76
|
+
day_schedule_new.setScheduleTypeLimits(sch_type_limit_obj)
|
|
77
|
+
end
|
|
65
78
|
values_day_new = day_schedule[:values]
|
|
66
79
|
times_day_new = day_schedule[:times]
|
|
67
80
|
times_day_new.delete_at(0) # Remove [0, 0] from array at index 0.
|
|
@@ -78,8 +91,8 @@ module FromHoneybee
|
|
|
78
91
|
unless holiday_schedule.empty?
|
|
79
92
|
holiday_schedule_object = holiday_schedule.get
|
|
80
93
|
begin
|
|
81
|
-
os_sch_ruleset.setHolidaySchedule(holiday_schedule_object)
|
|
82
|
-
rescue NoMethodError
|
|
94
|
+
os_sch_ruleset.setHolidaySchedule(holiday_schedule_object)
|
|
95
|
+
rescue NoMethodError # REMOVE: Once the upgrade to OpenStudio 3.0 is official
|
|
83
96
|
end
|
|
84
97
|
end
|
|
85
98
|
end
|
|
@@ -112,15 +125,6 @@ module FromHoneybee
|
|
|
112
125
|
os_sch_ruleset.defaultDaySchedule.addValue(times[i], values[i])
|
|
113
126
|
end
|
|
114
127
|
end
|
|
115
|
-
|
|
116
|
-
# assign schedule type limit
|
|
117
|
-
if @hash[:schedule_type_limit]
|
|
118
|
-
schedule_type_limit = openstudio_model.getScheduleTypeLimitsByName(@hash[:schedule_type_limit])
|
|
119
|
-
unless schedule_type_limit.empty?
|
|
120
|
-
schedule_type_limit_object = schedule_type_limit.get
|
|
121
|
-
os_sch_ruleset.setScheduleTypeLimits(schedule_type_limit_object)
|
|
122
|
-
end
|
|
123
|
-
end
|
|
124
128
|
|
|
125
129
|
# assign schedule rules
|
|
126
130
|
if @hash[:schedule_rules]
|
|
@@ -147,23 +147,62 @@ module FromHoneybee
|
|
|
147
147
|
|
|
148
148
|
# set defaults for the Model's ShadowCalculation object
|
|
149
149
|
os_shadow_calc = @openstudio_model.getShadowCalculation
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
150
|
+
begin
|
|
151
|
+
os_shadow_calc.setShadingCalculationMethod(
|
|
152
|
+
shdw_defaults[:calculation_method][:default])
|
|
153
|
+
rescue NoMethodError # REMOVE: Once the upgrade to OpenStudio 3.0 is official
|
|
154
|
+
os_shadow_calc.setCalculationMethod(
|
|
155
|
+
shdw_defaults[:calculation_method][:default])
|
|
156
|
+
end
|
|
157
|
+
begin
|
|
158
|
+
os_shadow_calc.setShadingCalculationUpdateFrequencyMethod(
|
|
159
|
+
shdw_defaults[:calculation_update_method][:default])
|
|
160
|
+
rescue # REMOVE: Once the upgrade to OpenStudio 3.0 is official
|
|
161
|
+
end
|
|
162
|
+
begin
|
|
163
|
+
os_shadow_calc.setShadingCalculationUpdateFrequency(
|
|
164
|
+
shdw_defaults[:calculation_frequency][:default])
|
|
165
|
+
rescue NoMethodError # REMOVE: Once the upgrade to OpenStudio 3.0 is official
|
|
166
|
+
os_shadow_calc.setCalculationFrequency(
|
|
167
|
+
shdw_defaults[:calculation_frequency][:default])
|
|
168
|
+
end
|
|
169
|
+
os_shadow_calc.setMaximumFiguresInShadowOverlapCalculations(
|
|
170
|
+
shdw_defaults[:maximum_figures][:default])
|
|
153
171
|
|
|
154
172
|
# override any ShadowCalculation defaults with lodaded JSON
|
|
155
173
|
if @hash[:shadow_calculation]
|
|
174
|
+
if @hash[:shadow_calculation][:calculation_method]
|
|
175
|
+
begin
|
|
176
|
+
os_shadow_calc.setShadingCalculationMethod(
|
|
177
|
+
@hash[:shadow_calculation][:calculation_method])
|
|
178
|
+
rescue NoMethodError # REMOVE: Once the upgrade to OpenStudio 3.0 is official
|
|
179
|
+
os_shadow_calc.setCalculationMethod(
|
|
180
|
+
@hash[:shadow_calculation][:calculation_method])
|
|
181
|
+
end
|
|
182
|
+
end
|
|
183
|
+
if @hash[:shadow_calculation][:calculation_update_method]
|
|
184
|
+
begin
|
|
185
|
+
os_shadow_calc.setShadingCalculationUpdateFrequencyMethod(
|
|
186
|
+
@hash[:shadow_calculation][:calculation_update_method])
|
|
187
|
+
rescue # REMOVE: Once the upgrade to OpenStudio 3.0 is official
|
|
188
|
+
end
|
|
189
|
+
end
|
|
156
190
|
if @hash[:shadow_calculation][:calculation_frequency]
|
|
157
|
-
|
|
191
|
+
begin
|
|
192
|
+
os_shadow_calc.setShadingCalculationUpdateFrequency(
|
|
193
|
+
@hash[:shadow_calculation][:calculation_frequency])
|
|
194
|
+
rescue NoMethodError # REMOVE: Once the upgrade to OpenStudio 3.0 is official
|
|
195
|
+
os_shadow_calc.setCalculationFrequency(
|
|
196
|
+
@hash[:shadow_calculation][:calculation_frequency])
|
|
197
|
+
end
|
|
158
198
|
end
|
|
159
199
|
if @hash[:shadow_calculation][:maximum_figures]
|
|
160
|
-
os_shadow_calc.setMaximumFiguresInShadowOverlapCalculations(
|
|
161
|
-
|
|
162
|
-
if @hash[:shadow_calculation][:calculation_method]
|
|
163
|
-
os_shadow_calc.setCalculationMethod(@hash[:shadow_calculation][:calculation_method])
|
|
200
|
+
os_shadow_calc.setMaximumFiguresInShadowOverlapCalculations(
|
|
201
|
+
@hash[:shadow_calculation][:maximum_figures])
|
|
164
202
|
end
|
|
165
203
|
if @hash[:shadow_calculation][:solar_distribution]
|
|
166
|
-
os_sim_control.setSolarDistribution(
|
|
204
|
+
os_sim_control.setSolarDistribution(
|
|
205
|
+
@hash[:shadow_calculation][:solar_distribution])
|
|
167
206
|
end
|
|
168
207
|
end
|
|
169
208
|
|
|
@@ -203,13 +242,13 @@ module FromHoneybee
|
|
|
203
242
|
end
|
|
204
243
|
if @hash[:output][:summary_reports]
|
|
205
244
|
begin
|
|
206
|
-
os_report =
|
|
207
|
-
rescue
|
|
245
|
+
os_report = @openstudio_model.getOutputTableSummaryReports
|
|
246
|
+
rescue # REMOVE: Once the upgrade to OpenStudio 3.0 is official
|
|
208
247
|
end
|
|
209
248
|
@hash[:output][:summary_reports].each do |report|
|
|
210
249
|
begin
|
|
211
250
|
os_report.addSummaryReport(report)
|
|
212
|
-
rescue NoMethodError
|
|
251
|
+
rescue NoMethodError # REMOVE: Once the upgrade to OpenStudio 3.0 is official
|
|
213
252
|
end
|
|
214
253
|
end
|
|
215
254
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: honeybee-openstudio
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 2.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Tanushree Charan
|
|
@@ -11,7 +11,7 @@ authors:
|
|
|
11
11
|
autorequire:
|
|
12
12
|
bindir: exe
|
|
13
13
|
cert_chain: []
|
|
14
|
-
date: 2020-
|
|
14
|
+
date: 2020-06-02 00:00:00.000000000 Z
|
|
15
15
|
dependencies:
|
|
16
16
|
- !ruby/object:Gem::Dependency
|
|
17
17
|
name: bundler
|
|
@@ -19,42 +19,42 @@ dependencies:
|
|
|
19
19
|
requirements:
|
|
20
20
|
- - "~>"
|
|
21
21
|
- !ruby/object:Gem::Version
|
|
22
|
-
version: '1
|
|
22
|
+
version: '2.1'
|
|
23
23
|
type: :development
|
|
24
24
|
prerelease: false
|
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
26
26
|
requirements:
|
|
27
27
|
- - "~>"
|
|
28
28
|
- !ruby/object:Gem::Version
|
|
29
|
-
version: '1
|
|
29
|
+
version: '2.1'
|
|
30
30
|
- !ruby/object:Gem::Dependency
|
|
31
31
|
name: rake
|
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
|
33
33
|
requirements:
|
|
34
34
|
- - '='
|
|
35
35
|
- !ruby/object:Gem::Version
|
|
36
|
-
version:
|
|
36
|
+
version: '13.0'
|
|
37
37
|
type: :development
|
|
38
38
|
prerelease: false
|
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
|
40
40
|
requirements:
|
|
41
41
|
- - '='
|
|
42
42
|
- !ruby/object:Gem::Version
|
|
43
|
-
version:
|
|
43
|
+
version: '13.0'
|
|
44
44
|
- !ruby/object:Gem::Dependency
|
|
45
45
|
name: rspec
|
|
46
46
|
requirement: !ruby/object:Gem::Requirement
|
|
47
47
|
requirements:
|
|
48
48
|
- - '='
|
|
49
49
|
- !ruby/object:Gem::Version
|
|
50
|
-
version: 3.
|
|
50
|
+
version: '3.9'
|
|
51
51
|
type: :development
|
|
52
52
|
prerelease: false
|
|
53
53
|
version_requirements: !ruby/object:Gem::Requirement
|
|
54
54
|
requirements:
|
|
55
55
|
- - '='
|
|
56
56
|
- !ruby/object:Gem::Version
|
|
57
|
-
version: 3.
|
|
57
|
+
version: '3.9'
|
|
58
58
|
- !ruby/object:Gem::Dependency
|
|
59
59
|
name: rubocop
|
|
60
60
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -103,28 +103,28 @@ dependencies:
|
|
|
103
103
|
requirements:
|
|
104
104
|
- - '='
|
|
105
105
|
- !ruby/object:Gem::Version
|
|
106
|
-
version: 0.
|
|
106
|
+
version: 0.2.3
|
|
107
107
|
type: :runtime
|
|
108
108
|
prerelease: false
|
|
109
109
|
version_requirements: !ruby/object:Gem::Requirement
|
|
110
110
|
requirements:
|
|
111
111
|
- - '='
|
|
112
112
|
- !ruby/object:Gem::Version
|
|
113
|
-
version: 0.
|
|
113
|
+
version: 0.2.3
|
|
114
114
|
- !ruby/object:Gem::Dependency
|
|
115
115
|
name: openstudio-standards
|
|
116
116
|
requirement: !ruby/object:Gem::Requirement
|
|
117
117
|
requirements:
|
|
118
118
|
- - "~>"
|
|
119
119
|
- !ruby/object:Gem::Version
|
|
120
|
-
version: 0.2.
|
|
120
|
+
version: 0.2.11
|
|
121
121
|
type: :runtime
|
|
122
122
|
prerelease: false
|
|
123
123
|
version_requirements: !ruby/object:Gem::Requirement
|
|
124
124
|
requirements:
|
|
125
125
|
- - "~>"
|
|
126
126
|
- !ruby/object:Gem::Version
|
|
127
|
-
version: 0.2.
|
|
127
|
+
version: 0.2.11
|
|
128
128
|
- !ruby/object:Gem::Dependency
|
|
129
129
|
name: public_suffix
|
|
130
130
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -171,6 +171,7 @@ files:
|
|
|
171
171
|
- lib/from_honeybee/construction/opaque.rb
|
|
172
172
|
- lib/from_honeybee/construction/shade.rb
|
|
173
173
|
- lib/from_honeybee/construction/window.rb
|
|
174
|
+
- lib/from_honeybee/construction/windowshade.rb
|
|
174
175
|
- lib/from_honeybee/construction_set.rb
|
|
175
176
|
- lib/from_honeybee/extension.rb
|
|
176
177
|
- lib/from_honeybee/geometry/aperture.rb
|
|
@@ -234,8 +235,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
234
235
|
- !ruby/object:Gem::Version
|
|
235
236
|
version: '0'
|
|
236
237
|
requirements: []
|
|
237
|
-
|
|
238
|
-
rubygems_version: 2.7.7
|
|
238
|
+
rubygems_version: 3.0.6
|
|
239
239
|
signing_key:
|
|
240
240
|
specification_version: 4
|
|
241
241
|
summary: Gem for translating between Honeybee JSON and OpenStudio Model.
|