Jump to content

Height 2


---
 Share

Recommended Posts

When I turn on "Axis end points for position tolerances" - Does anybody know how the Height 2 is calculated? In theory, I would assume that it is equal to the nominal height of your axis * cos(A1) * cos(A2), but the #'s are out by a few .0000XX of an inch when considering a large 18in nominal height.

Is this rounding error in Calypso? If so, how can we be sure?
Link to comment
Share on other sites

I’m going to guess that the value of H2 is slightly smaller than you expected…… The “reference length” of the tolerance zone is being computed along the “actual axis” of the considered feature instead of normal to the DRF.
Link to comment
Share on other sites

Phillip,

It is actually a little bit larger.

Here is my experiment. Create a plane with normal vector Z+. Create a cylinder with axis along Z. Align Spatial to the plane. X and Y origin on the Cylinder. Z origin on the plane. Create a theoretical cylinder at (0, 0) of height 18.

Now I adjust A2 Y/Z and when I go back to check "Height 2", or the axis endpoint, the answer that I get is exactly 18*cos(A2).

The error starts showing up as soon as I add deviation in A1 X/Z (or vice versa, the order doesn't matter). Trigonometry clearly shows the "Height 2" value should be H*cos(A) when deviating in rotation about one axis. I would assume that with the new effective height, H*cos(A), rotation about the other angle B would lead to an effective height, and thus "Height 2", of H*cos(A)*cos(B) but it just doesn't add up. Something new is introduced when rotating about the second axis.
Link to comment
Share on other sites

Compute the inner product and check the result against your formula. Here is some code that you can stick in a result element instead of doing it the long way. You'll just need to update the feature names.

18*getParameterNamed(getActual("Datum_Plane").normVector.asStandardVector*getActual("Cylinder").normVector.asStandardVector).asArray.asList.sum

Link to comment
Share on other sites

Jacob,

I had a few minutes to look at your experimental setup and came up with the following.

h = Length of Cylinder

Cylinder axis projected onto X/Z plane:
“Height 2” = cos(a2)*cos(arctan(tan(a1)*cos(a2)))*h

Cylinder axis projected onto Y/Z plane:
“Height 2” = cos(a1)*cos(arctan(tan(a2)*cos(a1)))*h

“X” component of axis endpoint:
sin(arctan(tan(a1)*cos(a2)))*h

“Y” component of axis endpoint:
sin(arctan(tan(a2)*cos(a1)))*h
Link to comment
Share on other sites

 Share

×
×
  • Create New...