This is something I have looked at on a number of occasions, and I've yet to come up with a satisfactory solution.
We regularly attach components such as paddles to timing belts. The timing belt is punched with a series of pairs of holes. Each pair of holes has a mounting block screwed to it. See the attached picture for a better understanding.
At the moment, I typically create one pair of holes, then use a Curve Driven pattern to create regularly pitched pairs of holes around the belt.
Each attachment is brought into the assembly as a sub-assembly, and mated to the holes using Concentric mates.
Where the holes are on a flat portion of belt, I then use a co-incident mate between the underside of the attachment and the belt surface.
If the holes are on a radius, I use a tangent mate instead.
This is kind of functional, but I want to be able to move the holes to any position within their cycle. Say I have a 70mm hole pitch, I want to be able to move +/- 35mm from the datum position.
The issue I have is that as soon as a hole that was on the flat moves onto a radius, the coincident mate fails. And vice versa.
If the holes are half on the flat, and half on the radius, that's even more of a pain.
Any suggestions on the best way to achieve this in a robust manner would be appreciated.
Since posting this I've had a another go at something I've attempted before, and its been more successful.
I've create a new sketch with a series of construction lines, with co-linear relations to the axes of the holes.
These are then used as the basis for a series of Reference Axes, which are then used for a concentric mate.
Then use intersection to create a series of points on the surface of the belt, one on each reference axis.
These are used for coincident mates on the underside of the mounting block.
The only 2 issues I've seen so far are:
Original pair of holes must be on a flat surface - Not really a problem
The points can occasionally jump to the 'return' side of the belt