[Ja...] Posted February 4, 2020 Share Posted February 4, 2020 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 More sharing options...
[Me...] Posted February 6, 2020 Share Posted February 6, 2020 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 More sharing options...
[Ja...] Posted February 6, 2020 Author Share Posted February 6, 2020 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 More sharing options...
[Me...] Posted February 6, 2020 Share Posted February 6, 2020 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 More sharing options...
[Me...] Posted February 11, 2020 Share Posted February 11, 2020 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 More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in