From w.knol at niwa.co.nz Mon May 1 22:48:58 2006 From: w.knol at niwa.co.nz (Wilbert Knol) Date: Tue, 2 May 2006 08:48:58 +1200 Subject: [PythonCAD] 'python setup.py install' fails Message-ID: <200605020848.59028.w.knol@niwa.co.nz> After migrated to Debian Sarge 3.1, the recommended pythoncad install procedure produces this error message: wk:/home/wk/pythoncad# whoami root wk:/home/wk/pythoncad# python setup.py install running install error: invalid Python installation: unable to open /usr/lib/python2.3/config/Makefile (No such file or directory) wk:/home/wk/pythoncad# It looks as if something is missing in my python setup....not sure what. Do I absolutely need to run the 'python setup.py install' command? Pyhtoncad runs quite happily without it if I execute './gtkpycad.py'. Wilbert. From ahaas at airmail.net Tue May 2 04:13:44 2006 From: ahaas at airmail.net (Art Haas) Date: Mon, 1 May 2006 21:13:44 -0500 Subject: [PythonCAD] 'python setup.py install' fails In-Reply-To: <200605020848.59028.w.knol@niwa.co.nz> References: <200605020848.59028.w.knol@niwa.co.nz> Message-ID: <20060502021344.GH6626@artsapartment.org> On Tue, May 02, 2006 at 08:48:58AM +1200, Wilbert Knol wrote: > After migrated to Debian Sarge 3.1, the recommended pythoncad install > procedure produces this error message: > > wk:/home/wk/pythoncad# whoami > root > wk:/home/wk/pythoncad# python setup.py install > running install > error: invalid Python installation: unable to > open /usr/lib/python2.3/config/Makefile (No such file or directory) > wk:/home/wk/pythoncad# > > It looks as if something is missing in my python setup....not sure what. Possibly some 'python-devel' package is missing. > Do I absolutely need to run the 'python setup.py install' command? > Pyhtoncad runs quite happily without it if I execute './gtkpycad.py'. You don't need to do the 'python setup.py install' procedure if you do not need to have PythonCAD installed in a common directory. So, if you are comfortable with just running './gtkpycad.py' from the PythonCAD directory, you should probably stick with that. 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 Sun May 7 19:56:55 2006 From: ahaas at airmail.net (Art Haas) Date: Sun, 7 May 2006 12:56:55 -0500 Subject: [PythonCAD] First pass at rewritten split code now available at repo Message-ID: <20060507175655.GA8207@artsapartment.org> Hi. As the subject indicated, people using Subversion can access the new code by doing 'svn update'. There are still a few kinks to fix, in particular with Circle/Arc splitting, but for those wanting to try it out the code is available. Over the next couple of days there will be more changes to the code but I'm pleased at how the new code is simpler to follow and fixed a bug or two in the old code. 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 May 7 23:08:20 2006 From: ahaas at airmail.net (Art Haas) Date: Sun, 7 May 2006 16:08:20 -0500 Subject: [PythonCAD] First pass at rewritten split code now available at repo In-Reply-To: <20060507175655.GA8207@artsapartment.org> References: <20060507175655.GA8207@artsapartment.org> Message-ID: <20060507210820.GC8207@artsapartment.org> On Sun, May 07, 2006 at 12:56:55PM -0500, Art Haas wrote: > Hi. > > As the subject indicated, people using Subversion can access the new > code by doing 'svn update'. There are still a few kinks to fix, in > particular with Circle/Arc splitting, but for those wanting to try it > out the code is available. Over the next couple of days there will be > more changes to the code but I'm pleased at how the new code is > simpler to follow and fixed a bug or two in the old code. I've fixed a problem in Segment/Circle splitting, and the known problem with Circle/Arc splitting has been fixed as well, so an 'svn update' now will address the problem mentioned above. 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 May 9 17:18:05 2006 From: ahaas at airmail.net (Art Haas) Date: Tue, 9 May 2006 10:18:05 -0500 Subject: [PythonCAD] Subversion and Apache updated on public repository machine Message-ID: <20060509151805.GA31100@artsapartment.org> Hi. I've updated both Subversion and Apache on the machine, so anyone using Subversion to access the repo please e-mail me if you have trouble. I tried doing the update a month or two ago, but got stuck due to Apache authorization issues. It turns out that the trunk 'svn' code utilizes some Apache authorization routines that don't work well against the trunk 'httpd' code. I suspect that the Subversion developers are aware of this conflict and will address it in due time, as the work-around is a simple adjustment to the 'httpd.conf' file. 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 May 9 22:06:34 2006 From: ahaas at airmail.net (Art Haas) Date: Tue, 9 May 2006 15:06:34 -0500 Subject: [PythonCAD] Automatic entity splitting now in PythonCAD Message-ID: <20060509200634.GB31100@artsapartment.org> Hi. This is a feature I've wanted PythonCAD to have since the project began. Draw a segment, and then draw a second segment where one of the endpoints is somewhere on the first segment. The first segment will be replaced by two segments sharing the endpoint of the newly created segments, so now the drawing has three segments. Similarly, adding a new point to a drawing which lands on a Circle will split it into an Arc, a new point on an Arc splits it into two Arcs, and a new point on a Polyline just gets added to the Polyline point list. The autosplit feature can be turned on and off via the Preferences dialog if you don't want to use this new feature. Those of you using Subversion can try this new code out by simplying updating your code via 'svn update'. Let me know what you think. 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 Wed May 10 20:56:32 2006 From: ahaas at airmail.net (Art Haas) Date: Wed, 10 May 2006 13:56:32 -0500 Subject: [PythonCAD] Automatic entity splitting now in PythonCAD In-Reply-To: <20060509200634.GB31100@artsapartment.org> References: <20060509200634.GB31100@artsapartment.org> Message-ID: <20060510185632.GC31100@artsapartment.org> On Tue, May 09, 2006 at 03:06:34PM -0500, Art Haas wrote: > Hi. > > This is a feature I've wanted PythonCAD to have since the project began. > Draw a segment, and then draw a second segment where one of the > endpoints is somewhere on the first segment. The first segment will > be replaced by two segments sharing the endpoint of the newly created > segments, so now the drawing has three segments. Similarly, adding a > new point to a drawing which lands on a Circle will split it into an > Arc, a new point on an Arc splits it into two Arcs, and a new point > on a Polyline just gets added to the Polyline point list. The autosplit > feature can be turned on and off via the Preferences dialog if you > don't want to use this new feature. The addition of autosplitting exposed a latent bug in redoing the addition of a deleted entity to a Layer. This bug is now squashed, and autosplit operations are now much more well behaved with regards to undo/redo abilities. 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 w.knol at niwa.co.nz Wed May 10 22:41:27 2006 From: w.knol at niwa.co.nz (Wilbert Knol) Date: Thu, 11 May 2006 08:41:27 +1200 Subject: [PythonCAD] Subversion and Apache updated on public repository machine In-Reply-To: <20060509151805.GA31100@artsapartment.org> References: <20060509151805.GA31100@artsapartment.org> Message-ID: <200605110841.27921.w.knol@niwa.co.nz> > I've updated both Subversion and Apache on the machine, so anyone > using Subversion to access the repo please e-mail me if you have > trouble. SVN works perfectly for me. Just updated to revision 2301. Wilbert. From ahaas at airmail.net Thu May 11 00:59:38 2006 From: ahaas at airmail.net (Art Haas) Date: Wed, 10 May 2006 17:59:38 -0500 Subject: [PythonCAD] Automatic entity splitting now in PythonCAD In-Reply-To: <20060510185632.GC31100@artsapartment.org> References: <20060509200634.GB31100@artsapartment.org> <20060510185632.GC31100@artsapartment.org> Message-ID: <20060510225938.GE31100@artsapartment.org> On Wed, May 10, 2006 at 01:56:32PM -0500, Art Haas wrote: > On Tue, May 09, 2006 at 03:06:34PM -0500, Art Haas wrote: > > Hi. > > > > This is a feature I've wanted PythonCAD to have since the project began. > > Draw a segment, and then draw a second segment where one of the > > endpoints is somewhere on the first segment. The first segment will > > be replaced by two segments sharing the endpoint of the newly created > > segments, so now the drawing has three segments. Similarly, adding a > > new point to a drawing which lands on a Circle will split it into an > > Arc, a new point on an Arc splits it into two Arcs, and a new point > > on a Polyline just gets added to the Polyline point list. The autosplit > > feature can be turned on and off via the Preferences dialog if you > > don't want to use this new feature. > > The addition of autosplitting exposed a latent bug in redoing the > addition of a deleted entity to a Layer. This bug is now squashed, and > autosplit operations are now much more well behaved with regards > to undo/redo abilities. The autosplitting code also cause a few hiccups with the recently reworked entity splitting code - I think I've fixed those problems as well. Do an 'svn update' to get the changes. 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 w.knol at niwa.co.nz Thu May 11 03:24:50 2006 From: w.knol at niwa.co.nz (Wilbert Knol) Date: Thu, 11 May 2006 13:24:50 +1200 Subject: [PythonCAD] Automatic entity splitting now in PythonCAD In-Reply-To: <20060510225938.GE31100@artsapartment.org> References: <20060509200634.GB31100@artsapartment.org> <20060510185632.GC31100@artsapartment.org> <20060510225938.GE31100@artsapartment.org> Message-ID: <200605111324.51224.w.knol@niwa.co.nz> > The autosplitting code also cause a few hiccups with the recently > reworked entity splitting code - I think I've fixed those problems as > well. Do an 'svn update' to get the changes. Done. It's working well, here (revision 2305). As an aside, while playing with the new features, I noticed that pythoncad gets a bit confused when I 'select' a segment of a rectangle, and then try to delete that segment, or even other segments: wk at wk:~/pythoncad$ ./gtkpycad.py Traceback (most recent call last): File "/home/wk/pythoncad/PythonCAD/Interface/Gtk/gtkimage.py", line 146, inda_general_event event, _tool) File "/home/wk/pythoncad/PythonCAD/Interface/Gtk/gtkmodify.py", line 353, in delete_button_press_cb gtkimage.redraw() File "/home/wk/pythoncad/PythonCAD/Interface/Gtk/gtkimage.py", line 1085, in redraw _obj.draw(self, _color) File "/home/wk/pythoncad/PythonCAD/Interface/Gtk/gtkinit.py", line 118, in _draw_segment _coords = self.clipToRegion(_xmin, _ymin, _xmax, _ymax) File "/home/wk/pythoncad/PythonCAD/Generic/segment.py", line 410, in clipToRegion _x1, _y1 = self.__p1.getCoords() AttributeError: 'NoneType' object has no attribute 'getCoords' Anyway...it's no big deal...I thought I should mention it. Wilbert. From john_g at cibolo.com Sun May 14 19:52:17 2006 From: john_g at cibolo.com (John Griessen) Date: Sun, 14 May 2006 12:52:17 -0500 Subject: [PythonCAD] printing output size In-Reply-To: <20060507175655.GA8207@artsapartment.org> References: <20060507175655.GA8207@artsapartment.org> Message-ID: <44676E51.7030608@cibolo.com> Is there any chance this would make printing at different sizes possible more easily? John Griessen EE doing sensor networks with lots of mechanical design involved.... Art Haas wrote: I'm pleased at how the new code is > simpler to follow and fixed a bug or two in the old code. From ahaas at airmail.net Sun May 14 20:18:19 2006 From: ahaas at airmail.net (Art Haas) Date: Sun, 14 May 2006 13:18:19 -0500 Subject: [PythonCAD] printing output size In-Reply-To: <44676E31.3090709@cibolo.com> References: <20060507175655.GA8207@artsapartment.org> <44676E31.3090709@cibolo.com> Message-ID: <20060514181818.GB2124@artsapartment.org> On Sun, May 14, 2006 at 12:51:45PM -0500, John Griessen wrote: > Is there any chance this would make printing at different sizes > possible more easily? > > John Griessen > EE doing sensor networks with lots of mechanical design involved.... Hi. Well, I haven't touched the printing code in quite some time, so unfortunately the answer is an almost certain 'No'. What do you want changed in regards to printing? I know that the printing abilities need enhancement, so any and all suggestions will be welcomed. 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 john_g at cibolo.com Sun May 14 21:43:09 2006 From: john_g at cibolo.com (John Griessen) Date: Sun, 14 May 2006 14:43:09 -0500 Subject: [PythonCAD] printing output size In-Reply-To: <20060514181818.GB2124@artsapartment.org> References: <20060507175655.GA8207@artsapartment.org> <44676E31.3090709@cibolo.com> <20060514181818.GB2124@artsapartment.org> Message-ID: <4467884D.9070902@cibolo.com> I'd like to be able to create boilerplate drawing outlines, (that I can vary the content of with some python scripts), then draw at 1:1 or 2:1 or 4:1 on another layer so that the drawing outline is unchanged. For one outline the size to print at would be US letter, another the size to print at would be 11 X 17 inches, etc. Changing the drawing scale would have no impact on the other layer -- the drawing outline form. It should be possible to show 1/4 of a 1:1 scaled drawing that would cover 11 X 17 inches full scale locating the 1:1 origin on the 8.5 X 11 page and clipping what extends beyond a view area. View area could be defined by a box that shows what is inside it and not what is outside it, and designated by 2 points in corners. It's just the usual drafting stuff. It's necessary to show people printed docs at different scales for rapidly conveying meaning. John Griessen Art Haas wrote: > What do you want changed in regards to printing? From ahaas at airmail.net Fri May 19 20:56:14 2006 From: ahaas at airmail.net (Art Haas) Date: Fri, 19 May 2006 13:56:14 -0500 Subject: [PythonCAD] [ANNOUNCE] Thirty-first release of PythonCAD now available Message-ID: <20060519185614.GI2124@artsapartment.org> Hi. I'm pleased to announce the thirty-first 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 latest release features improvements to the entity splitting code and a new split operation, automatic entity splitting. The splitting code has been rewritten which fixed several bugs while making the code simpler and clearer to understand. The new autosplitting code is a feature that, when activated, will make the program split existing entities in a drawing when a newly added point lands on the entity. Various code cleanups are also present in this release, including the ability to set and later change the default style values for the different entities used within PythonCAD. Finally, a number of bug fixes and other code improvements are 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 Tue May 23 00:54:28 2006 From: ahaas at airmail.net (Art Haas) Date: Mon, 22 May 2006 17:54:28 -0500 Subject: [PythonCAD] [PATCH] Save and restore autosplitting value in layer.py Message-ID: <20060522225428.GI30230@artsapartment.org> Hi. The patch below addresses a problem I found regarding the newly added autosplitting code. The issue was that a layer would be set to not perform any autosplitting regardless of what the checkbox in the Preferences dialog setting. By default, autosplitting is off when the program starts unless you install the 'prefs.py' file into /etc/pythoncad and set Autosplit to True. I'd done that on my development machine, so I didn't see this problem until running PythonCAD on another machine where the default autosplit value was still False. Now, when an object is added to the Layer, the object invokes its setParent() method to store the Layer as the parent entity. If the newly added object is a Point, the Image instance containing the Layer will call the setAutosplit() method of the Layer, and it is at this point that things break because the autosplitting state variable the Layer examines - self.__asplit in the code below - gets set to False and never toggled back to the True value. So, the Layer ends up never performing autosplitting. The patch below saves the autosplit state value before the call to setParent(), and then restores this value at the end of the routine. Sorry I didn't catch this prior to the release. The patch below has been checked into my repo and sent to the public repo so it is also available via 'svn update'. Art Index: PythonCAD/Generic/layer.py =================================================================== --- PythonCAD/Generic/layer.py (revision 2319) +++ PythonCAD/Generic/layer.py (revision 2320) @@ -531,6 +531,11 @@ self.__objects[id(obj)] = obj _oid = obj.getID() self.__objids[_oid] = obj + # + # save the autosplit state before calling setParent() + # as the value could change + # + _as = self.__asplit obj.setParent(self) _log = obj.getLog() if _log is not None: # make this an error? @@ -573,6 +578,10 @@ _split, _sobjs = self.__splitObject(_mobj, obj) if _split and len(_sobjs): self.delObject(_mobj) + # + # restore autosplit state + # + self.__asplit = _as def __addPoint(self, p): """Add a Point object to the Layer. -- 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 May 23 17:27:53 2006 From: ahaas at airmail.net (Art Haas) Date: Tue, 23 May 2006 10:27:53 -0500 Subject: [PythonCAD] [PATCH] Save and restore autosplitting value in layer.py In-Reply-To: <20060522225428.GI30230@artsapartment.org> References: <20060522225428.GI30230@artsapartment.org> Message-ID: <20060523152753.GA5018@artsapartment.org> On Mon, May 22, 2006 at 05:54:28PM -0500, Art Haas wrote: > Hi. > > The patch below addresses a problem I found regarding the newly added > autosplitting code. The issue was that a layer would be set to not > perform any autosplitting regardless of what the checkbox in the > Preferences dialog setting. > > By default, autosplitting is off when the program starts unless you > install the 'prefs.py' file into /etc/pythoncad and set Autosplit > to True. I'd done that on my development machine, so I didn't see > this problem until running PythonCAD on another machine where > the default autosplit value was still False. Now, when an object > is added to the Layer, the object invokes its setParent() method > to store the Layer as the parent entity. If the newly added object > is a Point, the Image instance containing the Layer will call > the setAutosplit() method of the Layer, and it is at this point > that things break because the autosplitting state variable the > Layer examines - self.__asplit in the code below - gets set > to False and never toggled back to the True value. So, the Layer > ends up never performing autosplitting. > [ ... snip ... ] Hi. The patch I sent above works, but after thinking about the problem more I am not certain the approach used in resolving the problem is the right choice. Unfortunately I don't have a better patch available at the moment, so it will have to do for now. 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 Wed May 24 00:12:09 2006 From: ahaas at airmail.net (Art Haas) Date: Tue, 23 May 2006 17:12:09 -0500 Subject: [PythonCAD] [PATCH] Save and restore autosplitting value in layer.py In-Reply-To: <20060523152753.GA5018@artsapartment.org> References: <20060522225428.GI30230@artsapartment.org> <20060523152753.GA5018@artsapartment.org> Message-ID: <20060523221209.GC5018@artsapartment.org> On Tue, May 23, 2006 at 10:27:53AM -0500, Art Haas wrote: > On Mon, May 22, 2006 at 05:54:28PM -0500, Art Haas wrote: > > Hi. > > > > The patch below addresses a problem I found regarding the newly added > > autosplitting code. The issue was that a layer would be set to not > > perform any autosplitting regardless of what the checkbox in the > > Preferences dialog setting. > > > > By default, autosplitting is off when the program starts unless you > > install the 'prefs.py' file into /etc/pythoncad and set Autosplit > > to True. I'd done that on my development machine, so I didn't see > > this problem until running PythonCAD on another machine where > > the default autosplit value was still False. Now, when an object > > is added to the Layer, the object invokes its setParent() method > > to store the Layer as the parent entity. If the newly added object > > is a Point, the Image instance containing the Layer will call > > the setAutosplit() method of the Layer, and it is at this point > > that things break because the autosplitting state variable the > > Layer examines - self.__asplit in the code below - gets set > > to False and never toggled back to the True value. So, the Layer > > ends up never performing autosplitting. > > [ ... snip ... ] > > Hi. > > The patch I sent above works, but after thinking about the problem more > I am not certain the approach used in resolving the problem is the right > choice. Unfortunately I don't have a better patch available at the > moment, so it will have to do for now. I've reworked how the autosplit state is stored in the Layer class, and when calling the setAutosplit() and getAutosplit() methods are useful, so for those of you using Subversion my changes are available via the usual 'svn update'. These changes replace the patch I posted two messages ago, and my testing on different machines indicates the autosplitting works correctly and can be toggled on/off without problem. Feedback from people using Subversion to test the autosplitting abilities would be welcomed. Thanks in advance. 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 Wed May 24 20:36:32 2006 From: ahaas at airmail.net (Art Haas) Date: Wed, 24 May 2006 13:36:32 -0500 Subject: [PythonCAD] [PATCH] Save and restore autosplitting value in layer.py In-Reply-To: <20060523221209.GC5018@artsapartment.org> References: <20060522225428.GI30230@artsapartment.org> <20060523152753.GA5018@artsapartment.org> <20060523221209.GC5018@artsapartment.org> Message-ID: <20060524183632.GE5018@artsapartment.org> On Tue, May 23, 2006 at 05:12:09PM -0500, Art Haas wrote: > On Tue, May 23, 2006 at 10:27:53AM -0500, Art Haas wrote: > > On Mon, May 22, 2006 at 05:54:28PM -0500, Art Haas wrote: > > > Hi. > > > > > > The patch below addresses a problem I found regarding the newly added > > > autosplitting code. The issue was that a layer would be set to not > > > perform any autosplitting regardless of what the checkbox in the > > > Preferences dialog setting. > > > > > > By default, autosplitting is off when the program starts unless you > > > install the 'prefs.py' file into /etc/pythoncad and set Autosplit > > > to True. I'd done that on my development machine, so I didn't see > > > this problem until running PythonCAD on another machine where > > > the default autosplit value was still False. Now, when an object > > > is added to the Layer, the object invokes its setParent() method > > > to store the Layer as the parent entity. If the newly added object > > > is a Point, the Image instance containing the Layer will call > > > the setAutosplit() method of the Layer, and it is at this point > > > that things break because the autosplitting state variable the > > > Layer examines - self.__asplit in the code below - gets set > > > to False and never toggled back to the True value. So, the Layer > > > ends up never performing autosplitting. > > > [ ... snip ... ] > > > > Hi. > > > > The patch I sent above works, but after thinking about the problem more > > I am not certain the approach used in resolving the problem is the right > > choice. Unfortunately I don't have a better patch available at the > > moment, so it will have to do for now. > > I've reworked how the autosplit state is stored in the Layer class, and > when calling the setAutosplit() and getAutosplit() methods are useful, > so for those of you using Subversion my changes are available via the > usual 'svn update'. These changes replace the patch I posted two > messages ago, and my testing on different machines indicates the > autosplitting works correctly and can be toggled on/off without problem. > > Feedback from people using Subversion to test the autosplitting > abilities would be welcomed. Thanks in advance. One more small reworking is now in the repo, with the latest change being a slight simplification of the code in the layer module. As before, the code can be accessed via 'svn update' for Subversion users, and any feedback would be welcomed. I'm likely to make another release tomorrow or Friday as I want the autosplitting feature to work out of the box, much like I thought it did but sadly found out it did not. 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 May 25 23:15:32 2006 From: ahaas at airmail.net (Art Haas) Date: Thu, 25 May 2006 16:15:32 -0500 Subject: [PythonCAD] [ANNOUNCE] Thirty-second release of PythonCAD now available Message-ID: <20060525211532.GB2132@artsapartment.org> Hi. I'm pleased to announce the thirty-second 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-second release fixes a configuration problem where the newly added autosplitting feature would not be activated properly or could disable autosplitting in a Layer. A small bug in the reworked splitting code was also fixed, as well as a few other small errors. 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 Sun May 28 00:19:16 2006 From: ahaas at airmail.net (Art Haas) Date: Sat, 27 May 2006 17:19:16 -0500 Subject: [PythonCAD] Goals for next release Message-ID: <20060527221916.GD2132@artsapartment.org> Hi. Hopefully the autosplitting problems have been solved successfully, as it would be embarassing to make another quickie release. I've checked in a number of fixes to the general splitting code, as I found a few problems when the split point is an endpoint of a Segment. It turns out that these problems have been in the code for a long time, but the addition or autosplitting and the split rewrite made it easier to identify the problems and fix them. A number of problems were in the 'intersections.py' file, and a few were in the 'split.py' file as well. As for what the next release will hold, I have a few ideas. One thing I'd like to start working on is making PythonCAD work with localized strings for the prompt, menu items, dialogs, etc. This work will require the use of the 'gettext' module, I think. Another goal for the next release is to (finally) replace the GTKImage code with the various Image classes in 'gtkshell.py', and by doing this completely decouple the interface from the core program and rely solely on the messaging system for display purposes. If this work can be done many, most, or all the various redraw() calls sprinkled throughout the code will be removed, and the display speed should be much, much quicker. We'll see what happens over the next month or so. I'll tentatively say the next release will appear at the beginning of July, and almost certainly by the end of July at the latest. 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