ADN Club > Civil 3D API

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

(1/2) > >>

Andrey:
Может кто-нибудь сталкивался с подобной задачей - Как список Part Size в Part Family для Part List трубопровода?
Есть пример http://adndevblog.typepad.com/infrastructure/2013/03/pipe-network-along-water-drop-path.html
в котором Part Size получается как

--- Код - vb.net [Выбрать] ---    Dim partFam As PartFamily = trans.GetObject(idFamily,  OpenMode.ForRead)    For i As Integer = 0 To partFam.PartSizeCount - 1    Dim size As PartSize = trans.GetObject(partFam.Item(i),  OpenMode.ForRead)
Мой код на C# для NET.2014 по аналогии с примером
 
--- Код - C# [Выбрать] ---                   Network netwrk = ts.GetObject(NetworkId, OpenMode.ForRead) as Network;                    ObjectId PartsListId = netwrk.PartsListId;                    PartsList partlist = ts.GetObject(PartsListId, OpenMode.ForRead) as PartsList;                   ObjectIdCollection famileIds = partlist.GetPartFamilyIdsByDomain(DomainType.Pipe);                    foreach (ObjectId id in famileIds)                    {                        PartFamily partfamily = ts.GetObject(id, OpenMode.ForRead) as PartFamily;                                           for (int s = 0; s < partfamily.PartSizeCount; s++)                        {                            PartSize size = ts.GetObject(partfamily.Item(s), OpenMode.ForRead) as PartSize;                        }                                            }
 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?)

Александр Ривилис:
Выскажу предположение, что вместо:

--- Код - C# [Выбрать] ---PartSize size = ts.GetObject(partfamily.Item(s), OpenMode.ForRead) as PartSize;должно быть:

--- Код - C# [Выбрать] ---PartSize size = ts.GetObject(partfamily[s], OpenMode.ForRead) as PartSize;

Andrey:
Не помогает

Александр Ривилис:

--- Цитата: Andrey от 16-01-2014, 18:04:05 ---Не помогает
--- Конец цитаты ---
Лаконичность не всегда помогает.  ;) Какое сообщение выдаёт теперь компилятор?
Судя по документации мое предположение должно быть правильным: http://docs.autodesk.com/CIV3D/2014/ENU/API_Reference_Guide/html/279ca94e-2c11-b2fb-4475-14035e3aa726.htm

Andrey:
Александр Наумович, не получается побороть!

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии