Получить коллекцию Трасс и профиль

Автор Тема: Получить коллекцию Трасс и профиль  (Прочитано 6275 раз)

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

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

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

  • ADN
  • *
  • Сообщений: 1188
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Подскажите, как получить с помощью CIVIL API:

1) Коллекцию трасс (к примеру сети водопровод)

2) По трассе получить объект профиля и соотв. позицию профиля (X,Y) в модели


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

  • ADN
  • *
  • Сообщений: 1188
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Вроде как трасса это коридор?

Код - C# [Выбрать]
  1.             CorridorCollection coll = ... ;// взять коллекцию
  2.             foreach (CAD_DBS.ObjectId id in coll) {
  3.                 Corridor cor =   ... ;  // взять коридор по id
  4.                 Plane pln = ...;  // Тут что делать не понятно?
  5.                 Autodesk.Aec.Geometry.Profile prof = cor.GetProfile(pln); // Получить профиль
  6.                // Ну и положение чертежа профиля наверное так получить можно?
  7.                 Point2d p1, p2;  
  8.                 prof.Extent(out p1, out p2);
  9.             }

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

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

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

  • ADN
  • *
  • Сообщений: 1188
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Вроде как трасса это коридор?
А мне казалось, что коридор - это коридор...

Я проверил коридор это ни фига не трасса.
Трассу нужно искать где-то в другом месте

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Я проверил коридор это ни фига не трасса.
Трассу нужно искать где-то в другом месте
Ага. Alignment: http://adndevblog.typepad.com/infrastructure/2012/05/list-all-alignment-entities.html
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN
  • *
  • Сообщений: 1188
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Я проверил коридор это ни фига не трасса.
Трассу нужно искать где-то в другом месте
Ага. Alignment

По ходу через коллекцию труб можно получить трассу

Код - C# [Выбрать]
  1.             Document doc = Application.DocumentManager.MdiActiveDocument;
  2.             Database db = doc.Database;
  3.             CivilDocument civ_doc = CivilDocument.GetCivilDocument(db);
  4.             ObjectIdCollection coll = civ_doc.GetPipeNetworkIds(); // Коллекция труб
  5.             Pipe pipe = ... ;  // Получить трубу из коллекции
  6.             ObjectId newtid = pipe.NetworkId; // Получить ИД трассы из элемента трубы
  7.             Network nw = ... ; // взять трассу по newtid


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

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

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

  • ADN
  • *
  • Сообщений: 1188
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Кажется ты написал бред.
Конечно же бред. Все через заднее место написал.
Сначала получить коллекцию труб а потом трассу - это полный бред.
Я так делать не хочу и не буду.
А я хочу сразу получить коллекцию трасс.
Как это сделать?

Должен же в API способ получить коллекцию трасс.

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
А я хочу сразу получить коллекцию трасс.
Как это сделать?
Выше я уже давал ссылку: http://adndevblog.typepad.com/infrastructure/2012/05/list-all-alignment-entities.html
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN
  • *
  • Сообщений: 1188
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
А точно же. Вот я тормоз.

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Получить коллекцию Трасс и профиль
« Ответ #10 : 08-06-2018, 14:32:00 »
            ObjectId newtid = pipe.NetworkId; // Получить ИД трассы из элемента трубы
И в любом случае ты получал не ObjectId трассы, а ObjectId сети.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN
  • *
  • Сообщений: 1188
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Re: Получить коллекцию Трасс и профиль
« Ответ #11 : 08-06-2018, 14:34:06 »
Ага посмотрел.
Вообщем так
В цикле делаю проверку на то что это объект Network и все


Код - vb.net [Выбрать]
  1. Dim alignSubEnt As AlignmentSubEntity = alignEnt(i)
  2.             Select Case alignSubEnt.SubEntityType
  3.               Case AlignmentSubEntityType.Network


Нет это тоже бред



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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Получить коллекцию Трасс и профиль
« Ответ #12 : 08-06-2018, 14:43:27 »
Нет это тоже бред
Безусловно. Причем здесь трубопроводная сеть?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN
  • *
  • Сообщений: 1188
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Re: Получить коллекцию Трасс и профиль
« Ответ #13 : 08-06-2018, 14:46:02 »
Что-то не въехал пока

Зачем мне эти: AlignmentSubEntityType.Line
                       AlignmentSubEntityType.Acr и прочие Spiral

Мне же нужно объект трассы (сети)
Я так понял это Network



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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Получить коллекцию Трасс и профиль
« Ответ #14 : 08-06-2018, 14:48:28 »
Мне же нужно объект трассы (сети)
Я так понял это Network
Трасса - это трасса. Сеть - это сеть. Я перестал что-либо понимать...
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение