Let me explain why I wanted to do this... There are many Civil 3D users who have been using the Land Development Desktop application for years. When selecting points to edit, move, rotate, etc. they are used to the following (taken from the LDD help file):
Several point commands display the following prompt, which you can use to create a selection set of points:
Points to Lock (All/Numbers/Group/Selection/Dialog) ? <All>:
Type All to select all the points in the project.
Type Numbers to specify point numbers or names.
Type Group to specify a point group.
Type Selection and then select the points from the drawing. This option only selects points that are visible in the drawing.
Type Dialog to select points by specifying descriptions keys, point groups, elevations, numbers, descriptions, names, and XDRefs.
Specifying Point Numbers
When you use the Numbers option, separate each number with a comma (,), or type a range of points by using a hyphen (for example, type 1-5).
So the command line entry is something they are very accustomed to and I am trying to make their transition to C3D as seamless as possible. I've already been bitten by the inability to use the All option as a keyword in .NET, as that is predefined and cannot be overridden, at least not that I have been able to find. Subsequent editing commands will reuse the last entered option and point list, as seen by this command sequence o rotate points:
Command:
Points to Rotate (All/Numbers/Group/Selection/Dialog) ? <All>: n
Point Numbers <>: 1-5,15-20
Base point for rotation:
Angular units: Degrees/Minutes/Seconds (DD.MMSS)
Rotation angle: 20
Command:
LDD
Points to Rotate (All/Numbers/Group/Selection/Dialog) ? <Numbers>:
Point Numbers <1-5,15-20>: *Cancel*
One small change to this is that if the Number option is selected and the user wants to input Names instead, then they will need to enter N again as a Keyword so I can differentiate between the Number or Name entry. Most of the users I've spoken with do not use the name option so figured that would be the easiest way to implement it.