hexagon logo

Hexalobe bone screw iterative rotation tolerance

We run profile of a surface on a hexalobe for several bone screws. Our quantity of checks per order just doubled. When we do an iterative alignment to cycle thru how well the screw hexalobe is oriented we commonly get an iterative error on the rotation. I do not program the part, but have discretion to make changes within reason. All the rotational tolerances are set to .006mm for the iterative tolerance, which is crazy too low in my opinion.

Even if the error pops up at .02mm on the rotation, every operator enters thru the error and the program works fine. Would it seem reasonable to set this at a max of around .0254mm or 1 thou? I don't see how a 1 thou error couldn't be allowed for the program to proceed without an error msg popping up taking a 3min program and turning it into a potential 10 min program if the operator is doing other things.

The vectors on the rotation of the hexalobe rotation are not clean either, they are far from a pure X plane direction, they have plenty of Y in them as well.
  • As a rule, where I've worked (aerospace), we attempt to keep tooling using less than 10% of the tolerance in the part.

    Is 10% of the tolerance being eaten up in tooling ok for medical? I don't know.

    Do you adjust the tolerance on your dimensioning to allow for uncertainty in the alignment?

    What is your tightest tolerance? 0.254 (so 10% would be 0.0254)? 0.06 (so 10% would be 0.006)?

    I don't use iterative often, but I would have the error threshold set at 10% of my tightest tolerance max, if it was me. The default PcDmis has in the dialogue if that was lower than 10%.

    If everyone is ignoring the error and proceeding with the program anyway, and there are no failures in the field, then you are likely correct about 0.006 being too tight.

    You should ask the person that programmed it, or the quality manager, in case it was selected for a reason and people aren't supposed to just be ignoring the error.


  • Appreciate the reply...The thing about the iterative it is only used to get the party started. It is not the basis for any other alignments or measurements. In fact, after the iterative if my memory serves me correct two lobes are probed for a local alignment then the two lobes are probed again to finally rotate(orient) the part with some precision. Then the real party starts with creating the alignments thereafter for measurements and/or GDT callouts.

    So the question is what precision do you really need to get the party started, not what precision does the entire part require. I'd argue all day that .001" or 20 microns is very reasonable to get the program going. My thinking is the iterative alignment with something containing geometric features is simply there to find stuff and not crash the probe doing so.
  • Based on what you said, if this is nothing more than a rough alignment (should try to get away with a read point if that is the case instead of iterative) then you need whatever precision is required to make the real alignment find the part with a minimum of probing error (if the part is way off so its measuring a plane at a 30° contact instead of plumb, for example, that would be bad).

    Just enough to ensure your hits are close enough to true (perpendicular to the surface being hit) that you don't have error that the math can't compensate for.

    If it always runs at 0.025, and the program doesn't use that alignment for any measurement, I'd agree it is safe to change.

    A lot of ifs there, but I'm having to trust what you are saying, and I'm not known for trusting people... not even myself usually lol
  • No worries, we use a readpoint on everything. The RP can only take you so far with a bunch of lobes that are almost hard to see with the naked eye while you are fixturing it. You can only visually get the lobes clocked I'd say at a +-5 deg repeatability. So the iterative is diving into the hex trying to find two points to establish a rotation line to clock to. I guess if you fixture it outside the vector hit directions it somehow calculates an iterative error on the line. If someone understands how it gets a value of say .0174 I be interested in how it is identifying this number. So if you fixture it say 8 deg wrong and the value is .037 and you just enter thru the error, it will still find the two lobes to clock to on the next alignment you will just be very tight to one side of the hex cylinder, but once you establish that you can dive in for a final blow with more precision.
  • If the iterative alignment is only used to find the part and you don't want to constantly get the alignment error message I would use a different method. Having the operators click through that message doesn't seem a very good process to be working to ;(

    Using the same points/features I would use a 3D best fit alignment and iterate this alignment using IF/GOTO statements based on the measured values or tolerance value for the XYZ of each of the features used in the alignment.

    Using this method you can set the number of iterations that you want to perform and the tolerance band for each features measured values.

    You can also control the number of iterations to ensure when the part has been found at a good enough accuracy to ensure the next features are found for the next proper alignment.

    It's probably basically the same thing BUT you have more control over what is happening and don't get the error message.

    You could also prove with the data gathered from the initial features how many iterations it takes to ensure the alignment is good enough for what you need it to do.
  • Appreciate the response...I will look into this...I'll report back if I see this as an improvement.