Hello PythonCADsters -- I downloaded PythonCAD (release 25) a couple of days ago and have been playing with it since then. I have been looking for a good 2D drafting package for a while, and PythonCAD seems to fit the bill! Great work! I have previously checked out QCad, and have rejected it for a couple of reasons. I have also checked out BRL-CAD, but it really isn't suited to producing mechanical drawings.
While playing with it I discovered a couple of user interface things I would like to change -- hopefully for the better! I will be happy to produce and submit patches to Art should he be interested. Here is what I propose: * I would like to implement a "keyboard in left hand, mouse in right hand" style of driving PythonCAD. Once you have experienced this style of driving a CAD program you realize that it makes using the program a real breeze. I frequently use (and develop for) gEDA/gschem (the GPL'ed electronic CAD suite), and one thing which gschem does very well is allow for this two-handed style of driving. I believe strongly that PythonCAD will benefit from this addition. Implementing this style of driving means that all menu items need to have keyboard menomics. Note that the GTK project distinguishes between keyboard "accelerators" and keyboard "menomics". Accelerators are the one key shortcuts like <ctrl>c for copy. Menomics are (often) multi key ways to activate menu items, such as <alt>dbs for the menu item "Draw -> Basic -> segment". They are the underlined letters you see in the menu items. I have already implemented menomics for about 1/2 of the menu items, and I can be done with this work in a few days. I hope you are interested in this patch! Again, I highly recommend this style of driving a complex program! * I would like to add an "escape key" functionality to each action. Currently, there is no way to leave a particular drawing mode and return to an "idle state". That is, when I am finished drawing a two-point line segment, then PythonCAD goes into a mode where it waits for the first point of my next line segmenet. I would prefer if I could hit <escape> and have the program go into an "idle" mode where it wasn't waiting while in a particular tool mode. (That is, the tool.reset() fcn would be called when the user hit <escape>.) I believe this is the more intuitive behavior than the present one. I have started looking at the code, and belive I can make this happen (i.e. mod the code and submit patches) in a few days also. Assuming you agree that this would be a useful change! * Finally, I would like to create a new top-level menu item, something like "settings" which would hold actions like "zoom", "preferences" and so on. Right now, "zoom" is buried underneath "modify", which doesn't make sense to me, since I think that modify should only apply to the object being drawn. Before I just change the menus willy-nilly, I will be happy to post a proposed menu configuration in .pdf format. Just let me know if you are open to this! I propose these changes because I believe they will make PythonCAD better. I do want to gauge how open you are to patches, however, before I finish the work. Any comments? Stuart http://www.brorson.com/StuartsPage.html _______________________________________________ PythonCAD mailing list [email protected] http://mail.python.org/mailman/listinfo/pythoncad
