From ahaas at airmail.net Mon Jul 3 18:42:32 2006 From: ahaas at airmail.net (Art Haas) Date: Mon, 3 Jul 2006 11:42:32 -0500 Subject: [PythonCAD] More updates available at repo Message-ID: <20060703164232.GA2363@artsapartment.org> Hi. Just a quick word that more updates are available at the repo and a simple 'svn update' will bring them to your copy of the code. I've fixed a number of redraw issues regarding transferring entities between layers and other editing operations, though still more fixes will be needed (i.e. entity moving). The latest fixes also include a nice optimization regarding operations where multiple entities are added, deleted, or modified. The changed redraw code was calling the gtk.DrawingArea queue_draw() method for each entity change; this call copies the offscreen pixmap onto the screen. If an operation was done on a group of entities, such as deleteing everything within a box, then each deletion would end up invoking queue_draw(), even though you probably could not see it. Now, thanks to adding some new messages to the Image class, operations contained within startAction()/endAction() blocks will do whatever offscreen drawing is needed, but the queue_draw() call will only happen once endAction() is called, potentially avoiding many refresh calls yet showing the one that counts - the results of all the operations. I'm going to try and make a release at the end of this week, but if that doesn't happen then most likely next week will see a release. Art -- 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 From ahaas at airmail.net Tue Jul 4 00:27:54 2006 From: ahaas at airmail.net (Art Haas) Date: Mon, 3 Jul 2006 17:27:54 -0500 Subject: [PythonCAD] More updates available at repo In-Reply-To: <20060703164232.GA2363@artsapartment.org> References: <20060703164232.GA2363@artsapartment.org> Message-ID: <20060703222754.GA16996@artsapartment.org> On Mon, Jul 03, 2006 at 11:42:32AM -0500, Art Haas wrote: > Hi. > > Just a quick word that more updates are available at the repo and a > simple 'svn update' will bring them to your copy of the code. I've > fixed a number of redraw issues regarding transferring entities > between layers and other editing operations, though still more fixes > will be needed (i.e. entity moving). Hi. I've fixed the display errors when moving entities around - no more ghost points or unseen moved entities. These fixes and more are at the repo and just an 'svn update' away. For people pulling these changes via Subversion, please let me know if you have other display issues when editing entities in a drawing. Thanks in advance. 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 From ahaas at airmail.net Fri Jul 7 22:07:38 2006 From: ahaas at airmail.net (Art Haas) Date: Fri, 7 Jul 2006 15:07:38 -0500 Subject: [PythonCAD] [ANNOUNCE] Thirty-third release of PythonCAD now available Message-ID: <20060707200738.GB2210@artsapartment.org> Hi. I'm pleased to announce the thirty-third 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 or newer. 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 PythonCAD interfaces will depend on the availability of a Python module for that particular interface and developer interest and action. The thirty-third release contains several major updates to the program. Drawing operations have been greatly sped up when entities are added to a drawing, modified, or deleted from a drawing. Users on older hardware or machines with slower video systems will notice this change immediately. A second large change in this release is the completion of separating the interface code from the core code by using the internal messaging system in place of object inheritance. The third big change in this release is the formatting of the interface text strings for internationalization, and a Spanish translation is now available for users to install. It is hoped that more translations appear in future releases. Additionally, a large number of smaller improvements, enhancements, and bug fixes are also present in this release. A 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 From ahaas at airmail.net Mon Jul 10 22:03:54 2006 From: ahaas at airmail.net (Art Haas) Date: Mon, 10 Jul 2006 15:03:54 -0500 Subject: [PythonCAD] Goals for next release Message-ID: <20060710200354.GC2160@artsapartment.org> Hi. Now that the thirty-third release is out, it's time to start on making the changes which will be in the next release. I've already committed various cleanups to the code which remove lots of duplicated calls in functions needing to get the Image instance from within a GTKImage instance. The changes are at the public repo and are just an 'svn update' away. I've also removed some commented-out redraw() calls and some deprecated calls in the GTKImage class as well. I'll be fixing various display issues as they are found, and I'm certain that a few will be. One new feature I'd like the next release to have is to tie into the new printing abilities in the latest GTK+ release, and I'd also like to try and use Cairo drawing routines if they are available. It would be nice to improve the storing of user preferences, something PythonCAD has never done well. Art -- 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 From ahaas at airmail.net Tue Jul 11 20:46:58 2006 From: ahaas at airmail.net (Art Haas) Date: Tue, 11 Jul 2006 13:46:58 -0500 Subject: [PythonCAD] Various drawing updates at repo Message-ID: <20060711184658.GB2335@artsapartment.org> Hi. I've sent some changes up to the public repo that address various redraw issues I'd found since the last release. The biggest problem I'd seen dealt with highlighting Point entities and handling the various cases when the Point was shared with various entities and one of the entities moved or was deleted. I think the problem has been fixed, and the fix enabled me to cut down on offscreen drawing calls so a slight speedup also emerged. A few other tweaks also are in the repo. The changes are just an 'svn update' away for anyone accessing the code with Subversion. 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 From ahaas at airmail.net Tue Jul 18 22:23:15 2006 From: ahaas at airmail.net (Art Haas) Date: Tue, 18 Jul 2006 15:23:15 -0500 Subject: [PythonCAD] New stuff at public repo Message-ID: <20060718202315.GC2962@artsapartment.org> Hi. Over the last week there's been new code making its way to the public repo, but I've not been mailing the list about it. The code is mostly a new feature in PythonCAD - the ability to rotate objects around some point - plus a number of bug fixes and enhancements. To use the rotation, you first need to define the rotation point by clicking in the drawing or entering the point in the entry box. Next, you can either enter the angle of rotation in the entry box, or you click construction lines and the angle between them will define the rotation angle. At this point, you select the objects to rotate by clicking on them or selecting them by drawing a selection box. I've played around with this feature a bit, and it seems to work for the simple cases I've tried. I'm still fiddling with the code so it may change slightly in the next day or two, hopefully for the better. I need to add the ability to use selected objects as the ones to rotate, for example. Please do an 'svn update' to get the latest changes. 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 From ahaas at airmail.net Thu Jul 20 19:18:38 2006 From: ahaas at airmail.net (Art Haas) Date: Thu, 20 Jul 2006 12:18:38 -0500 Subject: [PythonCAD] Subversion binary updated at repo Message-ID: <20060720171838.GA2069@artsapartment.org> Hi. I've updated Apache and Subversion on the machine hosting the public repo. If anyone has problems accessing the code please let me know. Art -- 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 From ahaas at airmail.net Sun Jul 23 00:38:39 2006 From: ahaas at airmail.net (Art Haas) Date: Sat, 22 Jul 2006 17:38:39 -0500 Subject: [PythonCAD] Entity drawing using Cairo Message-ID: <20060722223839.GA7710@artsapartment.org> Hi. I've sent some new code up to the repo which will utilize Cairo routines for drawing some of the entities in PythonCAD. The GTK+-2.8 release uses Cairo, and the most recent PyGTK releases have bindings to the needed calls, so if you are running a recent PyGTK/GTK+ package combo then the Cairo routines will be used. So far I've added routines for Segments, Circles, Leaders, Polylines, the different construction entities, and TextBlocks. I'll be adding the code for Arcs and the dimension entities soon. The code is still being tinkered with somewhat, so things may look a little odd every now and then. If you are running PyGTK/GTK+ releases without Cairo abilities then the existing drawing routines are used. Using Cairo routines for drawing will be required for adding support for the GTK+ printing abilities added in GTK+-2.10. I hope to add support for this new GTK+ feature shortly, but it will not be in the next release. The new code is just an 'svn update' away for people using Subversion. Feedback welcomed if you see problems or have suggestions. Art -- 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 From ahaas at airmail.net Thu Jul 27 21:33:15 2006 From: ahaas at airmail.net (Art Haas) Date: Thu, 27 Jul 2006 14:33:15 -0500 Subject: [PythonCAD] More Cairo drawing changes available at repo Message-ID: <20060727193315.GF23091@artsapartment.org> Hi. I've changed the code that draws the various Dimension entities to use Cairo routines if they are available. The changes are now at the repo and available to Subversion users via 'svn update'. Art -- 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