Just for fun, I tried using some models from KitBash3D to see if I could procedurally connect my support structures and rail models to create a procedural monorail line.

To start, I drew a street network across the terrain. Then I started to write my own code, but in the end I thought it would be easier and better to try using the existing ESRI fence code as a base point. And to this point I have not made any modifications to that code. I used the post section to select the support structures. It took some adjustments to get it to match the original model size. The next thing I did was to copy and paste the same graph network, and use that for the rails. The reason I copied it was because, I used the Fence Main "Middle" to insert the rails model and then set the "fence main middle" width to a smaller size to achieve a more rounded look of the rails; and if I used the same graph network as the support structures, then the support structures would be set too close to each other, as the "fence main middle" controls the spacing of the posts. I am quite pleased with the results so far without having to make any modifications to the Fence code.
There are still some things I would like to fix. When the rail requires height the code keeps model rotation flat. I think that can fixed with a little tinkering. Or maybe one of the other fence settings can control this. I don't know yet.

Just thought I would share this!