From ahaas at airmail.net Thu Jan 6 16:32:10 2005 From: ahaas at airmail.net (Art Haas) Date: Thu Jan 6 16:32:14 2005 Subject: [PythonCAD] Plans for next release and beyond Message-ID: <1105025530.12689.30.camel@localhost.localdomain> Hi. The release will be in a couple of days, probably around January 11 or 12. A number of bug fixes (i.e. typos) and small cleanups that I made just after the previous release will be included, as well as the ability to save the locked and visibility status of an entity. I also did some cleanup work on the various execute() methods of the Log classes, and in doing so found some useless code in a number of places that I'm guessing were due to copy-n-paste-n-fix coding. The fixes in this code now make the code consistent in that the undo/redo operation is run prior to storing the data needed to undo or redo the just completed operation. Previously this behavior was inconsistent. As for future development plans, one goal will be to utilize some of the newer features in Python 2.3 and 2.4. For example, the 'types' module has a BooleanType value that can be used to test if some variable is either True or False. The way this value is now used is similiar to to following code fragment: import types ... if hasattr(types, 'BooleanType') ... variable test and code here ... else ... test and code here for Python 2.2 ... I still believe that the code needs to be working in Python 2.2, but at some date in the future the minimum Python version will be bumped up to 2.3, though that date is still probably far off. Another goal is to do some work on the interface. For nearly the entire span of PythonCAD's public availability, the user interface has hardly changed. More menu choices and dialogs have been added, but the overall layout is still the same, as is much of the code. With the addition of the messaging in the core PythonCAD code, the interface should be adjusted to listen to various messages and respond accordingly, and changing things to make that happen will be part of this year's development efforts. Also, the code needs to be changed to take advantage of some of the newer features in PyGTK as well as replace various deprecated widgets. Code that creates an gtk.OptionMenu needs to be changed to create the newer gtk.ComboBox, for example. Also, using GTK/PyGTK routines like UIManager to draw the menus looks like the way to go. I'll still like to try and code things so that PyGTK version 2.0 will still work, but adding code to utilize version 2.2, 2.4, and even newer releases is definitely on the agenda. I still need to write up my summary regarding last years work. Overall I'm really pleased at how the program improved - undo/redo works, the first printing abilities were added, and many internal improvements were added. I'll elaborate on these things on the web page. -- Art Haas From john_g at cibolo.com Thu Jan 6 21:12:00 2005 From: john_g at cibolo.com (John Griessen) Date: Thu Jan 6 21:12:06 2005 Subject: [PythonCAD] debian install fails sys.path test Message-ID: <41DD9B90.2000804@cibolo.com> Hi, PythonCAD is partially functioning, and I'd like to try it for real. My debian linux installation has a package python-gtk2 which is another name for python2.3-gtk2 and python2.2 python2.3 installed. After my attempts running setup.py from both python versions, here are directories /usr/lib/python2.3/site-packages/PythonCAD and /usr/lib/python2.2/site-packages/PythonCAD python2.2 -V Python 2.2.3+ python2.3 -V Python 2.3.4 are my versions. when I run python2.3 I get: >>> import sys >>> sys.path ['', '/usr/lib/python23.zip', '/usr/lib/python2.3', '/usr/lib/python2.3/plat-linux2', '/usr/lib/python2.3/lib-tk', '/usr/lib/python2.3/lib-dynload', '/usr/lib/python2.3/site-packages', '/usr/lib/python2.3/site-packages/FontTools', '/usr/lib/python2.3/site-packages/Numeric', '/usr/lib/python2.3/site-packages/PIL', '/usr/lib/python2.3/site-packages/gtk-2.0', '/usr/lib/python2.3/site-packages/vtk_python'] >>> no pythonCAD in the list. Any ideas how to fix this? John Griessen From fb102 at soton.ac.uk Thu Jan 6 21:42:43 2005 From: fb102 at soton.ac.uk (Floris Bruynooghe) Date: Thu Jan 6 21:42:45 2005 Subject: [PythonCAD] debian install fails sys.path test In-Reply-To: <41DD9B90.2000804@cibolo.com> References: <41DD9B90.2000804@cibolo.com> Message-ID: <20050106204243.GC2129@balder.anrpg.homeip.net> On Thu, Jan 06, 2005 at 02:12:00PM -0600, John Griessen wrote: > > PythonCAD is partially functioning, and I'd like to try it for real. Have you ever tried running the exacutable? > /usr/lib/python2.3/site-packages/PythonCAD ... > >>> import sys > >>> sys.path > [..., '/usr/lib/python2.3/site-packages', ...] > >>> > > no pythonCAD in the list. (I cut out the not-important bits here) You obviouly have no idea how packages in python work. Since there is a diretory PythonCAD which lives _inside_ the diretory .../site-packages AND contains a __init__.py file the package PythonCAD is reachable from within python. Try 'import PythonCAD' to see proof of this. Normally there is also a launching program installed so you only have to type 'pythoncad' at your promt. And I recon this is all you'll ever want since that application is responsible for getting PythonCAD imported and executed. Btw, Debian has a package for PythonCAD. And surprisingly it's called 'pythoncad' so just an 'apt-get install pythoncad' should give you all you wish. -- Debian GNU/Linux -- The power of freedom www.debian.org | www.gnu.org | www.kernel.org From john_g at cibolo.com Thu Jan 6 22:14:48 2005 From: john_g at cibolo.com (John Griessen) Date: Thu Jan 6 22:15:16 2005 Subject: [PythonCAD] install pythoncad from source Message-ID: <41DDAA48.9000101@cibolo.com> "You obviouly have no idea" "surprisingly it's called 'pythoncad' . . . . apt-get install pythoncad" That gave the same syptom of not accessing pygtk completely. It was ver. 19. >>> import PythonCAD >>> sys.path ['', '/usr/lib/python23.zip', '/usr/lib/python2.3', '/usr/lib/python2.3/plat-linux2', '/usr/lib/python2.3/lib-tk', '/usr/lib/python2.3/lib-dynload', '/usr/lib/python2.3/site-packages', '/usr/lib/python2.3/site-packages/FontTools', '/usr/lib/python2.3/site-packages/Numeric', '/usr/lib/python2.3/site-packages/PIL', '/usr/lib/python2.3/site-packages/gtk-2.0', '/usr/lib/python2.3/site-packages/vtk_python'] >>> still no pythoncad on the list... still have a broken install select does not work as advertised and these messages show at the shell: File "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", line 401, in da_general_event handler(gtkimage, widget, event, _tool) File "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line 77, in select_motion_notify widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) NameError: global name 'gc' is not defined The gtk2.0 installed has this date: ll /usr/lib/python2.3/site-packages/gtk-2.0/gtk total 1212 -rw-r--r-- 1 root root 3946 2004-11-22 05:36 __init__.py debian packages: python2.3-gtk2 2.4.1-2 libgtk2.0-0 2.4.14-2 libgtk2.0-bin 2.4.14-2 libgtk2.0-common 2.4.14-2 libgtk2.0-dev 2.4.14-2 I have no python2.2-gtk2 installed, and that may be a problem. the notes for install say python2.2 and later and 2.3 may be "too new" to still be compatible. John Griessen From fb102 at soton.ac.uk Fri Jan 7 00:08:19 2005 From: fb102 at soton.ac.uk (Floris Bruynooghe) Date: Fri Jan 7 00:08:20 2005 Subject: [PythonCAD] install pythoncad from source In-Reply-To: <41DDAA48.9000101@cibolo.com> References: <41DDAA48.9000101@cibolo.com> Message-ID: <20050106230819.GB2415@balder.anrpg.homeip.net> On Thu, Jan 06, 2005 at 03:14:48PM -0600, John Griessen wrote: > called 'pythoncad' . . . . apt-get install pythoncad" > > That gave the same syptom of not accessing pygtk completely. It was ver. > 19. Not sure what you actually mean here. Do you want to track the latest version? If so the debian package is only one version behind the released version and since you're tracking testing (that is at least what I think coz of the packages and versions you list) I assume it will be updated fairly soon. So unless you have very specific needs it would be the easiest to just use the debian package (in which case the gtk frontend can just be started by issuing 'pythoncad' on the command line). Nevertheless there is no reason why you shouldn't be able to install from source... > >>> import PythonCAD > >>> sys.path > ['', '/usr/lib/python23.zip', '/usr/lib/python2.3', > '/usr/lib/python2.3/plat-linux2', '/usr/lib/python2.3/lib-tk', > '/usr/lib/python2.3/lib-dynload', '/usr/lib/python2.3/site-packages', > '/usr/lib/python2.3/site-packages/FontTools', > '/usr/lib/python2.3/site-packages/Numeric', > '/usr/lib/python2.3/site-packages/PIL', > '/usr/lib/python2.3/site-packages/gtk-2.0', > '/usr/lib/python2.3/site-packages/vtk_python'] > >>> > > still no pythoncad on the list... PythonCAD as package will never appear on the sys.path list. sys.path is only a list of diretories where python will look for a subdirectory named 'PyhonCAD' if you type 'import PytonCAD'. The fact that the import statement did give no output means everything was ok. If you really want to see it you could use the 'dir()' command or you could do 'dir(PythonCAD)' to see which attributes PythonCAD has. Only after the import though. Sorry if this wasn't clear in the last email. I see that the INSTALL file says it should show up in sys.path but personally I don't see why. My guess is that that bit of documentation is out of date. > still have a broken install If this statment was based on the output showed so far I am rather convinced you don't have a broken install. Did you follow the instructions from the file 'INSTALL' in the tarball? If so did you manage to launch the application by 'gtkpycad.py' Also check the permissions (as noted in the INSTALL file). > select does not work as advertised and these messages show at the shell: Are you in the gtk gui (gtkpycad.py) now? This is not very clear. > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined If this was from the gtk gui (in which case the install did succeed btw) then this might be an actual bug. I don't know pythoncad or gtk good enough to know what this traceback means withouth spending hours looking at it. Maybe someone else does? If it is a bug you might want to give an exact description on how to reproduce the error. > The gtk2.0 installed has this date: > ll /usr/lib/python2.3/site-packages/gtk-2.0/gtk > total 1212 > -rw-r--r-- 1 root root 3946 2004-11-22 05:36 __init__.py > > debian packages: > python2.3-gtk2 2.4.1-2 > libgtk2.0-0 2.4.14-2 > libgtk2.0-bin 2.4.14-2 > libgtk2.0-common 2.4.14-2 > libgtk2.0-dev 2.4.14-2 You have python2.3-gtk2 installed and that should be enough since it pulls in all the needed dependencies. So don't worry about that. > I have no python2.2-gtk2 installed, and that may be a problem. > the notes for install say python2.2 and later and 2.3 may be "too new" > to still be compatible. Make sure you have run the setup.py script with python2.3 (which you had done as I could see from your last email) and then there is no reason to worry about your python2.2 installation. (Btw, do you actually have a reason to keep python2.2 lying around? If you don't need it you would avoid confusion in the future if you cleaned it up) Cheers Floris -- Debian GNU/Linux -- The power of freedom www.debian.org | www.gnu.org | www.kernel.org From john_g at cibolo.com Fri Jan 7 04:15:45 2005 From: john_g at cibolo.com (John Griessen) Date: Fri Jan 7 04:15:51 2005 Subject: [PythonCAD] pythoncad select syptoms Message-ID: <41DDFEE1.7070404@cibolo.com> I only find a reference to gtk.gdk.INVERT in gtkimage.getGC().set_function(gtk.gdk.INVERT) of http://subversion.pythoncad.org:9000/svn/pythoncad/tags/DS1-R6/Interface/Gtk/gtkconobjs.py and only find a ref to gtk.gdk.INVERT) in the 2.51 ref manual..... First release covering PyGTK 2.5.1 (GTK+ 2.6) Do I need a cvs version of PyGTK to run all the latest features of pythoncad? John G From ahaas at airmail.net Fri Jan 7 14:50:11 2005 From: ahaas at airmail.net (Art Haas) Date: Fri Jan 7 14:50:25 2005 Subject: [PythonCAD] pythoncad select syptoms In-Reply-To: <41DDFEE1.7070404@cibolo.com> References: <41DDFEE1.7070404@cibolo.com> Message-ID: <1105105812.383.4.camel@localhost.localdomain> On Thu, 2005-01-06 at 21:15 -0600, John Griessen wrote: > I only find a reference to gtk.gdk.INVERT in > > > gtkimage.getGC().set_function(gtk.gdk.INVERT) > > of > http://subversion.pythoncad.org:9000/svn/pythoncad/tags/DS1-R6/Interface/Gtk/gtkconobjs.py > > and only find a ref to gtk.gdk.INVERT) > in > the 2.51 ref manual..... > > First release covering PyGTK 2.5.1 (GTK+ 2.6) > > Do I need a cvs version of PyGTK > to run all the latest features of pythoncad? Hi. No, PythonCAD should run with current PyGTK releases back to the 2.0 release several years ago. As for this error you saw in an earlier e-mail: select does not work as advertised and these messages show at the shell: File "/usr/lib/python2.3/site- packages/PythonCAD/Interface/Gtk/gtkimage.py", line 401, in da_general_event handler(gtkimage, widget, event, _tool) File "/usr/lib/python2.3/site- packages/PythonCAD/Interface/Gtk/gtkedit.py", line 77, in select_motion_notify widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) NameError: global name 'gc' is not defined That is a bug - replace the variable 'gc' with '_gc' on line 77 and also on line 83. I'll fix this in my code and the problem will be gone in the next release. -- Art Haas From ahaas at airmail.net Fri Jan 7 14:56:22 2005 From: ahaas at airmail.net (Art Haas) Date: Fri Jan 7 14:56:25 2005 Subject: [PythonCAD] install pythoncad from source In-Reply-To: <20050106230819.GB2415@balder.anrpg.homeip.net> References: <41DDAA48.9000101@cibolo.com> <20050106230819.GB2415@balder.anrpg.homeip.net> Message-ID: <1105106182.383.9.camel@localhost.localdomain> On Thu, 2005-01-06 at 23:08 +0000, Floris Bruynooghe wrote: > > >>> import PythonCAD > > >>> sys.path > > ['', '/usr/lib/python23.zip', '/usr/lib/python2.3', > > '/usr/lib/python2.3/plat-linux2', '/usr/lib/python2.3/lib-tk', > > '/usr/lib/python2.3/lib-dynload', '/usr/lib/python2.3/site-packages', > > '/usr/lib/python2.3/site-packages/FontTools', > > '/usr/lib/python2.3/site-packages/Numeric', > > '/usr/lib/python2.3/site-packages/PIL', > > '/usr/lib/python2.3/site-packages/gtk-2.0', > > '/usr/lib/python2.3/site-packages/vtk_python'] > > >>> > > > > still no pythoncad on the list... > > PythonCAD as package will never appear on the sys.path list. > sys.path is only a list of diretories where python will look for > a subdirectory named 'PyhonCAD' if you type 'import PytonCAD'. > The fact that the import statement did give no output means > everything was ok. If you really want to see it you could use > the 'dir()' command or you could do 'dir(PythonCAD)' to see which > attributes PythonCAD has. Only after the import though. Sorry > if this wasn't clear in the last email. > > I see that the INSTALL file says it should show up in sys.path > but personally I don't see why. My guess is that that bit of > documentation is out of date. > Indeed it is. I'll adjust the text in this file. Thanks for spotting this. Also, the problem about the 'gc' variable mentioned in this thread is a bug in the code. The variable should have been '_gc'. The fix is to add the underscore on lines 77 and 83. This will be fixed in the next release. -- Art Haas From fb102 at soton.ac.uk Fri Jan 7 01:44:20 2005 From: fb102 at soton.ac.uk (Floris Bruynooghe) Date: Fri Jan 7 16:07:26 2005 Subject: [PythonCAD] install pythoncad from source In-Reply-To: <41DDD483.40104@cibolo.com> References: <41DDAA48.9000101@cibolo.com> <20050106230819.GB2415@balder.anrpg.homeip.net> <41DDD483.40104@cibolo.com> Message-ID: <20050107004420.GA2593@balder.anrpg.homeip.net> Copying this to the list as they will be able to help more here. As said I don't know much about pythoncad or pygtk internals (yet). Definately not as much as I would like to know, but time is sparse... Just to be clear. The installation did succeed. However the text in the INSTALL file gives wrong information about the sys.path and pythoncad being in it (it should not be in it). The following seems to be an actual problem with pythoncad itself... On Thu, Jan 06, 2005 at 06:14:59PM -0600, John Griessen wrote: > > > >Are you in the gtk gui (gtkpycad.py) now? > > yes, and the shell the GUI is started from emits these messages > > > > >>File > >>"/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > >>line 401, in da_general_event > >> handler(gtkimage, widget, event, _tool) > >> File > >> "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", > >> line 77, in select_motion_notify > >> widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > >>NameError: global name 'gc' is not defined > > > > > >If this was from the gtk gui (in which case the install did > >succeed btw) then this might be an actual bug. > > Perhaps. Is the way you select like this? > I start the program from a debian bash shell with gtkpycad.py > then I get a nice GUI and use pull downs to do > draw->basic->rectangles > and once in that mode I make two rectangles. > then I do > edit->select > and drag a box around one of them > no change on screen > then I do file close > to stop the program > and see this voluminous output, (up to select mode, > it was just the first three lines), in the shell window I started the > program from: > > john@toolbench:~/FABprojects/hebert-gate$ gtkpycad.py > model layer: TopLayer > gc: collectable > gc: collectable > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 83, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkimage.py", > line 401, in da_general_event > handler(gtkimage, widget, event, _tool) > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkedit.py", line > 77, in select_motion_notify > widget.window.draw_rectangle(gc, gtk.FALSE, _xmin, _ymin, _rw, _rh) > NameError: global name 'gc' is not defined > Failed to delete object: 0xb70b9cac>global name 'inc' is not defined > Traceback (most recent call last): > File > "/usr/lib/python2.3/site-packages/PythonCAD/Interface/Gtk/gtkmenus.py", > line 411, in edit_cut_cb > globals.selectobj.storeObject(gtkimage, lyr, obj) > File "/usr/lib/python2.3/site-packages/PythonCAD/Generic/selections.py", > line 87, in storeObject > if obj is objlist[_i]: > NameError: global name 'objlist' is not defined > in image::close() > closing layer TopLayer > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > gc: collectable > john@toolbench:~/FABprojects/hebert-gate$ [This is a bit verobse, lots of its seems to be repeated and could be cut I suppose. But sleep is calling me ;-) ] cheers Floris -- Debian GNU/Linux -- The power of freedom www.debian.org | www.gnu.org | www.kernel.org From dgcov at webmail.co.za Sun Jan 9 12:21:07 2005 From: dgcov at webmail.co.za (Dave Coventry) Date: Sun Jan 9 12:51:16 2005 Subject: [PythonCAD] Importing DXF and DWG Message-ID: What is the procedure for importing other file formats into PythonCAD? And for eporting? Many thanks, Dave Coventry _____________________________________________________________________ For super low premiums, click here http://www.dialdirect.co.za/quote From ahaas at airmail.net Sun Jan 9 22:40:47 2005 From: ahaas at airmail.net (Art Haas) Date: Sun Jan 9 22:40:55 2005 Subject: [PythonCAD] Importing DXF and DWG In-Reply-To: References: Message-ID: <1105306847.16702.2.camel@localhost.localdomain> On Sun, 2005-01-09 at 13:21 +0200, Dave Coventry wrote: > What is the procedure for importing other file formats into > PythonCAD? > > And for eporting? Hi. Right now there is no way to do either importing or exporting within the program. Any sort of conversion has to take place outside PythonCAD, either with a command-line based program or a graphical one. This lack of import/export abilities is something that I hope to address as development efforts move along this year. -- Art Haas From ewilhelm at sbcglobal.net Sun Jan 9 23:31:43 2005 From: ewilhelm at sbcglobal.net (Eric Wilhelm) Date: Sun Jan 9 23:29:04 2005 Subject: [PythonCAD] Importing DXF and DWG In-Reply-To: <1105306847.16702.2.camel@localhost.localdomain> References: <1105306847.16702.2.camel@localhost.localdomain> Message-ID: <200501091631.43747.ewilhelm@sbcglobal.net> # The following was supposedly scribed by # Art Haas # on Sunday 09 January 2005 03:40 pm: >Any sort of conversion has to take place outside PythonCAD, >either with a command-line based program or a graphical one. I think the uber-converter programs are to the point where you have some preliminary support for DXF->pythoncad. I had been working on the dxf connector, but have been stalled for a few months because my free time has been far from free lately. http://ericwilhelm.homeip.net/uber-converter/ Chris Somerlot was working on the pythoncad connector, but appears to be similarly stalled. If anyone has perl or python skills and wants to work on this, I would be happy to coordinate with you. --Eric -- "Cleanliness is next to impossible." --Unknown From ahaas at airmail.net Wed Jan 12 18:50:07 2005 From: ahaas at airmail.net (Art Haas) Date: Wed Jan 12 18:51:23 2005 Subject: [PythonCAD] [ANNOUNCE] Twenty-first release of PythonCAD now available Message-ID: <20050112175007.GC22649@artsapartment.org> I'm pleased to announce the twenty-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 twenty-first release of PythonCAD adds the ability to save the visibility and locked status of entities when saving a drawing. This release also includes improved code for handling the undo/redo operations by simplifying various routines as well as making similiar routines in various modules consistent. Like all previous releases, numerous bug fixes and code improvements have been applied. 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 Wed Jan 12 22:42:16 2005 From: ahaas at airmail.net (Art Haas) Date: Wed Jan 12 22:42:23 2005 Subject: [PythonCAD] Plans for next release Message-ID: <20050112214216.GA2536@artsapartment.org> Hi. It's time once again to figure out what to work on in preparation for the next release. Aside from bug fixes, I know I want to look at two areas. First, I need to look at using super() when a subclass calls an overriden or extended method in a superclass. There are no uses of super() in the code right now, and based on some recent reading (as well as a thread or two in the Python development mailing list), I think that the code should be using super() instead of the current means of calling a parent class's method. A little experimentation will be needed to see just what needs to be changed and what sort of fallout happens. The second thing I want to look at is the way that objects get connected to messages, in particular the way the handler method is specified in a connect() call. Currently the handler is specified as 'class.method', but, again after reading a thread on the Python development list, I'm wondering if this should be changed to be 'self.method'. Again, some experimenting will be needed to see what happens if this change is made, and what consequences result from it. I'd also like to start cleaning up some of the PyGTK warnings, so probably the first thing to be addressed is using a ComboBox in place of the deprecated OptionMenu. This appears to be relatively simple to do. Comments 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 ahaas at airmail.net Thu Jan 13 02:04:34 2005 From: ahaas at airmail.net (Art Haas) Date: Thu Jan 13 02:04:41 2005 Subject: [PythonCAD] More info on super() and UnboundMethod changes Message-ID: <20050113010434.GE2536@artsapartment.org> Hi. I'd mentioned in my previous mail regarding changes in the code to make use of super() and the replacement of UnboundMethods in the connect() calls, but I didn't include some of the links to the Python developer mails that made me want to investigate making these changes. The link below started things off where Guido posted a message with the subject "Let's get rid of unbound methods": http://mail.python.org/pipermail/python-dev/2005-January/050625.html This thread went on a good while and then the topic of the super() call came up in a thread begun again by Guido called "super() harmful?": http://mail.python.org/pipermail/python-dev/2005-January/050656.html This subthread then spawned a great deal of mail. For those of you interested, the link below takes you to the main developer's mailing list. This link is also given on the Python website: http://mail.python.org/pipermail/python-dev/ 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 Fri Jan 14 17:13:01 2005 From: ahaas at airmail.net (Art Haas) Date: Fri Jan 14 17:13:08 2005 Subject: [PythonCAD] Code changed to use super() Message-ID: <20050114161301.GN2536@artsapartment.org> Hi. The first batch of changes to using super() when calling parent class methods is now finished, and the code is available on the public repository. I think I've changed nearly all the calls, but there are probably a few that have slipped by. I found and fixed a couple of bugs while making these changes, as well as reworking some of the code in places. Various classes defined in 'tools.py' were modified so the class hierarchy would be clearer, for example. Anyone running PythonCAD under Python-2.4 yet? 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 Fri Jan 14 18:17:03 2005 From: ahaas at airmail.net (Art Haas) Date: Fri Jan 14 18:17:10 2005 Subject: [PythonCAD] Year two development summary now up Message-ID: <20050114171703.GP2536@artsapartment.org> Hi. I've (finally) added the page about how last year went regarding PythonCAD development. It's a short read for those interested. http://www.pythoncad.org/summary2.html The website is acting a bit odd today, so getting to the page may take a few attempts. I'm not sure why this is ... -- 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 Jan 17 16:16:15 2005 From: ahaas at airmail.net (Art Haas) Date: Mon Jan 17 16:16:58 2005 Subject: [PythonCAD] RPM packages for twenty-first release are available Message-ID: <20050117151615.GG23292@artsapartment.org> Hi. D. Scott Barninger has again provided RPM packages for the latest PythonCAD release. This release includes Python-2.3 based packages for Fedora Core 2 and 3, and Python-2.1 packages for RedHat 9, Fedora Core 1, and EL. My thanks to him for making these packages available. 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 ewilhelm at sbcglobal.net Mon Jan 17 16:34:46 2005 From: ewilhelm at sbcglobal.net (Eric Wilhelm) Date: Mon Jan 17 16:31:40 2005 Subject: [PythonCAD] offset for pythoncad In-Reply-To: <20050114171703.GP2536@artsapartment.org> References: <20050114171703.GP2536@artsapartment.org> Message-ID: <200501170934.46791.ewilhelm@sbcglobal.net> # The following was supposedly scribed by # Art Haas # on Friday 14 January 2005 11:17 am: >I've (finally) added the page about how last year went regarding >PythonCAD development. It's a short read for those interested. > >http://www.pythoncad.org/summary2.html Any plans to add an offset command? I've written a recursive subroutine in Perl which does offsets of arbitrary polygons (splitting and joining vertices as needed.) It needs some work (I wrote it when I was a noob) but polygons are the hardest thing to offset. Lines, arcs, and circles are all cake compared to that. --Eric -- "You can't win. You can't break even. You can't quit." --Ginsberg's Restatement of the Three Laws of Thermodynamics From ahaas at airmail.net Mon Jan 17 16:40:50 2005 From: ahaas at airmail.net (Art Haas) Date: Tue Jan 18 14:32:44 2005 Subject: [PythonCAD] offset for pythoncad In-Reply-To: <200501170934.46791.ewilhelm@sbcglobal.net> References: <20050114171703.GP2536@artsapartment.org> <200501170934.46791.ewilhelm@sbcglobal.net> Message-ID: <20050117154050.GA4034@artsapartment.org> On Mon, Jan 17, 2005 at 09:34:46AM -0600, Eric Wilhelm wrote: > # The following was supposedly scribed by > # Art Haas > # on Friday 14 January 2005 11:17 am: > > >I've (finally) added the page about how last year went regarding > >PythonCAD development. It's a short read for those interested. > > > >http://www.pythoncad.org/summary2.html > > Any plans to add an offset command? I've written a recursive > subroutine in Perl which does offsets of arbitrary polygons > (splitting and joining vertices as needed.) It needs some work (I > wrote it when I was a noob) but polygons are the hardest thing to > offset. Lines, arcs, and circles are all cake compared to that. > What do you want an 'offset' command to do? I'm a little vague as to what this is supposed to do ... 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 pachi at mmn-arquitectos.com Tue Jan 18 14:58:47 2005 From: pachi at mmn-arquitectos.com (Rafael Villar Burke) Date: Tue Jan 18 14:58:51 2005 Subject: [PythonCAD] offset for pythoncad In-Reply-To: <20050117154050.GA4034@artsapartment.org> References: <20050114171703.GP2536@artsapartment.org> <200501170934.46791.ewilhelm@sbcglobal.net> <20050117154050.GA4034@artsapartment.org> Message-ID: <41ED1617.4090309@mmn-arquitectos.com> Art Haas wrote: >What do you want an 'offset' command to do? I'm a little vague as to >what this is supposed to do ... > >Art > Offset is used to create a copy of an entity at a certain distance. It's very useful to draw grids, borders with some thickness, walls, etc... For instance, if you have the outer silhuette of a window and you want to create an inner shape that completes the window's frame you could use an offset command and get drawn a new rectangle that's parallel to the first one but some inches towards its inner side. So, the data needed to offset a shape is a distance and a side (giving a point) or just a point to pass through. Both methods are useful, as you sometimes want to keep a distance while others you don't mind but want to pass through some special point. Regards and thanks for your hard work on PythonCAD, Rafael Villar Burke From ahaas at airmail.net Tue Jan 18 15:34:34 2005 From: ahaas at airmail.net (Art Haas) Date: Tue Jan 18 15:34:41 2005 Subject: [PythonCAD] offset for pythoncad In-Reply-To: <41ED1617.4090309@mmn-arquitectos.com> References: <20050114171703.GP2536@artsapartment.org> <200501170934.46791.ewilhelm@sbcglobal.net> <20050117154050.GA4034@artsapartment.org> <41ED1617.4090309@mmn-arquitectos.com> Message-ID: <20050118143434.GC29556@artsapartment.org> On Tue, Jan 18, 2005 at 02:58:47PM +0100, Rafael Villar Burke wrote: > Art Haas wrote: > > >What do you want an 'offset' command to do? I'm a little vague as to > >what this is supposed to do ... > > > >Art > > > Offset is used to create a copy of an entity at a certain distance. It's > very useful to draw grids, borders with some thickness, walls, etc... > > For instance, if you have the outer silhuette of a window and you want > to create an inner shape that completes the window's frame you could use > an offset command and get drawn a new rectangle that's parallel to the > first one but some inches towards its inner side. > > So, the data needed to offset a shape is a distance and a side (giving a > point) or just a point to pass through. Both methods are useful, as you > sometimes want to keep a distance while others you don't mind but want > to pass through some special point. That sounds like a useful feature. PythonCAD currently can create construction lines that are parallel and offset from a given construction line, so adding some offset/copy feature would complement the current ability nicely. > Regards and thanks for your hard work on PythonCAD, Thanks. 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 Jan 18 18:45:50 2005 From: ahaas at airmail.net (Art Haas) Date: Tue Jan 18 18:45:57 2005 Subject: [PythonCAD] Latest changes in repo Message-ID: <20050118174550.GB2596@artsapartment.org> Hi. The latest batch of changes in the repository deal with removing the usage of unbound method calls. These were used in the messaging system for the connect() method. Previously, connect() was called with three arguments: connect("message", obj, class.method) Argument 'message' was a text string, and 'obj' was an object that would execute the 'class.method' method. Now, connect() is called with only two arguments: connect("message", bound_method) This change required reworking the internal bits of the Messenger class, but the other methods are still the same. In addition to simplifying the code, the use of a bound class method is, I feel, more "pythonic". Incidentally, calling connect() with two arguments is similar to how the GTK signal system invokes a similarly named function. I've got a few more number of changes I want to make before the next release, so there may be a release at the end of the month. One of the goals for this year is to make more frequent releases. A bi-weekly release would not be common, but at least one a month sounds good right now. The work on planned interface changes will start shortly, and the recent changes of using super() and the connect() change above are good internal improvements. 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 Jan 20 23:39:16 2005 From: ahaas at airmail.net (Art Haas) Date: Thu Jan 20 23:39:26 2005 Subject: [PythonCAD] Latest changes available at the public repo Message-ID: <20050120223916.GJ32136@artsapartment.org> Hi. There have been numerous changes made over the last couple of days, though mostly they are changes consolidating common bits of code into functions and then calling the function. The 'util' module now has two new routines: get_float(): ensure a float value is stored in a variable test_boolean(): validate a boolean variable These two routines are just convenient functions that reduce the total lines of code by providing commonly used code tests in one place. I've also started fiddling around with the Interface code by using the gtk.ComboBox widget in place of the gtk.OptionMenu widget. If you are running a version of PyGTK of 2.4 or later the code will use the ComboBox, but code running under earlier PyGTK releases will still use the OptionMenu. I'm running PyGTK 2.4.1 from Debian unstable, so on my machine I used to see lots of DeprecationWarnings when an dialog with OptionMenu widgets appeared. I'm happy to say I don't see them anymore, but there may be one or two still lurking around, and if so then they'll be fixed shortly. I'm going to look at using the new ColorButton widget inplace of the currently used Button/DrawingArea approach. A few bugs have been fixed as well, as they were found during the changes made over the last couple of days. 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 Fri Jan 21 23:41:15 2005 From: ahaas at airmail.net (Art Haas) Date: Fri Jan 21 23:41:22 2005 Subject: [PythonCAD] Small update at the repository Message-ID: <20050121224115.GJ5029@artsapartment.org> Hi. A small set of changes has been added. People using PyGTK 2.4 and newer will now have the gtk.ColorButton widget utilized to select colors in the preference dialog, and a couple of other small changes have been made. If you are using an older PyGTK and have a problem when the preference dialog is used, let me know and I'll fix it ASAP. The current svn code now utilizes both the gtk.ComboBox and gtk.ColorWidget widgets if they are available, and making the changes to utilize these widgets has been fairly straightforward. Hopefully more interface improvements can be made as easily as these have been done. 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 Jan 26 20:15:27 2005 From: ahaas at airmail.net (Art Haas) Date: Wed Jan 26 20:23:00 2005 Subject: [PythonCAD] [ANNOUNCE] Twenty-second release of PythonCAD now available Message-ID: <20050126191527.GA19380@artsapartment.org> I'm pleased to announce the twenty-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 twenty-second release contains primarily internal code enhancements in regards to the Python language. PythonCAD running under PyGTK releases after the 2.4.0 release will now utilize the gtk.ComboBox and the gtk.ColorButton widgets, while PythonCAD running under older releases will still utilize the same widgets as before. This change removes the DeprecatationWarning users with the newer PyGTK release would see. A problem where restoring a deleted TextBlock entity was fixed, and a variety of other fixes and improvements are also included 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