> but I'd like to hear from > people familiar with other CAD packages, particularly AutoCAD, how > similar operations are performed. Does the program require you to select > entities first, or do you start some move command mode and then specify > which entities will be moved?
I can't recall how AutoCAD does it, but it used to be annoyingly inconsistent. My elderly version of IntelliCAD allows both: 1. When idle, a click selects objects. A right-click then pops up the context menu, which has 'move' as a choice. 2. On the other hand, if I select 'move' from the pull-down menus, I get prompted to make a selection, a displacemet etc. Option 1 (the context menu move) has my preference: no need to travel to the top of the screen to pull down a menu, the pointer goes straight to the object to select and stays there. An alternative way - used by gschem - would be to use a combination of a keyboard hotkey (e.g. 'm' to move something) and a mouse click (to select the object). This is really quick. once you get the hang of it. Wilbert. > How about other operations like entity > stretching or splitting? > > Here's some more background on why I'd implemented things as they are. > When I used ME-10 at my job, I was doing finite element analysis, and I > would draw the element meshes in ME-10 instead of using some type of > auto-meshing procedure available in the FEA package we used (Ansys). So, > given some part to analyze, I'd sit and draw segments over the outline > of the shape, sometimes selecting a large number of segments and then > splitting them at their intersection points, other times drawing the > individual elements one at a time. After I had the basic shape complete, > I'd go and move some of the points around to make the elements look more > uniform, as well as making the four-sided elements as square as possible > so the results would be better. ME-10 had a nice interactive mode of > moving points where you would click on the point, and then as you moved > your mouse/digitizer to where you pleased all the segments that used > that point would be redrawn as the point moved. Eventually I'd like > PythonCAD to do this as well. Still, this point movement was performed > by starting the 'move' operation, and then selecting what to move, and > I found this procedure very easy and quick to use. So much so that > generating decent FEA meshes was much, much faster than the attempts to > use Ansys auto-meshing, something that I did try every now and then. > > Many (most?) of ME-10 edit type operations were performed by starting > the operation first, then selecting the entities on which the action > will be applied. Changing entity color, thickness, and linetypes were > all done this way, as was changing the various attributes of complex > entities like hatching and dimensions. It is due to my years of working > with ME-10 in this manner that I'd written PythonCAD to behave in a > similar fashion. > > As for PythonCAD's editing functions other than moving, such as entity > splitting, I know that I want to keep the ability to click on an object > in a drawing and have it split without first having to select it. Also, > splitting numerous entities at intersections by invoking 'split' and > then drawing a box around the desired entities requires fewer mouse > clicks than selecting first and then invoking 'split'. Expanding on > this, in addition to making PythonCAD possibly behave like other CAD > packages in regards to editing, we need to consider making the actions > as simple to perform as possible. By reducing the number of mouse clicks > or commands needed to perform some action we can achieve this, though > potentially at the price of program behavior differing than what is > initially expected. I do want to make things easy for people to transition > to using PythonCAD, but I don't want to be constrained in emulating > tedious behavior in other programs. > > Please feel free to add comments about this, and also send in some > reports about how other CAD packages handle operations like moving, > splitting, mirroring, and changing the attributes of entities in > a drawing. > > Art _______________________________________________ PythonCAD mailing list [email protected] http://mail.python.org/mailman/listinfo/pythoncad
