A 3D topological auto-routing algorithm for mechatronic products design