# VS:EqPt3D

.VectorScript|VectorScript ..VS:Function Reference|Function Reference ..VS:Function_Reference_Appendix|Appendix

## Description

Returns TRUE if the 3D points are equal within the tolerance.

`FUNCTION EqPt3D(         pt1         :VECTOR;         pt2         :VECTOR;         tolerance   :REAL) : BOOLEAN;`
```def vs.EqPt3D(pt1, pt2, tolerance):
return BOOLEAN```

## Parameters

 pt1 VECTOR pt2 VECTOR tolerance REAL

## Remarks

(_c_, 2022.01.22) :

• Python: contrary to most Pascal-derived vectorial routines, it accepts also bidimensional tuples or even a 2/3-dimensional mix
• Python and Pascal: Don't pass 0 to the tolerance, or the routine will always return false.

## Example

#### Vectorscript

```PROCEDURE Example;
VAR
v1, v2 : VECTOR;
BEGIN
v1.x := 12; v1.y := 1; v1.z := 999;
v2.x := 12; v2.y := 1; v2.z := 999.01;

Message(Concat( EqPt3D(v1, v2, 0.1) )); { returns true }
Message(Concat( EqPt3D(v1, v2, 0.01) )); { returns false }
Message(Concat( EqPt3D(v1, v2, 0) )); { always returns false! Don't use tolerance zero }
END;
Run(Example);
```

#### Python

```v1 = (12, 1, 999) # also accepts bidimensional tuples
v2 = (12, 1, 999)
vs.Message( str(vs.EqPt3D(v1, v2, 0.01)) ) # returns true

# example with faulty tolerance
v1 = (12, 1, 999)
v2 = (12, 1, 999)
vs.Message( str(vs.EqPt3D(v1, v2, 0)) ) # always returns false! Don't use tolerance zero
```

## Version

Availability: from Vectorworks 2014