Создание кривой по координатам из текстового файла

Автор Тема: Создание кривой по координатам из текстового файла  (Прочитано 31720 раз)

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

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

  • ADN OPEN
  • Сообщений: 30
  • Карма: 0
Александр Ривилис,

Доброе время суток.
Не подскажите кому можно задать вопрос по программе , хотелось бы уточнить пару вопросов у автора.
« Последнее редактирование: 12-04-2015, 14:03:36 от Александр Ривилис »

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

  • ADN OPEN
  • Сообщений: 30
  • Карма: 0
Вопрос такой, ясли я имею декартовые координаты кривых в текстовом фаиле, как мне сгенерировать их в программу как исходные кривые.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Приветствую на форуме!
Я совсем не специалист по Revit, и еще меньше по Revit API. Тем не менее за пару минут поисков в интернете я обнаружил следующую информацию:
В Revit имеется несколько видов кривых, которые создаются следующими методами:
Код - C# [Выбрать]
  1.     Line.CreateBound()
  2.     Line.CreateUnbound()
  3.     Arc.Create()
  4.     Ellipse.Create()
  5.     NurbSpline.Create()
  6.     HermiteSpline.Create()
  7.     Curve.CreateTransformed()
Из всего этого множества видимо подходят только два метода:
1) Line.CreateBound() создаёт отрезок, который задается точкой начала и точкой конца:
http://revitapisearch.com/html/7885bdf9-3007-ea60-af6b-a96ac7672c18.htm
2) NurbSpline.Create() создаёт сплайн, заданный управляющими точками, весами, степенью и т.д.
http://revitapisearch.com/html/8f04fddb-6f75-33a5-de9d-fb41dd79da48.htm
В первом случае тебе придётся создать множество отрезков, во втором случае одну гладкую кривую.
Что именно тебе нужно?

Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • Сообщений: 30
  • Карма: 0
Да, мне нужно создать одну гладкую кривую, но она будет состоять из около 4000 точек. Это же не проблема, если координаты точек у меня в текстовом файле

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Это же не проблема, если координаты точек у меня в текстовом файле
Это вопрос или утверждение? Вообще-то проблемой это быть не должно. Просто их нужно прочитать из файла и поместить их в List<XYZ> (список координат точек).
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Виктор Чекалин

  • Administrator
  • *****
  • Сообщений: 694
  • Карма: 111
  • Skype: chekalin-v
aleksandr73, Александр прав. В Revit API есть методы по созданию кривых. Считываете координаты из файла и по этим координатам создаете нужные вам кривые. Пока проблем и препятснвий никаких не вижу.

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

  • ADN OPEN
  • Сообщений: 30
  • Карма: 0
Виктор, т.е. я должен сгенерировать нужные мне прямыe по координатам x,y, по одному из выше описанных методов, а далее что нужно сделать чтобы именно они использовались при работе программы http://adn-cis.org/generacziya-krivoj-mezhdu-dvumya-drugimi-krivyimi.html как их выбрать из процессов??

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

  • ADN OPEN
  • Сообщений: 30
  • Карма: 0
aleksandr73, Александр прав. В Revit API есть методы по созданию кривых. Считываете координаты из файла и по этим координатам создаете нужные вам кривые. Пока проблем и препятснвий никаких не вижу.
Возможна ли работа генерации кривой между кривыми если их больше двух?

Оффлайн Виктор Чекалин

  • Administrator
  • *****
  • Сообщений: 694
  • Карма: 111
  • Skype: chekalin-v
aleksandr73, в статье показан пример, как можно построить кривую, находящуюся между двумя другими кривыми.
В примере 2 кривые, между которыми строится новыя кривая, выбираются слудующим образом. Если в проекте всего две кривые, то берутся они. Если больше, то пользователь сам выбирает между каким кривыми ему нужно построить новую.
Как вы будете это реализовывать - зависит от вас и от потребностей.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Возможна ли работа генерации кривой между кривыми если их больше двух?
А как вы себе это представляете?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Виктор Чекалин

  • Administrator
  • *****
  • Сообщений: 694
  • Карма: 111
  • Skype: chekalin-v
Возможна ли работа генерации кривой между кривыми если их больше двух?
Будет проще, если вы объясните суть вашей задачи и что вы в итоге получить хотите. Пока ваши вопросы довольно абстрактны и не совсем понятны.
Еще раз повторю, что в статье описывался пример, как можно создать кривую, между двумя другими. Это имеет смсысл. А вот что должно получиться, если сгенерировать кривую между несколькими кривыми - у меня не получается представить.

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

  • ADN OPEN
  • Сообщений: 30
  • Карма: 0
Виктор Чекалин,  а как добавить сами прямые в проект. Суть моей работы заключается в построении траектории движения между опасностями которые задаются кривыми по координатам

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
а как добавить сами прямые в проект.
Так прямые или кривые? И как в текстовом файле ты отличишь одну кривую от другой? Точнее где одна кривая заканчивается и где другая начинается? Как выглядит файл с координатами?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • Сообщений: 30
  • Карма: 0
Виктор Чекалин, должна получиться траектория между кривыми


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

  • ADN OPEN
  • Сообщений: 30
  • Карма: 0
Александр Ривилис,  текстовый документ с точками через которые будет проходить кривая. Вот пример.
№                    X                                   Y   
         1   3921180.44797   2978504.61747   
         2   3921188.96319   2978515.14254   
         3   3921197.33963   2978524.43899   
         4   3921205.57728   2978532.50683