Heh, if all this was done to get the cam manufactured, then you have really given yourself a hard time. The manufacurer doesn't need a 3D model for a cam like this. All you need is the moving profile of the follower versus the rotation angle of the cam. And specify some tolerances.
True, if you're using a 3rd party cam manufacturer that has specialized cam software. If however you want to produce it yourself internally without specialized cam software, you're going to need an accurate 3D model.
That's why I didn't say anything till now
I'm very impressed with all the modelling in this thread, wouldn't want to have missed it!
I am not sure I want the CNC programmer to follow the edges, but rather go back to the intent.
Since the rotating mill head will be offset in Z anyway, it requires interpolation. A circular path for the center of the roller shaft is one point on the mill axis so it is easy to accomplish and easily interpolated into angles. The path for each step anywhere inside that radius is the mill head angle. The trace curves is created on a series of points that seem to be double precision. There are 600 points generated. I don't know if this is a constant but this was for 3 revolutions. A spline is driven through these points which never has sharp corners. Therefore a curve is fitted to points but makes up its own mind between points. Of course, those points are not on an evenly spaced angle measurement, they are based on distance to the next point.
I would want to work with a programmer that can input the curve as given by a sinusoidal law if that is the motion of the cam, or some other arithmetic representation. So far, I've had pretty good luck defining the cam that very same way. This minimizes any rounding or offsets that might exist in point interpretations or some other projection technique.
Speaking of offsets, a good code person for CNC will also know how to interpolate for using smaller mill cutters. Since this discussion has assured that a surface offset functions properly, an axis offset too should be equivalent. This is much better than trying to use a mill cutter at the exact diameter of the roller with clearance. This will also lessen the deformation in the floor of the cut. I am not certain at this point what else may change in the mill axis by doing this. Again, this is where the CNC people get paid the big bucks. This is also why you would want to be able to confirm the work and know it is correct within the CAD software. If you question the skills of the programmer, definitely confirm the characteristics using a smaller mill cutter. If this discussion has taught us anything it is to really confirm the reliability of your data, and assumptions.
The key takeaway from parts like these is that they are subjected to very high loads. The rollers must have linear contact after a short break-in period. If the machining is done wrong, the life of the parts are highly compromised. In this case I certainly agree that the CAD model should be as close to accurate as possible. You should be able to do a 3D inspection scan and overlay the cad model, and they should be very close to the same within the allowable tolerance if not identical.
A little more information. 1st of all, you can get all kinds of point files including cylindrical and spherical output. However, I question the accuracy level. I have the accuracy set to default (relative .0012) and this is the return of the trace curve set to spherical. I get 100 points and the trace point is exactly 1" away from the CSYS. That means that R should always be 1.00000000000. Judge for yourself if this level of accuracy matters to you. Changing the accuracy to absolute at .00005 did -not- change these values! I don't know if this error level is the result of the trace curve or the precision used for the analysis. I suspect the ladder. 100 points for a 360 degree element seems a little sparse to me.
Hmmm, that's interesting. I remember back in the day when they "fixed" pi. I used to be if you used it in an equation, it was always a little off (as on wraps - then formed datum curves), then they fixed it. Maybe they need to go over this as well?
Numbers are all -off- a little in Creo Parametric. Anything beyond single precision seems to be fair game.
Too many number return x.9999999999 when you look at the actual property value regardless of how accurately you input the value.
This is also maddening when you input equations into pattern values for instance. It defaults to whatever your number of digits is set to and locks to that truncated value. You have to go back and enter a relation for those values that will properly evaluate the pattern. Values of 1/3 or 2/3 come up all too often as a real requirement, but it takes two steps to actually do that. If you don't know about it, you end up chasing your tail trying to solve this significant error level.