[cad-linux] CAD::Drawing Perl module updates

New modules uploaded today.  Should show up under 
http://search.cpan.org/~ewilhelm/ after a few hours.

CAD::Drawing is a collection of Perl modules for manipulating (mostly planar) 
geometry and juggling between various file-formats and storage methods.

The load() and save() functions try to be as agnostic as possible about what 
sort of storage method is being used.  The CAD::Drawing::IO module provides a 
plug-in architecture for the other CAD::Drawing::IO::* modules so that you 
may install one or all of them as you like (and write new ones for things 
like SVG, IGES, etc.)

Manipulation methods include rotate, scale, move, copy, clone, mirror, and 
transform (via matrix.)  Most entities are supported in 3D via the dwg / dxf 
methods (though the behavior is currently whacked when taking 3D entities to 
2D formats like postscript or image.)

The pop-up view provided by CAD::Drawing::IO::Tk gives a decent gui for help 
in debugging (a few lines of code to create a pop-up.)  It has also been used 
to build a basic gui application, though this is currently clunky (and text 
objects are the worst part.)

Future plans:

restructuring of internal storage method (hopefully with stable API)
addition of some IO modules (like YAML and Storable)
create a gui module for Qt

Bleeding-edge code will be found at http://ericwilhelm.homeip.net/svn/, or use 
'perl -MCPAN -e shell' to install the old-fashioned way.

DWG/DXF is currently provided via a binding to the openDWG toolkit, so you 
have to sign-up as a member (should still be free) for that.  I'm working on 
a binding to the Dime dxf library, which would make a GPL-compatible backend 
for DXF read/write (anyone want to write the text class?  (that's all that is 
really missing from Dime.))

--Eric
-- 
"Blessed are the young, for they shall inherit the national debt."
                                        --Herbert Hoover


Other related posts: