tbd 3.6.0 → 3.6.1
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/lib/measures/tbd/measure.xml +6 -6
- data/lib/measures/tbd/resources/geo.rb +5 -6
- data/lib/measures/tbd/resources/psi.rb +14 -14
- data/lib/measures/tbd/resources/ua.rb +1 -1
- data/lib/measures/tbd/resources/utils.rb +5 -5
- data/lib/tbd/geo.rb +5 -6
- data/lib/tbd/psi.rb +14 -14
- data/lib/tbd/ua.rb +1 -1
- data/lib/tbd/version.rb +1 -1
- metadata +4 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6b9460ab560b9bdac3d2f291a4ca25bb1a84c1e0d54c8cc89ad6d332de741f33
|
|
4
|
+
data.tar.gz: fa685b2b11943a07aa8baae1dcec90be333a5bb0d33f091e2ea80414556ac1e1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fa07d25024543f65b3d57b235ef451a18c8f0ca20d85c803d2aa7fb7df635734f7c84ce4224e0ffa8c38294176a6d6cce0dcbaadc20f4c021632dcf0c758d22a
|
|
7
|
+
data.tar.gz: 5220cf57a68114d592a82a2d3516fcc01cdb9b9281ea0e5665077f25119cbf185b5f2b40b1555aedbb37e2d5a75f4bc41e95a1909d990a3998a2bdd6fab06e7f
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
<schema_version>3.1</schema_version>
|
|
4
4
|
<name>tbd_measure</name>
|
|
5
5
|
<uid>8890787b-8c25-4dc8-8641-b6be1b6c2357</uid>
|
|
6
|
-
<version_id>
|
|
7
|
-
<version_modified>2026-
|
|
6
|
+
<version_id>51c8811e-5901-4d36-a106-9bd4e377d0bb</version_id>
|
|
7
|
+
<version_modified>2026-08-27T12:41:28Z</version_modified>
|
|
8
8
|
<xml_checksum>99772807</xml_checksum>
|
|
9
9
|
<class_name>TBDMeasure</class_name>
|
|
10
10
|
<display_name>Thermal Bridging and Derating - TBD</display_name>
|
|
@@ -499,7 +499,7 @@
|
|
|
499
499
|
<filename>geo.rb</filename>
|
|
500
500
|
<filetype>rb</filetype>
|
|
501
501
|
<usage_type>resource</usage_type>
|
|
502
|
-
<checksum>
|
|
502
|
+
<checksum>16067F9B</checksum>
|
|
503
503
|
</file>
|
|
504
504
|
<file>
|
|
505
505
|
<filename>geometry.rb</filename>
|
|
@@ -523,7 +523,7 @@
|
|
|
523
523
|
<filename>psi.rb</filename>
|
|
524
524
|
<filetype>rb</filetype>
|
|
525
525
|
<usage_type>resource</usage_type>
|
|
526
|
-
<checksum>
|
|
526
|
+
<checksum>7AE7FE72</checksum>
|
|
527
527
|
</file>
|
|
528
528
|
<file>
|
|
529
529
|
<filename>tbd.rb</filename>
|
|
@@ -541,13 +541,13 @@
|
|
|
541
541
|
<filename>ua.rb</filename>
|
|
542
542
|
<filetype>rb</filetype>
|
|
543
543
|
<usage_type>resource</usage_type>
|
|
544
|
-
<checksum>
|
|
544
|
+
<checksum>666C0F59</checksum>
|
|
545
545
|
</file>
|
|
546
546
|
<file>
|
|
547
547
|
<filename>utils.rb</filename>
|
|
548
548
|
<filetype>rb</filetype>
|
|
549
549
|
<usage_type>resource</usage_type>
|
|
550
|
-
<checksum>
|
|
550
|
+
<checksum>61243A64</checksum>
|
|
551
551
|
</file>
|
|
552
552
|
<file>
|
|
553
553
|
<filename>version.rb</filename>
|
|
@@ -38,7 +38,6 @@ module TBD
|
|
|
38
38
|
a = false
|
|
39
39
|
return mismatch("e1", e1, Hash, mth, DBG, a) unless e1.is_a?(Hash)
|
|
40
40
|
return mismatch("e2", e2, Hash, mth, DBG, a) unless e2.is_a?(Hash)
|
|
41
|
-
return mismatch("e2", e2, Hash, mth, DBG, a) unless e2.is_a?(Hash)
|
|
42
41
|
|
|
43
42
|
return hashkey("e1", e1, :v0, mth, DBG, a) unless e1.key?(:v0)
|
|
44
43
|
return hashkey("e1", e1, :v1, mth, DBG, a) unless e1.key?(:v1)
|
|
@@ -644,8 +643,8 @@ module TBD
|
|
|
644
643
|
|
|
645
644
|
valid1 = s1[:angle].is_a?(Numeric)
|
|
646
645
|
valid2 = s2[:angle].is_a?(Numeric)
|
|
647
|
-
return mismatch("s1 angle", s1[:angle], Numeric, DBG, false) unless valid1
|
|
648
|
-
return mismatch("
|
|
646
|
+
return mismatch("s1 angle", s1[:angle], Numeric, mth, DBG, false) unless valid1
|
|
647
|
+
return mismatch("s2 angle", s2[:angle], Numeric, mth, DBG, false) unless valid2
|
|
649
648
|
|
|
650
649
|
angle = 0
|
|
651
650
|
angle = s2[:angle] - s1[:angle] if s2[:angle] > s1[:angle]
|
|
@@ -687,8 +686,8 @@ module TBD
|
|
|
687
686
|
|
|
688
687
|
valid1 = s1[:angle].is_a?(Numeric)
|
|
689
688
|
valid2 = s2[:angle].is_a?(Numeric)
|
|
690
|
-
return mismatch("s1 angle", s1[:angle], Numeric, DBG, false) unless valid1
|
|
691
|
-
return mismatch("
|
|
689
|
+
return mismatch("s1 angle", s1[:angle], Numeric, mth, DBG, false) unless valid1
|
|
690
|
+
return mismatch("s2 angle", s2[:angle], Numeric, mth, DBG, false) unless valid2
|
|
692
691
|
|
|
693
692
|
angle = 0
|
|
694
693
|
angle = s2[:angle] - s1[:angle] if s2[:angle] > s1[:angle]
|
|
@@ -761,8 +760,8 @@ module TBD
|
|
|
761
760
|
# boundary conditions.
|
|
762
761
|
#
|
|
763
762
|
# @param model [OpenStudio::Model::Model] a model
|
|
764
|
-
# @param floors [Hash] TBD floors
|
|
765
763
|
# @param walls [Hash] TBD walls
|
|
764
|
+
# @param floors [Hash] TBD floors
|
|
766
765
|
# @param edges [Hash] TBD edges (many linking floors & walls
|
|
767
766
|
#
|
|
768
767
|
# @return [Bool] true if Kiva foundations are successfully generated
|
|
@@ -542,7 +542,7 @@ module TBD
|
|
|
542
542
|
h[:partyconcave ] = @set[id].key?(:partyconcave)
|
|
543
543
|
h[:partyconvex ] = @set[id].key?(:partyconvex)
|
|
544
544
|
h[:parapet ] = @set[id].key?(:parapet)
|
|
545
|
-
h[:
|
|
545
|
+
h[:parapetconcave ] = @set[id].key?(:parapetconcave)
|
|
546
546
|
h[:parapetconvex ] = @set[id].key?(:parapetconvex)
|
|
547
547
|
h[:roof ] = @set[id].key?(:roof)
|
|
548
548
|
h[:roofconcave ] = @set[id].key?(:roofconcave)
|
|
@@ -557,10 +557,10 @@ module TBD
|
|
|
557
557
|
h[:balconyconcave ] = @set[id].key?(:balconyconcave)
|
|
558
558
|
h[:balconyconvex ] = @set[id].key?(:balconyconvex)
|
|
559
559
|
h[:balconysill ] = @set[id].key?(:balconysill)
|
|
560
|
-
h[:balconysillconcave ] = @set[id].key?(:
|
|
560
|
+
h[:balconysillconcave ] = @set[id].key?(:balconysillconcave)
|
|
561
561
|
h[:balconysillconvex ] = @set[id].key?(:balconysillconvex)
|
|
562
562
|
h[:balconydoorsill ] = @set[id].key?(:balconydoorsill)
|
|
563
|
-
h[:balconydoorsillconcave] = @set[id].key?(:
|
|
563
|
+
h[:balconydoorsillconcave] = @set[id].key?(:balconydoorsillconcave)
|
|
564
564
|
h[:balconydoorsillconvex ] = @set[id].key?(:balconydoorsillconvex)
|
|
565
565
|
h[:rimjoist ] = @set[id].key?(:rimjoist)
|
|
566
566
|
h[:rimjoistconcave ] = @set[id].key?(:rimjoistconcave)
|
|
@@ -572,10 +572,10 @@ module TBD
|
|
|
572
572
|
v[:head ] = 0; v[:headconcave ] = 0; v[:headconvex ] = 0
|
|
573
573
|
v[:sill ] = 0; v[:sillconcave ] = 0; v[:sillconvex ] = 0
|
|
574
574
|
v[:jamb ] = 0; v[:jambconcave ] = 0; v[:jambconvex ] = 0
|
|
575
|
-
v[:doorhead ] = 0; v[:doorheadconcave ] = 0; v[:
|
|
575
|
+
v[:doorhead ] = 0; v[:doorheadconcave ] = 0; v[:doorheadconvex ] = 0
|
|
576
576
|
v[:doorsill ] = 0; v[:doorsillconcave ] = 0; v[:doorsillconvex ] = 0
|
|
577
577
|
v[:doorjamb ] = 0; v[:doorjambconcave ] = 0; v[:doorjambconvex ] = 0
|
|
578
|
-
v[:skylighthead ] = 0; v[:skylightheadconcave ] = 0; v[:
|
|
578
|
+
v[:skylighthead ] = 0; v[:skylightheadconcave ] = 0; v[:skylightheadconvex ] = 0
|
|
579
579
|
v[:skylightsill ] = 0; v[:skylightsillconcave ] = 0; v[:skylightsillconvex ] = 0
|
|
580
580
|
v[:skylightjamb ] = 0; v[:skylightjambconcave ] = 0; v[:skylightjambconvex ] = 0
|
|
581
581
|
v[:spandrel ] = 0; v[:spandrelconcave ] = 0; v[:spandrelconvex ] = 0
|
|
@@ -712,7 +712,7 @@ module TBD
|
|
|
712
712
|
v[:roofconcave ] = @set[id][:parapet ] if h[:parapet ]
|
|
713
713
|
v[:roofconvex ] = @set[id][:parapet ] if h[:parapet ]
|
|
714
714
|
v[:roofconcave ] = @set[id][:parapetconcave ] if h[:parapetconcave ]
|
|
715
|
-
v[:roofconvex ] = @set[id][:
|
|
715
|
+
v[:roofconvex ] = @set[id][:parapetconvex ] if h[:parapetconvex ]
|
|
716
716
|
v[:roof ] = @set[id][:roof ] if h[:roof ]
|
|
717
717
|
v[:roofconcave ] = @set[id][:roof ] if h[:roof ]
|
|
718
718
|
v[:roofconvex ] = @set[id][:roof ] if h[:roof ]
|
|
@@ -758,12 +758,12 @@ module TBD
|
|
|
758
758
|
v[:balconysillconcave ] = @set[id][:balcony ] if h[:balcony ]
|
|
759
759
|
v[:balconysillconvex ] = @set[id][:balcony ] if h[:balcony ]
|
|
760
760
|
v[:balconysillconcave ] = @set[id][:balconyconcave ] if h[:balconyconcave ]
|
|
761
|
-
v[:balconysillconvex ] = @set[id][:balconyconvex ] if h[:
|
|
761
|
+
v[:balconysillconvex ] = @set[id][:balconyconvex ] if h[:balconyconvex ]
|
|
762
762
|
v[:balconydoorsill ] = @set[id][:balcony ] if h[:balcony ]
|
|
763
763
|
v[:balconydoorsillconcave] = @set[id][:balcony ] if h[:balcony ]
|
|
764
764
|
v[:balconydoorsillconvex ] = @set[id][:balcony ] if h[:balcony ]
|
|
765
765
|
v[:balconydoorsillconcave] = @set[id][:balconyconcave ] if h[:balconyconcave ]
|
|
766
|
-
v[:balconydoorsillconvex ] = @set[id][:balconyconvex ] if h[:
|
|
766
|
+
v[:balconydoorsillconvex ] = @set[id][:balconyconvex ] if h[:balconyconvex ]
|
|
767
767
|
v[:balconysill ] = @set[id][:balconysill ] if h[:balconysill ]
|
|
768
768
|
v[:balconysillconcave ] = @set[id][:balconysill ] if h[:balconysill ]
|
|
769
769
|
v[:balconysillconvex ] = @set[id][:balconysill ] if h[:balconysill ]
|
|
@@ -786,10 +786,10 @@ module TBD
|
|
|
786
786
|
v[:rimjoistconvex ] = @set[id][:rimjoistconvex ] if h[:rimjoistconvex ]
|
|
787
787
|
|
|
788
788
|
max = [v[:parapetconcave], v[:parapetconvex]].max
|
|
789
|
-
v[:parapet] = max unless
|
|
789
|
+
v[:parapet] = max unless h[:parapet]
|
|
790
790
|
|
|
791
791
|
max = [v[:roofconcave], v[:roofconvex]].max
|
|
792
|
-
v[:roof] = max unless
|
|
792
|
+
v[:roof] = max unless h[:roof]
|
|
793
793
|
|
|
794
794
|
@val[id] = v
|
|
795
795
|
|
|
@@ -982,7 +982,7 @@ module TBD
|
|
|
982
982
|
mth = "TBD::#{__callee__}"
|
|
983
983
|
sh = { has: {}, val: {} }
|
|
984
984
|
id = trim(id)
|
|
985
|
-
return mismatch("set ID", id, String, mth, ERR,
|
|
985
|
+
return mismatch("set ID", id, String, mth, ERR, sh) if id.empty?
|
|
986
986
|
return hashkey(id, @set , id, mth, ERR, sh) unless @set.key?(id)
|
|
987
987
|
return hashkey(id, @has , id, mth, ERR, sh) unless @has.key?(id)
|
|
988
988
|
return hashkey(id, @val , id, mth, ERR, sh) unless @val.key?(id)
|
|
@@ -1736,9 +1736,9 @@ module TBD
|
|
|
1736
1736
|
next unless point_V_mag > TOL
|
|
1737
1737
|
next unless point_V_mag > farthest_mag
|
|
1738
1738
|
|
|
1739
|
-
farthest
|
|
1740
|
-
farthest_V
|
|
1741
|
-
|
|
1739
|
+
farthest = point
|
|
1740
|
+
farthest_V = origin_point_V
|
|
1741
|
+
farthest_mag = point_V_mag
|
|
1742
1742
|
end
|
|
1743
1743
|
|
|
1744
1744
|
angle = reference_V.angle(farthest_V)
|
|
@@ -1002,7 +1002,7 @@ module TBD
|
|
|
1002
1002
|
model = "* modèle : #{ua[:file]}" if ua.key?(:file) && lang == :fr
|
|
1003
1003
|
model += " (v#{ua[:version]})" if ua.key?(:version)
|
|
1004
1004
|
report << model unless model.empty?
|
|
1005
|
-
report << "* TBD : v3.6.
|
|
1005
|
+
report << "* TBD : v3.6.1"
|
|
1006
1006
|
report << "* date : #{ua[:date]}"
|
|
1007
1007
|
|
|
1008
1008
|
if lang == :en
|
|
@@ -204,8 +204,8 @@ module OSut
|
|
|
204
204
|
# returned if a valid surface tilt [0, PI] is provided. Otherwise, generic
|
|
205
205
|
# tilt-independent air film resistances are returned instead.
|
|
206
206
|
#
|
|
207
|
-
# @param [:to_sym] surface type, e.g. :roof, :wall, :partition, :ceiling
|
|
208
|
-
# @param [Numeric] surface tilt (in rad), optional
|
|
207
|
+
# @param type [:to_sym] surface type, e.g. :roof, :wall, :partition, :ceiling
|
|
208
|
+
# @param tilt [Numeric] surface tilt (in rad), optional
|
|
209
209
|
#
|
|
210
210
|
# @return [Float] surface air film resistance(s)
|
|
211
211
|
# @return [0.0] if invalid input (see logs)
|
|
@@ -587,7 +587,7 @@ module OSut
|
|
|
587
587
|
mt.setName(id)
|
|
588
588
|
|
|
589
589
|
unless mt.setThermalResistance(r)
|
|
590
|
-
return invalid("Failed #{id}: RSi#{r.round(2)}", mth)
|
|
590
|
+
return invalid("Failed #{id}: RSi#{r.round(2)}", mth, 0, DBG, 0.0)
|
|
591
591
|
end
|
|
592
592
|
|
|
593
593
|
lc.setLayer(index, mt)
|
|
@@ -621,11 +621,11 @@ module OSut
|
|
|
621
621
|
mt.setName(id)
|
|
622
622
|
|
|
623
623
|
unless mt.setThermalConductivity(k)
|
|
624
|
-
return invalid("Failed #{id}: K#{k.round(3)}", mth)
|
|
624
|
+
return invalid("Failed #{id}: K#{k.round(3)}", mth, 0, DBG, 0.0)
|
|
625
625
|
end
|
|
626
626
|
|
|
627
627
|
unless mt.setThickness(d)
|
|
628
|
-
return invalid("Failed #{id}: #{(d*1000).to_i}mm", mth)
|
|
628
|
+
return invalid("Failed #{id}: #{(d*1000).to_i}mm", mth, 0, DBG, 0.0)
|
|
629
629
|
end
|
|
630
630
|
|
|
631
631
|
lc.setLayer(index, mt)
|
data/lib/tbd/geo.rb
CHANGED
|
@@ -38,7 +38,6 @@ module TBD
|
|
|
38
38
|
a = false
|
|
39
39
|
return mismatch("e1", e1, Hash, mth, DBG, a) unless e1.is_a?(Hash)
|
|
40
40
|
return mismatch("e2", e2, Hash, mth, DBG, a) unless e2.is_a?(Hash)
|
|
41
|
-
return mismatch("e2", e2, Hash, mth, DBG, a) unless e2.is_a?(Hash)
|
|
42
41
|
|
|
43
42
|
return hashkey("e1", e1, :v0, mth, DBG, a) unless e1.key?(:v0)
|
|
44
43
|
return hashkey("e1", e1, :v1, mth, DBG, a) unless e1.key?(:v1)
|
|
@@ -644,8 +643,8 @@ module TBD
|
|
|
644
643
|
|
|
645
644
|
valid1 = s1[:angle].is_a?(Numeric)
|
|
646
645
|
valid2 = s2[:angle].is_a?(Numeric)
|
|
647
|
-
return mismatch("s1 angle", s1[:angle], Numeric, DBG, false) unless valid1
|
|
648
|
-
return mismatch("
|
|
646
|
+
return mismatch("s1 angle", s1[:angle], Numeric, mth, DBG, false) unless valid1
|
|
647
|
+
return mismatch("s2 angle", s2[:angle], Numeric, mth, DBG, false) unless valid2
|
|
649
648
|
|
|
650
649
|
angle = 0
|
|
651
650
|
angle = s2[:angle] - s1[:angle] if s2[:angle] > s1[:angle]
|
|
@@ -687,8 +686,8 @@ module TBD
|
|
|
687
686
|
|
|
688
687
|
valid1 = s1[:angle].is_a?(Numeric)
|
|
689
688
|
valid2 = s2[:angle].is_a?(Numeric)
|
|
690
|
-
return mismatch("s1 angle", s1[:angle], Numeric, DBG, false) unless valid1
|
|
691
|
-
return mismatch("
|
|
689
|
+
return mismatch("s1 angle", s1[:angle], Numeric, mth, DBG, false) unless valid1
|
|
690
|
+
return mismatch("s2 angle", s2[:angle], Numeric, mth, DBG, false) unless valid2
|
|
692
691
|
|
|
693
692
|
angle = 0
|
|
694
693
|
angle = s2[:angle] - s1[:angle] if s2[:angle] > s1[:angle]
|
|
@@ -761,8 +760,8 @@ module TBD
|
|
|
761
760
|
# boundary conditions.
|
|
762
761
|
#
|
|
763
762
|
# @param model [OpenStudio::Model::Model] a model
|
|
764
|
-
# @param floors [Hash] TBD floors
|
|
765
763
|
# @param walls [Hash] TBD walls
|
|
764
|
+
# @param floors [Hash] TBD floors
|
|
766
765
|
# @param edges [Hash] TBD edges (many linking floors & walls
|
|
767
766
|
#
|
|
768
767
|
# @return [Bool] true if Kiva foundations are successfully generated
|
data/lib/tbd/psi.rb
CHANGED
|
@@ -542,7 +542,7 @@ module TBD
|
|
|
542
542
|
h[:partyconcave ] = @set[id].key?(:partyconcave)
|
|
543
543
|
h[:partyconvex ] = @set[id].key?(:partyconvex)
|
|
544
544
|
h[:parapet ] = @set[id].key?(:parapet)
|
|
545
|
-
h[:
|
|
545
|
+
h[:parapetconcave ] = @set[id].key?(:parapetconcave)
|
|
546
546
|
h[:parapetconvex ] = @set[id].key?(:parapetconvex)
|
|
547
547
|
h[:roof ] = @set[id].key?(:roof)
|
|
548
548
|
h[:roofconcave ] = @set[id].key?(:roofconcave)
|
|
@@ -557,10 +557,10 @@ module TBD
|
|
|
557
557
|
h[:balconyconcave ] = @set[id].key?(:balconyconcave)
|
|
558
558
|
h[:balconyconvex ] = @set[id].key?(:balconyconvex)
|
|
559
559
|
h[:balconysill ] = @set[id].key?(:balconysill)
|
|
560
|
-
h[:balconysillconcave ] = @set[id].key?(:
|
|
560
|
+
h[:balconysillconcave ] = @set[id].key?(:balconysillconcave)
|
|
561
561
|
h[:balconysillconvex ] = @set[id].key?(:balconysillconvex)
|
|
562
562
|
h[:balconydoorsill ] = @set[id].key?(:balconydoorsill)
|
|
563
|
-
h[:balconydoorsillconcave] = @set[id].key?(:
|
|
563
|
+
h[:balconydoorsillconcave] = @set[id].key?(:balconydoorsillconcave)
|
|
564
564
|
h[:balconydoorsillconvex ] = @set[id].key?(:balconydoorsillconvex)
|
|
565
565
|
h[:rimjoist ] = @set[id].key?(:rimjoist)
|
|
566
566
|
h[:rimjoistconcave ] = @set[id].key?(:rimjoistconcave)
|
|
@@ -572,10 +572,10 @@ module TBD
|
|
|
572
572
|
v[:head ] = 0; v[:headconcave ] = 0; v[:headconvex ] = 0
|
|
573
573
|
v[:sill ] = 0; v[:sillconcave ] = 0; v[:sillconvex ] = 0
|
|
574
574
|
v[:jamb ] = 0; v[:jambconcave ] = 0; v[:jambconvex ] = 0
|
|
575
|
-
v[:doorhead ] = 0; v[:doorheadconcave ] = 0; v[:
|
|
575
|
+
v[:doorhead ] = 0; v[:doorheadconcave ] = 0; v[:doorheadconvex ] = 0
|
|
576
576
|
v[:doorsill ] = 0; v[:doorsillconcave ] = 0; v[:doorsillconvex ] = 0
|
|
577
577
|
v[:doorjamb ] = 0; v[:doorjambconcave ] = 0; v[:doorjambconvex ] = 0
|
|
578
|
-
v[:skylighthead ] = 0; v[:skylightheadconcave ] = 0; v[:
|
|
578
|
+
v[:skylighthead ] = 0; v[:skylightheadconcave ] = 0; v[:skylightheadconvex ] = 0
|
|
579
579
|
v[:skylightsill ] = 0; v[:skylightsillconcave ] = 0; v[:skylightsillconvex ] = 0
|
|
580
580
|
v[:skylightjamb ] = 0; v[:skylightjambconcave ] = 0; v[:skylightjambconvex ] = 0
|
|
581
581
|
v[:spandrel ] = 0; v[:spandrelconcave ] = 0; v[:spandrelconvex ] = 0
|
|
@@ -712,7 +712,7 @@ module TBD
|
|
|
712
712
|
v[:roofconcave ] = @set[id][:parapet ] if h[:parapet ]
|
|
713
713
|
v[:roofconvex ] = @set[id][:parapet ] if h[:parapet ]
|
|
714
714
|
v[:roofconcave ] = @set[id][:parapetconcave ] if h[:parapetconcave ]
|
|
715
|
-
v[:roofconvex ] = @set[id][:
|
|
715
|
+
v[:roofconvex ] = @set[id][:parapetconvex ] if h[:parapetconvex ]
|
|
716
716
|
v[:roof ] = @set[id][:roof ] if h[:roof ]
|
|
717
717
|
v[:roofconcave ] = @set[id][:roof ] if h[:roof ]
|
|
718
718
|
v[:roofconvex ] = @set[id][:roof ] if h[:roof ]
|
|
@@ -758,12 +758,12 @@ module TBD
|
|
|
758
758
|
v[:balconysillconcave ] = @set[id][:balcony ] if h[:balcony ]
|
|
759
759
|
v[:balconysillconvex ] = @set[id][:balcony ] if h[:balcony ]
|
|
760
760
|
v[:balconysillconcave ] = @set[id][:balconyconcave ] if h[:balconyconcave ]
|
|
761
|
-
v[:balconysillconvex ] = @set[id][:balconyconvex ] if h[:
|
|
761
|
+
v[:balconysillconvex ] = @set[id][:balconyconvex ] if h[:balconyconvex ]
|
|
762
762
|
v[:balconydoorsill ] = @set[id][:balcony ] if h[:balcony ]
|
|
763
763
|
v[:balconydoorsillconcave] = @set[id][:balcony ] if h[:balcony ]
|
|
764
764
|
v[:balconydoorsillconvex ] = @set[id][:balcony ] if h[:balcony ]
|
|
765
765
|
v[:balconydoorsillconcave] = @set[id][:balconyconcave ] if h[:balconyconcave ]
|
|
766
|
-
v[:balconydoorsillconvex ] = @set[id][:balconyconvex ] if h[:
|
|
766
|
+
v[:balconydoorsillconvex ] = @set[id][:balconyconvex ] if h[:balconyconvex ]
|
|
767
767
|
v[:balconysill ] = @set[id][:balconysill ] if h[:balconysill ]
|
|
768
768
|
v[:balconysillconcave ] = @set[id][:balconysill ] if h[:balconysill ]
|
|
769
769
|
v[:balconysillconvex ] = @set[id][:balconysill ] if h[:balconysill ]
|
|
@@ -786,10 +786,10 @@ module TBD
|
|
|
786
786
|
v[:rimjoistconvex ] = @set[id][:rimjoistconvex ] if h[:rimjoistconvex ]
|
|
787
787
|
|
|
788
788
|
max = [v[:parapetconcave], v[:parapetconvex]].max
|
|
789
|
-
v[:parapet] = max unless
|
|
789
|
+
v[:parapet] = max unless h[:parapet]
|
|
790
790
|
|
|
791
791
|
max = [v[:roofconcave], v[:roofconvex]].max
|
|
792
|
-
v[:roof] = max unless
|
|
792
|
+
v[:roof] = max unless h[:roof]
|
|
793
793
|
|
|
794
794
|
@val[id] = v
|
|
795
795
|
|
|
@@ -982,7 +982,7 @@ module TBD
|
|
|
982
982
|
mth = "TBD::#{__callee__}"
|
|
983
983
|
sh = { has: {}, val: {} }
|
|
984
984
|
id = trim(id)
|
|
985
|
-
return mismatch("set ID", id, String, mth, ERR,
|
|
985
|
+
return mismatch("set ID", id, String, mth, ERR, sh) if id.empty?
|
|
986
986
|
return hashkey(id, @set , id, mth, ERR, sh) unless @set.key?(id)
|
|
987
987
|
return hashkey(id, @has , id, mth, ERR, sh) unless @has.key?(id)
|
|
988
988
|
return hashkey(id, @val , id, mth, ERR, sh) unless @val.key?(id)
|
|
@@ -1736,9 +1736,9 @@ module TBD
|
|
|
1736
1736
|
next unless point_V_mag > TOL
|
|
1737
1737
|
next unless point_V_mag > farthest_mag
|
|
1738
1738
|
|
|
1739
|
-
farthest
|
|
1740
|
-
farthest_V
|
|
1741
|
-
|
|
1739
|
+
farthest = point
|
|
1740
|
+
farthest_V = origin_point_V
|
|
1741
|
+
farthest_mag = point_V_mag
|
|
1742
1742
|
end
|
|
1743
1743
|
|
|
1744
1744
|
angle = reference_V.angle(farthest_V)
|
data/lib/tbd/ua.rb
CHANGED
|
@@ -1002,7 +1002,7 @@ module TBD
|
|
|
1002
1002
|
model = "* modèle : #{ua[:file]}" if ua.key?(:file) && lang == :fr
|
|
1003
1003
|
model += " (v#{ua[:version]})" if ua.key?(:version)
|
|
1004
1004
|
report << model unless model.empty?
|
|
1005
|
-
report << "* TBD : v3.6.
|
|
1005
|
+
report << "* TBD : v3.6.1"
|
|
1006
1006
|
report << "* date : #{ua[:date]}"
|
|
1007
1007
|
|
|
1008
1008
|
if lang == :en
|
data/lib/tbd/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: tbd
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.6.
|
|
4
|
+
version: 3.6.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Denis Bourgeois & Dan Macumber
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: exe
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: topolys
|
|
@@ -166,9 +165,8 @@ licenses:
|
|
|
166
165
|
- MIT
|
|
167
166
|
metadata:
|
|
168
167
|
homepage_uri: https://github.com/rd2/tbd
|
|
169
|
-
source_code_uri: https://github.com/rd2/tbd/tree/v3.6.
|
|
168
|
+
source_code_uri: https://github.com/rd2/tbd/tree/v3.6.1
|
|
170
169
|
bug_tracker_uri: https://github.com/rd2/tbd/issues
|
|
171
|
-
post_install_message:
|
|
172
170
|
rdoc_options: []
|
|
173
171
|
require_paths:
|
|
174
172
|
- lib
|
|
@@ -186,8 +184,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
186
184
|
- !ruby/object:Gem::Version
|
|
187
185
|
version: '0'
|
|
188
186
|
requirements: []
|
|
189
|
-
rubygems_version: 3.
|
|
190
|
-
signing_key:
|
|
187
|
+
rubygems_version: 3.7.1
|
|
191
188
|
specification_version: 4
|
|
192
189
|
summary: Thermal Bridging and Derating (for OpenStudio)
|
|
193
190
|
test_files: []
|