When we coat parts, we use a general parametric program that fills in areas of surfaces based on a minimal number of points that are input, defining the part. The information for the definition points is input offline and then the operator goes in, does a "dry run" where he has the tool follow the contours and areas of the parts to verify that the program will overlay all of the areas of the part that need to be coated.
Here's where the problem is:
The program as written offline is routinely not exactly what is necessary to coat the part. The operator sometimes has to modify the definition points by a millimeter or two, or thirty or two tenths. However, most points are correct and do not need to be changed.
What I want to do:
Is there some way of "saving" only the modified points in a .dat file without having to set up every possible point that it could require in advance?
My current thinking for a workaround is this:
The .dat file will have:
DECL E6POS pointMod001 = {x 0, y 0, z etc...}
DECL E6POS pointMod002 = {x 0, y 0, z etc...}
...
DECL E6POS pointMod1000 = {x 0, y 0, z etc...}
This would have an associated (absurdly?) long SWITCH statement in the program that would check for whichever point number is being modified and then either assign the pointModXXX variable to a given value or it would pull the pointModXXX variable and return it to the main program to come up with the correct location.
But there has to be a better way. Or at least I would think so. Ideally, I would want something where if the offline program is correct to begin with and the operator has to make no point modifications, the modification program is nearly empty. But if the operator has to make changes on a hundred different points, then I would like all of those points to be generated/saved/whatever we are calling this operation.
I would want to have an auxiliary program that can be used as a template where it is given the name of the job number and then this can be stored for future reference.
For a little more background, the reason I am wanting this is that we may receive three different shipments from 3 different suppliers that are allegedly the same part, but which are actually different enough through tolerance stackup that they require three different programs to coat all of the areas. All of the parts in each order are close enough not to require changes on any given order, but from one order to the next, there could be some significant changes.
Any thoughts on how to keep something like this down to the most efficient number of lines of code? Or how to have a dat file that only stores the points that are modified?