[PythonCAD] Consistency in operations in PythonCAD

Rafael Villar Burke pachi at mmn-arquitectos.com
Tue Dec 13 18:37:27 CET 2005


Art Haas wrote:

>Hi.
>
>The recent discussion and patches regarding changing move operations to
>require first selecting the entities and then specifying the
>displacement(s) warrants more discussion. For move operations, I think
>that the proposed changes are worthwhile, 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? How about other operations like entity
>stretching or splitting?
>  
>
AutoCAD lets you set an option to allow using noun/verb selection 
(select and later tell what to do) instead of verb/noun selection. I 
personally have that selection set all the time, as all people here in 
the practice, and most architects I know.

This is what the AutoCAD help says about it:
----------------
Noun/Verb Selection

Selects an object before invoking a command. The invoked command affects 
the previously selected object or objects. You can also set this option 
by using the PICKFIRST system variable.
You can use many editing and inquiry commands with noun/verb selection, 
including

ALIGN     DVIEW     PROPERTIES
ARRAY     ERASE     ROTATE
BLOCK     EXPLODE     SCALE
CHANGE     LIST     STRETCH
CHPROP     MIRROR     WBLOCK
COPY     MOVE      
--------------------

I find it very useful when you need to select a big number of elements 
and they are scattered around the drawing or you need to select and 
unselect a lot of them and you won't repeat the operation (you unselect 
some objects by pressing shift and using any of the selection methods).

Noun/verb selection is also useful when you want to left-click later on 
the selection to use a context menu that displays less used commands or 
those that you don't usually remember their accelerators or key 
bindings, such as the display properties panel, filtered selection, xref 
manager...

On the other hand, when I need to use the same command many times, I 
tend to minimize mouse clicks using right click with no selected 
entities, so as to the last command gets repeated and I can thereafter 
choose which entities need to be modified.

Another nice feature is that you can select a group of objects just to 
keep that selection in a "selection buffer", so you first select them, 
later you change layer visibility, zoom factor or any other viewing 
options or actions that don't need entity selection, and after you can 
get back the previous selection when running a command (using p, for 
previous, when you're asked to select some objects). This seems a bit 
convoluted, but you can isolate some layers to have less visible 
entities, select some of them amongst the visible ones, later turn on 
the visibility of all layers and, for instance, move them using two 
origin and destination reference points from a previously invisible layer.

The selection capabilities are not very well thought/exploited in 
AutoCAD vs., for instance, 3DMax, where you can have named selections 
that you are able to redefine easily. Probably the best thing would be 
having an internal list of selected objects and use it to decide, when a 
command is executed, whether noun/verb or normal selection must be used 
depending on the emptiness of that list.

Wise use of named selections would avoid having to create a lot of 
layers merely for drawing convenience.

>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
>  
>
Hope this comments help and keep the great work,

Rafael Villar Burke




More information about the PythonCAD mailing list