Current Help System: Tutor Translator (View Core Help)

### Middle Relation Commands

Tutor allows the following middle relation commands:

- Point-Point. The results is a Point by Rel feature

- Line-Line. The result is a Line by Rel feature.

- Plane-Plane. The result is a Plane by Rel feature.

- Point-Line. The result is Point by Rel feature.

- Point-Plane. The result is Point by Rel feature.

- Plane-Line. The result is a Line by Rel feature.

Where:

- Point means Class Point features : Point, Circle and Sphere.

- Line means Class Line feature: Line, Cylinder and Cone.

Tutor Middle commands do not have the resulting feature types. During translation the type of the features involved in the computation may be unknown.
A PC-DMIS middle command is a feature construction command with a specific option. This means that at translation time the resulting feature type must be known. A Basic script Function checks the PC-DMIS features type and builds the appropriate Middle command. If PC-DMIS features type cannot be retrieved the operator is asked for the correct one. The MakeMiddleCmd function is inserted in the Basic script and called every time a Middle command is translated.

If the two elements don’t intersect the intersection results are not computed and PC-DMIS displays an error message.

MIDDLE(MEMORY[120],MEMORY[100],MEMORY[101]) translates to è

If the elements are two class Point features:

MID1_PNT1 =FEAT/POINT,RECT

THEO/<10,10,20>,<0,0,1>
ACTL/<10,10,20>,<0,0,1>
CONSTR/POINT,MID,E.MEMORY[100].ID,E.MEMORY[101].ID

ASSIGN/E.WM1 = TUTORELEMENT ("MID1_PNT1")
ASSIGN/E.WM1.TYPE = 116
ASSIGN/E.MEMORY[120] = E.WM1

If the elements are two class Line features:

MID1_LIN1 =FEAT/LINE,RECT,UNBND

THEO/<10,10,20>,<0,0,1>
ACTL/<10,10,20>,<0,0,1>
CONSTR/LINE,MID,E.MEMORY[100].ID,E.MEMORY[101].ID,0

ASSIGN/E.WM2 = E.WM1
ASSIGN/E.WM1 = TUTORELEMENT ("MID1_LIN1")
ASSIGN/E.WM1.TYPE = 118
ASSIGN/E.MEMORY[120] = E.WM1

If the elements are two Plane features:

MID1_PLN1 =FEAT/LINE,RECT,UNBND

THEO/<10,0,10>,<0,0,1>
ACTL/<10,0,10>,<0,0,1>
CONSTR/LINE,MID,E.MEMORY[100].ID,E.MEMORY[101].ID,0

ASSIGN/E.WM2 = E.WM1
ASSIGN/E.WM1 = TUTORELEMENT ("MID1_PLN1")
ASSIGN/E.WM1.TYPE = 119
ASSIGN/E.MEMORY[120] = E.WM1

If the elements are class Point and class Line features:

MID1_PNT1 =FEAT/POINT,RECT

THEO/<10,10,20>,<0,0,1>
ACTL/<10,10,20>,<0,0,1>
CONSTR/POINT,MID,E.MEMORY[100].ID,E.MEMORY[101].ID

ASSIGN/E.WM1 = TUTORELEMENT ("MID1_PNT1")
ASSIGN/E.WM1.TYPE = 116
ASSIGN/E.MEMORY[120] = E.WM1

If the elements are class Point and class Plane features:

MID1_PNT1 =FEAT/POINT,RECT

THEO/<10,10,20>,<0,0,1>
ACTL/<10,10,20>,<0,0,1>
CONSTR/POINT,MID,E.MEMORY[100].ID,E.MEMORY[101].ID

ASSIGN/E.WM1 = TUTORELEMENT ("MID1_PNT1")
ASSIGN/E.WM1.TYPE = 116
ASSIGN/E.MEMORY[120] = E.WM1

If the elements are class Plane and class Line features:

MID1_LIN1 =FEAT/LINE,RECT,UNBND

THEO/<10,10,10>,<0.7071068,0.7071068,0>
ACTL/<10,10,10>,<0.7071068,0.7071068,0>
CONSTR/LINE,PROJ, E.MEMORY[100].ID, E.MEMORY[101].ID,28.2843

MID1_LIN2 =FEAT/LINE,RECT,UNBND

THEO/<10,10,30>,<0,0,1>
ACTL/<10,10,30>,<0,0,1>
CONSTR/LINE,MID, E.MEMORY[100].ID,MID8_LIN1,28.2843

ASSIGN/E.WM2 = E.WM1
ASSIGN/E.WM1 = TUTORELEMENT("MID8_LIN2")