# Object Selection(Pick) and Position Data Input(Locate)

## Pick Operation

Focus the mouse cursor over a target picture object and push the left button of the mouse to select a picture that is requested by a fugen command. Generally speaking, what position of the picture is picked is important and should be recognized since the position indicates the different meaning(e.g. the start, or the end position of the picture, etc).
fugen supports the following functions as a standard of a pick operation.

### Pick operation 1 - Single Pick

Focus the cursor over a target picture and push the left button to selct a single one. When multiple pictures are detected inside the cursor area, the following dialogue is displayed to designate which one of the objects is to pick. The dialogue below prompts to select one of the highlighted LBRep(B-Spline curve) or the black straight line. Both curves are inside the cursor scope and one of them is necessary to select. Select the curve kind in the dialogue by the cursor or arrow KB keys. The selected object is highlighted in color yellow.

### Pick operation 2 - Multiple Pick

(1) Rectangle Area selection 1. With the left mouse button down, move the cursor from left-upper to right-bottom position to select all the pictures whose whole parts are inside the rectangle. In this case, the rectangle is displayed in solid lines.

(2) Rectangle Area selction 2. With the left mouse button down, move the cursor from right-bottom to left-upper position to select all the pictures whose fragments are inside the rectangle. In this case, the rectangle is displayed in dashed lines.

### Pick Operation 3 - Additional Selection

To the already selected pictures, additional selection is possible by the pick operation with the control or shift key down. The both keys have the same effect. (1) Pick unselected objects with ctrl, or shift key. The selcted ones are added to the selected objects. (2) Pick selected objects with ctrl, or shift key. The selected ones are turned into unselected ones.

### Pick Operation 4 - Command's special pick

Some commands enable special pick operations. Refer to the each command help about the detail. The special pick operations are: (1) The above rectangle pick operations may be prohibitted. Only single pick is possible. (2) The change of selected and unselected is prohibitted. (3) Picture kind of selection is limitted(to curves only, to surfaces only, etc). (4) Only the boundaries selection is allowed.

## Positional Data Input(Locate)

Positionla data(3D space coordinates) is input through (1) cursor, or (2) KB. We call this coordinates value input as Locate. When multiple points are input, the following common input process is provided: (1) Input data termination: Inputting Enter key from the KB means the end of the input. (2) Cancel of the last point data input: KB Backspace key means cancel of only the last input point. (3) Cancel of the whole input data: Escape key cancel the current command and cancel the whole input data.

### 1. Locate by Cursor

When the command requests point data input(e.g., point coordinate data input to make a picture), the cursor is changed into the special point data input cursor(the cross cursor of the top left window below) to indicate the locate operation is requested. The snapshot of the screen below is the one of locate operation to input a through point to make a spline curve. The window is divided into 4 views, which are top, left , right, and perspective one. The same position in 3D space is projected onto the 4 divided views.

The center small rectangle cursor of the corss is position data "fugen" detected. The snap function that is explained later restricts the input position onto somewhat different place from the current cursor position. In the screen shot above, the mouse cursor is placed in (X,Y) view. The same point data is projected onto the other 3 views. The coordinate values "fugen" detected are displayed in Coordinate Value Display Area below the views. The values are of the position data of the cursor that is projected onto the CPlane(Construction Plane).

### 2. Locate by KB(Locate operation by the function key F8)

When the locate operation is requested, that is, the cursor is displayed as the cross cursor, press F8 key to input positional data from the KB. When the F8 is pressed the following dialogue box is displayed.

(1) Previous Point:The last input positional data is displayed. When the input is the 1st one, nothing is displayed here. (2) World Absolute Coordinate/World Relative Coordinate:To input world coordinate system values, mark one of these marks. Input the x,y,z coordinates by comma separated values in the edit box of the input dialogue like 1,2,3. To input the relative values from the previous input position, mark world relative coordinates. In this relative mode, the input values are added to the previous data. (3) Distance Limit/Angle Limit(degree) With Distance Limit marked, numbers like 50 is input and press OK button, then the mouse cursor movement is limitted to positions whose diatance is 50 from the previous input position. About the angle limit(degree), the situation is the same regarding to the angle. CPlane Absolute Coordinates are similar to abolute world coorndinate system. The difference is that CPlane's coordinate values are the ones of CPlane's. CPlane's Relative Coordinates are similar to relative world coordinate system. The difference is that CPlane's coordinate values are the ones of CPlane's. CPlane's Polar Coordinates(degree) are the ones on a CPlane. The polar coordinate system (l,theta) on the CPlane can be transfered to normal coordinates Q as: Q=P+l*cos(theta)*uderiv+l*sin(theta)*vderiv. Here, P is the origin of the CPlane, uderiv is the u-direction unit vector, and vderiv is the v-direction unit vector.

### Special Locate by Tab or Ctrl key

Special Locate whose point on a straight line is possible by Pushing Tab or Ctrl key. (1) A point on a virtual straight line on a CPlane by Tab key(Tab-key Snap mode). Special Locate by Tab key(Tab-key Snap mode) is effective from the 2nd point of more than 2 consecutive points input. After 1st point is located, move the cursor on some point on the CPlane and push the Tab key. System constructs a virtual straight line whose start point is the 1st point and end point is the point of Tab key pushed. Then the new point locate is limitted to a point on the virtual straight line. When Tab key is pushed while this Tab-key snap mode is on, the mode is released to locate in the normal input. (2) A point on a virtual straight line that is normal to a CPlane by Ctrl key(Elevation mode). Special locate by Ctrl key(Elevation mode) snaps the point input to the points on a straight line that is normal to CPlane. With pushing Ctrl key, locate a point on a CPlane. System constructs a virtual straight line whose start point is the located point on the CPlane and is normal to the CPlane. The Elevation mode snaps input points on the virtual straight line. When Ctrl key is pushed while this Elevation snap mode is on, the mode is released to locate in the normal input.

### CPlane Command

Locate Operation is done through the points on a construction plane(CPlane) that is the projection of the cursor onto the CPlane. By changing the CPlane, various points are able to input. Below is how CPlane is changed.

(1) Center Translate the CPlane's origin to the designated point. The located point is the new origin of the CPlane.

(2) Elevate Translation of the Cplane's orign is the same as Center. However Elevate moves the origin along the normal straight line from the original CPlane' origin.

(3) Rotate Rotate the CPlane, given rotation axis and angle. Operation Procedures 1. Specify the center of the new CPlane(which is also rotation origin). 2. Specify the end of the rotation axis(In the example, a point on the X-axis). 3. Specify the direction of the base line to designate the rotation angle(In the example, upper auxiliary line). 4. Decide the angle(In the example, the cursor).

(4) 3 Points Specify the origin, X-axis and Y-axis direction. Operation Procedures 1. Specify the origin coordinates of the new CPlane. 2. Specify the X-axis direction of the new CPlane. 3. Specify the Y-axis direction(the direction of the normal is one of the two from the curent CPlane normal). (5) Object The new CPlane is so constructed that the center of the object is the origin of the CPlane, and 1) When the object is a face(or surface), the u-parameter line direction at the center is X-axis, and the the normal to X-axis along the v-parameter line is Y-axis.

2)When the object is a curve, the direction at the center is X-axis and the binormal at the center is Y-axis,

(6) Default CPlane is set to the default one, which is defined by the bounding box of the whole objects. (7) Vertical to CPlane Change the CPlane so that the new CPlane's Y-axis is the normal at the origin of the old CPlane.

Operation Procedures 1. Specify the origin of the new CPlane. 2. SPecify the new X-axis of the new CPlane. (8) Perpendicular to Curve Specify a point on a curve. The point will be the origin of the new CPlane and the direction at the point is the normal of the new CPlane. The principal normal at the point is X-axis and the binormal is Y-axis.

Operation Procedures 1. Select a curve. 2. Specify a point on the selected curve. (9) X-Axis Specify the origin and X-axis of the new CPlane.

Operation Procedures 1. Specify the origin of the new CPlane. 2. Specify X-Axis direction of the new CPlane. (10) Z Axis Specify the origin and the normal of the new CPlane.

Operation Procedures 1. Specify the origin of the new CPlane. 2. Specify the normal of the new CPlane. (11) World Top Set the CPlane to (X,Y) plane of the world coordinate system. (12) World Right Set the CPlane to (Y,Z) plane of the world coordinate system. (13) World Front Set the CPlane to (Z,X) plane of the world coordinate system.

### Snap function at Locate process

Some commands request some snap restrictions at Locate operations. The snapped points are employed when the restrictions are met. These points are called object snap. Currently the following object snap functions are provided: Lattice Point: Snapped to lattice points of the current CPlane. Although a kind information is displayed at the cursor in the other snaps, no information is shown only at the lattice point snap. End Point: Start or terminate point of a curve. "END" is displayed at the cursor. Neighbor Point: Neighbor point on a object. "NEAR" is displayed.

Lattice Point | End Point | Neighbor Point

Center Point: A Center of an object. "CENTER" is displayed.

Center:Case of Curves
Center: Case of face

Knot: NURBS has so called knot points. Knot snaps to the knot points. "KNOT" is displayed.

Case of Knot