bar3d linewidth and linecolor

I am trying to extend the bar3d API to include linewidth and linecolor parameters. I got it about halfway working and I would like a pointer on how to finish the job. These are the relevant lines of my test script I used to plot the attached images.

ax.bar3d(xpos, ypos, zpos, dx, dy, dz)
ax.bar3d(xpos[:4], ypos[:4], zpos[:4], dx[:4], dy[:4], dz[:4], linewidth=10, edgecolor='r')

As you can see, it works from certain angles, but not others. I am wondering if some 3d patches or 3d polys get created somewhere else that I need to modify. Or maybe this is more Z order issues. Or maybe a normal issue.

What I did was simply add linewidth and linecolor parameters to the definition of Axes3D.bar3d(). Then I simply pass them into: art3d.Poly3DCollection() near the end of bar3d().