openepd 4.13.1__py3-none-any.whl → 5.1.0__py3-none-any.whl
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.
- openepd/__version__.py +1 -1
- openepd/model/common.py +40 -1
- openepd/model/declaration.py +7 -2
- openepd/model/geography.py +1 -1
- openepd/model/lcia.py +191 -19
- openepd/model/pcr.py +2 -2
- openepd/model/specs/README.md +34 -8
- openepd/model/specs/asphalt.py +2 -2
- openepd/model/specs/base.py +15 -5
- openepd/model/specs/generated/__init__.py +80 -0
- openepd/model/specs/generated/cladding.py +4 -4
- openepd/model/specs/generated/concrete.py +8 -7
- openepd/model/specs/generated/electrical.py +2 -2
- openepd/model/specs/generated/finishes.py +10 -6
- openepd/model/specs/generated/masonry.py +6 -2
- openepd/model/specs/generated/network_infrastructure.py +7 -2
- openepd/model/specs/generated/openings.py +10 -6
- openepd/model/specs/generated/sheathing.py +8 -4
- openepd/model/specs/generated/steel.py +10 -5
- openepd/model/specs/range/__init__.py +101 -0
- openepd/model/specs/range/accessories.py +97 -0
- openepd/model/specs/range/aggregates.py +57 -0
- openepd/model/specs/range/aluminium.py +92 -0
- openepd/model/specs/range/asphalt.py +61 -0
- openepd/model/specs/range/bulk_materials.py +31 -0
- openepd/model/specs/range/cast_decks_and_underlayment.py +34 -0
- openepd/model/specs/range/cladding.py +275 -0
- openepd/model/specs/range/cmu.py +44 -0
- openepd/model/specs/range/concrete.py +179 -0
- openepd/model/specs/range/conveying_equipment.py +86 -0
- openepd/model/specs/range/electrical.py +422 -0
- openepd/model/specs/range/electrical_transmission_and_distribution_equipment.py +96 -0
- openepd/model/specs/range/electricity.py +31 -0
- openepd/model/specs/range/finishes.py +585 -0
- openepd/model/specs/range/fire_and_smoke_protection.py +108 -0
- openepd/model/specs/range/furnishings.py +137 -0
- openepd/model/specs/range/grouting.py +34 -0
- openepd/model/specs/range/manufacturing_inputs.py +190 -0
- openepd/model/specs/range/masonry.py +87 -0
- openepd/model/specs/range/material_handling.py +50 -0
- openepd/model/specs/range/mechanical.py +307 -0
- openepd/model/specs/range/mechanical_insulation.py +42 -0
- openepd/model/specs/range/network_infrastructure.py +208 -0
- openepd/model/specs/range/openings.py +512 -0
- openepd/model/specs/range/other_electrical_equipment.py +31 -0
- openepd/model/specs/range/other_materials.py +194 -0
- openepd/model/specs/range/plumbing.py +200 -0
- openepd/model/specs/range/precast_concrete.py +115 -0
- openepd/model/specs/range/sheathing.py +86 -0
- openepd/model/specs/range/steel.py +332 -0
- openepd/model/specs/range/thermal_moisture_protection.py +336 -0
- openepd/model/specs/range/utility_piping.py +75 -0
- openepd/model/specs/range/wood.py +228 -0
- openepd/model/specs/range/wood_joists.py +44 -0
- openepd/model/validation/numbers.py +11 -5
- openepd/model/validation/quantity.py +469 -58
- {openepd-4.13.1.dist-info → openepd-5.1.0.dist-info}/METADATA +6 -1
- {openepd-4.13.1.dist-info → openepd-5.1.0.dist-info}/RECORD +60 -25
- {openepd-4.13.1.dist-info → openepd-5.1.0.dist-info}/LICENSE +0 -0
- {openepd-4.13.1.dist-info → openepd-5.1.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,512 @@
|
|
1
|
+
#
|
2
|
+
# Copyright 2024 by C Change Labs Inc. www.c-change-labs.com
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#
|
16
|
+
__all__ = (
|
17
|
+
"PanelDoorsRangeV1",
|
18
|
+
"PressureResistantDoorsRangeV1",
|
19
|
+
"SpecialFunctionDoorsRangeV1",
|
20
|
+
"SlidingGlassDoorsRangeV1",
|
21
|
+
"FenestrationAccessoriesRangeV1",
|
22
|
+
"FenestrationFramingRangeV1",
|
23
|
+
"FenestrationHardwareRangeV1",
|
24
|
+
"FlatGlassPanesRangeV1",
|
25
|
+
"ProcessedNonInsulatingGlassPanesRangeV1",
|
26
|
+
"GlazedDoorsRangeV1",
|
27
|
+
"UnitSkylightsRangeV1",
|
28
|
+
"WindowsRangeV1",
|
29
|
+
"IntegratedDoorsOpeningAssembliesRangeV1",
|
30
|
+
"MetalDoorAndFramesRangeV1",
|
31
|
+
"SpecialtyDoorsAndFramesRangeV1",
|
32
|
+
"WoodDoorsRangeV1",
|
33
|
+
"FenestrationPartsRangeV1",
|
34
|
+
"GlassPanesRangeV1",
|
35
|
+
"NAFSFenestrationRangeV1",
|
36
|
+
"InsulatingGlazingUnitsRangeV1",
|
37
|
+
"CurtainWallsRangeV1",
|
38
|
+
"DoorsAndFramesRangeV1",
|
39
|
+
"EntrancesRangeV1",
|
40
|
+
"GlazingRangeV1",
|
41
|
+
"StorefrontsRangeV1",
|
42
|
+
"TranslucentWallAndRoofAssembliesRangeV1",
|
43
|
+
"WindowWallAssembliesRangeV1",
|
44
|
+
"OpeningsRangeV1",
|
45
|
+
)
|
46
|
+
|
47
|
+
# NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
|
48
|
+
|
49
|
+
|
50
|
+
from openepd.compat.pydantic import pyd
|
51
|
+
from openepd.model.common import RangeInt, RangeRatioFloat
|
52
|
+
from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
|
53
|
+
from openepd.model.specs.generated.enums import (
|
54
|
+
FlatGlassPanesThickness,
|
55
|
+
FrameMaterial,
|
56
|
+
HardwareFunction,
|
57
|
+
NAFSPerformanceGrade,
|
58
|
+
Spacer,
|
59
|
+
ThermalSeparation,
|
60
|
+
)
|
61
|
+
from openepd.model.specs.generated.openings import GlazingIntendedApplication, NAFSPerformanceClass
|
62
|
+
from openepd.model.validation.quantity import AmountRangeLengthMm, AmountRangePressureMpa, AmountRangeSpeed
|
63
|
+
|
64
|
+
|
65
|
+
class PanelDoorsRangeV1(BaseOpenEpdHierarchicalSpec):
|
66
|
+
"""
|
67
|
+
Panel doors performance specification.
|
68
|
+
|
69
|
+
Range version.
|
70
|
+
"""
|
71
|
+
|
72
|
+
_EXT_VERSION = "1.0"
|
73
|
+
|
74
|
+
|
75
|
+
class PressureResistantDoorsRangeV1(BaseOpenEpdHierarchicalSpec):
|
76
|
+
"""
|
77
|
+
Pressure-Resistant Doors.
|
78
|
+
|
79
|
+
Range version.
|
80
|
+
"""
|
81
|
+
|
82
|
+
_EXT_VERSION = "1.0"
|
83
|
+
|
84
|
+
|
85
|
+
class SpecialFunctionDoorsRangeV1(BaseOpenEpdHierarchicalSpec):
|
86
|
+
"""
|
87
|
+
Special function doors.
|
88
|
+
|
89
|
+
Includes doors for e.g., cold storage, hangars, lightproof applications,
|
90
|
+
security, sound control, vaults, etc.
|
91
|
+
|
92
|
+
Range version.
|
93
|
+
"""
|
94
|
+
|
95
|
+
_EXT_VERSION = "1.0"
|
96
|
+
|
97
|
+
PanelDoors: PanelDoorsRangeV1 | None = None
|
98
|
+
PressureResistantDoors: PressureResistantDoorsRangeV1 | None = None
|
99
|
+
|
100
|
+
|
101
|
+
class SlidingGlassDoorsRangeV1(BaseOpenEpdHierarchicalSpec):
|
102
|
+
"""
|
103
|
+
Sliding glass doors performance specification.
|
104
|
+
|
105
|
+
Range version.
|
106
|
+
"""
|
107
|
+
|
108
|
+
_EXT_VERSION = "1.0"
|
109
|
+
|
110
|
+
|
111
|
+
class FenestrationAccessoriesRangeV1(BaseOpenEpdHierarchicalSpec):
|
112
|
+
"""
|
113
|
+
Fenestration accessories.
|
114
|
+
|
115
|
+
Gaskets, seals, fasteners, and other low-mass items which may be useful in calculating the impact of a
|
116
|
+
fenestration system.
|
117
|
+
|
118
|
+
Range version.
|
119
|
+
"""
|
120
|
+
|
121
|
+
_EXT_VERSION = "1.0"
|
122
|
+
|
123
|
+
|
124
|
+
class FenestrationFramingRangeV1(BaseOpenEpdHierarchicalSpec):
|
125
|
+
"""
|
126
|
+
Fenestration Framing.
|
127
|
+
|
128
|
+
Lineal elements ("sticks") for use in fenestration, including frames, sashes, and mullions.
|
129
|
+
|
130
|
+
Range version.
|
131
|
+
"""
|
132
|
+
|
133
|
+
_EXT_VERSION = "1.0"
|
134
|
+
|
135
|
+
thermal_separation: list[ThermalSeparation] | None = pyd.Field(default=None)
|
136
|
+
material: list[FrameMaterial] | None = pyd.Field(default=None)
|
137
|
+
|
138
|
+
|
139
|
+
class FenestrationHardwareRangeV1(BaseOpenEpdHierarchicalSpec):
|
140
|
+
"""
|
141
|
+
Locks, operation hardware, and other substantial items declared on a per-piece basis.
|
142
|
+
|
143
|
+
Range version.
|
144
|
+
"""
|
145
|
+
|
146
|
+
_EXT_VERSION = "1.0"
|
147
|
+
|
148
|
+
function: list[HardwareFunction] | None = pyd.Field(default=None, description="")
|
149
|
+
|
150
|
+
|
151
|
+
class FlatGlassPanesRangeV1(BaseOpenEpdHierarchicalSpec):
|
152
|
+
"""
|
153
|
+
Monolithic, uncoated flat glass panes that are not substantially processed.
|
154
|
+
|
155
|
+
Range version.
|
156
|
+
"""
|
157
|
+
|
158
|
+
_EXT_VERSION = "1.0"
|
159
|
+
|
160
|
+
thickness: list[FlatGlassPanesThickness] | None = pyd.Field(default=None)
|
161
|
+
|
162
|
+
|
163
|
+
class ProcessedNonInsulatingGlassPanesRangeV1(BaseOpenEpdHierarchicalSpec):
|
164
|
+
"""
|
165
|
+
Solid glass panes without internal gaps which have been heat-treated or otherwise substantially processed.
|
166
|
+
|
167
|
+
Includes:
|
168
|
+
1. Coatings including low-e and other coatings (see PCR)
|
169
|
+
2. laminating (fire-rated, glass clad polycarbonate, interlayers
|
170
|
+
3. Heat treated (heat strengthened, tempered, fire-rated)
|
171
|
+
4. Mechanically or chemically processed or fabricated
|
172
|
+
(edging, bending, etching, drilling, notching, cutting, polishing, etc)
|
173
|
+
5. combined products of processing in 1-5.
|
174
|
+
|
175
|
+
Range version.
|
176
|
+
"""
|
177
|
+
|
178
|
+
_EXT_VERSION = "1.0"
|
179
|
+
|
180
|
+
low_emissivity: bool | None = None
|
181
|
+
electrochromic: bool | None = None
|
182
|
+
acid_etched: bool | None = None
|
183
|
+
tempered: bool | None = None
|
184
|
+
toughened: bool | None = None
|
185
|
+
laminated: bool | None = None
|
186
|
+
fire_resistant: bool | None = None
|
187
|
+
fire_protection: bool | None = None
|
188
|
+
pyrolytic_coated: bool | None = None
|
189
|
+
sputter_coat: bool | None = None
|
190
|
+
solar_heat_gain: RangeRatioFloat | None = None
|
191
|
+
|
192
|
+
|
193
|
+
class GlazedDoorsRangeV1(BaseOpenEpdHierarchicalSpec):
|
194
|
+
"""
|
195
|
+
Factory assembled door which is at least 50% glass by area.
|
196
|
+
|
197
|
+
Includes sliding patio doors and hinged doors.
|
198
|
+
|
199
|
+
Range version.
|
200
|
+
"""
|
201
|
+
|
202
|
+
_EXT_VERSION = "1.0"
|
203
|
+
|
204
|
+
|
205
|
+
class UnitSkylightsRangeV1(BaseOpenEpdHierarchicalSpec):
|
206
|
+
"""
|
207
|
+
Unit skylights performance specification.
|
208
|
+
|
209
|
+
A factory assembled fenestration unit for installation on the roof of a structure to provide interior
|
210
|
+
building spaces with natural daylight, warmth, and ventilation; generally not operable
|
211
|
+
by hand (cf. roof window). Includes frame(s) and possibly operating hardware.
|
212
|
+
|
213
|
+
Range version.
|
214
|
+
"""
|
215
|
+
|
216
|
+
_EXT_VERSION = "1.0"
|
217
|
+
|
218
|
+
|
219
|
+
class WindowsRangeV1(BaseOpenEpdHierarchicalSpec):
|
220
|
+
"""
|
221
|
+
Windows including glazing and frame material.
|
222
|
+
|
223
|
+
Range version.
|
224
|
+
"""
|
225
|
+
|
226
|
+
_EXT_VERSION = "1.0"
|
227
|
+
|
228
|
+
|
229
|
+
class IntegratedDoorsOpeningAssembliesRangeV1(BaseOpenEpdHierarchicalSpec):
|
230
|
+
"""
|
231
|
+
Pre-installed unit that includes door, frame, and hardware.
|
232
|
+
|
233
|
+
Range version.
|
234
|
+
"""
|
235
|
+
|
236
|
+
_EXT_VERSION = "1.0"
|
237
|
+
|
238
|
+
|
239
|
+
class MetalDoorAndFramesRangeV1(BaseOpenEpdHierarchicalSpec):
|
240
|
+
"""
|
241
|
+
Metal doors and frames.
|
242
|
+
|
243
|
+
Range version.
|
244
|
+
"""
|
245
|
+
|
246
|
+
_EXT_VERSION = "1.0"
|
247
|
+
|
248
|
+
|
249
|
+
class SpecialtyDoorsAndFramesRangeV1(BaseOpenEpdHierarchicalSpec):
|
250
|
+
"""
|
251
|
+
Specialty doors and frames.
|
252
|
+
|
253
|
+
Includes e.g., access doors and panels, sliding glass doors, coiling doors, special function doors,
|
254
|
+
folding doors, etc.
|
255
|
+
|
256
|
+
Range version.
|
257
|
+
"""
|
258
|
+
|
259
|
+
_EXT_VERSION = "1.0"
|
260
|
+
|
261
|
+
SpecialFunctionDoors: SpecialFunctionDoorsRangeV1 | None = None
|
262
|
+
SlidingGlassDoors: SlidingGlassDoorsRangeV1 | None = None
|
263
|
+
|
264
|
+
|
265
|
+
class WoodDoorsRangeV1(BaseOpenEpdHierarchicalSpec):
|
266
|
+
"""
|
267
|
+
Wood doors performance specification.
|
268
|
+
|
269
|
+
Range version.
|
270
|
+
"""
|
271
|
+
|
272
|
+
_EXT_VERSION = "1.0"
|
273
|
+
|
274
|
+
|
275
|
+
class FenestrationPartsRangeV1(BaseOpenEpdHierarchicalSpec):
|
276
|
+
"""
|
277
|
+
Fenestration Parts.
|
278
|
+
|
279
|
+
Parts and assemblies for integration into building fenestration such as windows, curtain walls,
|
280
|
+
and storefronts.
|
281
|
+
|
282
|
+
Range version.
|
283
|
+
"""
|
284
|
+
|
285
|
+
_EXT_VERSION = "1.0"
|
286
|
+
|
287
|
+
intended_application: GlazingIntendedApplication | None = pyd.Field(
|
288
|
+
default=None, description="Intended application."
|
289
|
+
)
|
290
|
+
FenestrationAccessories: FenestrationAccessoriesRangeV1 | None = None
|
291
|
+
FenestrationFraming: FenestrationFramingRangeV1 | None = None
|
292
|
+
FenestrationHardware: FenestrationHardwareRangeV1 | None = None
|
293
|
+
|
294
|
+
|
295
|
+
class GlassPanesRangeV1(BaseOpenEpdHierarchicalSpec):
|
296
|
+
"""
|
297
|
+
Flat glass panes.
|
298
|
+
|
299
|
+
Range version.
|
300
|
+
"""
|
301
|
+
|
302
|
+
_EXT_VERSION = "1.0"
|
303
|
+
|
304
|
+
FlatGlassPanes: FlatGlassPanesRangeV1 | None = None
|
305
|
+
ProcessedNonInsulatingGlassPanes: ProcessedNonInsulatingGlassPanesRangeV1 | None = None
|
306
|
+
|
307
|
+
|
308
|
+
class NAFSFenestrationRangeV1(BaseOpenEpdHierarchicalSpec):
|
309
|
+
"""
|
310
|
+
Factory assembled fenestration units compliant to the North American Fenestration Standard.
|
311
|
+
|
312
|
+
Range version.
|
313
|
+
"""
|
314
|
+
|
315
|
+
_EXT_VERSION = "1.0"
|
316
|
+
|
317
|
+
low_emissivity: bool | None = None
|
318
|
+
electrochromic: bool | None = None
|
319
|
+
acid_etched: bool | None = None
|
320
|
+
tempered: bool | None = None
|
321
|
+
toughened: bool | None = None
|
322
|
+
laminated: bool | None = None
|
323
|
+
fire_resistant: bool | None = None
|
324
|
+
fire_protection: bool | None = None
|
325
|
+
pyrolytic_coated: bool | None = None
|
326
|
+
sputter_coat: bool | None = None
|
327
|
+
solar_heat_gain: RangeRatioFloat | None = None
|
328
|
+
hurricane_resistant: bool | None = pyd.Field(
|
329
|
+
default=None, description="The product has been designed to resist windborne debris."
|
330
|
+
)
|
331
|
+
assembly_u_factor: str | None = pyd.Field(
|
332
|
+
default=None, description="Weighted average conductance of heat across assembly (including frame)."
|
333
|
+
)
|
334
|
+
air_infiltration: AmountRangeSpeed | None = pyd.Field(
|
335
|
+
default=None, description="Air infiltration, measured at a certain level of Differential Pressure."
|
336
|
+
)
|
337
|
+
thermal_separation: list[ThermalSeparation] | None = pyd.Field(default=None)
|
338
|
+
dp_rating: AmountRangePressureMpa | None = pyd.Field(default=None, description="")
|
339
|
+
glass_panes: RangeInt | None = pyd.Field(
|
340
|
+
default=None,
|
341
|
+
description="Number of panes, each separated by a cavity. A 3 pane unit has 2 cavities. example: 3",
|
342
|
+
)
|
343
|
+
performance_class: NAFSPerformanceClass | None = pyd.Field(
|
344
|
+
default=None, description="Performance class according to NAFS."
|
345
|
+
)
|
346
|
+
performance_grade: list[NAFSPerformanceGrade] | None = pyd.Field(
|
347
|
+
default=None,
|
348
|
+
description="NAFS Performance Grade. The NAFS Performance Grade is a number that represents the performance of the glazing product. The higher the number, the better the performance. The NAFS Performance Grade is calculated using the NAFS Performance Class, the NAFS Performance Index, and the NAFS Performance Factor. While it is expressed as pressure, there are specific values which are allowed. The values are listed in the enum.",
|
349
|
+
)
|
350
|
+
GlazedDoors: GlazedDoorsRangeV1 | None = None
|
351
|
+
UnitSkylights: UnitSkylightsRangeV1 | None = None
|
352
|
+
Windows: WindowsRangeV1 | None = None
|
353
|
+
|
354
|
+
|
355
|
+
class InsulatingGlazingUnitsRangeV1(BaseOpenEpdHierarchicalSpec):
|
356
|
+
"""
|
357
|
+
Insulating glazing units performance specification.
|
358
|
+
|
359
|
+
Range version.
|
360
|
+
"""
|
361
|
+
|
362
|
+
_EXT_VERSION = "1.0"
|
363
|
+
|
364
|
+
low_emissivity: bool | None = None
|
365
|
+
electrochromic: bool | None = None
|
366
|
+
acid_etched: bool | None = None
|
367
|
+
tempered: bool | None = None
|
368
|
+
toughened: bool | None = None
|
369
|
+
laminated: bool | None = None
|
370
|
+
fire_resistant: bool | None = None
|
371
|
+
fire_protection: bool | None = None
|
372
|
+
pyrolytic_coated: bool | None = None
|
373
|
+
sputter_coat: bool | None = None
|
374
|
+
solar_heat_gain: RangeRatioFloat | None = None
|
375
|
+
intended_application: GlazingIntendedApplication | None = pyd.Field(
|
376
|
+
default=None, description="Intended application for IGUs."
|
377
|
+
)
|
378
|
+
hurricane_resistant: bool | None = pyd.Field(default=None)
|
379
|
+
dp_rating: AmountRangePressureMpa | None = pyd.Field(
|
380
|
+
default=None, description="Maximum Differential Pressure, a measure of wind tolerance."
|
381
|
+
)
|
382
|
+
air_infiltration: AmountRangeSpeed | None = pyd.Field(
|
383
|
+
default=None, description="Air infiltration, measured at a certain level of Differential Pressure."
|
384
|
+
)
|
385
|
+
glass_panes: RangeInt | None = pyd.Field(
|
386
|
+
default=None,
|
387
|
+
description="Number of panes, each separated by a cavity. A 3 pane unit has 2 cavities. example: 3",
|
388
|
+
)
|
389
|
+
cog_u_factor: str | None = pyd.Field(default=None, description="Conductance of heat at center of glass.")
|
390
|
+
spacer: list[Spacer] | None = pyd.Field(default=None, description="Spacer material for Integrated Glass Unit.")
|
391
|
+
|
392
|
+
|
393
|
+
class CurtainWallsRangeV1(BaseOpenEpdHierarchicalSpec):
|
394
|
+
"""
|
395
|
+
Curtain Walls.
|
396
|
+
|
397
|
+
Exterior skin of building where walls are non-structural and are outboard of the floor slabs,
|
398
|
+
often as system of aluminum framing with vision glass and opaque panels of glass, metal, or other
|
399
|
+
materials.
|
400
|
+
|
401
|
+
Can be 'unitized' (prefabricated off-site) or 'stick' (fabricated on site).
|
402
|
+
|
403
|
+
Range version.
|
404
|
+
"""
|
405
|
+
|
406
|
+
_EXT_VERSION = "1.0"
|
407
|
+
|
408
|
+
|
409
|
+
class DoorsAndFramesRangeV1(BaseOpenEpdHierarchicalSpec):
|
410
|
+
"""
|
411
|
+
Doors (the operable part) and frames (what holds the door proper).
|
412
|
+
|
413
|
+
Range version.
|
414
|
+
"""
|
415
|
+
|
416
|
+
_EXT_VERSION = "1.0"
|
417
|
+
|
418
|
+
height: AmountRangeLengthMm | None = pyd.Field(default=None)
|
419
|
+
width: AmountRangeLengthMm | None = pyd.Field(default=None)
|
420
|
+
IntegratedDoorsOpeningAssemblies: IntegratedDoorsOpeningAssembliesRangeV1 | None = None
|
421
|
+
MetalDoorAndFrames: MetalDoorAndFramesRangeV1 | None = None
|
422
|
+
SpecialtyDoorsAndFrames: SpecialtyDoorsAndFramesRangeV1 | None = None
|
423
|
+
WoodDoors: WoodDoorsRangeV1 | None = None
|
424
|
+
|
425
|
+
|
426
|
+
class EntrancesRangeV1(BaseOpenEpdHierarchicalSpec):
|
427
|
+
"""
|
428
|
+
Building entrances (distinct from the door proper).
|
429
|
+
|
430
|
+
Range version.
|
431
|
+
"""
|
432
|
+
|
433
|
+
_EXT_VERSION = "1.0"
|
434
|
+
|
435
|
+
|
436
|
+
class GlazingRangeV1(BaseOpenEpdHierarchicalSpec):
|
437
|
+
"""
|
438
|
+
Glazing performance specification.
|
439
|
+
|
440
|
+
Broad category of glass-based products, accessories, and assemblies ranging from
|
441
|
+
glass panes and framing to curtain walls.
|
442
|
+
|
443
|
+
Range version.
|
444
|
+
"""
|
445
|
+
|
446
|
+
_EXT_VERSION = "1.0"
|
447
|
+
|
448
|
+
FenestrationParts: FenestrationPartsRangeV1 | None = None
|
449
|
+
GlassPanes: GlassPanesRangeV1 | None = None
|
450
|
+
NAFSFenestration: NAFSFenestrationRangeV1 | None = None
|
451
|
+
InsulatingGlazingUnits: InsulatingGlazingUnitsRangeV1 | None = None
|
452
|
+
|
453
|
+
|
454
|
+
class StorefrontsRangeV1(BaseOpenEpdHierarchicalSpec):
|
455
|
+
"""
|
456
|
+
Storefronts.
|
457
|
+
|
458
|
+
Fabricated building facades commonly used in retail applications, typically one or two stories
|
459
|
+
tall and using metal framing and glass.
|
460
|
+
|
461
|
+
Range version.
|
462
|
+
"""
|
463
|
+
|
464
|
+
_EXT_VERSION = "1.0"
|
465
|
+
|
466
|
+
|
467
|
+
class TranslucentWallAndRoofAssembliesRangeV1(BaseOpenEpdHierarchicalSpec):
|
468
|
+
"""
|
469
|
+
Translucent wall and roof assemblies.
|
470
|
+
|
471
|
+
Includes structured polycarbonate panel and fiberglass sandwich panel assemblies.
|
472
|
+
|
473
|
+
Range version.
|
474
|
+
"""
|
475
|
+
|
476
|
+
_EXT_VERSION = "1.0"
|
477
|
+
|
478
|
+
|
479
|
+
class WindowWallAssembliesRangeV1(BaseOpenEpdHierarchicalSpec):
|
480
|
+
"""
|
481
|
+
Window Wall Assemblies.
|
482
|
+
|
483
|
+
Exterior skin of building where walls are non-structural and sit between floor slabs, often as
|
484
|
+
system of aluminum framing with vision glass and opaque panels of glass, metal,
|
485
|
+
or other materials.
|
486
|
+
|
487
|
+
Range version.
|
488
|
+
"""
|
489
|
+
|
490
|
+
_EXT_VERSION = "1.0"
|
491
|
+
|
492
|
+
|
493
|
+
class OpeningsRangeV1(BaseOpenEpdHierarchicalSpec):
|
494
|
+
"""
|
495
|
+
Openings performance specification.
|
496
|
+
|
497
|
+
General category that includes windows, storefronts, window walls, curtain walls,
|
498
|
+
doors, entrances, etc.
|
499
|
+
|
500
|
+
Range version.
|
501
|
+
"""
|
502
|
+
|
503
|
+
_EXT_VERSION = "1.0"
|
504
|
+
|
505
|
+
thickness: AmountRangeLengthMm | None = pyd.Field(default=None)
|
506
|
+
CurtainWalls: CurtainWallsRangeV1 | None = None
|
507
|
+
DoorsAndFrames: DoorsAndFramesRangeV1 | None = None
|
508
|
+
Entrances: EntrancesRangeV1 | None = None
|
509
|
+
Glazing: GlazingRangeV1 | None = None
|
510
|
+
Storefronts: StorefrontsRangeV1 | None = None
|
511
|
+
TranslucentWallAndRoofAssemblies: TranslucentWallAndRoofAssembliesRangeV1 | None = None
|
512
|
+
WindowWallAssemblies: WindowWallAssembliesRangeV1 | None = None
|
@@ -0,0 +1,31 @@
|
|
1
|
+
#
|
2
|
+
# Copyright 2024 by C Change Labs Inc. www.c-change-labs.com
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#
|
16
|
+
__all__ = ("OtherElectricalEquipmentRangeV1",)
|
17
|
+
|
18
|
+
# NB! This is a generated code. Do not edit it manually. Please see src/openepd/model/specs/README.md
|
19
|
+
|
20
|
+
|
21
|
+
from openepd.model.specs.base import BaseOpenEpdHierarchicalSpec
|
22
|
+
|
23
|
+
|
24
|
+
class OtherElectricalEquipmentRangeV1(BaseOpenEpdHierarchicalSpec):
|
25
|
+
"""
|
26
|
+
Other Electrical Equipment.
|
27
|
+
|
28
|
+
Range version.
|
29
|
+
"""
|
30
|
+
|
31
|
+
_EXT_VERSION = "1.0"
|