Перемудрил, хоть и верный ответ получил в итоге
Смотри на простом примере. Пусть семейство повернуто на 30 градусов в плоскости X0Y, т.е. familyInstanceTransform.BasisX / familyInstanceTransform.BasisY также повернут на 30 градусов, дальше ты просишь:
familyInstanceTransform.OfVector(familyInstanceTransform.BasisX)
Здесь familyInstanceTransform.BasisX - вектор в локальной системе координат ты просишь перевести в глобальную, т.е. к повороту вектора (30 градусов) добавляется поворот системы координат familyInstanceTransform так же 30 градусов, т.е. в глобальной системе координат это будет вектор, повернутый на 60 градусов.
Теперь на шаг назад. Ты вычисляешь угол поворота между векторами 30 градусов (familyInstanceTransform.BasisX) и 60 градусов, закономерно получая поворот на 30 градусов :-)
В общем, для плоскости X0Y всё намного проще:
XYZ.BasisX.AngleOnPlaneTo(familyInstanceTransform.BasisX, XYZ.BasisZ)
Для поворотов в остальных основных плоскостях по аналогии.