Необходимо получить список Part Size в Part Family для Part List трубопровода

Автор Тема: Необходимо получить список Part Size в Part Family для Part List трубопровода  (Прочитано 9935 раз)

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

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

  • ADN Club
  • Сообщений: 33
  • Карма: 0
Может кто-нибудь сталкивался с подобной задачей - Как список Part Size в Part Family для Part List трубопровода?
Есть пример http://adndevblog.typepad.com/infrastructure/2013/03/pipe-network-along-water-drop-path.html
в котором Part Size получается как
Код - vb.net [Выбрать]
  1.     Dim partFam As PartFamily = trans.GetObject(idFamily,  OpenMode.ForRead)
  2.     For i As Integer = 0 To partFam.PartSizeCount - 1
  3.     Dim size As PartSize = trans.GetObject(partFam.Item(i),  OpenMode.ForRead)

Мой код на C# для NET.2014 по аналогии с примером
 
Код - C# [Выбрать]
  1.                    Network netwrk = ts.GetObject(NetworkId, OpenMode.ForRead) as Network;
  2.                     ObjectId PartsListId = netwrk.PartsListId;
  3.                     PartsList partlist = ts.GetObject(PartsListId, OpenMode.ForRead) as PartsList;
  4.                    ObjectIdCollection famileIds = partlist.GetPartFamilyIdsByDomain(DomainType.Pipe);
  5.                     foreach (ObjectId id in famileIds)
  6.                     {
  7.                         PartFamily partfamily = ts.GetObject(id, OpenMode.ForRead) as PartFamily;                  
  8.                         for (int s = 0; s < partfamily.PartSizeCount; s++)
  9.                         {
  10.                             PartSize size = ts.GetObject(partfamily.Item(s), OpenMode.ForRead) as PartSize;
  11.                         }                        
  12.                     }

 Error - 'Autodesk.Civil.DatabaseServices.Styles.PartFamily' does not contain a definition for 'Item' and no extension method 'Item' accepting a first argument of type 'Autodesk.Civil.DatabaseServices.Styles.PartFamily' could be found (are you missing a using directive or an assembly reference?)

« Последнее редактирование: 16-01-2014, 17:54:48 от Александр Ривилис »

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Выскажу предположение, что вместо:
Код - C# [Выбрать]
  1. PartSize size = ts.GetObject(partfamily.Item(s), OpenMode.ForRead) as PartSize;
должно быть:
Код - C# [Выбрать]
  1. PartSize size = ts.GetObject(partfamily[s], OpenMode.ForRead) as PartSize;
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • Сообщений: 33
  • Карма: 0

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Не помогает
Лаконичность не всегда помогает.  ;) Какое сообщение выдаёт теперь компилятор?
Судя по документации мое предположение должно быть правильным: http://docs.autodesk.com/CIV3D/2014/ENU/API_Reference_Guide/html/279ca94e-2c11-b2fb-4475-14035e3aa726.htm
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • Сообщений: 33
  • Карма: 0
Александр Наумович, не получается побороть!


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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Андрей. Будь внимательнее!!! Снова посмотри что я тебе написал. Не нужен там метод Item. В C# вместо PartFamily.Item(i) пишется PartFamily[ i ]
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • Сообщений: 33
  • Карма: 0
Что-то я сегодня заработался...
СПАСИБО!