One feature I would like to see is a modification of the rotate and sweep commands to be able to rotate an object through an arbitrary angle to align with a point. This would eliminate having to determine the desired angle of rotation/sweep before hand and then enter it into the rotate/sweep command dialog.

A significant source of error is having to guess what rotation/sweep angles to use when trying to align the rotation/sweep with existing elements in the drawing. The Dimension Angle function returns an angle rounded off to whatever degree of precision is set in the "Dimension Text" dialog. You can set this to 15, but then all angle dimension are ridiculously large. Then you have to correctly type in up to 19 characters in the rotation/sweep dialog and hope you guess the +/- rotation correctly.

It would be much better if the program calculated the rotation automatically to the highest resolution possible. After all, this is the sort of thing computers are supposed to do. It would work like this:

**Rotate**

1. Select an object.

2. Set a handle at the center of rotation.

3. Select an axis of rotation. *

4. Set a reference point on the object (gravity snap). This marks the original position.

5. Move the cursor to any target point in the drawing and click (point and left click, point and right click gravity snap to an existing point, use any other cursor movement command, etc).

6. The selected object rotates about the axis of rotation so the center of rotation, the reference point and the target point lie in the same plane.

* The existing rotation axis selections in the rotate command should be adequate.

**Sweep**

This would work similar to the rotate function described above, sweeping through the arbitrary angle.

1. Select the object to be swept.

2. Set the center of rotation.

3. Select the axis.

4. Set the number of copies.

5. Set a reference point on the object.

6. Set a target point.

The reference point on the object will be swept through an arbitrary angle about the chosen axis until it lies in the same plane as the center of rotation and target point.

****

For example, imagine that you have a plane that is rotated arbitrarily with respect to the X, Y and Z axes - and you don't know the angles. You want to place an object, such as a cube, flat against the plane. Here is how it would work:

1. Select the cube at a corner, press M to move it, then drag and gravity snap to a point on the plane.

One corner of the cube is on the plane.

2. Now rotate the cube around the corner that is on the plane by selecting another corner (reference point) and gravity snap to another point on the plane (target point).

Two corners of the cube are on the plane.

3. Draw a line between the two corners of the cube that lie in the plane. Use this as the axis of rotation.

4. Rotate the cube again, centered on one of the points in the plane, using the line as the rotation axis. Select another corner of the cube as reference, and snap to a corner of the plane as the target.

Four corners (one side) of the cube lie in the plane with the highest precision possible. No angles have been calculated, mistyped, corrected, rotation corrected, etc. Nothing has been re-sized, scaled, stretched, warped or otherwise distorted. No new working planes have been created. No extra BS.

****

The sweep function could be used to do things like create a curved pipe/railing from an existing pipe/railing end through an arbitrary angle until the end of the curved part was parallel to an arbitrary plane.

1. Create the pipe/railing end cross section surface.

2. Set a handle at the center of rotation with the desired radius for the curve.

3. Make a copy of the arbitrary plane and move it so a point on the plane lies at the center of rotation.

4. Select the pipe/railing end surface.

5. Execute the Sweep command an set the center of rotation.

6. Select the rotation axis.

7. Set the number of copies.

8. Set a reference point on the end surface.

9. Set a target point on the plane.

The end surface will be swept through the arbitrary angle until the reference point on the final copy lies in the same plane as the center of rotation and the target point on the plane.