How to use the Part Comping function in CAPPSNC

How to use the Part Comping function in CAPPSNC

 

 

How to use the Part Comping function in CAPPSNC

The Part Comping option allows the machine to be “MASTERED” to a part. This function can remove error due to environmental factors and variability often found in the shop environemnt.

image-20250423-162936.png

 

Methods of Part Comping

Master to a part

This option relies on a part to have minimal error. The selected part is measured on the CNC machine using a CAPPSNC program in “MASTER” mode. All part deviations are recorded in an offset file which will compensate each feature point by point. After that, all parts are measured in COMPARE mode. CAPPSNC will compensate all measured data based on the master part.

 

Master to a part with a Calibration file

A part is selected and measured on a CMM. All part deviations are recorded and compensated for in a Calibration file. This part, along with the Calibration file, makes a perfect master file. This method also gives the user traceability back to a known, certified metrology device, the CMM. When this part is run on the CNC in “MASTER” mode error due to environmental conditions will be combined with the error from the Calibration file to compensate all measured parts.

 

How to Use Part Comping

Part Comping is found in the Measure Tab

 

Part Comping dialog

Part Comping Modes and associated DMIS commands:

 

  • None (Default): No part comping is applied to feature measurements. This is the default setting for this dialog

    • DMIS Command: COMPARE/MODE,DISABLE

 

  • Generate Master File: Part is measured without comping applied. This option will build the .prtmst. Any error found during the measurement is written into the .prtmst file.

    • DMIS Command: COMPARE/MODE,MAKEMSTR

 

  • Apply MST / CLB files: Apply comping to feature measurement. This option will apply the .prtmst file to the feature measurement in the program. All parts measured will be comped to the MASTER part

    • DMIS Command: COMPARE/MODE,ENABLE

 

  • Generate Calibration File: This function MUST be used on a CMM, not on the CNC machine. This option creates a .prtcal file which contains deviation data measured in the controlled metrology environment and is traceable to the certification of the CMM machine.

    • DMIS Command: COMPARE/MODE,MAKECLIB

Master File: Location and name of MASTER file

 

  • If this field is left blank, the .prtmst file will be saved in the program folder and be given the same name as the program. The DMIS code will not reference a .prtmst file as the location is defaulted to the program folder. The DMIS code will look like this.

    • Make Master File: COMPARE/MODE,MAKEMSTR

    • Apply Master File: COMPARE/MODE,ENABLE

 

  • If the location and the name of the .prtmst file is not left blank, the DMIS code will reference the location and name of the .prtmst file

    • Make Master File:

      • COMPARE/MODE,MAKEMSTR

      • COMPARE/ON,MST,'C:\CappsNC8\Files\NCFiles\MyProgram.prtmst'

 

  • Apply Master File:

    • COMPARE/MODE,ENABLE

    • COMPARE/ON,MST,'C:\CappsNC8\Files\NCFiles\MyProgram.prtmst'

 

The MASTER file selection option is disabled unless the “Turn Part Comping ON option is enabled

 

Calibration File: Location and name of CALIBRATION file

  • If this field is left blank, the .prtcal file will be saved in the program folder and be given the same name as the program. The DMIS code will not reference a .prtcal file as the location is defaulted to the program folder. The DMIS code will look like this.

    • Make Calibration File: COMPARE/MODE,MAKECLIB

    • Apply Calibration File: COMPARE/MODE,ENABLE

 

  • If the location and the name of the .prtcal file is not left blank, the DMIS code will reference the location and name of the .prtcal file

    • Make Calibration File

      • COMPARE/MODE,MAKECLIB

      • COMPARE/ON,CAL,'C:\CappsNC8\Files\NCFiles\MyProgram.prtcal'

    • Apply Calibration File (Note Both .prtmst & .prtcal files will be referenced):

      • COMPARE/MODE,ENABLE

      • COMPARE/ON,CAL,'C:\CappsNC8\Files\NCFiles\MyProgram.prtcal',MST,'C:\CappsNC8\Files\NCFiles\MyProgram.prtmst'

 

Turn Part Comping OFF: Disable Part Comping function

  • Turns off Part Comping if necessary. The following DMIS command will be added to the program.

    • COMPARE/OFF

 

Turn Part Comping ON: Enable Part Comping function

  • Turns on Part Comping function. The following DMIS code will be added to the program. Paths and filenames of the .prtmst & .prtcal are added if default is not used

    • Make MASTER file

      • COMPARE/MODE,MAKEMSTR

      • COMPARE/ON

    • Make MASTER file with Calibration File enabled

      • COMPARE/MODE,MAKEMSTR

      • COMPARE/ON,CAL

    • Apply MASTER file

      • COMPARE/MODE,ENABLE

      • COMPARE/ON

    • Apply MASTER file with Calibration File enabled

      • COMPARE/MODE,ENABLE

      • COMPARE/ON,CAL

 

Reset Button: Reset Comping State

Reset Comping option. This option does not write any DMIS code

 

Add DMIS: Add DMIS code based on options selected in the dialog

 

Cancel: Close the dialog and do not add any DMIS code based on the options currently selected

 

Eamples

Example #1: Managing MASTER and COMPARE modes in a program

 

The same program can be used to both create a MASTER file and apply a MASTER file. This can be managed with the use of a conditional block.

 

Here is an example of some DMIS code that uses a variable from a G-Code file to determine if the program should create or apply the MASTER file.

 

In this example, the macro variable R200 will be set to either 0 or 1 from the G-Code. An input of 0 will set the program to create a MASTER file, an input of 1 will set the program to apply the MASTER file to the part measurement. The feature that will be comped is the circle feature that is contained in between the COMPARE/ON and the COMPARE/OFF commands.

 

DECL/INTGR,MODE_INPUT CAPPS/CNCREAD,200,MODE_INPUT $$ IF/(MODE_INPUT.EQ.0) COMPARE/MODE,MAKEMSTR ELSE IF/(MODE_INPUT.EQ.1) COMPARE/MODE,ENABLE ENDIF $$ GOTO/0.0000,0.0000,100.0000 $$ COMPARE/ON $$ F(CR1)=FEAT/CIRCLE,INNER,CART, 23.5000,75.5000,26.0000,-0.0000,0.0000,1.0000,7.5000 MEAS/CIRCLE,F(CR1),7 SNSET/APPRCH,2.7500 GOTO/23.5000,75.5000,38.0000 PTMEAS/CART,27.2500,75.5000,24.0000,-1.0000,-0.0000,-0.0000 PTMEAS/CART,25.8381,78.4319,24.0000,-0.6235,-0.7818,0.0000 PTMEAS/CART,22.6655,79.1560,24.0000,0.2225,-0.9749,0.0000 PTMEAS/CART,20.1214,77.1271,24.0000,0.9010,-0.4339,0.0000 PTMEAS/CART,20.1214,73.8729,24.0000,0.9010,0.4339,0.0000 PTMEAS/CART,22.6655,71.8440,24.0000,0.2225,0.9749,-0.0000 PTMEAS/CART,25.8381,72.5681,24.0000,-0.6235,0.7818,-0.0000 GOTO/23.5000,75.5000,38.0000 SNSET/APPRCH,15.0000 ENDMES COMPARE/OFF

 

 

Example #2: Program example using only 1 COMPARE block for multiple features with a user specified .prtmst file.

DECL/INTGR,MODE_INPUT CAPPS/CNCREAD,200,MODE_INPUT $$ IF/(MODE_INPUT.EQ.0) COMPARE/MODE,MAKEMSTR ELSE IF/(MODE_INPUT.EQ.1) COMPARE/MODE,ENABLE ENDIF $$ GOTO/0.0000,0.0000,100.0000 $$ COMPARE/ON,MST,'C:\CappsNC8\Files\NCFiles\Circle_Comp_File.prtmst' $$ F(CR1)=FEAT/CIRCLE,INNER,CART, 23.5000,75.5000,26.0000,-0.0000,0.0000,1.0000,7.5000 MEAS/CIRCLE,F(CR1),7 SNSET/APPRCH,2.7500 GOTO/23.5000,75.5000,38.0000 PTMEAS/CART,27.2500,75.5000,24.0000,-1.0000,-0.0000,-0.0000 PTMEAS/CART,25.8381,78.4319,24.0000,-0.6235,-0.7818,0.0000 PTMEAS/CART,22.6655,79.1560,24.0000,0.2225,-0.9749,0.0000 PTMEAS/CART,20.1214,77.1271,24.0000,0.9010,-0.4339,0.0000 PTMEAS/CART,20.1214,73.8729,24.0000,0.9010,0.4339,0.0000 PTMEAS/CART,22.6655,71.8440,24.0000,0.2225,0.9749,-0.0000 PTMEAS/CART,25.8381,72.5681,24.0000,-0.6235,0.7818,-0.0000 GOTO/23.5000,75.5000,38.0000 SNSET/APPRCH,15.0000 ENDMES $$ F(CR2)=FEAT/CIRCLE,INNER,CART, 11.5000,115.0000,26.0000,0.0000,0.0000,1.0000,9.5000 MEAS/CIRCLE,F(CR2),7 SNSET/APPRCH,3.7500 GOTO/11.5000,115.0000,38.0000 PTMEAS/CART,16.2500,115.0000,24.0000,-1.0000,0.0000,0.0000 PTMEAS/CART,14.4616,118.7137,24.0000,-0.6235,-0.7818,0.0000 PTMEAS/CART,10.4430,119.6309,24.0000,0.2225,-0.9749,0.0000 PTMEAS/CART,7.2204,117.0609,24.0000,0.9010,-0.4339,-0.0000 PTMEAS/CART,7.2204,112.9391,24.0000,0.9010,0.4339,-0.0000 PTMEAS/CART,10.4430,110.3691,24.0000,0.2225,0.9749,-0.0000 PTMEAS/CART,14.4616,111.2863,24.0000,-0.6235,0.7818,-0.0000 GOTO/11.5000,115.0000,38.0000 SNSET/APPRCH,15.0000 ENDMES $$ F(CR3)=FEAT/CIRCLE,INNER,CART, 47.5000,115.0000,26.0000,0.0000,0.0000,1.0000,9.5000 MEAS/CIRCLE,F(CR3),7 SNSET/APPRCH,3.7500 GOTO/47.5000,115.0000,38.0000 PTMEAS/CART,52.2500,115.0000,24.0000,-1.0000,0.0000,0.0000 PTMEAS/CART,50.4616,118.7137,24.0000,-0.6235,-0.7818,0.0000 PTMEAS/CART,46.4430,119.6309,24.0000,0.2225,-0.9749,0.0000 PTMEAS/CART,43.2204,117.0609,24.0000,0.9010,-0.4339,-0.0000 PTMEAS/CART,43.2204,112.9391,24.0000,0.9010,0.4339,-0.0000 PTMEAS/CART,46.4430,110.3691,24.0000,0.2225,0.9749,-0.0000 PTMEAS/CART,50.4616,111.2863,24.0000,-0.6235,0.7818,-0.0000 GOTO/47.5000,115.0000,38.0000 SNSET/APPRCH,15.0000 ENDMES COMPARE/OFF



Example #3: Program example using only individual COMPARE block for multiple features with user specified .prtmst files

 

DECL/INTGR,MODE_INPUT CAPPS/CNCREAD,200,MODE_INPUT $$ IF/(MODE_INPUT.EQ.0) COMPARE/MODE,MAKEMSTR ELSE IF/(MODE_INPUT.EQ.1) COMPARE/MODE,ENABLE ENDIF $$ GOTO/0.0000,0.0000,100.0000 $$ COMPARE/ON,MST,'C:\CappsNC8\Files\NCFiles\Circle_Comp_File1.prtmst' $$ F(CR1)=FEAT/CIRCLE,INNER,CART, 23.5000,75.5000,26.0000,-0.0000,0.0000,1.0000,7.5000 MEAS/CIRCLE,F(CR1),7 SNSET/APPRCH,2.7500 GOTO/23.5000,75.5000,38.0000 PTMEAS/CART,27.2500,75.5000,24.0000,-1.0000,-0.0000,-0.0000 PTMEAS/CART,25.8381,78.4319,24.0000,-0.6235,-0.7818,0.0000 PTMEAS/CART,22.6655,79.1560,24.0000,0.2225,-0.9749,0.0000 PTMEAS/CART,20.1214,77.1271,24.0000,0.9010,-0.4339,0.0000 PTMEAS/CART,20.1214,73.8729,24.0000,0.9010,0.4339,0.0000 PTMEAS/CART,22.6655,71.8440,24.0000,0.2225,0.9749,-0.0000 PTMEAS/CART,25.8381,72.5681,24.0000,-0.6235,0.7818,-0.0000 GOTO/23.5000,75.5000,38.0000 SNSET/APPRCH,15.0000 ENDMES COMPARE/OFF $$ COMPARE/ON,MST,'C:\CappsNC8\Files\NCFiles\Circle_Comp_File2.prtmst' $$ F(CR2)=FEAT/CIRCLE,INNER,CART, 11.5000,115.0000,26.0000,0.0000,0.0000,1.0000,9.5000 MEAS/CIRCLE,F(CR2),7 SNSET/APPRCH,3.7500 GOTO/11.5000,115.0000,38.0000 PTMEAS/CART,16.2500,115.0000,24.0000,-1.0000,0.0000,0.0000 PTMEAS/CART,14.4616,118.7137,24.0000,-0.6235,-0.7818,0.0000 PTMEAS/CART,10.4430,119.6309,24.0000,0.2225,-0.9749,0.0000 PTMEAS/CART,7.2204,117.0609,24.0000,0.9010,-0.4339,-0.0000 PTMEAS/CART,7.2204,112.9391,24.0000,0.9010,0.4339,-0.0000 PTMEAS/CART,10.4430,110.3691,24.0000,0.2225,0.9749,-0.0000 PTMEAS/CART,14.4616,111.2863,24.0000,-0.6235,0.7818,-0.0000 GOTO/11.5000,115.0000,38.0000 SNSET/APPRCH,15.0000 ENDMES $$ COMPARE/OFF $$ COMPARE/ON,MST,'C:\CappsNC8\Files\NCFiles\Circle_Comp_File3.prtmst' $$ F(CR3)=FEAT/CIRCLE,INNER,CART, 47.5000,115.0000,26.0000,0.0000,0.0000,1.0000,9.5000 MEAS/CIRCLE,F(CR3),7 SNSET/APPRCH,3.7500 GOTO/47.5000,115.0000,38.0000 PTMEAS/CART,52.2500,115.0000,24.0000,-1.0000,0.0000,0.0000 PTMEAS/CART,50.4616,118.7137,24.0000,-0.6235,-0.7818,0.0000 PTMEAS/CART,46.4430,119.6309,24.0000,0.2225,-0.9749,0.0000 PTMEAS/CART,43.2204,117.0609,24.0000,0.9010,-0.4339,-0.0000 PTMEAS/CART,43.2204,112.9391,24.0000,0.9010,0.4339,-0.0000 PTMEAS/CART,46.4430,110.3691,24.0000,0.2225,0.9749,-0.0000 PTMEAS/CART,50.4616,111.2863,24.0000,-0.6235,0.7818,-0.0000 GOTO/47.5000,115.0000,38.0000 SNSET/APPRCH,15.0000 ENDMES $$ COMPARE/OFF