Splitting Corridor Regions

Is there anyway to split corridor regions? From what I saw in the past there was a node to do so in the Civil3DToolkit package but that package has depreciated for Civil3D 2025, so I can’t use them anymore.

More Context:

Overall, I am trying to add baseline regions to a corridor and am struggling with them being added out of order, so it starts with the region with the greatest stationing. This then makes it so I can’t add any stations previously to it. I couldn’t find a way around this, so I am instead trying to split one big corridor region into the chunks I need to then assign assemblies to each of those newly split chunks.

Hi @noahling195,

Maybe we can try to fix this part. Are you able to share your graph setup?

CurbRampCreator.dyn (60.2 KB)

Thanks for offering to help! Here is my current graph, for the object selection at the start I’m just selecting my corridor. What ends up happening is that it puts them in reverse order as shown below.

Which then makes Civil3D error out since you can’t have a baseline region come after one in a menu if its stationing is less than the one before it, hence my issue. It puts them in the corridor properties, but it doesn’t actually create the regions (or let me hit apply/ok in this menu since it fails to rebuild).

Let me know if you have any thoughts, I’m new to this whole thing so I would love to learn!

This is the issue:

Because the three regions are being added in parallel, you have no control over the order that they are added. Even though the nodes are organized spatially in your graph from top to bottom, it doesn’t mean that they are executed in that order :slight_smile:

So, you need to specify the order that you want. The most efficient way to do this would be to organize the data appropriately in nested lists that you feed into a single Baseline.AddRegion node. Something like this:

  • regionName input
    • List of strings in the order you want (e.g., [TransitionDown, LowPoint, TransitionUp])
  • assembly input
    • List of assemblies in the same order as the region names
  • startStation input
    • List of three start stations, again, in the same order as the region names
  • endStation input
    • List of three end stations, again, in the same order as the region names

If that data structure is giving you hassle, you can just keep what you have and chain the nodes together in the sequence that you want:

2 Likes

Ahhhh I was having the same issue in so many scripts of not knowing how to get something to execute in series instead of parallel. Thank you for the crystal clear explanation, it works now!

2 Likes