Trigonometric Relations

Only read this chapter when you have trained the **Calculated values** chapter with many examples.

You can use several trigonometric functions when you define calculated values.

For instance, if you want the length of the hypotenuse to be calculated from the opposite segment and the angle, then you can use AN_OP_HI(). So if for instance the opposite length is [1:3L] and the angle is [1:1A], then you must type the following expression in the **calculated field** of the hypotenuse length:

AN_OP_HI( [1:1A] , [1:3L] )

If you want the angle to be calculated from the hypotenuse and the contiguous segment, then you can use HI_CO_AN(). So if for instance the hypotenuse length is [1:2L] and the contiguous length is [1:3L], then you must type the following expression in the **calculated field** of the angle:

HI_CO_AN( [1:2L] , [1:3L] )

Here are the trigonometric functions available:

HI_OP_AN( HI , OP ) = AN

HI_CO_AN( HI , CO ) = AN

CO_OP_AN( CO, OP ) = AN

AN_OP_HI( AN , OP ) = HI

AN_CO_HI( AN , CO ) = HI

CO_OP_HI( CO , OP ) = HI

HI_CO_OP( HI , CO ) = OP

HI_AN_OP( HI , AN ) = OP

AN_CO_OP( AN , CO ) = OP

HI_OP_CO( HI , OP ) = CO

HI_AN_CO( HI , AN ) = CO

AN_OP_CO( AN , OP ) = CO

Please, be careful to type the parameters in the right sequence. For instance, if you want to calculate the contiguous segment from opposite segment and angle, you can't use OP_AN_CO because this function doesn't exist. You must choose one from the list above: AN_OP_CO, so the first parameter must be the angle and the second the opposite segment.

To study this chapter you should first have a look at the models with trigonometric relations which are already created, and once you have seen many of them try creating your own models. With each already created model you want to examine, follow these steps:

- Test the model by using it when you are entering an order. Watch how it works, write down which value(s) are calculated by trigonometric relations.
- Choose
**General->Models->Add / Change / Delete**. - Type the model code and press
**OK**. - Press the space bar until "VALUE" is included in the window caption.
- Select the calculated value. You know how to do that from chapter
**Members and values**. - Choose
**Drawing->Object properties**or press Enter. You see a window with the properties of the value. - You will find in this window that in all the already created models
**NoEdit**has been chosen for calculated values, for simplicity reasons. - Watch the expression in
**Calculated field**. Here you can see what function is used and what symbols are its parameters. If you don't know what values correspond to those symbols, write the expression down. Once you press Cancel you can know the symbol of each value by selecting it with the mouse while you are in the VALUE setting. - Press
**Cancel**. - Choose
**File->Exit.** - Answer
**No**to the question: ¿ Do you want to save the information ? - Answer
**No**again.

Here are some models with trigonometric relations you can examine:

102, 103, 104, 111, 141, 161, 181, 190, 210, 310, 320, 330, 510, 520, 530, 540, 560, 570.

EDIT AND NOEDIT

The advantages and disadvantages of choosing **Edit** or **NoEdit** have been explained in the **Calculated values** chapter. In most cases you should choose **NoEdit** with trigonometric relations in order to make data input as simple as possible. A case in which **Edit **could be useful is that in which you define crossed relations. For instance you define the angle calculated from hypotenuse and opposite segment. You also define the opposite segment calculated from hypotenuse and angle, and define hypotenuse calculated from opposite segment and angle. In all three values you choose **Edit**, so the user who is entering the order has the choice of entering the two values he prefers: he can either enter hypotenuse and angle, opposite segment and angle or hypotenuse and opposite segment. In any case the third value is calculated by the program. Although it is theoretically possible to define such a model, it is much less confusing to define three models, each of them with only one calculated value with **NoEdit**. The user who is entering the order will choose the model code depending on which two values he prefers to enter. It is not much extra work to create three models because of the copy function.