Using the current functionality of Simio, we have created a library for overhead cranes. It allows for either crossing or no-crossing, and moves other cranes out of the way under certain conditions, when multiple cranes are on a track. Currently our library can handle maximum of 3 cranes on one track, but if required (and when encountered) we can extend this. Although 3 cranes or les probably represents over 90 % of applications.
We have encountered some difficulties, but managed to get all the logical parts working good. The code could become easier with the help of certain steps. The communication between different objects could be improved (less difficult to do), but all in all, I am very happy with the capability.
Biggest issue besides above is in my opinion the animation. We have objects hanging upside down, when they are lowered, since we can not control their direction. Objects can not move in relation to eachother, or be connected to another object by means of a joint or hinge.
For customers, these animation issues are extremely important!