3D-bin-packing: problem of plotting Cylinder

There are some problem of plotting cylinder in example5.py

Traceback (most recent call last):
  File "C:/Users/mike/Desktop/3DBP/3D-bin-packing-master/example5.py", line 71, in <module>
    painter.plotBoxAndItems()
  File "C:\Users\mike\Desktop\3DBP\3D-bin-packing-master\py3dbp\main.py", line 615, in plotBoxAndItems
    self._plotCylinder(axGlob, float(x), float(y), float(z), float(w),float(h),float(d),color=color,mode=2)
  File "C:\Users\mike\Desktop\3DBP\3D-bin-packing-master\py3dbp\main.py", line 596, in _plotCylinder
    ax.plot_surface(x_grid, y_grid, z_grid,shade=False,fc=color,ec='black',alpha=1,color=color)
  File "C:\Users\mike\AppData\Local\Programs\Python\Python36\lib\site-packages\mpl_toolkits\mplot3d\axes3d.py", line 1736, in plot_surface
    polyc = art3d.Poly3DCollection(polys, *args, **kwargs)
  File "C:\Users\mike\AppData\Local\Programs\Python\Python36\lib\site-packages\mpl_toolkits\mplot3d\art3d.py", line 518, in __init__
    PolyCollection.__init__(self, verts, *args, **kwargs)
  File "C:\Users\mike\AppData\Local\Programs\Python\Python36\lib\site-packages\matplotlib\collections.py", line 961, in __init__
    Collection.__init__(self, **kwargs)
  File "C:\Users\mike\AppData\Local\Programs\Python\Python36\lib\site-packages\matplotlib\collections.py", line 170, in __init__
    self.update(kwargs)
  File "C:\Users\mike\AppData\Local\Programs\Python\Python36\lib\site-packages\matplotlib\artist.py", line 888, in update
    for k, v in props.items()]
  File "C:\Users\mike\AppData\Local\Programs\Python\Python36\lib\site-packages\matplotlib\artist.py", line 888, in <listcomp>
    for k, v in props.items()]
  File "C:\Users\mike\AppData\Local\Programs\Python\Python36\lib\site-packages\matplotlib\artist.py", line 881, in _update_property
    raise AttributeError('Unknown property %s' % k)
AttributeError: Unknown property fc

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 23 (9 by maintainers)

Most upvoted comments

@Westlife1002 Hi, yes this is very true. Feel free to contact me on dennismosch@hotmail.com.

@Westlife1002 Because each new item that is being evaluated to be placed inside the bin is being checked against all items already placed in the bin in order to determine if it is a valid position. This makes calculation time far from linear. For example, see the loop at line 148 in main.py.