Зачем мне бегать по видам профилей, где встречается труба.
Я сразу хочу из объекта трассы получить набор труб с высотами Z.
Повторю ещё раз: объект "Трасса" (Alignment) ничего не знает о таком объекте как "Труба" (Pipe). Вообще. Ей фиолетово - есть трубы в чертеже или нет , проходит труба под ней или не проходит, пересекает её труба или не пересекает. С какого боку к ней не подходи - методами, свойствами и т.п. не вытащить из неё данных о трубах. Почему? Да потому что она о них не знает! Это всё равно что нарисовать в обычном автокаде линию поверх текста и пытаться из линии получить текст. Как там линия и текст - два различных не связанных объекта, так и тут - трасса и труба практически никак не взаимодействуют.
Ну или сразу получить из трассы 3d-полилиниию было бы еще лучше.
Толку-то: трасса всегда в нулевом уровне.
Но я так понял, что с видом профиля все равно связь должна быть, т.к. именно
в виде профиля прорабатывается высотное положение трубы.
Что значит "прорабатывается"? Высотное положение трубы
отображается на виде профиля и может на нём
редактироваться. Но его также можно изменять и просто в свойствах трубы, без вида профиля. И посмотреть на 3D виде.
Алексей, у меня сложилось впечатление, что у Вас очень плохие знания самого продукта Civil 3D. Вы не понимаете элементарных вещей: что представляют из себя его объекты, как они себя ведут и как взаимодействуют между собой. Как Вы без этого понимания пытаетесь программы под него писать?