This is a python file containing a couple of useful functions to manipulate freecad vectors. Just paste the following code in a python file, and import that file in your python script in order to use them. This library is included in the Draft Module and can be accessed like this from the python interpreter:

```from draftlibs import fcvec
```

Vectors are the building bricks of almost all 3D geometric operations, so it is useful to know a bit about them to understand how these functions can be useful to you. A couple of good pages to learn the basics of vector math:

``` "Vector math library for FreeCAD"

def sub(first, other):
"sub(Vector,Vector) - subtracts second vector from first one"

def scale(first,scalar):
"scale(Vector,Float) - scales (multiplies) a vector by a factor"

def length(first):
"lengh(Vector) - gives vector length"
return math.sqrt(first.x*first.x + first.y*first.y + first.z*first.z)

def dist(first, other):
"dist(Vector,Vector) - returns the distance between both points/vectors"
return length(sub(first,other))

def normalized(first):
"normalized(Vector) - returns a unit vector"
l=length(first)

def dotproduct(first, other):
"dotproduct(Vector,Vector) - returns the dot product of both vectors"
return (first.x*other.x + first.y*other.y + first.z*other.z)

"crossproduct(Vector,Vector) - returns the cross product of both vectors.
If only one is specified, cross product is made with vertical axis, thus returning its perpendicular in XY plane"
return FreeCAD.Vector(first.y*other.z - first.z*other.y, first.z*other.x - first.x*other.z, first.x*other.y - first.y*other.x)