# Pipe Network profile with different elevation at the same station

**URL:** <https://forum.dynamobim.com/t/pipe-network-profile-with-different-elevation-at-the-same-station/60444>\
**Category:** Civil 3D\
**Tags:** dynamo, civil3d\
**Created:** [February 14, 2021, 2:52pm UTC](https://forum.dynamobim.com/t/pipe-network-profile-with-different-elevation-at-the-same-station/60444 "2021-02-14T14:52:13Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![l.florio](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/l.florio/32/111603_2.png) [@l.florio](https://forum.dynamobim.com/u/l.florio)\
**Post date:** [February 14, 2021, 2:52pm UTC](https://forum.dynamobim.com/t/pipe-network-profile-with-different-elevation-at-the-same-station/60444/1 "2021-02-14T14:52:14Z")

</div>

Hello everybody,

I’m trying to create a profile from a pipe network and basically I’m using two nodes:

 ![Screenshot 2021-02-14 153024](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/e/5/e5c777cf26bf4b691e77b54f307b791499076243.jpeg)

but when I have a situation like this:

![Screenshot 2021-02-14 153245](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/7/9/791eb279c66f934c2450247ca80a8b1869439e81.jpeg)

it doesn’t work as I would expect:

 ![Screenshot 2021-02-14 153753](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/1/b/1bd9221a121f2e7441d6c0004dd8052f02c9aee4.jpeg)

 ![Screenshot 2021-02-14 153849](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/0/b/0be706bfd7cf77250b2d3e4de88e6b5404a832e3.jpeg)

When I do it manually, I create two PVIs from the profile geometry editor.

 ![Screenshot 2021-02-14 155921](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/4/f/4fe3cc5adcebdeb395cd8146342108de40f9f17e.jpeg)

I was hoping to be able to replicate this workflow with Dynamo, can anyone help?

Thanks for your help

---

<div class="post-metadata">

**Author:** ![mzjensen](https://avatars.discourse-cdn.com/v4/letter/m/b77776/32.png) [@mzjensen](https://forum.dynamobim.com/u/mzjensen)\
**Post date:** [February 14, 2021, 11:24pm UTC](https://forum.dynamobim.com/t/pipe-network-profile-with-different-elevation-at-the-same-station/60444/2 "2021-02-14T23:24:17Z")

</div>

From my perspective, this is working correctly. When adding PVIs to a profile through the Civil 3D UI, you also can’t add two PVIs at the same station, whether through the tabular editor or inserting them manually. You have to go back and edit the station of the PVI in the grid view. The API method for adding PVIs will throw an argument exception of “Value does not fall within the expected range” if two identical stations are supplied.

This is just background info and doesn’t really solve your problem. I don’t think you’ll be able to get around this by adding PVIs to the profile unless you add a very small increment to the station value so that they are not identical. You could maybe look into adding tangent entities to the profile instead of PVIs.

If the intent of the profile is just for visual purposes, then adding a small increment to the station shouldn’t be an issue. But if you’re using the profile as a source of data for some other operation (like getting the invert elevation of the pipe at any point, for example), then having two PVIs at the same station is probably undesirable anyway because you wouldn’t be able to correctly query the elevation at that station.

---

<div class="post-metadata">

**Author:** ![l.florio](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/l.florio/32/111603_2.png) [@l.florio](https://forum.dynamobim.com/u/l.florio)\
**Post date:** [February 15, 2021, 8:50am UTC](https://forum.dynamobim.com/t/pipe-network-profile-with-different-elevation-at-the-same-station/60444/3 "2021-02-15T08:50:56Z")

</div>

> [@zachri.jensen](#):
>
> ery small increment to the station value so that they are not identica

Thank you for your answer @zachri.jensen I think I will add a small increment to the station, as you suggest. I just need to follow the pipe slope. Of course I wasn’t say that it’s not working correctly, I was just wondering how the API method works.

---

<div class="post-metadata">

**Author:** ![Paolo\_Emilio\_Serra1](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/paolo_emilio_serra1/32/12902_2.png) [@Paolo\_Emilio\_Serra1](https://forum.dynamobim.com/u/Paolo_Emilio_Serra1)\
**Post date:** [February 15, 2021, 10:56am UTC](https://forum.dynamobim.com/t/pipe-network-profile-with-different-elevation-at-the-same-station/60444/4 "2021-02-15T10:56:40Z")

</div>

You could try and use the ActualInvert nodes in the Toolkit to get the station

---

<div class="post-metadata">

**Author:** ![l.florio](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/l.florio/32/111603_2.png) [@l.florio](https://forum.dynamobim.com/u/l.florio)\
**Post date:** [February 15, 2021, 4:17pm UTC](https://forum.dynamobim.com/t/pipe-network-profile-with-different-elevation-at-the-same-station/60444/5 "2021-02-15T16:17:18Z")

</div>

Thank you @Paolo_Emilio_Serra1. Can I ask you what’s the difference between ActualInvert and Invert?

 ![Screenshot 2021-02-15 171320](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/4/3/4375051f29cc36b605b89f13627c5278f597c110.jpeg)

---

<div class="post-metadata">

**Author:** ![Paolo\_Emilio\_Serra1](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/paolo_emilio_serra1/32/12902_2.png) [@Paolo\_Emilio\_Serra1](https://forum.dynamobim.com/u/Paolo_Emilio_Serra1)\
**Post date:** [February 15, 2021, 4:18pm UTC](https://forum.dynamobim.com/t/pipe-network-profile-with-different-elevation-at-the-same-station/60444/6 "2021-02-15T16:18:55Z")

</div>

The Actual values take into account the slope and rotate the face of the pipe whereas the Invert keeps the faces of the pipe vertical as in Civil 3D. If the pipe has no slope, there is no difference.

---

<div class="post-metadata">

**Author:** ![l.florio](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/l.florio/32/111603_2.png) [@l.florio](https://forum.dynamobim.com/u/l.florio)\
**Post date:** [February 15, 2021, 4:23pm UTC](https://forum.dynamobim.com/t/pipe-network-profile-with-different-elevation-at-the-same-station/60444/7 "2021-02-15T16:23:58Z")

</div>

Thank you.

---

<div class="post-metadata">

**Author:** ![tekt1993](https://avatars.discourse-cdn.com/v4/letter/t/f07891/32.png) [@tekt1993](https://forum.dynamobim.com/u/tekt1993)\
**Post date:** [December 14, 2021, 7:42am UTC](https://forum.dynamobim.com/t/pipe-network-profile-with-different-elevation-at-the-same-station/60444/8 "2021-12-14T07:42:14Z")

</div>

I am also new to dynamo, I am also learning how to create profile from pipe, can you send me the dynamo file reference? Thank you so much.

---

<div class="post-metadata">

**Author:** ![hosneyalaa](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/hosneyalaa/32/100865_2.png) [@hosneyalaa](https://forum.dynamobim.com/u/hosneyalaa)\
**Post date:** [February 17, 2022, 11:18am UTC](https://forum.dynamobim.com/t/pipe-network-profile-with-different-elevation-at-the-same-station/60444/9 "2022-02-17T11:18:50Z")

</div>

Hi  
To solve the problem of adding two PVIs on the same station with a difference in height  
You must use this Python

> [@Profile from polyline (but with a twist)](https://forum.dynamobim.com/t/profile-from-polyline-but-with-a-twist/65673/8):
>
> import sys import clr # Add Assemblies for AutoCAD and Civil 3D APIs clr.AddReference('acmgd') clr.AddReference('acdbmgd') clr.AddReference('accoremgd') clr.AddReference('AecBaseMgd') clr.AddReference('AecPropDataMgd') clr.AddReference('AeccDbMgd') clr.AddReference('AeccPressurePipesMgd') clr.AddReference('acdbmgdbrep') clr.AddReference('System.Windows.Forms') clr.AddReference('Civil3DNodes') # Create an alias to the Autodesk.AutoCAD.ApplicationServices.Application class import Autodesk.AutoCA…

or  
That is a change in the connection between the pipe and the manhal

![Untitled](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/7/0/701157b0b571fea97548e6286f0b4bfa65f02862.jpeg)

---

<div class="post-metadata">

**Author:** ![Yubari\_90](https://avatars.discourse-cdn.com/v4/letter/y/ea666f/32.png) [@Yubari\_90](https://forum.dynamobim.com/u/Yubari_90)\
**Post date:** [January 16, 2026, 12:54pm UTC](https://forum.dynamobim.com/t/pipe-network-profile-with-different-elevation-at-the-same-station/60444/10 "2026-01-16T12:54:13Z")

</div>

Could someone give me some advice on how to create a script to generate a profile at the invert elevation of the pipes in my pipe network? I am new to Dynamo, but perhaps there are nodes in a package that could help me?

Thanks in advance
