At one point I created a gl2ps wrapper for use with PyOpenGL, that,
combined with any of the PyOpenGL-based renderers would allow much of
what you're describing, though IIRC it didn't properly support
transparent or textured surfaces. You could probably recreate the
wrapper using ctypes in a few hours and then hook it up in a few more.
I believe there are similar OpenGL-to-SVG libraries here and there, you
could likely hook one of them up to get a reasonable result that would
support more graphics features (maybe). Generally what you get out of
these things, however, is a quite fragmented view of your objects (that
is, you get the triangles that would be rendered). That *can* be coded
around, but generally people are either focused on making it look good
or making it editable.
Mike C. Fletcher
Designer, VR Plumber, Coder