Current Help System: Tutor Translator (View Core Help)

### Distance Relation Commands

Tutor allows the following distance relation commands:

- Point-Point 2D. The result is a Line by Rel feature

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

- Point-Point 3D. The result is a Line by Rel feature

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

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

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

Where:

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

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

For Line-Point 2D, Line-Point 3D, Plane-Point 3D the PC-DMIS point of the resulting line differs from Tutor one. The correct value could be computed subtracting the Start Point coordinates from the Relation Line End Point Coordinates. However the value of Polar angle and polar radius must be recalculated.)

Tutor dist_2d and dist_3d commands do not have the resulting feature type. During translation the type of the features involved in the computation may be unknown.

A PC-DMIS perpendicular line feature construction command with a specific option is used. A Basic script Function checks the PC-DMIS features type and builds the appropriate perpendicular command. If PC-DMIS features type cannot be retrieved the operator is asked for the correct one. The MakeDistanceCmd function isinserted in the Basic script and called every time a Distance command is translated.

DIST_2D (MEMORY[120],MEMORY[100],MEMORY[101]) translates to θ

If the elements are two class Point features:

DIST1_LIN1 =FEAT/LINE,RECT,UNBND

THEO/<10,15,10>,<0,-1,0>
ACTL/<10,15,10>,<0,-1,0>
CONSTR/LINE,BF,2D,E.MEMORY[100].ID,E.MEMORY[101].ID,,

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

If the elements are class Point and class Line features:

COMMENT/DOC

,============================================

, Warning: Rel line’s application point may differ from tutor.

,============================================

DIST1_LIN1 =FEAT/LINE,RECT,UNBND

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

DIST1_PNT1 =FEAT/POINT,RECT

THEO/<10,50,0>,<0,0,1>
ACTL/<10,50,0>,<0,0,1>
CONSTR/POINT,PROJ,E.MEMORY[101].ID,

DIST1_LIN2 =FEAT/LINE,RECT,UNBND

THEO/<30,30,0>,<-0.7071068,0.7071068,0>
ACTL/<30,30,0>,<-0.7071068,0.7071068,0>
CONSTR/LINE,PRTO,DIST1_LIN1,DIST1_PNT1,28.2843

ASSIGN/E.WM2 = E.WM1
ASSIGN/E.WM1 = TUTORELEMENT ("DIST1_LIN2")
ASSIGN/E.WM1.DS = DIST1_LIN2.LENGTH
ASSIGN/E.MEMORY[120] = E.WM1

DIST_3D (MEMORY[120],MEMORY[100],MEMORY[101]) translates to θ

If the elements are two class Point features:

DIST1_LIN1 =FEAT/LINE,RECT,UNBND

THEO/<36.6667,36.6667,36.6667>,<-0.8164966,0.4082483,0.4082483>
ACTL/<36.6667,36.6667,36.6667>,<-0.8164966,0.4082483,0.4082483>
CONSTR/LINE,PRTO,E.MEMORY[100].ID,E.MEMORY[100].ID,32.6599

ASSIGN/E.WM2 = E.WM1
ASSIGN/E.WM1 = TUTORELEMENT ("DIST1_LIN1")
ASSIGN/E.WM1.DS = DIST1_LIN1.LENGTH
ASSIGN/E.MEMORY[120] = E.WM1

If the elements are class Point and class Line features or class Point and class Plane features:

COMMENT/DOC

,============================================

, Warning: Rel line’s application point may differ from tutor. ,========================================

DIST1_LIN1 =FEAT/LINE,RECT,UNBND

THEO/<36.6667,36.6667,36.6667>,<-0.8164966,0.4082483,0.4082483
ACTL/<36.6667,36.6667,36.6667>,<-0.8164966,0.4082483,0.4082483>
CONSTR/LINE,PRTO,E.MEMORY[100].ID,E.MEMORY[100].ID,32.6599

ASSIGN/E.WM2 = E.WM1
ASSIGN/E.WM1 = TUTORELEMENT ("DIST1_LIN1")
ASSIGN/E.WM1.DS = DIST1_LIN1.LENGTH
ASSIGN/E.MEMORY[120] = E.WM1

If the elements are two class LINE features:

DIST1_PNT1 =FEAT/POINT,RECT

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

DIST1_LIN1 =FEAT/LINE,RECT,UNBND

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

ASSIGN/E.WM2 = E.WM1
ASSIGN/E.WM1 = TUTORELEMENT ("DIST1_LIN1")
ASSIGN/E.WM1.DS = DIST1_LIN1.LENGTH * 2
ASSIGN/E.MEMORY[120] = E.WM1