ADN Club > Civil 3D API

Альтернативный способ получения partFamilyId и partSizeId для Null Structure?

(1/2) > >>

German:
Соединение труб непосредственно друг с другом реализуется посредством:

--- Код - C# [Выбрать] ---public void ConnectToPipe(        ConnectorPositionType sourceType,        ObjectId destinationPipeId,        ConnectorPositionType destinationType,        ObjectId structureFamilyId, // ?        ObjectId structureSizeId, //?        ref ObjectId newStructureId,        bool applyRules,        bool force)
Требуемые id "нулевого колодца" можно получить посредством итераций, начиная с NetworkId:
NetworkId --> Network --> PartListId --> PartList --> structureFamilyId --> structureFamily --> structureSizeId.

Может подскажите способ побыстрее, так как он один такой неповторимый?
Хочется верить, что у "нулевого колодца" особое место в базе...

Или все-таки алгоритм универсальный и единственный?

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

--- Цитата: German от 06-06-2014, 10:58:45 ---Хочется верить, что у "нулевого колодца" особое место в базе...
--- Конец цитаты ---
В Civil 3D NET API Reference нет никакого упоминания Null Structure. Скорее всего, этот способ единственный.
Из своего опыта могу сказать, что с этими нулевыми структурами из-за их уникальности больше проблем, чем пользы. Он вроде Null, но имеет форму сферы, которая вылезает везде где надо и не надо - на планах, профилях... маскируя под собой присоединенные трубы независимо от настроек стиля. В какой-то момент мы полностью решили отказаться от их использования, сделали новый пустой элемент "Соединительный элемент" и используем его. К тому же, название "Соединительный элемент" более понятно проектировщикам, чем "Нулевой колодец".

German:
Спасибо, Дмитрий!
И за идею с отказом от него спасибо, интересно, действительно: так как он прыгает по трубам - похоже на ошибку расчета геометрии;
только не хотелось бы плодить количество колодцев-соединителей в зависимости от диаметра(ширины) трубы.
Насколько я понимаю, этот "сферический" колодец подбирает свои габариты под бОльшую трубу, да и "пытается" соединить трубы по вертикали (получается своеобразный вертикальный подъем/спуск).
Или можно создать свой аналог нулевого колодца с таким же поведением и единственного на все типоразмеры труб?

Дмитрий Загорулькин:
Пожалуйста! Очень радует, что начинает появляться интерес к трубопроводному направлению Civil 3D :)
Не совсем понял Вас. Вроде как нет надобности делать отдельный "соединитель" для разных диаметров труб - он универсален. Его назначение - просто быть коннектором между трубами в плане в местах вертикальных и горизонтальных поворотов. Была бы возможность соединять трубу с трубой - в нем бы вообще не было необходимости. Других функций типа "подбирать свои габариты" у него не должно быть (и у нулевого колодца таких функций вроде не было).
У нас он вообще не имеет никакой собственной геометрии, все настройки отображения - только в стиле, с помощью блоков, слой - непечатаемый. Только для того, чтобы было понятно - есть там соединение или нет его.

German:
Почти понятно, кроме как Вы его "пустой" создали в конструкторе.
На основе какого элемента и какие назначили обязательные параметры?
Можете сколку сделать, если это возможно?

Заранее благодарю, думаю очень пригодится!

PS: по поводу вертикальных участков , конечно нулевой колодец не выход, применяется в данный момент исключительно для визуализации в 3D,
а так уже pressureNetwork в скором будущем вытеснят старые сети-подделки напорных.

Навигация

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

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

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