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

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

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

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

  • ADN Club
  • ****
  • Сообщений: 381
  • Карма: 33
    • C3D Extensions
  • Skype: alexeyterno
А есть ли какая-нибудь возможность получить ID характерной линии, по которой построен коридор? Если он построен по трассе и по профилю, то нужно использовать свойства AlignmentId и ProfileId соответственно. Даже есть метод IsFeatureLineBased() для определения, на основе чего построен коридор. Но я так и не нашел, как получить саму характерную линию.

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

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

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

  • ADN Club
  • ****
  • Сообщений: 381
  • Карма: 33
    • C3D Extensions
  • Skype: alexeyterno
Не это http://docs.autodesk.com/CIV3D/2018/ENU/API_Reference_Guide/html/d0f9da82-9b15-6ec1-b132-0b115cbd3f65.htm ?
К сожалению, нет. Это список характерных линий, построенных внутри коридора по кодам конструкции. К тому же, там нет ID базовой характерной линии:
http://docs.autodesk.com/CIV3D/2018/ENU/API_Reference_Guide/html/c86225fb-073c-7713-1aea-c902de108bf5.htm

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

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
А есть ли какая-нибудь возможность получить ID характерной линии, по которой построен коридор? Если он построен по трассе и по профилю, то нужно использовать свойства AlignmentId и ProfileId соответственно. Даже есть метод IsFeatureLineBased() для определения, на основе чего построен коридор. Но я так и не нашел, как получить саму характерную линию.
Вполне может оказаться, что нет такой возможности. API по коридорам всё ещё довольно сырой. Могу попробовать поковырять такой коридор на предмет сабжа, но мне нужен пример в DWG для этого.

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

  • ADN Club
  • ****
  • Сообщений: 381
  • Карма: 33
    • C3D Extensions
  • Skype: alexeyterno
Вот.
Сдается мне, что ты ничего не найдешь )

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

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
Что касается API - действительно, похоже, что не доделали. В версии 2017 добавили только возможность понять, что коридор построен по характерной линии: https://knowledge.autodesk.com/support/civil-3d/learn-explore/caas/CloudHelp/cloudhelp/2017/ENU/Civil3D-DevGuide/files/GUID-6D41D043-4958-40B7-9C7E-45A6D780955B-htm.html
Но MGDDBG видит характерную линию, которая жёстко связана (hard referenced) с коридором:

Поэтому, можно подсмотреть в MGDDBG как извлекаются такие ссылки и использовать этот механизм. Приложение полностью на .NET, исходники есть.

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Поэтому, можно подсмотреть в MGDDBG как извлекаются такие ссылки и использовать этот механизм. Приложение полностью на .NET, исходники есть.
Единственная проблема - понять какая из характерных линий осевая для данного коридора, если она окажется не одна.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
Я думаю, что это тоже решаемо. Т.к. в этом чертеже нет других характерок, тем более связанных с коридором, то и проверять не на чем.

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

  • ADN Club
  • ****
  • Сообщений: 381
  • Карма: 33
    • C3D Extensions
  • Skype: alexeyterno
Если я правильно понял, как работает команда _LIST, то проблемы никакой нет, так как эта команды выводит информацию по выбранной базовой линии, а это именно то, что надо ) Я приступаю к исследованию этого вопроса и позже напишу, что удалось нарыть.
Спасибо за подсказку!

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Если я правильно понял, как работает команда _LIST, то проблемы никакой нет, так как эта команды выводит информацию по выбранной базовой линии, а это именно то, что надо ) Я приступаю к исследованию этого вопроса и позже напишу, что удалось нарыть.
Спасибо за подсказку!
Честно говоря совершенно не понял какое это имеет отношение к вопросу темы. До сих пор я думал, что тебя интересует как найти по выбранному коридору его базовую характерную линию, а не информацию о выбранной характерной линии...
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • ****
  • Сообщений: 381
  • Карма: 33
    • C3D Extensions
  • Skype: alexeyterno
К сожалению, я так и не нашел, как определяются эти hard referenced. Если я правильно понял, как это работает, то этот вариант не поможет: если эти ссылки показывают все объекты, связанные с базовой линией, то помимо осевой характерной линии, в этом списке будут еще и характерные линии, выбранные в качестве целей, а как определить, какая из этих характерных линий является осевой, я понятия не имею.

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

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

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

  • ADN Club
  • ****
  • Сообщений: 381
  • Карма: 33
    • C3D Extensions
  • Skype: alexeyterno
Был бы пример такого чертежа
Нет ничего проще ))
Вот ссылка на чертеж с коридором, который построен по характерной линии. Еще одна характерная линии указана в качестве цели для правого звена конструкции. На всякий случай добавил третью характерную линию, которая вообще не связана с коридором.

https://1drv.ms/u/s!Apo_BBWFj0zapd1s_22aHCdUXd-Dhg?e=fyWPur

PS. вложение почему-то не прикреплялось.

/* Прикрепил вложение. Александр Ривилис */
« Последнее редактирование: 26-11-2019, 12:40:23 от Александр Ривилис »

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Алексей Терно,
Ну а теперь проделай (при помощи MGDDBG), то что сделал Дмитрий Загорулькин, и посмотри сколько объектов FeatureLine находятся в разделе Hard Pointers для этого коридора:



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

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

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
https://1drv.ms/u/s!Apo_BBWFj0zapd1s_22aHCdUXd-Dhg?e=fyWPur

PS. вложение почему-то не прикреплялось.
У меня ссылка не открывается