# Vector API

Other languages:
(October 2019) Do not edit this page. The information is incomplete and outdated. For the latest API, see the autogenerated API documentation, or generate the documentation yourself, see Source documentation.

Vectors are used everywhere in FreeCAD.

Example:

```v=FreeCAD.Vector()
print v3.Length
```
Length

Returns: returns the length of the vector.

Description: adds another vector to this one.

Returns: vector

cross(Vector)

Description: the crossproduct between this vector and another.

Returns: vector

distanceToLine(Vector1,Vector2)

Description: the distance between the vector and a line through Vector1 in direction Vector2.

Returns: float

distanceToPoint(Vector)

Description: the distance between this vector and another.

Returns: float

distanceToLineSegment(Vector1,Vector2)

Description: a vector to the closest point on a line segment from Vector1 to Vector2.

Returns: Vector

distanceToPlane(Vector1,Vector2)

Description: the distance between the vector and a plane defined by a point and a normal.

Returns: float

dot(Vector)

Description: the dot product between 2 vectors.

Returns: float

getAngle(Vector)

Description: the angle in radians between this vector and another.

Returns: float

isEqual(Vector2,tolerance)

Description: Checks if the distance between the points represented by this Vector and Vector2 is less than or equal to the given tolerance.

Returns: True/False

isNormal(Vector2,tolerance)

Description: Checks if this Vector is normal to Vector2 within the tolerance.

Returns: True/False

isOnLineSegment(Vector1,Vector2)

Description: Checks if this vector is on the line segment generated by Vector1 and Vector2.

Returns: Vector

isParallel(Vector2,tolerance)

Description: Checks if this Vector is parallel to Vector2 within the tolerance.

Returns: True/False

multiply(Float)

Description: multiplies (uniform scale) a vector by the given factor.

Returns: nothing

negative(Vector)

Description: Returns the negative (opposite) of this vector.

Returns: Vector

normalize( )

Description: normalizes a vector (sets its length to 1.0).

Returns: nothing

projectToLine(Vector1,Vector2)

Description: projects the vector on a line through Vector1 in direction Vector2.

Returns: nothing

projectToPlane(Vector1,Vector2)

Description: projects the vector on a plane defined by a point (Vector1) and a normal (Vector2).

Returns: nothing

scale(Float,Float,Float)

Description: Same as multiply but lets specify different values for x, y and z directions. (non-uniform scale)

Returns: nothing

sub(Vector)

Description: subtracts another vector from this one.

Returns: vector

x

Returns: the x coordinate of a vector.

y

Returns: the y coordinate of a vector.

z

Returns: the z coordinate of a vector.