hexagon logo

rotary table autocalibration?

Does anyone use some kind of script, subroutine, program or wahtever for rotary table autocalibration? The table is firmly bolted to the granite, but still moves a few ten thousandths from time to time, this causes erroneous or suspicious results of diameters when the table is used for these purposes. What I'm looking for is to streamline the calibration process and automate it as a probe and RT calibration routine.

Thanks.
Parents
  • Just create a prog starting by IGNOREROTAB/ON, which measure the rotary calibration sphere in different locations (the rotary turns in the CMM alignment)
    Then, create a plane from sphere centers, and a circle from them also.
    The circle gives XYZ, the plane IJK.
    Then use the Setrotabdata function.
    Hope this helps.

    SETROTABDATA

    This function sets the center or vector to the new input value: SETROTABDATA(<PARAMETER>,<NewValue>[,


























    ]) This function works in the following configurations:• Single rotary table• Dual (independent) rotary tables• Stacked rotary tablesCENTER• "CENTER",<NewValue> - Sets the rotary table's XYZ center to the new value.• "CENTER",<NewValue>,"V" - Sets the XYZ center for rotary table V in a dual-table or stacked-table configuration to the new value.• "CENTER",<NewValue>,"W" - Sets the XYZ center for rotary table W in a dual-table or stacked-table configuration to the new value.Examples:ASSIGN/V1=SETROTABDATA("CENTER",NewValue)V1 is a return code (1=success, 0=failure). ASSIGN/V1=SETROTABDATA("CENTER",NewValue,"V")V1 is a return code (1=success, 0=failureASSIGN/V1=SETROTABDATA("CENTER",NewValue,"W")V1 is a return code (1=success, 0=failure).VECTOR• "VECTOR",<NewValue> - Sets the rotary table's IJK vector to the new value.• "VECTOR",<NewValue>,"V" - Sets the IJK vector for rotary table V in a dual-table or stacked-table configuration to the new value.• "VECTOR",<NewValue>,"W" - Sets the IJK vector for rotary table W a dual-table or stacked-table configuration to the new value.Examples:ASSIGN/V2=SETROTABDATA("VECTOR",NewValue)V2 is a return code (1=success, 0=failure).ASSIGN/V2=SETROTABDATA("VECTOR",NewValue,"V")V2 is a return code (1=success, 0=failure).ASSIGN/V2=SETROTABDATA("VECTOR",NewValue,"W")V2 is a return code (1=success, 0=failure).Another way, less accurate, consists in measuring the calibration sphere (if it's stay in place) as a sphere, calculate the deviations from GETQUALTOOLDATA("xyz", "sphere_name") and aplly the deviations to the rotary center (I assume that the vector doesn't change, which could be logical...)
Reply
  • Just create a prog starting by IGNOREROTAB/ON, which measure the rotary calibration sphere in different locations (the rotary turns in the CMM alignment)
    Then, create a plane from sphere centers, and a circle from them also.
    The circle gives XYZ, the plane IJK.
    Then use the Setrotabdata function.
    Hope this helps.

    SETROTABDATA

    This function sets the center or vector to the new input value: SETROTABDATA(<PARAMETER>,<NewValue>[,


























    ]) This function works in the following configurations:• Single rotary table• Dual (independent) rotary tables• Stacked rotary tablesCENTER• "CENTER",<NewValue> - Sets the rotary table's XYZ center to the new value.• "CENTER",<NewValue>,"V" - Sets the XYZ center for rotary table V in a dual-table or stacked-table configuration to the new value.• "CENTER",<NewValue>,"W" - Sets the XYZ center for rotary table W in a dual-table or stacked-table configuration to the new value.Examples:ASSIGN/V1=SETROTABDATA("CENTER",NewValue)V1 is a return code (1=success, 0=failure). ASSIGN/V1=SETROTABDATA("CENTER",NewValue,"V")V1 is a return code (1=success, 0=failureASSIGN/V1=SETROTABDATA("CENTER",NewValue,"W")V1 is a return code (1=success, 0=failure).VECTOR• "VECTOR",<NewValue> - Sets the rotary table's IJK vector to the new value.• "VECTOR",<NewValue>,"V" - Sets the IJK vector for rotary table V in a dual-table or stacked-table configuration to the new value.• "VECTOR",<NewValue>,"W" - Sets the IJK vector for rotary table W a dual-table or stacked-table configuration to the new value.Examples:ASSIGN/V2=SETROTABDATA("VECTOR",NewValue)V2 is a return code (1=success, 0=failure).ASSIGN/V2=SETROTABDATA("VECTOR",NewValue,"V")V2 is a return code (1=success, 0=failure).ASSIGN/V2=SETROTABDATA("VECTOR",NewValue,"W")V2 is a return code (1=success, 0=failure).Another way, less accurate, consists in measuring the calibration sphere (if it's stay in place) as a sphere, calculate the deviations from GETQUALTOOLDATA("xyz", "sphere_name") and aplly the deviations to the rotary center (I assume that the vector doesn't change, which could be logical...)
Children