Jump to content

perpendicularity with modifier


---
 Share

Recommended Posts

Please sign in to view this quote.

Yep, a pretty “basic control” that Calypso should be able to handle, but as I said earlier, the software is falling behind with its built-in functionality. If one needs to apply the MMB allowance, they'll need to parameterize the calculations and use the angularity characteristic. Or they could use a more sophisticated software package to perform the calculations.
Link to comment
Share on other sites

  • Replies 52
  • Created
  • Last Reply

Top Posters In This Topic

  • ---

    11

  • ---

    10

  • ---

    10

  • ---

    8

Still not a "basic control" The MMB allows for it to rotate/translate in all 6 degrees of freedom. Good luck with that one.

Exactly why Andreas pointed it out.
Link to comment
Share on other sites

Calypso has always taken the approach that it would rather reject a "good" part than accept a "bad" part.

These material modifier calculations are really best suited for functional gage testing, not some computer software algorithm.
Link to comment
Share on other sites

Please sign in to view this quote.

That stance rings true with my experience with Calypso and its handling of GD&T callouts.
And how is a stance like that helpful?

Please sign in to view this quote.

Not sure what you mean by this. The bulk of what we handle are custom fixed-limit gauges for a demanding industry. By opting to fail to handle GD&T correctly and err on the side of rejection, Zeiss leaves us with the options of using someone else's equipment (which is generally less accurate) and spending extra to supplement their equipment with third-party software for GD&T evaluation.

I'm no computer programmer, but I don't buy that correctly handling GD&T is as tough as Zeiss would have us believe it is. Zeiss' main problem is that Calypso has been built from day one to only perform sequential evaluation, not simultaneous evaluation. (That is, with few exceptions, like a Best Fit Bore Pattern, which evaluates all its features simultaneously.)
Link to comment
Share on other sites

Please sign in to view this quote.

Actually, it’s easier than that… The MMB allowance (if available) unlocks the 90 degree basic angle and allows the datum feature axis to tilt away from the imaginary datum axis. This is why you pull this off using the angularity characteristic. The only trick is knowing how to calculate the angle. From there you can build logic into the code to keep from having an over rotation scenario in addition to restricting the MMB allowance to the tolerance limits (if needed).

v = vector(diaActual,maxDatumLength,0).norm
u = vector(diaMMB,sqrt(diaActual**2+maxDatumLength**2-diaMMB**2),0).norm
datumShiftAngle = arccos(getParameterNamed(v*u).asArray.sum)
For what its worth, I've already compared the results using this method to SmartProfile and they agree. But, that might not mean a whole lot if one does not trust what's happening in SP...... 😉

Please sign in to view this quote.

The same argument can be made regarding anything measured on a CMM (even a simple diameter) regardless of the software used to perform the evaluations. The results will always be an approximation because only a finite set of points are captured.
Link to comment
Share on other sites

Phillip,
Thank you for your post. It looks like you are using the dot product to calculate the angle between two vectors. The v vector appears to be the diagonal across the datum bore. Can you please explain what vector u is meant to be? Thank you.
Link to comment
Share on other sites

Please sign in to view this quote.

I wouldn't hold my breath on that. I've been receiving marketing emails pushing a free trial of "OGP Evolve SmartProfile", so I would imagine the support for Zone3 will probably weaken. I have to laugh at the fact that they don't recognize that they've already sold us licenses.
Link to comment
Share on other sites

Please sign in to view this quote.

Where does that say that rotation off parallel from the MMB datum feature axis is not allowed for position callouts?
Link to comment
Share on other sites

Please sign in to view this quote.

It represents where the datum feature would make contact with "gage element" at MMB. Time permitting, I can sketch it up if you need me to.
Link to comment
Share on other sites

Please sign in to view this quote.

It is rotation, and translation though correct? I think that is where the calculation gets tricky.

Either way, at the end of the day, yes you all are correct. The bottom line is Calypso cannot handle Datum mobility except for certain cases.

I apologize if my statement about using a gage came off the wrong way, but I was just trying to imply that (at least in my mind) it makes more sense to test with a gage when MMC/MMB is allowed as it will give you the true answer. Fit/function testing on a CMM is extremely difficult due to constraints not only in how many points you can takes, but also the calculation of the mating envelopes due to size/length constraints. A hard gage will not have the same issues with regards to calculating an OTE on a short axis. There are issues not only with the accuracies, but the repeatability. The last time I was aware, there weren't any official certifications for ITE/OTE due to there being no procedures available for testing. And if you aren't using ITE/OTE for your fit/function testing what is even the point of the test that you are performing (unless the part is perfect 😉 )

I know that a lot of the competitors to Calypso can handle what Calypso considers complex GD&T - like I showed even the GOM Inspect and even Caligo can handle it. It has been brought to their attention multiple times. We are hoping (fingers crossed) that we will see something within the next year as it has been a sticking point for a lot of customer.

Then we can all sit back and get back to complaining about the important things - like why do I have to manually turn the Default Printout off for every program. 🙁
Link to comment
Share on other sites

It brings to light how little I know about datum shifts.
Phillip I took your coded formulas and conveyed with a couple of engineers what I was looking.
They took off running with the data and have something for me to use in Calypso that should simulate this datum shift needed.
Later this week I will post their concept for review. Thanks everyone for your input on this subject.
Link to comment
Share on other sites

Phillup used the Pythagorean theorem and the dot product to solve for the datum shift angle. Our engineers used trigonometry and the quadratic formula to solve for the datum shift angle (theta). Please review to confirm that this will satisfy the perpendicularity callout to the ASME standard.


To implement in your measurement plan in Calypso, Our engineers suggest:
1. Compute the maximum allowable datum shift per the print
a. This allows a valid evaluation of perpendicularity in case the spline major diameter is out of tolerance
b. “MAJOR DIA” feature, presettings
\\ t=0.871
\\ w=2.5
\\ d=2.5017
\\ compute max allowable datum shift in degrees
\\ thetamax = 2*arctan( sqrt(t**2+d**2-w**2) - t / (d+w) )
thetamax = 0.11151709
2. Measure the major diameter of the spline (“MAJOR DIA” feature)
3. Compute the allowable datum shift
a. “MAJOR DIA” feature, postsettings
t=0.871
w=2.5
d=getActual("MAJOR DIA").diameter
\\ compute max allowable datum shift in degrees
theta = min(thetamax, 2*arctan( sqrt(t**2+d**2-w**2) - t / (d+w) ) )
4. Measure and compute the least squares fit to the plane of Datum B
a. Add feature “DATUM B LSQ”
b. Recall feature points from “DATUM B”
c. LSQ evaluation
d. This computes the normal of the plane with minimum form error
5. Add an angularity characteristic (“B to A”)
6. Compute the “B to A” angularity nominal value using a formula
a. Use normal of the actual plane, but bounded by datum shift
90 + max(-theta, min(theta, getActual("DATUM B LSQ").inclinationAngle))
7. Report the “B to A” angularity using the 0.001 tolerance from the print, but with the potentially shifted nominal

Any feedback is appreciated.
Link to comment
Share on other sites

Please sign in to view this quote.

You’ll want to use the “Minimum Feature” fit for the recalled surface since your code is referencing the inclination angle, and because the angularity characteristic will use it regardless of what the feature is set to.

Additionally, the returned inclination angle will be relative to coordinate system set within the feature. Depending on how your program is setup, you may need to create a secondary alignment using Datum A as the primary reference.

Here are a couple of (untested) corrections to your code:

thetamax = 2*arctan((sqrt(t**2+d**2-w**2) – t) / (d+w))
theta = min(thetamax, 2*arctan((sqrt(t**2+d**2-w**2) – t) / (d+w)))
rad(90 + max(-theta, min(theta, getActual("DATUM B LSQ").inclinationAngle.asDEG)))
I'll look at it further when time permits...
Link to comment
Share on other sites

Please sign in to view this quote.

The only degrees of freedom remaining are the translation along / rotation around the imaginary datum axis at MMB which has no impact on the calculation. The tolerance zone (parallel planes) are still oriented 90 degrees to the imaginary datum axis at MMB. We’re just exploiting this behavior by rotating the basic angle within the angularity characteristic based on the MMB allowance (if any).

Please sign in to view this quote.

This has been the main driver for us working to use SmartProfile whenever possible. Pretty sure folks around here are getting tired of arguments with suppliers who are using software that can handle more complicated call-outs.
Link to comment
Share on other sites

Thanks for all of your input Phillip. You have brought up some critical points that I have overlooked. I will pass this info onto the engineers. This callout has stretch my comprehension limits. I've been a metrologist for quite a number of years, however lately it seems as though the more I learn the dumber I feel.
Link to comment
Share on other sites

Don't feel bad,,,, I'm just as dumb.

I just realized that your drawing is in inches. Here is an updated formula for the angularity characteristic.

rad(90 + max(-theta, min(theta, getActual("DATUM B LSQ").inclinationAngle.asDEG))) / 25.4
Link to comment
Share on other sites

Please sign in to view this quote.

Not sure if I agree with that 100%....

If the actual measured angle between the considered surface (Minimum Feature Fit) and datum feature (Outer Tangential Fit) is less than the available rotation allowed by MMB, the result will simply be the form error (Flatness) of the surface.

If the actual measured angle is greater than the allowed MMB rotation, the result will be a combination of orientation & form error since you'd be only allowed to rotate the amount afforded by the datum feature's departure from MMB.
Link to comment
Share on other sites

I have enjoyed reading all of the posts on this topic, but so far there has been little to no discussion on how to determine the axis of datum |A| and how much freedom of rotation should be allowed based on MMB. Because it's a spline, the problem is more complicated than simply determining outer tangential cylinder of the major diameter. Other deviations (helix, profile, index, pitch etc.) could and likely would also reduce the material condition of the spline. Wouldn't a proper datum simulator for this be a "GO" spline gage? How do we duplicate this on the CMM?
Link to comment
Share on other sites

 Share


×
×
  • Create New...