Identify Polyline Intersections - Enhanced

Thanks to the Dynamo forum, we have developed a script that will allow us to create a cogo point everywhere polylines intersect. This will help us a great deal during an upcoming project where we are tasked with creating a Utility Conflict Matrix. The one issue with it, is it will create a cogo point at intersecting points on a utility that’s on the same layer (e.g. a tee or end cap.) If we could eliminate those instances, we would be able to directly identify only the cases where polylines on different layers intersect, saving us an incredible amount of hours. Is there a way I could build the script so it ignores intersecting objects that are on the same layer? Unfortunately, it states that new users can not attach files or else I would share the script and test DWG.

Maybe use a google/one drive link or perhaps some screenshots? Sounds like an interesting challenge and welcome to the community!

I went ahead and made a test dataset and got it to work but you’d need to test it out. Let me know if this helps or if you have questions on this.
Cogo Points at Line Intersection by Layer v0.dyn (70.1 KB)
Cogo Points at Line Int v0.dwg (981.0 KB)



Beat me to it, Kirk :wink:

Here’s another approach.

UtilityCrossings.dyn (56.8 KB)


You both are fantastic, thanks for the help! Looks like the one we are looking for is best represented by the script mzjensen provided, although both provide great content that we’ll be able to use for fine tuning. There are some cases where certain crossings (that should be getting identified) get skipped in our test file and we are attempting to identify why. Thanks again!

UPDATE - It ended up being polyline elevations… once everything was set to 0 all of the polyline crossings are being identified (except for one case that I noticed in which a crossing occurred on a curve of one of the polylines.) I guess this brings up another point on potentially improving. Sure we have interference checks for utilities that have networks utilized, but a lot of times you won’t receive intelligent utilities with your data set. If we could make assumptions on depth of cover and apply to the polylines to take advantage of the Z output, we could pull even more important data out of this. Also, if we had a surface, wondering if we could convert to feature lines and use the same type of methodology. Thanks for getting us over the hump gentlemen, what we have now will save countless hours on the project.


These might be of interest to you.

1 Like

Hi there! First of all thanks for your contribution.

I found your idea quite interesting and I’ve been trying to adapt it to my needs.

In my model, I have several polylines with differente lines intersecting them.

My goal is to select a polyline, then some intersecting lines and create cogo points at their intersections.
Once the script is ran and the cogo-points created, to select a different polyline, the next lines and create new cogo points at their intersections.

I modified the input in your script in order to select only a polyline and the intersecting lines instead of all polylines in the model. The script seemed to work properly as the cogo points were created.

The problem I am facing deals when I ran the script but selecting another inputs. New cogo points are created at the new intersections but unfortunately the former cogo points created are deleted.

May you give me a hand solving the problem? Much appreciate

Hi @engineer_2_sequoia,

This post will hopefully give you a good understanding of what is going on there and the various options available.

Thank you very much for the link.

As you pointed, the problem was due to the data settings. Changing the option immediatly solved it.

Much appreciated

1 Like