Ну а с использованием RevitAPI удобно, например так:
1) Создать Plane, например, по нормали и origin-у
2) Используя plane.VecX, VecY, normal и Origin собрать Transform
3) найти Transform.Inverse.OfPoint искомой точки, обнулить координату Z - это точка проекции на плоскость, величина Z - расстояние до плоскости, при том со знаком, указывающим, в каком направлении от плоскости находится точка