hexagon logo

variable selection for part size

Below is the code I came up with to execute the program based off an operator input. They input the size PC-Dmis does the rest for them. Starts with a read.point and goes from there. As long as the leave the stylus tip in a general location works without a problem. The only problem I am running into is the comments under my "if" statements for part rev. is showing up on every run. Not just the correct size. It does not however execute the operator comment box if they input the wrong size. Any thoughts as to why this happens?

Either way. here is a nifty code sequence to execute a family of parts with few changing dimensions. Using do/until, select and case.


C1         =COMMENT/INPUT,NO,'Operator Clock #'
C2         =COMMENT/INPUT,NO,'Job #'
C3         =COMMENT/INPUT,NO,'Sample #'
SIZE INPUT =LABEL/
C4         =COMMENT/INPUT,NO,'Size of Part.  00-5003-0XX, 5XX-60,  XX = Size'
            COMMENT/REPT,"Today's Date: " + SYSTEMDATE("dddd', 'MM''dd''yyyy'")
            COMMENT/REPT,"Today's Time: " + SYSTEMTIME("HH':'mm':'ss'")
            COMMENT/REPT,"Operator: " + C1.INPUT
            COMMENT/REPT,"Job #: " + C2.INPUT
            COMMENT/REPT,"Part Size: " + C4.INPUT
VARIABLES  =LABEL/
            DO/
            ASSIGN/SIZE=C4.INPUT
            SELECT/SIZE
            CASE/38
            ASSIGN/A=1.070
            ASSIGN/B=1.496
            ASSIGN/C=.040
            END_CASE/
            CASE/39
            ASSIGN/A=1.089
            ASSIGN/B=1.535
            ASSIGN/C=.055
            END_CASE/
            CASE/40
            ASSIGN/A=1.109
            ASSIGN/B=1.575
            ASSIGN/C=.055
            END_CASE/
            CASE/41
            ASSIGN/A=1.129
            ASSIGN/B=1.614
            ASSIGN/C=.085
            END_CASE/
            CASE/42
            ASSIGN/A=1.149
            ASSIGN/B=1.654
            ASSIGN/C=.105
            END_CASE/
            CASE/43
            ASSIGN/A=1.169
            ASSIGN/B=1.693
            ASSIGN/C=.105
            END_CASE/
            CASE/44
            ASSIGN/A=1.267
            ASSIGN/B=1.732
            ASSIGN/C=.015
            END_CASE/
            CASE/45
            ASSIGN/A=1.287
            ASSIGN/B=1.772
            ASSIGN/C=.035
            END_CASE/
            CASE/46
            ASSIGN/A=1.306
            ASSIGN/B=1.811
            ASSIGN/C=.055
            END_CASE/
            CASE/47
            ASSIGN/A=1.324
            ASSIGN/B=1.850
            ASSIGN/C=.075
            END_CASE/
            CASE/48
            ASSIGN/A=1.344
            ASSIGN/B=1.890
            ASSIGN/C=.095
            END_CASE/
            CASE/49
            ASSIGN/A=1.363
            ASSIGN/B=1.929
            ASSIGN/C=.105
            END_CASE/
            CASE/50
            ASSIGN/A=1.383
            ASSIGN/B=1.969
            ASSIGN/C=.070
            END_CASE/
            CASE/51
            ASSIGN/A=1.405
            ASSIGN/B=2.008
            ASSIGN/C=.090
            END_CASE/
            CASE/52
            ASSIGN/A=1.422
            ASSIGN/B=2.047
            ASSIGN/C=.110
            END_CASE/
            CASE/53
            ASSIGN/A=1.442
            ASSIGN/B=2.087
            ASSIGN/C=.130
            END_CASE/
            CASE/54
            ASSIGN/A=1.462
            ASSIGN/B=2.126
            ASSIGN/C=.150
            END_CASE/
            CASE/55
            ASSIGN/A=1.481
            ASSIGN/B=2.165
            ASSIGN/C=.150
            END_CASE/
            CASE/57
            ASSIGN/A=1.521
            ASSIGN/B=2.244
            ASSIGN/C=.150
            END_CASE/
            CASE/58
            ASSIGN/A=1.541
            ASSIGN/B=2.283
            ASSIGN/C=.150
            END_CASE/
            CASE/60
            ASSIGN/A=1.582
            ASSIGN/B=2.362
            ASSIGN/C=.085
            END_CASE/
            CASE/62
            ASSIGN/A=1.620
            ASSIGN/B=2.441
            ASSIGN/C=.105
            END_CASE/
            CASE/63
            ASSIGN/A=1.641
            ASSIGN/B=2.480
            ASSIGN/C=.115
            END_CASE/
            CASE/64
            ASSIGN/A=1.659
            ASSIGN/B=2.520
            ASSIGN/C=.125
            END_CASE/
            CASE/66
            ASSIGN/A=1.689
            ASSIGN/B=2.598
            ASSIGN/C=.150
            END_CASE/
            CASE/68
            ASSIGN/A=1.738
            ASSIGN/B=2.677
            ASSIGN/C=.150
            END_CASE/
            CASE/70
            ASSIGN/A=1.779
            ASSIGN/B=2.760
            ASSIGN/C=.150
            END_CASE/
            CASE/72
            ASSIGN/A=1.816
            ASSIGN/B=2.835
            ASSIGN/C=.150
            END_CASE/
            END_SELECT/
            ASSIGN/END=1
            UNTIL/END == 1
            IF/SIZE >= 38 AND SIZE <= 43
            COMMENT/REPT,Part Rev:  K
            ASSIGN/BOTPLND=.450
            ASSIGN/BOTPLNZ=-.912
            ASSIGN/ISRZ=-.348
            ASSIGN/ISR=.663
            ASSIGN/ID=1.274
            ASSIGN/IGD=1.368
            ASSIGN/LIPWIDTH=.290
            ASSIGN/SLOTRD=.550
            END_IF/
            IF/SIZE >= 44 AND SIZE <= 46
            COMMENT/REPT,Part Rev:  L
            ASSIGN/BOTPLND=.590
            ASSIGN/BOTPLNZ=-1.111
            ASSIGN/ISRZ=-.405
            ASSIGN/ISR=.767
            ASSIGN/ID=1.513
            ASSIGN/IGD=1.607
            ASSIGN/LIPWIDTH=.445
            ASSIGN/SLOTRD=.690
            END_IF/
            IF/SIZE >= 47 AND SIZE <= 49
            COMMENT/REPT,Part Rev:  L
            ASSIGN/BOTPLND=.550
            ASSIGN/BOTPLNZ=-1.168
            ASSIGN/ISRZ=-.378
            ASSIGN/ISR=.767
            ASSIGN/ID=1.513
            ASSIGN/IGD=1.607
            ASSIGN/LIPWIDTH=.445
            ASSIGN/SLOTRD=.690
            END_IF/
            IF/SIZE >= 50 AND SIZE <= 58
            COMMENT/REPT,Part Rev:  L
            ASSIGN/BOTPLND=.590
            ASSIGN/BOTPLNZ=-1.193
            ASSIGN/ISRZ=-.458
            ASSIGN/ISR=.836
            ASSIGN/ID=1.624
            ASSIGN/IGD=1.715
            ASSIGN/LIPWIDTH=.445
            ASSIGN/SLOTRD=.690
            END_IF/
            IF/SIZE >= 60 AND SIZE <= 72
            COMMENT/REPT,Part Rev:  L
            ASSIGN/BOTPLND=.590
            ASSIGN/BOTPLNZ=-1.317
            ASSIGN/ISRZ=-.374
            ASSIGN/ISR=1.033
            ASSIGN/ID=2.014
            ASSIGN/IGD=2.108
            ASSIGN/LIPWIDTH=.445
            ASSIGN/SLOTRD=.690
            END_IF/
            IF/SIZE < 38 OR SIZE > 72 OR SIZE == 56 OR SIZE == 59 OR SIZE == 61 OR SIZE == 65 OR SIZE == 67 OR SIZE == 69 OR SIZE == 71
            COMMENT/OPER,NO,Verify Size input.
            GOTO/SIZE INPUT
            END_IF/
PROGRAM START=LABEL/