Сообщество программистов Autodesk в СНГ
ADN Club => Revit API => Тема начата: Vladislav от 13-09-2019, 16:28:32
-
Добрый вечер. Возник такой вопрос.
От какой точки отсчитываются координаты элементов модели в Revit API?.
Я имею в виду координаты, получаемые после вызова Face.Triangulate().
Судя по всему, это не та точка, от которой отсчитываются координаты Базовой точки проекта
и Точки съемки.
Благодарю за ответы.
-
Почему Вы так решили?
Вообще говоря, Вы можете получать отличные координаты, если получаете геометрию типоразмера семейства, т.е. GetSymbolGeometry() вместо GetInstanceGeometry()
Если смотрите значения параметров базовой точки, то не забывайте, что координаты считаются в футах (лучше использовать UnitUtils.ConvertFrom... / ConvertTo...)
-
Я работаю над конвертером моделей из Ревит в формат нашего программного продукта.
После того как я получаю меш Ревит-модели (вершины и треугольники) и отображаю его у себя
нулевая точка этого меша не совпадает ни с Базовой точкой проекта, ни с Точкой Съемки, ни с началом координат Ревит-модели.
При этом взаимное расположение всех элементов модели является корректным, всё отображается хорошо.
Геометрию получаю через свойство Geemetry для каждого FamilyInstance. Отсюда я делаю вывод, что у модели есть какой-то свой ноль.
Преобразование футов в миллиметры не забываю.
Может, существует отдельная система координат модели? Со своим нулем?
-
Если я правильно понимаю суть вопроса, то в семейсвах есть закрепленные плоскости, вроде бы начало системы модели определяется относительно этой системы.
Была задача корректно отправить геометрию, но она иногда отправлялась со смешением. Использовал вот такое дополнительное смещение. Попробуйте, возможно поможет...
if (famInstance.Location is LocationPoint location)
{
var inv = famInstance.GetTotalTransform().Inverse;
return inv.OfPoint(location.Point);
}
-
Может, существует отдельная система координат модели? Со своим нулем?
Конечно существует - это внутренняя система координат модели. Её невозможно изменить и все методы возвращают координаты в этой системе координат