Нужно к точке прибавить единичный вектор, умноженный на расстояние
XYZ pt = new XYZ(10.0, 10.0, 10.0);
double distance = 10.0;
pt = pt + XYZ.BasisZ * distance;
В результате точка pt получится (10,10,20)
XYZ.BasisZ - это единичный вектор по оси Z, направленный вверх. Равнозначно new XYZ (0,0,1)