tbd 3.4.0 → 3.4.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 -5
- data/lib/measures/tbd/resources/oslog.rb +1 -1
- data/lib/measures/tbd/resources/psi.rb +9 -15
- data/lib/measures/tbd/resources/utils.rb +4365 -1052
- data/lib/tbd/geo.rb +5 -5
- data/lib/tbd/psi.rb +9 -15
- data/lib/tbd/version.rb +1 -1
- data/tbd.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4d894d405f77c1eb33517cb957ca0a9a8f87319841c983047acdb8055aa5d79c
|
4
|
+
data.tar.gz: 6788f593ac0bb66c52b81d0be2f5140dd6c4ef9c6dfb0f9df5e684bdd41c714a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 753541a1202a93df6346b8ce164679fbecdce11413d017977d62f9edb386ad0ab03e8b4b2a43be00eac01f0b0d3f45f9f4c91d9ec3db9c5e34a482a2b45a3600
|
7
|
+
data.tar.gz: 945278734bc73490690e8fdc37e0bf9fe910ea29f4eef43370234f76f3032c8f0d25cf38a648ffde44f990db39c17fcc0fc115662dc4150b4fa1b0c5df8a8776
|
@@ -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>2024-
|
6
|
+
<version_id>4eec2792-b3ef-4152-95c8-a7dd6a6bf9c4</version_id>
|
7
|
+
<version_modified>2024-04-17T14:29:06Z</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>6C7ACC99</checksum>
|
503
503
|
</file>
|
504
504
|
<file>
|
505
505
|
<filename>geometry.rb</filename>
|
@@ -517,13 +517,13 @@
|
|
517
517
|
<filename>oslog.rb</filename>
|
518
518
|
<filetype>rb</filetype>
|
519
519
|
<usage_type>resource</usage_type>
|
520
|
-
<checksum>
|
520
|
+
<checksum>8CD57B9A</checksum>
|
521
521
|
</file>
|
522
522
|
<file>
|
523
523
|
<filename>psi.rb</filename>
|
524
524
|
<filetype>rb</filetype>
|
525
525
|
<usage_type>resource</usage_type>
|
526
|
-
<checksum>
|
526
|
+
<checksum>5ABDEC60</checksum>
|
527
527
|
</file>
|
528
528
|
<file>
|
529
529
|
<filename>tbd.rb</filename>
|
@@ -547,7 +547,7 @@
|
|
547
547
|
<filename>utils.rb</filename>
|
548
548
|
<filetype>rb</filetype>
|
549
549
|
<usage_type>resource</usage_type>
|
550
|
-
<checksum>
|
550
|
+
<checksum>E3B4AF4B</checksum>
|
551
551
|
</file>
|
552
552
|
<file>
|
553
553
|
<filename>version.rb</filename>
|
@@ -251,7 +251,7 @@ module TBD
|
|
251
251
|
#
|
252
252
|
# @return [Topolys::Vector3D] true normal vector of s
|
253
253
|
# @return [nil] if invalid input (see logs)
|
254
|
-
def
|
254
|
+
def truNormal(s = nil, r = 0)
|
255
255
|
mth = "TBD::#{__callee__}"
|
256
256
|
cl = OpenStudio::Model::PlanarSurface
|
257
257
|
return mismatch("surface", s, cl, mth) unless s.is_a?(cl)
|
@@ -285,18 +285,18 @@ module TBD
|
|
285
285
|
surf = {}
|
286
286
|
subs = {}
|
287
287
|
fd = false
|
288
|
-
return invalid("#{nom}", mth, 1,
|
288
|
+
return invalid("#{nom}", mth, 1, ERR) if poly(surface).empty?
|
289
289
|
return empty("#{nom} space", mth, ERR) if surface.space.empty?
|
290
290
|
|
291
291
|
space = surface.space.get
|
292
292
|
stype = space.spaceType
|
293
293
|
story = space.buildingStory
|
294
294
|
tr = transforms(space)
|
295
|
-
return invalid("#{nom} transform", mth, 0,
|
295
|
+
return invalid("#{nom} transform", mth, 0, ERR) unless tr[:t] && tr[:r]
|
296
296
|
|
297
297
|
t = tr[:t]
|
298
|
-
n =
|
299
|
-
return invalid("#{nom} normal", mth, 0,
|
298
|
+
n = truNormal(surface, tr[:r])
|
299
|
+
return invalid("#{nom} normal", mth, 0, ERR) unless n
|
300
300
|
|
301
301
|
type = surface.surfaceType.downcase
|
302
302
|
facing = surface.outsideBoundaryCondition
|
@@ -1598,14 +1598,14 @@ module TBD
|
|
1598
1598
|
tr = transforms(group)
|
1599
1599
|
t = tr[:t] if tr[:t] && tr[:r]
|
1600
1600
|
|
1601
|
-
log(
|
1602
|
-
|
1601
|
+
log(ERR, "Can't process '#{id}' transformation (#{mth})") unless t
|
1602
|
+
next unless t
|
1603
1603
|
|
1604
1604
|
space = group.space
|
1605
1605
|
tr[:r] += space.get.directionofRelativeNorth unless space.empty?
|
1606
|
-
n =
|
1607
|
-
log(
|
1608
|
-
|
1606
|
+
n = truNormal(s, tr[:r])
|
1607
|
+
log(ERR, "Can't process '#{id}' true normal (#{mth})") unless n
|
1608
|
+
next unless n
|
1609
1609
|
|
1610
1610
|
points = (t * s.vertices).map { |v| Topolys::Point3D.new(v.x, v.y, v.z) }
|
1611
1611
|
|
@@ -1695,14 +1695,10 @@ module TBD
|
|
1695
1695
|
dx = (origin.x - terminal.x).abs
|
1696
1696
|
dy = (origin.y - terminal.y).abs
|
1697
1697
|
dz = (origin.z - terminal.z).abs
|
1698
|
-
horizontal = dz
|
1698
|
+
horizontal = dz < TOL
|
1699
1699
|
vertical = dx < TOL && dy < TOL
|
1700
1700
|
edge_V = terminal - origin
|
1701
|
-
|
1702
|
-
if edge_V.magnitude < TOL
|
1703
|
-
invalid("1x edge length < TOL", mth, 0, ERROR)
|
1704
|
-
next
|
1705
|
-
end
|
1701
|
+
next if edge_V.magnitude < TOL
|
1706
1702
|
|
1707
1703
|
edge_plane = Topolys::Plane3D.new(origin, edge_V)
|
1708
1704
|
|
@@ -1766,10 +1762,8 @@ module TBD
|
|
1766
1762
|
farthest_V = origin_point_V if farther
|
1767
1763
|
end
|
1768
1764
|
|
1769
|
-
angle
|
1770
|
-
|
1771
|
-
angle = 0 if angle.nil?
|
1772
|
-
|
1765
|
+
angle = reference_V.angle(farthest_V)
|
1766
|
+
angle = 0 if angle.nil?
|
1773
1767
|
adjust = false # adjust angle [180°, 360°] if necessary
|
1774
1768
|
|
1775
1769
|
if vertical
|