Название: Re: FamilyInstance Rotation property
Отправлено: Александр Игнатович от 22-09-2020, 16:50:20
Вот эти направления, только, соответственно в координатах проекта будут как раз FacingOrientation (transform.BasisY) и HandOrientation (transform.BasisX)
var familyInstanceTransform = familyInstance.GetTransform();
var objectRotation = familyInstanceTransform.BasisX.AngleOnPlaneTo(familyInstanceTransform.OfVector(familyInstanceTransform.BasisX), familyInstanceTransform.BasisZ);
Название: Re: FamilyInstance Rotation property
Отправлено: Александр Игнатович от 22-09-2020, 18:14:23
Перемудрил, хоть и верный ответ получил в итоге ;D
Смотри на простом примере. Пусть семейство повернуто на 30 градусов в плоскости X0Y, т.е. familyInstanceTransform.BasisX / familyInstanceTransform.BasisY также повернут на 30 градусов, дальше ты просишь:
Здесь familyInstanceTransform.BasisX - вектор в локальной системе координат ты просишь перевести в глобальную, т.е. к повороту вектора (30 градусов) добавляется поворот системы координат familyInstanceTransform так же 30 градусов, т.е. в глобальной системе координат это будет вектор, повернутый на 60 градусов.
Теперь на шаг назад. Ты вычисляешь угол поворота между векторами 30 градусов (familyInstanceTransform.BasisX) и 60 градусов, закономерно получая поворот на 30 градусов :-)