hexagon logo

Report profile of individual sections of a scan

Here is some code to break down a scan into sections and evaluate the profile of each section. (Question was asked how to report a variable profile around a scan)

Given SCN1 is a scan of 20 hits
create 4 sections of 5 hits
calculate profile (T-Value) and report it.

You could use this on as an of any size, and amount of sections. Just adjust the code as needed.

profile is reported like PCDMIS reports it. MAX MIN and the difference between them.

No expressed warrantee. Use and change as you wish.
have fun.

You could add in profile tolerance for each section if you needed it.



$$ NO,*****
$$NO,***** create t-value for each hit in each section
$$ NO,*****
$$ NO,*****
ASSIGN/SECT_1=DOT((SCN1.HIT[1..5].XYZ-SCN1.HIT[1..5]TXYZ),SCN1.HIT[1..5].TIJK)
ASSIGN/SECT_2=DOT((SCN2HIT[6..10].XYZ-SCN2.HIT[6..10].TXYZ),SCN2.HIT[6..10].TIJK)
ASSIGN/SECT_3=DOT((SCN3.HIT[11..15].XYZSCN3.HIT[11..15]TXYZ),SCN3.HIT[11..15].TIJK)
ASSIGN/SECT_4=DOT((SCN4.HIT[16..20].XYZ-SCN4.HIT[16..20]TXYZ),SCN4.HIT[16..20].TIJK)
$$ NO, *****
$$ NO, ***** calculate profile for each section
$$ NO, ***** absolute value of max value - min value
$$ NO, ***** then set variable to 4 place decimal
$$ NO, *****
ASSIGN/MAX_SECT_1=MAX(SECT_1)
ASSIGN/MIN_SECT_1=MIN(SECT_1)
ASSIGN/VAR1=ABS(MAX_SECT_1-MIN_SECT_1)
ASSIGN/PROF_SECT_1=FORMAT("%.4f",VAR1)
COMMENT/REPT, "MAX SECTION 1 = "+MAX_SECT_1
COMMENT/REPT, "MIN SECTION 1 = "+MIN_SECT_1
COMMENT/REPT, "PROFILE OF SECTION 1 ="+PROF_SECT_1

ASSIGN/MAX_SECT_2=MAX(SECT_2)
ASSIGN/MIN_SECT_2=MIN(SECT_2)
ASSIGN/VAR2=ABS(MAX_SECT_2-MIN_SECT_2)
ASSIGN/PROF_SECT_2=FORMAT("%.4f",VAR2)
COMMENT/REPT, "MAX SECTION 2 = "+MAX_SECT_2
COMMENT/REPT, "MIN SECTION 2 = "+MIN_SECT_2
COMMENT/REPT, "PROFILE OF SECTION 2="+PROF_SECT_2

ASSIGN/MAX_SECT_3=MAX(SECT_3)
ASSIGN/MIN_SECT_3=MIN(SECT_3)
ASSIGN/VAR3=ABS(MAX_SECT_3-MIN_SECT_3)
ASSIGN/PROF_SECT_3=FORMAT("%.4f",VAR3)
COMMENT/REPT, "MAX SECTION 3 = "+MAX_SECT_3
COMMENT/REPT, "MIN SECTION 3 = "+MIN_SECT_3
COMMENT/REPT, "PROFILE OF SECTION 3 = "+PROF_SECT_3

ASSIGN/MAX_SECT_4=MAX(SECT_4)
ASSIGN/MIN_SECT_4=MIN(SECT_4)
ASSIGN/VAR4=ABS(MAX_SECT_4-MIN_SECT_4)
ASSIGN/PROF_SECT_4=FORMAT("%.4f",VAR4)
COMMENT/REPT, "MAX SECTION 4 = "+MAX_SECT_
COMMENT/REPT, "MIN SECTION 4 = "+MIN_SECT_4
COMMENT/REPT, "PROFILE OF SECTION 4 = "+PROF_SECT_4]