Skip to content

Commit 060699b

Browse files
chriswmackeyChris Mackey
authored andcommitted
fix(model): Handle cases of no model geometry
1 parent 9ab722d commit 060699b

File tree

1 file changed

+22
-17
lines changed

1 file changed

+22
-17
lines changed

honeybee_display/model.py

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -285,22 +285,23 @@ def model_to_vis_set(
285285
faces.extend(model.orphaned_apertures)
286286
faces.extend(model.orphaned_doors)
287287
faces.extend(model.orphaned_shades)
288-
if face_text_labels:
289-
units, tol = model.units, model.tolerance
290-
for f_attr in face_attr:
291-
fa_col_obj = ColorFace(faces, f_attr, face_legend_par)
292-
geo_objs.append(
293-
color_face_to_vis_set(fa_col_obj, False, True, units, tol)[0])
294-
else:
295-
fa_col_obj = ColorFace(faces, face_attr[0], face_legend_par)
296-
geo_obj = color_face_to_vis_set(fa_col_obj, False, False)[0]
297-
geo_obj.identifier = 'Face_Attributes'
298-
geo_obj.display_name = 'Face Attributes'
299-
for r_attr in face_attr[1:]:
300-
fa_col_obj = ColorFace(faces, r_attr, face_legend_par)
301-
ra_a_geo = color_face_to_vis_set(fa_col_obj, False, False)[0]
302-
geo_obj.add_data_set(ra_a_geo[0])
303-
geo_objs.append(geo_obj)
288+
if len(faces) != 0 :
289+
if face_text_labels:
290+
units, tol = model.units, model.tolerance
291+
for f_attr in face_attr:
292+
fa_col_obj = ColorFace(faces, f_attr, face_legend_par)
293+
geo_objs.append(
294+
color_face_to_vis_set(fa_col_obj, False, True, units, tol)[0])
295+
else:
296+
fa_col_obj = ColorFace(faces, face_attr[0], face_legend_par)
297+
geo_obj = color_face_to_vis_set(fa_col_obj, False, False)[0]
298+
geo_obj.identifier = 'Face_Attributes'
299+
geo_obj.display_name = 'Face Attributes'
300+
for r_attr in face_attr[1:]:
301+
fa_col_obj = ColorFace(faces, r_attr, face_legend_par)
302+
ra_a_geo = color_face_to_vis_set(fa_col_obj, False, False)[0]
303+
geo_obj.add_data_set(ra_a_geo[0])
304+
geo_objs.append(geo_obj)
304305

305306
# add the sensor grid geometry if requested
306307
gdm = grid_display_mode.lower()
@@ -391,7 +392,9 @@ def model_to_vis_set(
391392

392393
# add the wireframe if requested
393394
if include_wireframe:
394-
geo_objs.append(model_to_vis_set_wireframe(model)[0])
395+
wf_geo = model_to_vis_set_wireframe(model)
396+
if wf_geo is not None:
397+
geo_objs.append(wf_geo[0])
395398

396399
# build the VisualizationSet and return it
397400
vis_set = VisualizationSet(model.identifier, geo_objs, model.units)
@@ -437,6 +440,8 @@ def _process_wireframe(face3d, wireframe, line_width=1):
437440
_process_wireframe(shd.geometry, wireframe, lw)
438441

439442
# build the VisualizationSet and return it
443+
if len(wireframe) == 0:
444+
return None
440445
vis_set = VisualizationSet(
441446
model.identifier, [ContextGeometry('Wireframe', wireframe)])
442447
vis_set.display_name = model.display_name

0 commit comments

Comments
 (0)