From ahaas at airmail.net Tue Jun 3 17:03:14 2003 From: ahaas at airmail.net (Art Haas) Date: Tue Jun 3 17:03:25 2003 Subject: [PythonCAD] [ANNOUNCE] Seventh development release of PythonCAD available Message-ID: <20030603210314.GN663@artsapartment.org> I'd like to announce the seventh development release of PythonCAD, a CAD package for open-source software users. As the name implies, PythonCAD is written entirely in Python. The goal of this project is to create a fully scriptable drafting program that will match and eventually exceed features found in commercial CAD software. PythonCAD is released under the GNU Public License (GPL). PythonCAD requires Python 2.2. The interface is GTK 2.0 based, and uses the PyGTK module for interfacing to GTK. The design of PythonCAD is built around the idea of separating the interface from the back end as much as possible. By doing this, it is hoped that both GNOME and KDE interfaces can be added to PythonCAD through usage of the appropriate Python module. Addition of other interfaces will depend on the availability of a Python module for that particular interface and developer interest and action. The seventh release adds the ability to draw tangent construction circles against one or two other construction objects, and the ability to easily draw a construction line tangent to two construction circles. The drawing of parallel construction lines has been simplified with the addition of a menu choice for doing this task. There are numerous internal code cleanups and revisions, and a large number of changes that moved more code into the interface neutral code directory. These code changes will hopefully make it easier for developers to add new interfaces to PythonCAD. Many bug fixes and code improvements have been added as well. PythonCAD now also has the first iteration of a command interpreter thanks to the work of David Broadwell. Future releases of PythonCAD will build on the work he has contributed to make it easier to use PythonCAD by typing commands in the entry field at the bottom of the screen. Between the sixth and seventh release a mailing list for developing and using PythonCAD has been set up thanks to Barry Warsaw. The mailing list home is found at: http://mail.python.org/mailman/listinfo/pythoncad This page has instructions for joining the mailing list and web archives of the list postings. I'd like to publicly acknowledge and thank the developers and maintainers of PyChecker for the work they've done in developing this most useful tool. PyChecker is an effective tool for identifying errors in Python code, and I've been using it more and more. PyChecker gets a big recommendation from me and so I say thank you to the people who make it available. http://pychecker.sourceforge.net/ 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 Jun 4 10:20:56 2003 From: ahaas at airmail.net (Art Haas) Date: Wed Jun 4 10:21:04 2003 Subject: [PythonCAD] Plans for eighth release Message-ID: <20030604142056.GU663@artsapartment.org> Hi. Now that the seventh release is unleashed, the work begins on what will go into the eighth release. Bug fixes of things found in the seventh and earlier releases will be added if they can be. I want to modify the intersection routines so that instead of returning a list of Point objects a list of tuples is returned. Often the intersection coordinates are desired, and creating a Point object seems unnecessary. If you do need to create a Point, then the result from the intersection calculation can be used. Other things to work on in the upcoming release haven't been thought out yet. Sure there are the big things like hatching and printing - the two biggest shortcomings in the program right now - and there are lots of other things still needing work. I'll send out some mail after I get the intersection code changed and let people know on what I will try to tackle next. It would be nice in the eighth release to allow the resizing of the dimension endpoint arrows/slashes/circles, so I'll try to get that going also. 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 Jun 5 13:30:23 2003 From: ahaas at airmail.net (Art Haas) Date: Thu Jun 5 13:30:28 2003 Subject: [PythonCAD] Intersection calculation changes Message-ID: <20030605173023.GA729@artsapartment.org> Hi. I'm sending up to the repository my changes in calculating intersections of drawing entities. Previously the findIntersections() routine returned a list of points. Now, the new find_intersections() routine (note the name change to make things consistent with outer functions) returns a list of tuples. I've changed the callers of the function, and fixed a couple of hypothetical bugs I found in entity splitting. I believe I've also fixed a problem dealing with the filename and the appending of '.xml.gz'. 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 Jun 6 17:13:55 2003 From: ahaas at airmail.net (Art Haas) Date: Fri Jun 6 17:14:02 2003 Subject: [PythonCAD] Leader arrow sizes and dimension endpoint size updates Message-ID: <20030606211355.GB8619@artsapartment.org> Hi. I've commited some code to the repo that allow you to set the size of the leader arrow or the size of the dimension endpoints. Instead of these values being the default "1.0" units, they can be adjusted by boxes in the two preference dialogs. Edit - Preferences - Miscellaneous - Leader arrow size Dimension - Preferencnes - General - Endpoint size Yes, having two seperate preference dialogs is dumb. Eventually these two dialogs will be combined into a common Preference dialog. I'm leaning to doing a Preference dialog similar to that in Mozilla, where the left side has a TreeView with all sorts of options, and the right side shows the various options for whatever option you have selected in the TreeView. I think this approach will provide a means of presenting lots of different preference options in a managable manner, but I haven't begun coding this improved Preference dialog yet. I've also done a little work regarding the storing of global and image specific options, so if you grab the code there are more things printed out when it runs. Another nice new thing in the repository code is that PythonCAD will now prompt you to check and see if you want to overwrite an existing file. Previously it just wrote to whatever filename you provided via "Save" or "Save As" commands. Now a confirmation dialog box prompts up and asks if you really want to overwrite the file. My quick testing showed this works for me, so give the new code a looksee. 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 Mon Jun 9 19:33:49 2003 From: ahaas at airmail.net (Art Haas) Date: Mon Jun 9 19:33:56 2003 Subject: [PythonCAD] New Polygon Tool in PythonCAD Message-ID: <20030609233349.GA25896@artsapartment.org> Hi. This weekend I thought about adding a specific menu option to draw polygons with all sides the same length. After working on this today I've added this new feature and sent the code to the public repository. There are two new menu choices in the 'Draw' menu, and they give you the options for drawing polygon. The minimum number of sides is 3, and the maximum is unlimited (but the SpinBox won't let you enter a number larger than 3600). Anyone trying to draw a 3600 sided polygon that meets with success I'd be glad to hear from, but I would have to ask why a plain circle wouldn't work? :-) Using the menu choice 'Polygon' you can draw the polygon of your choosing, and the program acts like the polygon is drawn inside a circle, though no circle is really present. The 'Polygon (ext)' menu choice draws the polygon as if it was outside this imaginary circle. The '(ext)' is supposed to represent the exterior of the circle, but I'm open for suggestions for better menu text. Give this new polygon tool a test and see 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 martinp at ono.com Tue Jun 10 21:33:27 2003 From: martinp at ono.com (=?ISO-8859-1?Q?Jose_Antonio_Mart=EDn?=) Date: Tue Jun 10 14:34:59 2003 Subject: [PythonCAD] I would like to help Message-ID: <3EE62477.7090001@ono.com> Hi. My name is Jose Antonio and I'm from Spain. I'm engineer and an experienced user of software like AutoCAD, Inventor and SolidWorks. In the enterprise I'm working I must use these programs but I would like to work in my favorite OS, Linux. So I would like to help in the development of a CAD software. I have some programming experience, with visual basic and php. I have no idea of Python but I could learn. I only want to offer my help in anything you could need. Regards. From ahaas at airmail.net Thu Jun 12 16:38:45 2003 From: ahaas at airmail.net (Art Haas) Date: Thu Jun 12 16:38:51 2003 Subject: [PythonCAD] Upcoming preference changes in PythonCAD Message-ID: <20030612203845.GC24077@artsapartment.org> Hi. I've started reworking the preference handling in PythonCAD. I'm replacing the spin boxes with entry boxes where it is appropriate. I've found that spin boxes are best used for selecting positive integral values only. A Spin box has this function called set_numeric() that tries to ensure that only numerical values can be entered in the box, so at first glance this looks like a great way to keep bad values from being entered. The problem is that the entry box will reject decimal points and negative signs if the set_numeric() method was invoked with the gtk.TRUE value. I also don't like the use of the spin box with floating point values because the setting of the increment when clicking the spinner arrows will often be too large or small for the value being entered in the box. These spin box shortcomings have made me switch to using entry boxes and validating the text entered in these widgets. There appears to be network glitch right now, so I can't send the new code up to the repository right now. Once the network problem is resolved I'll send the code up. Over the next week or two I hope to combine the two preference menu choices into a single preference dialog. At least that is the plan right now. The code I tried to send to the repository only replaces spin boxes with entry boxes, and the two preference menus still are in the program. 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 Sat Jun 21 14:06:59 2003 From: ahaas at airmail.net (Art Haas) Date: Sat Jun 21 14:07:05 2003 Subject: [PythonCAD] Preference changes and planning a release Message-ID: <20030621180659.GB23070@artsapartment.org> Hi. Just a short note to say that I'm trying to get the preference change stuff in the program today. Once I get the code added I'll probably make a release early next week. 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 Sat Jun 21 21:21:54 2003 From: ahaas at airmail.net (Art Haas) Date: Sat Jun 21 21:21:59 2003 Subject: [PythonCAD] New preference stuff checked in Message-ID: <20030622012154.GA20091@artsapartment.org> Hi. The new preference dialog code is checked into the repo and I've pushed the code out to the public repository. The preference menu choice in the 'Dimension' menu is gone, and the preference choice in the 'Edit' menu will bring up the unified preference dialog box. The new dialog box is pattered after Mozilla's preference dialog, but it is not as refined. There are a number of redraw issues that occur with the font selection widgets not redrawing when they are displayed. I don't understand why this happens yet. Still the new preference dialog is a huge improvement over what was previously available. The new dialog lets you set the background color in the drawing area, change the font text color, and set the dimension text colors. These options weren't available previously. I'd like to get some feedback on the layout and wording of the dialog box. I'll definitely be making a release early next week as there are a number of good improvements added since the last release. While integrating this new code I fixed a couple of bugs - one bug would mess up saving files with text due to an erroneous method invocation. An oversight saving the dimension color was also addressed; that is good as now the color of the dimension bars can be adjusted so you would want to save that information. :-) 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 Jun 24 12:50:19 2003 From: ahaas at airmail.net (Art Haas) Date: Tue Jun 24 12:50:24 2003 Subject: [PythonCAD] Eighth release today and plans for ninth release Message-ID: <20030624165019.GB26428@artsapartment.org> It would better said the release will be this evening. There is something odd going on at the website so I can't access it right now, but I can get to the machine where the site is located and put the files in place. So, I've done that and updated the remote repository. I'll send out a formal annoucement about the eighth release once the web site is back online. Until then anyone using Subversion can update their repo and get the release. My plans for the ninth release will at first concentrate on reworking the way the preference and options are handled when running PythonCAD. The way that colors are dealt with is cumbersome, so they'll be looked at first. Linetypes, line styles, and dimension styles will all get a look over too. Beyond that there will hopefully be the usual assortment of bug fixes and code 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 Tue Jun 24 17:38:30 2003 From: ahaas at airmail.net (Art Haas) Date: Tue Jun 24 17:38:55 2003 Subject: [PythonCAD] [ANNOUNCEMENT] Eighth release of PythonCAD now available Message-ID: <20030624213830.GC1529@artsapartment.org> I'd like to announce the eighth development release of PythonCAD, a CAD package for open-source software users. As the name implies, PythonCAD is written entirely in Python. The goal of this project is to create a fully scriptable drafting program that will match and eventually exceed features found in commercial CAD software. PythonCAD is released under the GNU Public License (GPL). PythonCAD requires Python 2.2. The interface is GTK 2.0 based, and uses the PyGTK module for interfacing to GTK. The design of PythonCAD is built around the idea of separating the interface from the back end as much as possible. By doing this, it is hoped that both GNOME and KDE interfaces can be added to PythonCAD through usage of the appropriate Python module. Addition of other interfaces will depend on the availability of a Python module for that particular interface and developer interest and action. The eighth release features improved preference controls. There is now a unified preference dialog box for setting drawing preferences, and more optional settings are now possible. Setting the background color of the drawing window is now available, and many dimension entity settings have been added, such as dimension bar color, dimension endpoint marker size, and dimension text color. The new preference dialog also allows for the setting of leader line arrow sizes and font color. Another new feature in this release is a tool for drawing polygons. The polygons can have any number of sides from three on up. A number of internal code improvements are included in this release as well. The intersection code has been reworked again to return entity intersections as tuples containing float values. This release also has the beginnings of the rework of internal storage and handling of the user preferences and options. This work will continue for the next several releases at least. There are the usual assortment of bug fixes, documentation additions, and code improvements as well. The new preference dialog does have a display bug when showing the font selection widget. I haven't figured out what is wrong, but opted to make the release with the bug present. A simple workaround is to select another option to modify so the font display widget gets removed, then reselect the option with the font display widget. This workaround will usually make the widget display itself properly. The next release should have this bug removed. The mailing list for the development and use of PythonCAD is available. Visit the following page for information about subscribing and viewing the mailing list archive: http://mail.python.org/mailman/listinfo/pythoncad I'd like to again publicly acknowledge and thank the developers and maintainers of PyChecker for the work they've done in developing this most useful tool. PyChecker is an effective tool for identifying errors in Python code, and I've been using it more and more. PyChecker gets a big recommendation from me and so I say thank you to the people who make it available. http://pychecker.sourceforge.net/ 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 michael at themontagnes.com Fri Jun 27 07:46:36 2003 From: michael at themontagnes.com (michael montagne) Date: Fri Jun 27 20:39:55 2003 Subject: [PythonCAD] subversion Message-ID: <20030627134636.GA16018@themontagnes.com> I seem to be having some difficulty with subversion. # svn co http://subversion.pythoncad.org:9000/svn/pythoncad/trunk pythoncad svn: RA layer request failed svn: The path was not part of a repository svn: PROPFIND request failed on '/' svn: PROPFIND of '/': Could not resolve hostname `subversion.pythoncad.org': Host not found (http://subversion.pythoncad.org:9000) -- Michael Montagne michael@themontagnes.com http://www.themontagnes.com From ahaas at airmail.net Fri Jun 27 20:49:51 2003 From: ahaas at airmail.net (Art Haas) Date: Fri Jun 27 20:49:56 2003 Subject: [PythonCAD] Subversion checkouts currently failing Message-ID: <20030628004951.GC10995@artsapartment.org> Hi. I've found out today that checking out the repository seems not be working correctly. I've tried to check out a copy of the public repo and it failed. What is very odd is updates to repositories that have been checked out seem to work fine, as I have been updating a checked out copy of the public repo for quite some time and there has not been any problem. My guess right now is that the subversion binary on the remote machine needs to be updated to a newer release. That is just a guess though, and I've sent the subversion developers some mail and will see what the response is. I'd like to upgrade the subversion binary on the remote machine regardless, but the machine is not mine so I can't just go do just that. Possibly people running older subversion binaries won't have a problem checking out the repo, but I'm running the latest release and I suspect anyone else with an up-to-date svn binary will have a problem as well. I'll post a mail to the list once I hear back from the subversion developers or I get the subversion binary updated and succeed in getting 'svn checkout' to work again. Sorry about the inconvenience. Remember 'svn update' still seems to work though, so if you already have the PythonCAD code via subversion you should not have a problem. 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 Sat Jun 28 00:00:43 2003 From: ahaas at airmail.net (Art Haas) Date: Sat Jun 28 00:00:50 2003 Subject: [PythonCAD] PythonCAD subversion checkout info Message-ID: <20030628040043.GA8221@artsapartment.org> Hi. Here's the response from the Subversion mailing list ... ----- Forwarded message from cmpilato@collab.net ----- Pre-1.0, our stated compatibility promise is that a server and client that are no younger than one minor revision apart will work together. So, a 0.24 client will work with a 0.23, 0.24, or 0.25 server. A 0.20 server will work with a 0.19, 0.20, or 0.21 client. Outside that, all bets are off. Once we approach 1.0 though, we won't be expecting everyone to keep up with bleeding edge like this any more. ----- End forwarded message ----- So, the problem is almost certainly due to the version difference between subversion on the remote machine and the version on your local machine. I'm going to see about upgrading the Subversion binary on the remote machine this weekend, but I don't know if the upgrade can be done this weekend, next week, or sometime after that. As there is a problem with using an old subversion binary on the remote machine, that software must be and will be upgraded, and soon. I don't have a timetable just yet. I'd recommend to all subversion users to update their local subversion binary to the latest release, or better yet, the latest revision in the tigris.org svn repo. Subversion 0.25 looks like it will be released very shortly, and the new version promises to have more bug fixes and improvements, so I'll be upgrading my local svn binary to it when the Subversion developers make it available. It is very likely that 0.25 (or later) will be what is on the remote machine before too long. FYI, the Subversion mailing list can be accessed from that projects home page: http://subversion.tigris.org/ 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 Jun 29 20:18:18 2003 From: ahaas at airmail.net (Art Haas) Date: Sun Jun 29 20:18:25 2003 Subject: [PythonCAD] Subversion upgrade seems to be working Message-ID: <20030630001818.GB15820@artsapartment.org> Hi. This afternoon the Apache/Subversion code on the machine hosting the public subversion repository was upgraded to the latest cvs/svn versions, and I'm happy to say that the upgrade seems to be successful. I've successfully checked out a fresh copy of PythonCAD from the public repository ... $ svn checkout http://subversion.pythoncad.org:9000/svn/pythoncad/trunk pycad_checkout A pycad_checkout/Interface A pycad_checkout/Interface/Gtk ... $ cd pycad_checkout $ ls COPYING INSTALL MANIFEST.in README debian prefs.py setup.py Generic Interface NEWS Tests gtkpycad.py pythoncad.xsd www $ The machine is now running Apache 2.0.46+ and Subversion 0.24.2+. If you try and checkout the code you'll most likely need a recent (0.23 or better) svn executable. 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