tbd 3.4.2 → 3.4.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: abfbf89a3f613a331c4bf58b25832bc2d9e8942a4872e73f76d534ee015eae57
4
- data.tar.gz: a7c0be9d974075a0f7f1e2b661c5a2e2afffb3793f81b232d14a914bd79acc71
3
+ metadata.gz: d4edf2565b741a5d272169d616339e9f86e4651402ea9ca160f2db30fc38b07f
4
+ data.tar.gz: 6320eaf03d3f60c178bc05c4e53d84c42b678dc757590428306b23bf0f6d9b83
5
5
  SHA512:
6
- metadata.gz: 2b685fbad6b1964db44f7afeb782cc2a59b7a4e8322ee3b14ec402cc3fc0cbe4e7a6d177cb4dc07deab1c184dd3afd0fe66b4d49f5b985c4296138b24889aa48
7
- data.tar.gz: 1f153539250dc61b2da7f5b7badb8bcbe5e6fbdaa8ae316a20bf3b743e57bee27b3cd061b9cbf49cc867db7d9fb867f21f6fcb32252ab60fade7e1e17131ab6e
6
+ metadata.gz: 9972bcf05ee6a42900b8153fd71acb3232a3b00e0cd95c87ffefac1ec982777fa4292fca3361d70ad6a7e4f46cfdca1f1e77879a1677eb75be946bbb4827fe9c
7
+ data.tar.gz: 76c04922cf93a8252b2d08e1d14582152d2d43a71ec99099e63467eb4b761602824d62c8e931d49ecd4f7eaa7a6f518a6d6e10bb0375bf56cebed1eef4a38c26
data/Rakefile CHANGED
@@ -15,7 +15,7 @@ task :libraries do
15
15
 
16
16
  libs = ["topolys", "osut", "oslg", "tbd"]
17
17
  files = {}
18
-
18
+
19
19
  $:.each do |path|
20
20
  libs.each do |l|
21
21
  next unless path.include?(l)
@@ -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>3ebf3217-230b-4420-b679-4bdf8cc51519</version_id>
7
- <version_modified>2024-05-22T14:33:33Z</version_modified>
6
+ <version_id>12467d7f-9058-4028-b6f8-0448e81b7fef</version_id>
7
+ <version_modified>2024-10-15T18:51:39Z</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>
@@ -523,13 +523,13 @@
523
523
  <filename>psi.rb</filename>
524
524
  <filetype>rb</filetype>
525
525
  <usage_type>resource</usage_type>
526
- <checksum>5ABDA733</checksum>
526
+ <checksum>25CD6251</checksum>
527
527
  </file>
528
528
  <file>
529
529
  <filename>tbd.rb</filename>
530
530
  <filetype>rb</filetype>
531
531
  <usage_type>resource</usage_type>
532
- <checksum>E8D38E59</checksum>
532
+ <checksum>FCCCAE84</checksum>
533
533
  </file>
534
534
  <file>
535
535
  <filename>transformation.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>4133AC61</checksum>
544
+ <checksum>013BA732</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>E3B4AF4B</checksum>
550
+ <checksum>CBC3935D</checksum>
551
551
  </file>
552
552
  <file>
553
553
  <filename>version.rb</filename>
@@ -1717,49 +1717,26 @@ module TBD
1717
1717
  t_model.wires.each do |wire|
1718
1718
  next unless surface[:wire] == wire.id # should be a unique match
1719
1719
 
1720
- normal = tbd[:surfaces][id][:n] if tbd[:surfaces].key?(id)
1721
- normal = holes[id].attributes[:n] if holes.key?(id)
1722
- normal = shades[id][:n] if shades.key?(id)
1723
- farthest = Topolys::Point3D.new(origin.x, origin.y, origin.z)
1724
- farthest_V = farthest - origin # zero magnitude, initially
1725
- inverted = false
1726
- i_origin = wire.points.index(origin)
1727
- i_terminal = wire.points.index(terminal)
1728
- i_last = wire.points.size - 1
1729
-
1730
- if i_terminal == 0
1731
- inverted = true unless i_origin == i_last
1732
- elsif i_origin == i_last
1733
- inverted = true unless i_terminal == 0
1734
- else
1735
- inverted = true unless i_terminal - i_origin == 1
1736
- end
1720
+ normal = tbd[:surfaces][id][:n] if tbd[:surfaces].key?(id)
1721
+ normal = holes[id].attributes[:n] if holes.key?(id)
1722
+ normal = shades[id][:n] if shades.key?(id)
1723
+ farthest = Topolys::Point3D.new(origin.x, origin.y, origin.z)
1724
+ farthest_V = farthest - origin # zero magnitude, initially
1725
+ farthest_mag = 0
1737
1726
 
1738
1727
  wire.points.each do |point|
1739
1728
  next if point == origin
1740
1729
  next if point == terminal
1741
1730
 
1742
- point_on_plane = edge_plane.project(point)
1743
- origin_point_V = point_on_plane - origin
1744
- point_V_magnitude = origin_point_V.magnitude
1745
- next unless point_V_magnitude > TOL
1746
-
1747
- # Generate a plane between origin, terminal & point. Only consider
1748
- # planes that share the same normal as wire.
1749
- if inverted
1750
- plane = Topolys::Plane3D.from_points(terminal, origin, point)
1751
- else
1752
- plane = Topolys::Plane3D.from_points(origin, terminal, point)
1753
- end
1754
-
1755
- dnx = (normal.x - plane.normal.x).abs
1756
- dny = (normal.y - plane.normal.y).abs
1757
- dnz = (normal.z - plane.normal.z).abs
1758
- next unless dnx < TOL && dny < TOL && dnz < TOL
1731
+ point_on_plane = edge_plane.project(point)
1732
+ origin_point_V = point_on_plane - origin
1733
+ point_V_mag = origin_point_V.magnitude
1734
+ next unless point_V_mag > TOL
1735
+ next unless point_V_mag > farthest_mag
1759
1736
 
1760
- farther = point_V_magnitude > farthest_V.magnitude
1761
- farthest = point if farther
1762
- farthest_V = origin_point_V if farther
1737
+ farthest = point
1738
+ farthest_V = origin_point_V
1739
+ fathest_mag = point_V_mag
1763
1740
  end
1764
1741
 
1765
1742
  angle = reference_V.angle(farthest_V)
@@ -2125,7 +2102,7 @@ module TBD
2125
2102
  end
2126
2103
 
2127
2104
  # Label edge as :ceiling if linked to:
2128
- # +1 deratable surfaces
2105
+ # +1 deratable surface(s)
2129
2106
  # 1x underatable CONDITIONED floor linked to an unoccupied space
2130
2107
  # 1x adjacent CONDITIONED ceiling linked to an occupied space
2131
2108
  edge[:surfaces].keys.each do |i|
@@ -2139,9 +2116,9 @@ module TBD
2139
2116
  next if floors[i][:occupied ]
2140
2117
 
2141
2118
  ceiling = floors[i][:boundary]
2142
- next unless ceilings.key?(ceiling)
2143
- next unless ceilings[ceiling][:conditioned]
2144
- next unless ceilings[ceiling][:occupied ]
2119
+ next unless ceilings.key?(ceiling)
2120
+ next unless ceilings[ceiling][:conditioned]
2121
+ next unless ceilings[ceiling][:occupied ]
2145
2122
 
2146
2123
  other = deratables.first unless deratables.first == id
2147
2124
  other = deratables.last unless deratables.last == id
@@ -40,16 +40,16 @@ require_relative "geo"
40
40
  require_relative "ua"
41
41
 
42
42
  module TBD
43
- extend OSut # OpenStudio utilities
44
-
45
- TOL = OSut::TOL
46
- TOL2 = OSut::TOL2
47
- DBG = OSut::DEBUG # mainly to flag invalid arguments for devs (buggy code)
48
- INF = OSut::INFO # informs TBD user of measure success or failure
49
- WRN = OSut::WARN # e.g. WARN users of 'iffy' .osm inputs (yet not critical)
50
- ERR = OSut::ERR # e.g. flag invalid .osm inputs
51
- FTL = OSut::FATAL # e.g. invalid TBD JSON format/entries
52
- NS = "nameString" # OpenStudio IdfObject nameString method
43
+ extend OSut # OpenStudio utilities
44
+
45
+ TOL = OSut::TOL.dup # default distance tolerance (m)
46
+ TOL2 = OSut::TOL2.dup # default area tolerance (m2)
47
+ DBG = OSut::DEBUG.dup # github.com/rd2/oslg
48
+ INF = OSut::INFO.dup # github.com/rd2/oslg
49
+ WRN = OSut::WARN.dup # github.com/rd2/oslg
50
+ ERR = OSut::ERR.dup # github.com/rd2/oslg
51
+ FTL = OSut::FATAL.dup # github.com/rd2/oslg
52
+ NS = OSut::NS.dup # OpenStudio IdfObject nameString method
53
53
 
54
54
  extend TBD
55
55
  end
@@ -799,8 +799,8 @@ module TBD
799
799
  blc.each do |b|
800
800
  bloc = b1
801
801
  bloc = b2 if b == :b2
802
- pro_sum = bloc[:pro].values.reduce(:+)
803
- ref_sum = bloc[:ref].values.reduce(:+)
802
+ pro_sum = bloc[:pro].values.sum
803
+ ref_sum = bloc[:ref].values.sum
804
804
 
805
805
  if pro_sum > TOL || ref_sum > TOL
806
806
  ratio = nil
@@ -1000,7 +1000,7 @@ module TBD
1000
1000
  model = "* modèle : #{ua[:file]}" if ua.key?(:file) && lang == :fr
1001
1001
  model += " (v#{ua[:version]})" if ua.key?(:version)
1002
1002
  report << model unless model.empty?
1003
- report << "* TBD : v3.4.2"
1003
+ report << "* TBD : v3.4.3"
1004
1004
  report << "* date : #{ua[:date]}"
1005
1005
 
1006
1006
  if lang == :en