Skip to main content
1-Visitor
July 22, 2022
Question

REPEAT REGIONS

  • July 22, 2022
  • 1 reply
  • 997 views

Is it possible to use relations in a repeat relation to covert decimal #s to fractions? 

I was having issues with some ITOS formulas I found online but I developed some if statements that work well. (sample below) They work well at the part level but I am having issues adapting for the repeat region.

 

WHOLE=FLOOR(ASM_MBR_FLAT_PATT_L)
DECIMAL=ASM_MBR_FLAT_PATT_L-WHOLE
 
IF (DECIMAL<.03125)
FRACTION=""
ELSE
IF DEAD(DECIMAL,0.03125,0.09374)==0
FRACTION="1/16"
ELSE
IF DEAD(DECIMAL,0.09375,0.15624)==0
FRACTION="1/8"
ELSE
IF DEAD(DECIMAL,0.15625,0.21874)==0
FRACTION="3/16"
ELSE
IF DEAD(DECIMAL,0.21875,0.28124)==0
FRACTION="1/4"
ELSE

1 reply

21-Topaz II
July 23, 2022

As you've found, relations are pretty terrible for doing things like calculating the fractional equivalent of a decimal number, because they lack basic looping capabilities, You're therefore forced to a rather unweildy clump of nested IF-ENDIF statements. It works, but is really not a nice construct.

 

Anyway, I don't know what kind of relations examples you've found but here's a chunk from one of my generic bolt models that is trying to calculate the "multiple of 2" fraction (2, 4, 8, 16, 32) that a given decimal number is closest to. Hopefully that's the kind of fraction you are after, and not things like 11/13 and the like

In this snippet, diaNom is the number being looked at, and txtDiaNom is the resultant string containing the fraction.

 txtDiaNom = ITOS ( floor ( diaNom * 32 ) ) + "/32"
 IF MOD ( floor ( diaNom * 32 ), 2 ) < 1
 txtDiaNom = ITOS ( floor ( diaNom * 16 ) ) + "/16"
 IF MOD ( floor ( diaNom * 16 ), 2 ) < 1
 txtDiaNom = ITOS ( floor ( diaNom * 8 ) ) + "/8"
 IF MOD ( floor ( diaNom * 8 ), 2 ) < 1
 txtDiaNom = ITOS ( floor ( diaNom * 4 ) ) + "/4"
 IF MOD ( floor ( diaNom * 4 ), 2 ) < 1
 txtDiaNom = ITOS ( floor ( diaNom * 2 ) ) + "/2"
 ENDIF
 ENDIF
 ENDIF
 ENDIF

Hopefully all the functions (MOD, floor, ITOS) are available in repeat region calculations.

1-Visitor
July 23, 2022

Actually more interested in how to place relations in the repeat region and have the work than the formulas themselves but thank you for the information.