Сообщество программистов Autodesk в СНГ

ADN Club => Revit API => Тема начата: catexis от 09-09-2016, 08:27:27

Название: Создание топографической поверхности
Отправлено: catexis от 09-09-2016, 08:27:27
Доброго времени суток! Вопрос, касаемо создания топоповерхностей через Revit API. Взаимодействовать с данными элементов топографии Revit возможно через два класса - TopographySurface Class и TopographyEditScope Class. Используя методы класса TopographySurface Class можно создавать только точки для поднятия поверхности и при этом нельзя влиять на триангуляцию (создание треугольников) данных точек. Иных способов создания поверхностей, кроме создания точек, через Revit API нет. Корректно ли я понимаю данный раздел API?  :o
Название: Re: Создание топографической поверхности
Отправлено: Виктор Чекалин от 09-09-2016, 09:13:57
catexis, интересный вопрос. Очень редкое использование Revit API. Я поищу информацию по этому поводу. Но по опыту, редко используемые методы API обычно содержат ограниченную функциональность.
при этом нельзя влиять на триангуляцию (создание треугольников) данных точек
Вопрос. А можно ли это делать в интерфейсе? Я не знаком с функциональностью создания топографических поверхностей, но если этого нельзя сделать в интерфейсе, то через API нельзя будет сделать в любом случае.
Название: Re: Создание топографической поверхности
Отправлено: catexis от 09-09-2016, 09:32:09
Вот в этом и стоит задача - влияние на создание треугольников. Через интерфейс есть возможность только импортировать файл точек. Далее поверхность простраивается по внутренним алгоритмам и с вероятностью больше 90% поверхность получается не корректной. Стал вопрос - а можно ли создать поверхность, используя иные элементы (линии, простейшие фигуры). Данных элементов я не нашёл, поэтому решил поинтересоваться тут. Так же не нашёл методов влияния на триангуляцию точек.
Создание треугольников крайне важный элемент формирования топоповерхности - этим занимаются отдельные специалисты по генплану. Вся работа происходит в Civil3D. Далее данную поверхность хотелось бы перенести в нативную поверхность Revit. Даже есть инструменты (и подгружаемые плагины, и скрипты на Dynamo). Но они переносят только точки. Поэтому захотел разобраться - а можно ли вообще как-то повлиять через RevitAPI на данную операцию построения. "Покурил" документацию и вот пришёл советоваться.
Название: Re: Создание топографической поверхности
Отправлено: Владимир П от 09-09-2016, 10:02:33
Через интерфейс есть возможность только импортировать файл точек...
А как же инструмент "Разместить точку". При тычке три раза мышкой автоматически образуется треугольник.
Или я не понял о чем речь?
(https://s13.postimg.org/v5722l0mb/image.png) (https://postimg.org/image/v5722l0mb/)
Название: Re: Создание топографической поверхности
Отправлено: catexis от 09-09-2016, 10:35:24
Три точки = один треугольник. 5000 точек = ? По трём точкам очень легко понять как построится геометрия поверхности, а вот если их четыре и более - предугадать как построятся треугольники невозможно.
Название: Re: Создание топографической поверхности
Отправлено: Владимир П от 09-09-2016, 11:24:45
Три точки = один треугольник. 5000 точек = ? По трём точкам очень легко понять как построится геометрия поверхности, а вот если их четыре и более - предугадать как построятся треугольники невозможно.
Если одновременно работать с 4-мя точкам, то невозможно. А если уже есть поверхность (треугольник) и к нему добавить четвертую точку, то все строится, вроде, предсказуемо...
Название: Re: Создание топографической поверхности
Отправлено: catexis от 12-09-2016, 15:32:52
"Вроде" в данном случае не уместно. Мы работаем в CAD, а значит точность должна быть максимальной. Поэтому необходимо конвертировать именно не точки, а треугольники (либо линии из которых они состоят).
Вот наглядная разница, почему важно знать как строятся треугольники:
(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fs018.radikal.ru%2Fi523%2F1609%2Fdb%2F8bf1df2ce60bt.jpg&hash=92e82338ebb10658f3ae679bf45e306b) (http://radikal.ru/fp/yn4iz5nyqizyq)
В зависимости от того как программа построит треугольники - мы можем получить разные плоскости.
Название: Re: Создание топографической поверхности
Отправлено: Владимир П от 12-09-2016, 17:20:19
В зависимости от того как программа построит треугольники - мы можем получить разные плоскости.
Именно это я и имел ввиду. Про четыре точки - еще раз повторяю все понятно и ясогласен... Но Вы не дочитали дальше...
Название: Re: Создание топографической поверхности
Отправлено: trir от 12-09-2016, 20:27:15
неправильно Revit строит - умничает много
Название: Re: Создание топографической поверхности
Отправлено: Алексей Кулик от 12-09-2016, 23:17:58
Может быть, поможет: http://prosapr.blogspot.ru/2016/08/revit-toposurface.html
Название: Re: Создание топографической поверхности
Отправлено: catexis от 13-09-2016, 11:37:19
Описанный в приведённой статье способ для максимально точного построения поверхности опять же не является 100%-точным (больше разбиений - больше точность; сглаживание углов даёт сильное отклонение; способ не подходит для проектируемых поверхностей). Плюс ко всему прочему модель будет весить достаточно много, что затруднит подгрузку в Revit.