Skip to content

Commit a9aaf2c

Browse files
committed
Adds fenestration/spandrel (untested) methods (redux)
1 parent 3a6fcc5 commit a9aaf2c

File tree

1 file changed

+33
-1
lines changed

1 file changed

+33
-1
lines changed

src/osut/osut.py

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1138,7 +1138,7 @@ def is_spandrel(s=None):
11381138
cl = openstudio.model.Surface
11391139

11401140
if not isinstance(s, cl):
1141-
return oslg.mismatch("surface", s, cl, mth, CN.DBG)
1141+
return oslg.mismatch("surface", s, cl, mth, CN.DBG, False)
11421142

11431143
# Prioritize AdditionalProperties route.
11441144
if s.additionalProperties().hasFeature("spandrel"):
@@ -1158,6 +1158,38 @@ def is_spandrel(s=None):
11581158
return "spandrel" in s.nameString().lower()
11591159

11601160

1161+
def is_fenestration(s=None):
1162+
"""Validates whether a sub surface is fenestrated.
1163+
1164+
Args:
1165+
s (openstudio.model.SubSurface):
1166+
An OpenStudio sub surface.
1167+
1168+
Returns:
1169+
bool: Whether subsurface can be considered 'fenestrated'.
1170+
False: If invalid input (see logs).
1171+
1172+
"""
1173+
mth = "osut.is_fenestration"
1174+
cl = openstudio.model.SubSurface
1175+
1176+
if not isinstance(s, cl):
1177+
return oslg.mismatch("subsurface", s, cl, mth, CN.DBG, False)
1178+
1179+
# OpenStudio::Model::SubSurface.validSubSurfaceTypeValues
1180+
# "FixedWindow" : fenestration
1181+
# "OperableWindow" : fenestration
1182+
# "Door"
1183+
# "GlassDoor" : fenestration
1184+
# "OverheadDoor"
1185+
# "Skylight" : fenestration
1186+
# "TubularDaylightDome" : fenestration
1187+
# "TubularDaylightDiffuser" : fenestration
1188+
if s.subSurfaceType().lower() in ["door", "overheaddoor"]: return False
1189+
1190+
return True
1191+
1192+
11611193
def transforms(group=None) -> dict:
11621194
""""Returns OpenStudio site/space transformation & rotation angle.
11631195

0 commit comments

Comments
 (0)