diff --git a/LICENSE.md b/LICENSE.md
index 6b566ce..2645bf1 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2020-2025 Denis Bourgeois & Dan Macumber
+Copyright (c) 2020-2026 Denis Bourgeois & Dan Macumber
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/lib/measures/tbd/LICENSE.md b/lib/measures/tbd/LICENSE.md
index 6b566ce..2645bf1 100644
--- a/lib/measures/tbd/LICENSE.md
+++ b/lib/measures/tbd/LICENSE.md
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2020-2025 Denis Bourgeois & Dan Macumber
+Copyright (c) 2020-2026 Denis Bourgeois & Dan Macumber
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/lib/measures/tbd/measure.rb b/lib/measures/tbd/measure.rb
index 5d745a2..491294c 100644
--- a/lib/measures/tbd/measure.rb
+++ b/lib/measures/tbd/measure.rb
@@ -1,6 +1,6 @@
# MIT License
#
-# Copyright (c) 2020-2025 Denis Bourgeois & Dan Macumber
+# Copyright (c) 2020-2026 Denis Bourgeois & Dan Macumber
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
diff --git a/lib/measures/tbd/measure.xml b/lib/measures/tbd/measure.xml
index f9048ef..032a0f9 100644
--- a/lib/measures/tbd/measure.xml
+++ b/lib/measures/tbd/measure.xml
@@ -3,8 +3,8 @@
3.1
tbd_measure
8890787b-8c25-4dc8-8641-b6be1b6c2357
- 0e1528a0-a176-4d46-82d9-d2da40c0abd7
- 2025-09-11T11:27:14Z
+ 8649cb7e-2e58-4a6d-ba67-911b6e0a41a6
+ 2026-01-04T12:08:45Z
99772807
TBDMeasure
Thermal Bridging and Derating - TBD
@@ -464,7 +464,7 @@
LICENSE.md
md
license
- 3EBCA5DB
+ 98D54646
README.md
@@ -493,13 +493,13 @@
measure.rb
rb
script
- 3FBDA0C2
+ 489D7CFA
geo.rb
rb
resource
- 5AB24CFB
+ 9CA80CEB
geometry.rb
@@ -523,13 +523,13 @@
psi.rb
rb
resource
- 29905280
+ B9FB5E02
tbd.rb
rb
resource
- 9E26251E
+ 3919B9B0
transformation.rb
@@ -541,13 +541,13 @@
ua.rb
rb
resource
- 0CC24D82
+ 69C2A886
utils.rb
rb
resource
- 6940D006
+ BDF50D67
version.rb
@@ -565,7 +565,7 @@
tbd_tests.rb
rb
test
- 9C76CD98
+ 90CE962F
diff --git a/lib/measures/tbd/resources/geo.rb b/lib/measures/tbd/resources/geo.rb
index 34e8f07..00aeae4 100644
--- a/lib/measures/tbd/resources/geo.rb
+++ b/lib/measures/tbd/resources/geo.rb
@@ -1,6 +1,6 @@
# MIT License
#
-# Copyright (c) 2020-2025 Denis Bourgeois & Dan Macumber
+# Copyright (c) 2020-2026 Denis Bourgeois & Dan Macumber
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
diff --git a/lib/measures/tbd/resources/psi.rb b/lib/measures/tbd/resources/psi.rb
index d80874c..7c37714 100644
--- a/lib/measures/tbd/resources/psi.rb
+++ b/lib/measures/tbd/resources/psi.rb
@@ -1,6 +1,6 @@
# MIT License
#
-# Copyright (c) 2020-2025 Denis Bourgeois & Dan Macumber
+# Copyright (c) 2020-2026 Denis Bourgeois & Dan Macumber
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
diff --git a/lib/measures/tbd/resources/tbd.rb b/lib/measures/tbd/resources/tbd.rb
index e49b4c4..b25ec5e 100644
--- a/lib/measures/tbd/resources/tbd.rb
+++ b/lib/measures/tbd/resources/tbd.rb
@@ -1,6 +1,6 @@
# MIT License
#
-# Copyright (c) 2020-2025 Denis Bourgeois & Dan Macumber
+# Copyright (c) 2020-2026 Denis Bourgeois & Dan Macumber
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
diff --git a/lib/measures/tbd/resources/ua.rb b/lib/measures/tbd/resources/ua.rb
index bfbedf9..6390968 100644
--- a/lib/measures/tbd/resources/ua.rb
+++ b/lib/measures/tbd/resources/ua.rb
@@ -1,6 +1,6 @@
# MIT License
#
-# Copyright (c) 2020-2025 Denis Bourgeois & Dan Macumber
+# Copyright (c) 2020-2026 Denis Bourgeois & Dan Macumber
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
@@ -1000,7 +1000,7 @@ def ua_md(ua = {}, lang = :en)
model = "* modèle : #{ua[:file]}" if ua.key?(:file) && lang == :fr
model += " (v#{ua[:version]})" if ua.key?(:version)
report << model unless model.empty?
- report << "* TBD : v3.5.0"
+ report << "* TBD : v3.5.1"
report << "* date : #{ua[:date]}"
if lang == :en
diff --git a/lib/measures/tbd/resources/utils.rb b/lib/measures/tbd/resources/utils.rb
index 77d8014..09bb951 100644
--- a/lib/measures/tbd/resources/utils.rb
+++ b/lib/measures/tbd/resources/utils.rb
@@ -1,6 +1,6 @@
# BSD 3-Clause License
#
-# Copyright (c) 2022-2025, Denis Bourgeois
+# Copyright (c) 2022-2026, Denis Bourgeois
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -530,7 +530,7 @@ def resetUo(lc = nil, film = nil, index = nil, uo = nil, uniq = false)
mt.setName(id)
unless mt.setThermalResistance(r)
- return invalid("Failed #{id}: RSi#{de_r.round(2)}", mth)
+ return invalid("Failed #{id}: RSi#{r.round(2)}", mth)
end
lc.setLayer(index, mt)
@@ -546,7 +546,7 @@ def resetUo(lc = nil, film = nil, index = nil, uo = nil, uniq = false)
k = (m.thickness / (r + dR)).clamp(KMIN, KMAX)
d = (k * (r + dR)).clamp(DMIN, DMAX)
r = d / k
- id = "OSUT:K#{format('%4.3f', k)}:#{format('%03d', d*1000)[-3..-1]}"
+ id = "OSut:K#{format('%4.3f', k)}:#{format('%03d', d*1000)[-3..-1]}"
mt = lc.model.getStandardOpaqueMaterialByName(id)
# Existing material?
@@ -928,7 +928,6 @@ def genConstruction(model = nil, specs = {})
if u and a[:glazing].empty?
ro = 1 / u - film
-
if ro > RMIN
if specs[:type] == :door # 1x layer, adjust conductivity
layer = c.getLayer(0).to_StandardOpaqueMaterial
@@ -944,27 +943,7 @@ def genConstruction(model = nil, specs = {})
return invalid("#{id} construction", mth, 0) if lyr[:r ].to_i.zero?
index = lyr[:index]
- layer = c.getLayer(index).to_StandardOpaqueMaterial
- return invalid("#{id} material @#{index}", mth, 0) if layer.empty?
-
- layer = layer.get
-
- k = (layer.thickness / (ro - rsi(c) + lyr[:r])).clamp(KMIN, KMAX)
- d = (k * (ro - rsi(c) + lyr[:r])).clamp(DMIN, DMAX)
-
- nom = "OSut:"
- nom += layer.nameString.gsub(/[^a-z]/i, "").gsub("OSut", "")
- nom += ":K#{format('%4.3f', k)}:#{format('%03d', d*1000)[-3..-1]}"
-
- lyr = model.getStandardOpaqueMaterialByName(nom)
-
- if lyr.empty?
- layer.setName(nom)
- layer.setConductivity(k)
- layer.setThickness(d)
- else
- c.setLayer(index, lyr.get)
- end
+ resetUo(c, film, index, u)
end
end
end
diff --git a/lib/measures/tbd/tests/tbd_tests.rb b/lib/measures/tbd/tests/tbd_tests.rb
index 4ae6888..82fada0 100644
--- a/lib/measures/tbd/tests/tbd_tests.rb
+++ b/lib/measures/tbd/tests/tbd_tests.rb
@@ -1,6 +1,6 @@
# MIT License
#
-# Copyright (c) 2020-2025 Denis Bourgeois & Dan Macumber
+# Copyright (c) 2020-2026 Denis Bourgeois & Dan Macumber
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
diff --git a/lib/tbd.rb b/lib/tbd.rb
index 760e676..023b3d2 100644
--- a/lib/tbd.rb
+++ b/lib/tbd.rb
@@ -1,6 +1,6 @@
# MIT License
#
-# Copyright (c) 2020-2025 Denis Bourgeois & Dan Macumber
+# Copyright (c) 2020-2026 Denis Bourgeois & Dan Macumber
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
diff --git a/lib/tbd/geo.rb b/lib/tbd/geo.rb
index 34e8f07..00aeae4 100644
--- a/lib/tbd/geo.rb
+++ b/lib/tbd/geo.rb
@@ -1,6 +1,6 @@
# MIT License
#
-# Copyright (c) 2020-2025 Denis Bourgeois & Dan Macumber
+# Copyright (c) 2020-2026 Denis Bourgeois & Dan Macumber
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
diff --git a/lib/tbd/psi.rb b/lib/tbd/psi.rb
index d80874c..7c37714 100644
--- a/lib/tbd/psi.rb
+++ b/lib/tbd/psi.rb
@@ -1,6 +1,6 @@
# MIT License
#
-# Copyright (c) 2020-2025 Denis Bourgeois & Dan Macumber
+# Copyright (c) 2020-2026 Denis Bourgeois & Dan Macumber
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
diff --git a/lib/tbd/ua.rb b/lib/tbd/ua.rb
index bfbedf9..6390968 100644
--- a/lib/tbd/ua.rb
+++ b/lib/tbd/ua.rb
@@ -1,6 +1,6 @@
# MIT License
#
-# Copyright (c) 2020-2025 Denis Bourgeois & Dan Macumber
+# Copyright (c) 2020-2026 Denis Bourgeois & Dan Macumber
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
@@ -1000,7 +1000,7 @@ def ua_md(ua = {}, lang = :en)
model = "* modèle : #{ua[:file]}" if ua.key?(:file) && lang == :fr
model += " (v#{ua[:version]})" if ua.key?(:version)
report << model unless model.empty?
- report << "* TBD : v3.5.0"
+ report << "* TBD : v3.5.1"
report << "* date : #{ua[:date]}"
if lang == :en
diff --git a/lib/tbd/version.rb b/lib/tbd/version.rb
index 3634cf3..9e36e35 100644
--- a/lib/tbd/version.rb
+++ b/lib/tbd/version.rb
@@ -1,6 +1,6 @@
# MIT License
#
-# Copyright (c) 2020-2025 Denis Bourgeois & Dan Macumber
+# Copyright (c) 2020-2026 Denis Bourgeois & Dan Macumber
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
@@ -21,5 +21,5 @@
# SOFTWARE.
module TBD
- VERSION = "3.5.0".freeze
+ VERSION = "3.5.1".freeze
end
diff --git a/tbd.gemspec b/tbd.gemspec
index a03bdfe..65cd3b1 100644
--- a/tbd.gemspec
+++ b/tbd.gemspec
@@ -29,7 +29,7 @@ Gem::Specification.new do |s|
s.metadata = {}
s.add_dependency "topolys", "~> 0"
- s.add_dependency "osut", "~> 0.8.0"
+ s.add_dependency "osut", "~> 0.8.1"
s.add_dependency "json-schema", "~> 4"
s.add_development_dependency "bundler", "~> 2.1"