hexagon logo

Find max, min dia for 'N' numbers of holes

we are using following code to find max and min dia among 93 holes inspected
can someone suggest any alternate way?
ASSIGN/COUNT=0
ASSIGN/NUM_OF_DIM=93
ASSIGN/MMPROF1=0
ASSIGN/MMPROF2=0
ASSIGN/MAX_DIM=0
ASSIGN/MIN_DIM=0
ASSIGN/MAX_PROF=0
ASSIGN/MIN_PROF=0
DO/
ASSIGN/COUNT=COUNT+1
ASSIGN/ID="LOC"+COUNT
ASSIGN/MMPROF1[COUNT]=ID.D.MEAS
ASSIGN/MMPROF2[COUNT]=MMPROF1[COUNT]
UNTIL/COUNT==NUM_OF_DIM
ASSIGN/MAX_DIM=MAXINDEX(MMPROF2)
ASSIGN/MIN_DIM=MININDEX(MMPROF2)
ASSIGN/MAX_PROF=MMPROF2[MAX_DIM]
ASSIGN/MIN_PROF=MMPROF2[MIN_DIM]
F1 =GENERIC/POINT,DEPENDENT,CARTESIAN,$
NOM/XYZ,<1,0,0>,$
MEAS/XYZ,<MAX_PROF,0,0>,$
NOM/IJK,<0,0,1>,$
MEAS/IJK,<0,0,1>
DIM LOC94= LOCATION OF POINT F1 UNITS=IN ,$
GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO
AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
X 1.0000 0.0200 0.0200 1.0000 0.0000 0.0000 --#--
END OF DIMENSION LOC94
F2 =GENERIC/POINT,DEPENDENT,CARTESIAN,$
NOM/XYZ,<1,0,0>,$
MEAS/XYZ,<MIN_PROF,0,0>,$
NOM/IJK,<0,0,1>,$
MEAS/IJK,<0,0,1>
DIM LOC95= LOCATION OF POINT F2 UNITS=IN ,$
GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO
AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
X 1.0000 0.0200 0.0200 1.0000 0.0000 0.0000 --#--
END OF DIMENSION LOC95
  • hello,

    sorry for this many posts but i wanted to finish this.
    Here is the last update. Please let me know if something not working.

    script should now work with FCF Dimension and legacy True Position too
    tested with 2020.1 and 2021.2


    for Geo, FCF and Legacy please use the "Dimension"-Name, like this:
    FCFLOC1 =GEOMETRIC_TOLERANCE/STANDARD=ISO 1101,SHOWEXPANDED=NO,
    SIZE/NOMINAL=45,TOLERANCE SPECIFICATION MODE=NOMINAL_WITH_DEVIATIONS,
    UPPER TOLERANCE=0.1,LOWER TOLERANCE=-0.1,
    SEGMENT_1,POSITION,DIAMETER,0.1,__,A,B,C,
    ADD
    FEATURES/D_45P7_1,D_45P7_2,D_45P7_3,D_45P7_4,,
    
    ASSIGN/VMAX=0
    ASSIGN/VMIN=0
    
    CS1 =SCRIPT/FILENAME= C:\USERS\QS\DESKTOP\DMISMAXMIN.BAS
    FUNCTION/Main,SHOW=NO,ARG1="FCFLOC",ARG2="VMAX",ARG3="VMIN" ,,
    STARTSCRIPT/
    



    for everything else please use "Feature"-Name, like this:
    LOC_1 =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
    THEO/<-2,42,17.5>,<1,0,0>,7
    ACTL/<-2,41.759,17.516>,<1,0,0>,7.019
    TARG/<-2,42,17.5>,<1,0,0>
    START ANG=0,END ANG=360
    ANGLE VEC=<0,0,-1>
    DIRECTION=CCW
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=NO
    
    ASSIGN/VMAX=0
    ASSIGN/VMIN=0
    
    CS1 =SCRIPT/FILENAME= C:\USERS\QS\DESKTOP\DMISMAXMIN.BAS
    FUNCTION/Main,SHOW=NO,ARG1="LOC",ARG2="VMAX",ARG3="VMIN" ,,
    STARTSCRIPT/
    


    (all Features or Dimensions can be in pcDMIS loops)
    (file must be renamed to *.bas to work)

    Attached Files
  • Thank you guys so much. I will have to test it out soon and report back. We do 200+ hole patterns sometimes and everyone wants to know the best and worst for diameter and TP both without having to scan the entire report.