Floor = Arc + Line

Автор Тема: Floor = Arc + Line  (Прочитано 1856 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ArtАвтор темы

  • ADN OPEN
  • Сообщений: 22
  • Карма: 0
Floor = Arc + Line
« : 14-10-2018, 02:18:20 »
Пытаюсь создать floor через массив Curves. Если все делать с помощью "чертежа" через NewModelCurve, все прекрасно. Но как только стараюсь создать объект floor, мне выдает ошибку, что луп не замыкается.
Ладно, подумал я, и решил тупо создать лишнюю линию между первой точкой первого элемента и первой точкой последнего. Но ревит толерантен, поэтому мне всучил ошибку Revit Tolerance, мол линия слишком мала.
Ладно, подумал я, и стал пробовать заменить последнюю точку на первую. Но если последний arc, то этого у меня сделать не выйдет, я так понимаю. Через Tesselate? Или может у кого есть готовая наработка?

Отмечено как Решение Art 15-10-2018, 23:43:00

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Re: Floor = Arc + Line
« Ответ #1 : 14-10-2018, 07:28:21 »
На самом деле все просто: контур, который вы подаете Ревиту при создании перекрытия, должен не просто замыкаться - он должен быть однонаправленным. Т.е. начало каждой следующей кривой должно быть в конце предыдущей кривой.
Вы можете правильно создавать кривые, а можете просто взять готовый код сортировки кривых у Таммика - Sort and Orient Curves to Form a Contiguous Loop

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Re: Floor = Arc + Line
« Ответ #2 : 14-10-2018, 19:12:05 »
+1 к ответу Александра насчет направленности контура. Кстати, это правило достаточно общее для API Revit-а, практически во всех методах, принимающих контур(ы) оно должно соблюдаться.

Ну, и, если, все равно, не получается, кидайте код сюда, попробуем разобраться.

Оффлайн ArtАвтор темы

  • ADN OPEN
  • Сообщений: 22
  • Карма: 0
Re: Floor = Arc + Line
« Ответ #3 : 14-10-2018, 19:16:16 »
Нет, нет. Все отлично работает! Я не нашел кнопки аля "ответ помог/ответ рабочий".
//А нет, проглядел. Вроде есть.

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Re: Floor = Arc + Line
« Ответ #4 : 14-10-2018, 19:18:28 »
Так решение Александр дал, а не я, его пост отметьте как "решение"

Оффлайн ArtАвтор темы

  • ADN OPEN
  • Сообщений: 22
  • Карма: 0
Re: Floor = Arc + Line
« Ответ #5 : 15-10-2018, 23:44:59 »
Я просто запутался, занервничал и перепутал к какому посту относится кнопка решения :)