Change Dimension Nominal according to Input

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Change Dimension Nominal according to Input

    I have a part with a o-ring groove in it. We finish machine the entire part with the exception of the o-ring, which we leave .010" of stock on each side of the o-ring. we still check the o-ring in the rough state by constructing a line between each wall, and making sure the center of the o-ring is in the correct place.

    After the part is anodized, we finish machine the o-ring. My question is this- How do I use a simple input from the operator like "Is this op 1, or op 2" to change the nominals of the o-ring width, ie Dist1 between 2 lines?

  • #2

    Are you sure this is blade related?????

    But from the information provided you could just have an if statement? If operator input == YES then do A, if operator input == NO then do B.

    Comment


    • #3
      Look into CASE and SELECT CASE in the help files.

      Mike
      You can never tell exactly how deep a mud puddle is without getting your feet wet -- Dennis the Menice

      Comment


      • #4
        ASSIGN/V1=First op value
        C1=COMMENT/YESNO "Is this OP 2"
        IF/C1.INPUT=="YES" ASSIGN/V1=second op value

        Change the nominal in the report to V1

        Comment


        • #5
          Just a thought . . . assuming your parts are serialized . . .

          Using input/variables is certainly an easy way to go. As shown in earlier posts.

          Years ago we had a family of parts that all required a special coating be applied to a close tolerance
          ID. And the coating thickness needed to be recorded as well.

          To make a long story short . . .

          Their method of doing this "before" was to measure each machined ID. Then actually write down the
          answer on a log sheet, along with the serial number. Then a month later when they got the parts back,
          re-measure each ring again. Match the result to the same ser no from before, and calculate the thickness.

          UGGHHH!

          So I said . . . You need a CMM program for that.

          To avoid the time of an operator answering input questions, and needing to keep a log, and look up a
          ser no for every run, etc. . . .

          I made a data base. (You could also just do this with a matrix) When a program ran, there was one
          input prompt to enter serial number. The ser no was dumped into the DB along with the other
          dimensional output when the program was finished.

          When the program ran on the same casting a while later, (days, weeks) the ser no was again input. But this time,
          because the casting had already run, (program looks for the input ser no right after input is done) the program
          jumped to a section of the program that . . .

          opened the data base, snagged the value for the finished ID, used it as NOM, measured the ID again, and calculated
          the coating thickness by subtracting the now coated ID size from the machined ID size, and dividing it by 2.

          Final answer is . . . Coating thickness = 0.0048"

          Bingo.

          Comment


          • #6
            If this is indeed being done through Bladerunner (we make mostly airfoils/impellers, but get into other non airfoil jobs, and still use Bladerunner as the Frontend), you could have the Operation name/number as one of your 'stats' fields. Then when you 'read in' the Header.txt, you can create a pointer/variable that could be used as described above, but with a twist.

            using the 'INDEX' function with an 'IF', you can determine the operation on the fly without Operator input (this code assumes you have made your pointer/variable 'OP', which points to the text after "OPERATION=" in the Header.txt file, and that your OP file calls them "OP1," or "OP2", and let's just assume your nominal finished width is 0.123").
            Code:
            ASSIGN/NOM=0.123
            IF/INDEX(OP,"OP1")<>0
            ASSIGN/NOM=NOM-0.02
            END_IF/
            The 'INDEX' function in this case is being used as a switch. Its main use is to find the position of a string within the variable in question, but in this way you can also just find whether that string exists at all. So, if you want to know if this is OP1, you essentially want to know that the position of the string 'OP1' IS NOT ZERO (<>0). Or if say you want to do something only if it is not OP2, you want to verify that the position of the string 'OP2' IS ZERO (==0)...

            Then you just use the variable "NOM" as the nominal in your dimension command.

            Code:
            DIM BD100= 2D DISTANCE FROM POINT PNT_ID TO POINT PNT_OD PAR TO   XAXIS,NO_RADIUS  UNITS=IN,$
            GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH
            AX    NOMINAL       +TOL       -TOL       MEAS        DEV     OUTTOL
            M       NOM     0.0050     0.0050     0.1250     0.002     0.0000 -----#---
            Heh, I am just now noticing that this thread was started in February...

            Comment

            Working...
            X