Требуемые id "нулевого колодца" можно получить посредством итераций, начиная с NetworkId: NetworkId --> Network --> PartListId --> PartList --> structureFamilyId --> structureFamily --> structureSizeId.
Может подскажите способ побыстрее, так как он один такой неповторимый? Хочется верить, что у "нулевого колодца" особое место в базе...
Или все-таки алгоритм универсальный и единственный?
Название: Re: Альтернативный способ получения partFamilyId и partSizeId для Null Structure?
Отправлено: Дмитрий Загорулькин от 06-06-2014, 11:14:29
Хочется верить, что у "нулевого колодца" особое место в базе...
В Civil 3D NET API Reference нет никакого упоминания Null Structure. Скорее всего, этот способ единственный. Из своего опыта могу сказать, что с этими нулевыми структурами из-за их уникальности больше проблем, чем пользы. Он вроде Null, но имеет форму сферы, которая вылезает везде где надо и не надо - на планах, профилях... маскируя под собой присоединенные трубы независимо от настроек стиля. В какой-то момент мы полностью решили отказаться от их использования, сделали новый пустой элемент "Соединительный элемент" и используем его. К тому же, название "Соединительный элемент" более понятно проектировщикам, чем "Нулевой колодец".
Название: Re: Альтернативный способ получения partFamilyId и partSizeId для Null Structure?
Отправлено: German от 06-06-2014, 11:32:23
Спасибо, Дмитрий! И за идею с отказом от него спасибо, интересно, действительно: так как он прыгает по трубам - похоже на ошибку расчета геометрии; только не хотелось бы плодить количество колодцев-соединителей в зависимости от диаметра(ширины) трубы. Насколько я понимаю, этот "сферический" колодец подбирает свои габариты под бОльшую трубу, да и "пытается" соединить трубы по вертикали (получается своеобразный вертикальный подъем/спуск). Или можно создать свой аналог нулевого колодца с таким же поведением и единственного на все типоразмеры труб?
Название: Re: Альтернативный способ получения partFamilyId и partSizeId для Null Structure?
Отправлено: Дмитрий Загорулькин от 06-06-2014, 11:44:04
Пожалуйста! Очень радует, что начинает появляться интерес к трубопроводному направлению Civil 3D :) Не совсем понял Вас. Вроде как нет надобности делать отдельный "соединитель" для разных диаметров труб - он универсален. Его назначение - просто быть коннектором между трубами в плане в местах вертикальных и горизонтальных поворотов. Была бы возможность соединять трубу с трубой - в нем бы вообще не было необходимости. Других функций типа "подбирать свои габариты" у него не должно быть (и у нулевого колодца таких функций вроде не было). У нас он вообще не имеет никакой собственной геометрии, все настройки отображения - только в стиле, с помощью блоков, слой - непечатаемый. Только для того, чтобы было понятно - есть там соединение или нет его.
Название: Re: Альтернативный способ получения partFamilyId и partSizeId для Null Structure?
Отправлено: German от 06-06-2014, 12:16:24
Почти понятно, кроме как Вы его "пустой" создали в конструкторе. На основе какого элемента и какие назначили обязательные параметры? Можете сколку сделать, если это возможно?
Заранее благодарю, думаю очень пригодится!
PS: по поводу вертикальных участков , конечно нулевой колодец не выход, применяется в данный момент исключительно для визуализации в 3D, а так уже pressureNetwork в скором будущем вытеснят старые сети-подделки напорных.
Название: Re: Альтернативный способ получения partFamilyId и partSizeId для Null Structure?
Отправлено: Дмитрий Загорулькин от 06-06-2014, 13:08:23
Это, конечно, мало к программированию относится... :) Конструктор элементов - Каталог элемента: Колодец - Выбираем главу в каталоге - Жмем "Создать новый параметрический элемент" - Вводим название. Когда откроется редактор, просто нажать "сохранить" и все - колодец без геометрии создан.
По поводу того, что напорка вытеснит безнапорку - это Вы оптимист, особенно "в скором времени" :) В безнапорке еще куча моментов, которые требуют доработки. А напорку и подавно - еще доделывать и доделывать... Но вот уже 2 версии прошло с момента ее релиза, а улучшений в этом направлении практически нет. Получается, что сейчас напорные сети - инструмент красивой визуализации, но для инженерного проектирования практически неприменимы.
Название: Re: Альтернативный способ получения partFamilyId и partSizeId для Null Structure?
Отправлено: Doublefish от 10-06-2014, 12:49:34
А как интересно потом добавить этот пустой соединительный элемент в список если у него нет параметров?
Название: Re: Альтернативный способ получения partFamilyId и partSizeId для Null Structure?
Отправлено: Дмитрий Загорулькин от 10-06-2014, 13:09:00
Параметры у него все равно будут. Создать новый элемент без шаблона вряд ли получится, а даже в самом простом шаблоне "элемент общего назначения" есть параметры Wth, SRS, Fth, SVPC и название элемента. Параметры оставляем равными 0, а название элемента меняем на нужное. Соответственно, раз нет списков или диапазонов значений параметров, то такой элемент в семействе будет один. При добавлении в список проблем с ним нет никаких.