[PythonCAD] uber-converter status

Eric Wilhelm ewilhelm at sbcglobal.net
Sat Sep 25 19:36:08 CEST 2004

Things are coming along here.  The dxf2rhizopod.py program is mostly 
functional, as is the pythoncad2rhizopod.py.  Going the other 
direction with dxf is going to take some work still.  Getting 
rhizopod2pythoncad working is just a matter of writing the stream 
input code.

There is support for 3D dxf as well.  Transforming these entities into 
python/svg/ps is likely going to take a 'flattenner' filter.  I was 
hoping to find some already-written python code in Blender for 
handling the OCS<->WCS transform, but no luck.  So, after adding 
dot(), proj(), and comp() support to Scientific.Geometry.Vector (and 
then getting bounced by the author's mailserver), I translated my 
functions from CAD::Drawing::Calculate into python.

If you want to play with this stuff, there are instructions in the 
subversion repository on how to get it and perform a pseudo-install.  
See the download section of the main page.

The monolithic-format connectors are changing into stream filters.  
The directory stuff is all handled by the rhizopod_stream and 
rhizopod_unstream programs.  The latter is ripe for improvements 
related to the persistence of a directory, since it currently 
requires permission to smash the destination.

Anybody want to code the dxf-write module?  Or, for that matter, any 
other connector your heart desires.

Additionally, dealing with dxf text is going to be tricky if the text 
is anything but left-justified.  The "insert point" is always the 
bottom-left corner (which is different than the "grip" that you see 
when running autocad.)  If anyone knows how to handle the various 
font-width issues, let me know.  Maybe there's something in qcad that 
addresses it.

Aside about Blender:  The dxf import code is some 1500 lines of C with 
a comment in the middle about how it needs to be rewritten.  So, once 
dxf2rhizopod is solid, it would be great to write a python import 
script to pull any rhizopod-connected format into Blender.  Janek is 
planning to experiment with read/write connection to the actual 
directory, but a straight-import is a little simpler.

"Matter will be damaged in direct proportion to its value."
                                        --Murphy's Constant

More information about the PythonCAD mailing list