Decision-making example

This example part has many features.

After milling a Face feature, the first Bore feature is milled, then the second Bore feature , followed by the rest of the features. To avoid unnecessary machining time, you can probe Bore after it is cut and make a decision whether to continue, remachine it, or abort the program, depending on the results of the probe.

  1. Create a Test Jump Label feature to start the process.

    The NC code for this Test Jump Label feature reads:

    (Test Jump Label PROBEOPER TEST_JUMP_LABEL1)

    (Start Bore)

    #101=0

    N11

  2. You want the decision-making process to start after the Face feature, so set the Base priority for the Test Jump Label to 2, and drag the feature to the correct place in the Part View.
  3. Create a Measure Boss/Bore feature to probe Bore1 after it has been milled.
  4. Create a Test Abort/Continue/Remachine feature to control what happens after the probing. For this example the following values are set:

    Nominal Value 27.000

    Tolerance Value 0.050

    Continue Label 12

    Remachine Label 11 (the value that was set for the starting Test Jump Label)

    Size Error 13

  5. Set the Base priority to 5 because you want this to be the 5th feature (after the Face feature, starting Test Jump Label, Bore1 feature, and Measure Boss/Bore feature).

    The NC code for this Test Abort/Continue/Remachine feature reads:

    ( Test Abort/Continue/Remachine PROBEOPER TEST_ABORT_CONTINUE_REMACHINE1 )

    (Remachining check conditional)

    (Begin decision sequence)

    #102=27 (nominal value)

    #104=[#102-#510] (signed difference of actual from nominal)

    #103=0.05 (tolerance value)

    (Decision 1)

    IF [ABS[#104]LT#103] GOTO 12 (within tolerance case)

    (Decision 2)

    IF [#104LT0]GOTO 13

    (Decision 1 and 2 skipped)

    [#101=#101+1]

    IF [#101EQ1] GOTO 11 (run toolpath again)

    DPRNT[Error: Second Required Remachining]

    GOTO 99999

    (Decision 2 result)

    N13

    DPRNT[Error: Too Big]

    GOTO 99999

    (Decision 1 result)

    N12

    N835 M5 M9

    N840 G91 Z0

    N845 M01

  6. Create an Abort label at the end of the NC code:

  7. Set its Base priority to a large number, such as 100.

    The NC code for this Test Jump Label feature reads:

    ( Test Jump Label PROBEOPER TEST_JUMP_LABEL3 )

    (Abort)

    #101=0

    N99999