Коридор на основе характерной линии

Автор Тема: Коридор на основе характерной линии  (Прочитано 8919 раз)

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

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Попробуй прикреплённое
« Последнее редактирование: 26-11-2019, 12:41:01 от Александр Ривилис »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
и посмотри сколько объектов FeatureLine находятся в разделе Hard Pointers для этого коридора
Подтверждаю, всё верно: базовая характерка - единственная в HardReferences, целевые для конструкций - в SoftReferences.

Оффлайн Алексей ТерноАвтор темы

  • ADN Club
  • ****
  • Сообщений: 381
  • Карма: 33
    • C3D Extensions
  • Skype: alexeyterno
Подтверждаю, всё верно: базовая характерка - единственная в HardReferences, целевые для конструкций - в SoftReferences.
Только я так и не понял, как получить эти HardReferences. Все, что я понял из исходников MGDDBG, это то, что свойства объекта извлекаются с помощью функции c# и в коде нет обращения к конкретным свойствам объекта.

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Алексей Терно,
Ты посмотрел исходник ReferenceFiler.cs и как используется класс ReferenceFiler?

Код - C# [Выбрать]
  1. ReferenceFiler filer = new ReferenceFiler();
  2. dbObj.DwgOut(filer); // dbObj - это твой Corridor
  3. // Вот тут ObjectId для всех Hard Pointers
  4. // среди которых и нужная тебе FeatureLine
  5. filer.m_hardPointerIds;
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Алексей ТерноАвтор темы

  • ADN Club
  • ****
  • Сообщений: 381
  • Карма: 33
    • C3D Extensions
  • Skype: alexeyterno
Ты посмотрел исходник ReferenceFiler.cs и как используется класс ReferenceFiler?
Наконец-то дошли руки до этой задачи ))
Посмотрел. Да - так можно получить id характерной линии, но возникла другая проблема - если в коридоре несколько базовых линий построены по характерным линиям, то непонятно, по какой именно. Я могу получить отдельно все базовые линии и отдельно список характерных линий, но я не вижу способа, как их сопоставить. Получается, что на сегодняшний день эта задача не решаема.

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
если в коридоре несколько базовых линий построены по характерным линиям
У коридора разве может быть несколько базовых линий?
Погуглил. Похоже, что да: https://knowledge.autodesk.com/ru/support/civil-3d/learn-explore/caas/CloudHelp/cloudhelp/2018/RUS/Civil3D-UserGuide/files/GUID-E0958DFA-E2E0-42E9-A2C6-C9B1F3CA059E-htm.html
Тогда не совсем понятно, а как с ними разбираться? Они все одноранговые получаются, или есть какая-то одна основная и остальные - дополнительные?

Оффлайн Алексей ТерноАвтор темы

  • ADN Club
  • ****
  • Сообщений: 381
  • Карма: 33
    • C3D Extensions
  • Skype: alexeyterno
У коридора разве может быть несколько базовых линий?
Сколько угодно )


Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
Да, я уже нагуглил. Дополнил свой ответ выше.

Оффлайн Алексей ТерноАвтор темы

  • ADN Club
  • ****
  • Сообщений: 381
  • Карма: 33
    • C3D Extensions
  • Skype: alexeyterno
Тогда не совсем понятно, а как с ними разбираться? Они все одноранговые получаются, или есть какая-то одна основная и остальные - дополнительные?
Так в том-то и дело, что все они свалены в одну кучу и нормальный доступ есть только к трассе и к профилю. Я думаю, что разработчики просто забыли/забили (нужное подчеркнуть) добавить возможность получать характерку непосредственно из базовой линии.