I'd like to announce the ninth development release of PythonCAD,
a CAD package for open-source software users. As the name implies,
PythonCAD is written entirely in Python. The goal of this project is
to create a fully scriptable drafting program that will match and eventually
exceed features found in commercial CAD software. PythonCAD is released
under the GNU Public License (GPL).
PythonCAD requires Python 2.2. The interface is GTK 2.0 based,
and uses the PyGTK module for interfacing to GTK. The design of
PythonCAD is built around the idea of separating the interface
from the back end as much as possible. By doing this, it is hoped
that both GNOME and KDE interfaces can be added to PythonCAD through
usage of the appropriate Python module. Addition of other interfaces
will depend on the availability of a Python module for that particular
interface and developer interest and action.
The ninth release concentrated on internal improvements to the code. The
storage and manipulation of optional values was heavily reworked. The
first batch of changes regarding storing various drawing entities was
finished, with the handling of colors having the largest number of changes.
Linetypes and drawing styles will be updated in a similar manner to colors
in future releases. This release also has numerous improvements in handling
default values for many of the objects used in PythonCAD.
A large number of bug fixes are included in this release. Various bugs
relating to line splitting, tangent point calculation, and line intersection
calculation have been fixed. In addition to bug fixes, numerous changes
in the code are for data validation and error checking, resulting in
several fixes where using improper data types was uncovered. A few changes
have been made with regards to saving and loading of files as well.
The ninth release also allows for the setting of the inactive layer
entity color. This change is probably the only user interface change present
in the release. As was stated above, the vast majority of changes present
in this release are deep within the code and not UI related.
Unfortunately the redraw bug in the preference dialog is still present, and
when making the eighth release I had hoped to have it eliminated by the time
the ninth release went out. That goal was not met, but hope springs eternal
and maybe it will be removed in the next release.
The mailing list for the development and use of PythonCAD is available.
Visit the following page for information about subscribing and viewing
the mailing list archive:
http://mail.python.org/mailman/listinfo/pythoncad
Visit the PythonCAD web site for more information about what PythonCAD
does and aims to be:
http://www.pythoncad.org/
Come and join me in developing PythonCAD into a world class drafting
program!
Art Haas
--
Man once surrendering his reason, has no remaining guard against absurdities
the most monstrous, and like a ship without rudder, is the sport of every wind.
-Thomas Jefferson to James Smith, 1822