geomeppy
geomeppy copied to clipboard
'ValueError: not enough values to unpack' in using 'geomeppy' to view an IDF 3D model
I am using geomeppy
to view a 3D IDF model in python.
but I get the following error when running the idf.view_model()
command:
ValueError: not enough values to unpack (expected 5, got 0)
can anyone help me with this issue?
Code:
import geomeppy
IDF.setiddname('C:\EnergyPlusV9-1-0\Energy+.idd')
idf = IDF("C:\EnergyPlusV9-1-0\ExampleFiles\Minimal.idf")
idf.epw = "USA_CO_Golden-NREL.724666_TMY3.epw"
idf.add_block(
name='Boring hut',
coordinates=[(10,0),(10,10),(0,10),(0,0)],
height=3.5)
idf.set_default_constructions()
idf.intersect_match()
idf.set_wwr(0.6)
idf.to_obj('boring_hut.obj')
idf.view_model()
complete error details:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\formatters.py in __call__(self, obj)
339 pass
340 else:
--> 341 return printer(obj)
342 # Finally look for special method names
343 method = get_real_method(obj, self.print_method)
C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\pylabtools.py in <lambda>(fig)
242
243 if 'png' in formats:
--> 244 png_formatter.for_type(Figure, lambda fig: print_figure(fig, 'png', **kwargs))
245 if 'retina' in formats or 'png2x' in formats:
246 png_formatter.for_type(Figure, lambda fig: retina_figure(fig, **kwargs))
C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\pylabtools.py in print_figure(fig, fmt, bbox_inches, **kwargs)
126
127 bytes_io = BytesIO()
--> 128 fig.canvas.print_figure(bytes_io, **kw)
129 data = bytes_io.getvalue()
130 if fmt == 'svg':
C:\ProgramData\Anaconda3\lib\site-packages\matplotlib\backend_bases.py in print_figure(self, filename, dpi, facecolor, edgecolor, orientation, format, bbox_inches, pad_inches, bbox_extra_artists, backend, **kwargs)
2191 else suppress())
2192 with ctx:
-> 2193 self.figure.draw(renderer)
2194
2195 bbox_inches = self.figure.get_tightbbox(
C:\ProgramData\Anaconda3\lib\site-packages\matplotlib\artist.py in draw_wrapper(artist, renderer, *args, **kwargs)
39 renderer.start_filter()
40
---> 41 return draw(artist, renderer, *args, **kwargs)
42 finally:
43 if artist.get_agg_filter() is not None:
C:\ProgramData\Anaconda3\lib\site-packages\matplotlib\figure.py in draw(self, renderer)
1862 self.patch.draw(renderer)
1863 mimage._draw_list_compositing_images(
-> 1864 renderer, self, artists, self.suppressComposite)
1865
1866 renderer.close_group('figure')
C:\ProgramData\Anaconda3\lib\site-packages\matplotlib\image.py in _draw_list_compositing_images(renderer, parent, artists, suppress_composite)
129 if not_composite or not has_images:
130 for a in artists:
--> 131 a.draw(renderer)
132 else:
133 # Composite any adjacent images together
C:\ProgramData\Anaconda3\lib\site-packages\matplotlib\artist.py in draw_wrapper(artist, renderer, *args, **kwargs)
39 renderer.start_filter()
40
---> 41 return draw(artist, renderer, *args, **kwargs)
42 finally:
43 if artist.get_agg_filter() is not None:
C:\ProgramData\Anaconda3\lib\site-packages\mpl_toolkits\mplot3d\axes3d.py in draw(self, renderer)
445 sorted(self.collections,
446 key=lambda col: col.do_3d_projection(renderer),
--> 447 reverse=True)):
448 col.zorder = zorder_offset + i
449 for i, patch in enumerate(
C:\ProgramData\Anaconda3\lib\site-packages\mpl_toolkits\mplot3d\axes3d.py in <lambda>(col)
444 for i, col in enumerate(
445 sorted(self.collections,
--> 446 key=lambda col: col.do_3d_projection(renderer),
447 reverse=True)):
448 col.zorder = zorder_offset + i
C:\ProgramData\Anaconda3\lib\site-packages\mpl_toolkits\mplot3d\art3d.py in do_3d_projection(self, renderer)
690
691 zzs, segments_2d, self._facecolors2d, self._edgecolors2d, idxs = \
--> 692 zip(*z_segments_2d)
693
694 if self._codes3d is not None:
ValueError: not enough values to unpack (expected 5, got 0)
<Figure size 432x288 with 1 Axes>
@nimafo, I had the same issue; make sure you install matplotlib==3.2.1
@nimafo sorry for the incredibly late reply. Did @samuelduchesne 's suggestion resolve your problem?