hexagon logo

excel report of textual analysis

I did a textual analysis for each hit point. The deviation of each hit point can be seen in the report window with pdf type. Since the data need to be analyzed in JMP, I hope to export excel/txt version. Does anyone know if there is a method to export textual analysis results for each hit point? Thanks.
Parents
  • You can use the GETTEXT and GETTEXTEX functions to pull data from the textual analysis label.

    Example code...

    
    For LEGACY dimensions
    
    DIM PROF1= PROFILE OF SURFACE OF PLANE KNF_PLN_2    FORMANDLOCATION  UNITS=IN ,$
    GRAPH=OFF  TEXT=ON  MULT=500.00  ARROWDENSITY=100  OUTPUT=BOTH
    AX    NOMINAL       +TOL       -TOL       MEAS        DEV        MAX        MIN     OUTTOL
    M      0.00000    0.00100    0.00000    0.00564    0.00564    0.00282   -0.00282    0.00464 |------->
                ASSIGN/HNUM=0
                ASSIGN/H_MAX=0
                ASSIGN/H_MIN=0
                ASSIGN/MAX_X=0
                ASSIGN/MAX_Y=0
                ASSIGN/MAX_Z=0
                ASSIGN/MAX_I=0
                ASSIGN/MAX_J=0
                ASSIGN/MAX_K=0
                ASSIGN/MAX_DEV=0
                ASSIGN/MIN_X=0
                ASSIGN/MIN_Y=0
                ASSIGN/MIN_Z=0
                ASSIGN/MIN_I=0
                ASSIGN/MIN_J=0
                ASSIGN/MIN_K=0
                ASSIGN/MIN_DEV=0
                ASSIGN/FN={PROF1}
                DO/
                  ASSIGN/HNUM=HNUM+1
                  ASSIGN/V2=GETTEXT(762,HNUM,FN)
                  IF/V2=="MAX"
                    ASSIGN/H_MAX=HNUM
                    ASSIGN/MAX_X=GETTEXT(755,HNUM,FN)
                    ASSIGN/MAX_Y=GETTEXT(756,HNUM,FN)
                    ASSIGN/MAX_Z=GETTEXT(757,HNUM,FN)
                    ASSIGN/MAX_I=GETTEXT(758,HNUM,FN)
                    ASSIGN/MAX_J=GETTEXT(759,HNUM,FN)
                    ASSIGN/MAX_K=GETTEXT(760,HNUM,FN)
                    ASSIGN/MAX_DEV=GETTEXT(761,HNUM,FN)
                  END_IF/
                  IF/V2=="MIN"
                    ASSIGN/H_MIN=HNUM
                    ASSIGN/MIN_X=GETTEXT(755,HNUM,FN)
                    ASSIGN/MIN_Y=GETTEXT(756,HNUM,FN)
                    ASSIGN/MIN_Z=GETTEXT(757,HNUM,FN)
                    ASSIGN/MIN_I=GETTEXT(758,HNUM,FN)
                    ASSIGN/MIN_J=GETTEXT(759,HNUM,FN)
                    ASSIGN/MIN_K=GETTEXT(760,HNUM,FN)
                    ASSIGN/MIN_DEV=GETTEXT(761,HNUM,FN)
                  END_IF/
                UNTIL/HNUM==KNF_PLN_2.NUMHITS
                COMMENT/REPT,
                "Min is hit No "+H_MIN+"  "+MIN_X+","+MIN_Y+","+MIN_Z+","+MIN_I+","+MIN_J+","+MIN_K+"  Dev = "+MIN_DEV
                "Max is hit No "+H_MAX+"  "+MAX_X+","+MAX_Y+","+MAX_Z+","+MAX_I+","+MAX_J+","+MAX_K+"  Dev = "+MIN_DEV
                COMMENT/REPT,
                
                
                
    F1         =GENERIC/LINE,DEPENDENT,CARTESIAN,$
                NOM/XYZ,<CENTER_AXIS.TX,CENTER_AXIS.TY,CENTER_AXIS.TZ>,$
                MEAS/XYZ,<CENTER_AXIS.X,CENTER_AXIS.Y,CENTER_AXIS.Z>,$
                NOM/IJK,<CENTER_AXIS.TI,CENTER_AXIS.TJ,CENTER_AXIS.TK>,$
                MEAS/IJK,<CENTER_AXIS.I,CENTER_AXIS.J,CENTER_AXIS.K>,$
                DISTANCE/CENTER_AXIS.TL,CENTER_AXIS.L
                DATDEF/A,FEATURES=20040CYL,,
                DATDEF/B,FEATURES=DRIVE_CYL,,
                DATDEF/A-B,FEATURES=20040CYL,DRIVE_CYL,,
                DATDEF/X,FEATURES=F1,,
    
    
    
    
    For GEOMETRIC TOLERANCE commands
    
    
    
    
    FCFPROF2   =GEOMETRIC_TOLERANCE/STANDARD=ASME Y14.5,SHOWEXPANDED=YES,
                DESCRIPTION=OFF,,
                DISPLAY_COORDS=CURRENT_ALIGNMENT,
                UNITS=IN,OUTPUT=BOTH,ARROWDENSITY=100,
                SEGMENT_1,PROFILE_SURFACE,0.002,__,__,X,<dat>,<dat>,
                TEXT=ON,CADGRAPH=ON,REPORTGRAPH=OFF,MULT=500,
                  MEASURED:
                    KNF_PLN_2:0.00564,
                ADD
                FEATURES/KNF_PLN_2,,
                ASSIGN/HNUM=0
                ASSIGN/H_MAX=0
                ASSIGN/H_MIN=0
                ASSIGN/MAX_X=0
                ASSIGN/MAX_Y=0
                ASSIGN/MAX_Z=0
                ASSIGN/MAX_I=0
                ASSIGN/MAX_J=0
                ASSIGN/MAX_K=0
                ASSIGN/MAX_DEV=0
                ASSIGN/MIN_X=0
                ASSIGN/MIN_Y=0
                ASSIGN/MIN_Z=0
                ASSIGN/MIN_I=0
                ASSIGN/MIN_J=0
                ASSIGN/MIN_K=0
                ASSIGN/MIN_DEV=0
                ASSIGN/FN={FCFPROF2}
                DO/
                  ASSIGN/HNUM=HNUM+1
                  ASSIGN/V2=GETTEXTEX(762,HNUM,"SEG=1",FN)
                  IF/V2=="MAX"
                    ASSIGN/H_MAX=HNUM
                    ASSIGN/MAX_X=GETTEXTEX(755,HNUM,"SEG=1",FN)
                    ASSIGN/MAX_Y=GETTEXTEX(756,HNUM,"SEG=1",FN)
                    ASSIGN/MAX_Z=GETTEXTEX(757,HNUM,"SEG=1",FN)
                    ASSIGN/MAX_I=GETTEXTEX(758,HNUM,"SEG=1",FN)
                    ASSIGN/MAX_J=GETTEXTEX(759,HNUM,"SEG=1",FN)
                    ASSIGN/MAX_K=GETTEXTEX(760,HNUM,"SEG=1",FN)
                    ASSIGN/MAX_DEV=GETTEXTEX(761,HNUM,"SEG=1",FN)
                  END_IF/
                  IF/V2=="MIN"
                    ASSIGN/H_MIN=HNUM
                    ASSIGN/MIN_X=GETTEXTEX(755,HNUM,"SEG=1",FN)
                    ASSIGN/MIN_Y=GETTEXTEX(756,HNUM,"SEG=1",FN)
                    ASSIGN/MIN_Z=GETTEXTEX(757,HNUM,"SEG=1",FN)
                    ASSIGN/MIN_I=GETTEXTEX(758,HNUM,"SEG=1",FN)
                    ASSIGN/MIN_J=GETTEXTEX(759,HNUM,"SEG=1",FN)
                    ASSIGN/MIN_K=GETTEXTEX(760,HNUM,"SEG=1",FN)
                    ASSIGN/MIN_DEV=GETTEXTEX(761,HNUM,"SEG=1",FN)
                  END_IF/
                UNTIL/HNUM==KNF_PLN_2.NUMHITS
                COMMENT/REPT,
                "Min is hit No "+H_MIN+"  "+MIN_X+","+MIN_Y+","+MIN_Z+","+MIN_I+","+MIN_J+","+MIN_K+"  Dev = "+MIN_DEV
                "Max is hit No "+H_MAX+"  "+MAX_X+","+MAX_Y+","+MAX_Z+","+MAX_I+","+MAX_J+","+MAX_K+"  Dev = "+MIN_DEV​
    



    GETTEXT and GETTEXTEX use data types (full list here : PC-DMIS Help Center - 2020.2 (hexagonmi.com)​). These are the data types you'd need for the textual analysis.

    755 = TEXTANAL_LABEL_MEAS_X
    756 = TEXTANAL_LABEL_MEAS_Y
    757 = TEXTANAL_LABEL_MEAS_Z
    758 = TEXTANAL_LABEL_MEAS_X
    759 = TEXTANAL_LABEL_MEAS_X
    760 = TEXTANAL_LABEL_MEAS_X
    761 = TEXTANAL_LABEL_DEV


    You can also access the information through automation (scripting) which would be much more efficient.
Reply
  • You can use the GETTEXT and GETTEXTEX functions to pull data from the textual analysis label.

    Example code...

    
    For LEGACY dimensions
    
    DIM PROF1= PROFILE OF SURFACE OF PLANE KNF_PLN_2    FORMANDLOCATION  UNITS=IN ,$
    GRAPH=OFF  TEXT=ON  MULT=500.00  ARROWDENSITY=100  OUTPUT=BOTH
    AX    NOMINAL       +TOL       -TOL       MEAS        DEV        MAX        MIN     OUTTOL
    M      0.00000    0.00100    0.00000    0.00564    0.00564    0.00282   -0.00282    0.00464 |------->
                ASSIGN/HNUM=0
                ASSIGN/H_MAX=0
                ASSIGN/H_MIN=0
                ASSIGN/MAX_X=0
                ASSIGN/MAX_Y=0
                ASSIGN/MAX_Z=0
                ASSIGN/MAX_I=0
                ASSIGN/MAX_J=0
                ASSIGN/MAX_K=0
                ASSIGN/MAX_DEV=0
                ASSIGN/MIN_X=0
                ASSIGN/MIN_Y=0
                ASSIGN/MIN_Z=0
                ASSIGN/MIN_I=0
                ASSIGN/MIN_J=0
                ASSIGN/MIN_K=0
                ASSIGN/MIN_DEV=0
                ASSIGN/FN={PROF1}
                DO/
                  ASSIGN/HNUM=HNUM+1
                  ASSIGN/V2=GETTEXT(762,HNUM,FN)
                  IF/V2=="MAX"
                    ASSIGN/H_MAX=HNUM
                    ASSIGN/MAX_X=GETTEXT(755,HNUM,FN)
                    ASSIGN/MAX_Y=GETTEXT(756,HNUM,FN)
                    ASSIGN/MAX_Z=GETTEXT(757,HNUM,FN)
                    ASSIGN/MAX_I=GETTEXT(758,HNUM,FN)
                    ASSIGN/MAX_J=GETTEXT(759,HNUM,FN)
                    ASSIGN/MAX_K=GETTEXT(760,HNUM,FN)
                    ASSIGN/MAX_DEV=GETTEXT(761,HNUM,FN)
                  END_IF/
                  IF/V2=="MIN"
                    ASSIGN/H_MIN=HNUM
                    ASSIGN/MIN_X=GETTEXT(755,HNUM,FN)
                    ASSIGN/MIN_Y=GETTEXT(756,HNUM,FN)
                    ASSIGN/MIN_Z=GETTEXT(757,HNUM,FN)
                    ASSIGN/MIN_I=GETTEXT(758,HNUM,FN)
                    ASSIGN/MIN_J=GETTEXT(759,HNUM,FN)
                    ASSIGN/MIN_K=GETTEXT(760,HNUM,FN)
                    ASSIGN/MIN_DEV=GETTEXT(761,HNUM,FN)
                  END_IF/
                UNTIL/HNUM==KNF_PLN_2.NUMHITS
                COMMENT/REPT,
                "Min is hit No "+H_MIN+"  "+MIN_X+","+MIN_Y+","+MIN_Z+","+MIN_I+","+MIN_J+","+MIN_K+"  Dev = "+MIN_DEV
                "Max is hit No "+H_MAX+"  "+MAX_X+","+MAX_Y+","+MAX_Z+","+MAX_I+","+MAX_J+","+MAX_K+"  Dev = "+MIN_DEV
                COMMENT/REPT,
                
                
                
    F1         =GENERIC/LINE,DEPENDENT,CARTESIAN,$
                NOM/XYZ,<CENTER_AXIS.TX,CENTER_AXIS.TY,CENTER_AXIS.TZ>,$
                MEAS/XYZ,<CENTER_AXIS.X,CENTER_AXIS.Y,CENTER_AXIS.Z>,$
                NOM/IJK,<CENTER_AXIS.TI,CENTER_AXIS.TJ,CENTER_AXIS.TK>,$
                MEAS/IJK,<CENTER_AXIS.I,CENTER_AXIS.J,CENTER_AXIS.K>,$
                DISTANCE/CENTER_AXIS.TL,CENTER_AXIS.L
                DATDEF/A,FEATURES=20040CYL,,
                DATDEF/B,FEATURES=DRIVE_CYL,,
                DATDEF/A-B,FEATURES=20040CYL,DRIVE_CYL,,
                DATDEF/X,FEATURES=F1,,
    
    
    
    
    For GEOMETRIC TOLERANCE commands
    
    
    
    
    FCFPROF2   =GEOMETRIC_TOLERANCE/STANDARD=ASME Y14.5,SHOWEXPANDED=YES,
                DESCRIPTION=OFF,,
                DISPLAY_COORDS=CURRENT_ALIGNMENT,
                UNITS=IN,OUTPUT=BOTH,ARROWDENSITY=100,
                SEGMENT_1,PROFILE_SURFACE,0.002,__,__,X,<dat>,<dat>,
                TEXT=ON,CADGRAPH=ON,REPORTGRAPH=OFF,MULT=500,
                  MEASURED:
                    KNF_PLN_2:0.00564,
                ADD
                FEATURES/KNF_PLN_2,,
                ASSIGN/HNUM=0
                ASSIGN/H_MAX=0
                ASSIGN/H_MIN=0
                ASSIGN/MAX_X=0
                ASSIGN/MAX_Y=0
                ASSIGN/MAX_Z=0
                ASSIGN/MAX_I=0
                ASSIGN/MAX_J=0
                ASSIGN/MAX_K=0
                ASSIGN/MAX_DEV=0
                ASSIGN/MIN_X=0
                ASSIGN/MIN_Y=0
                ASSIGN/MIN_Z=0
                ASSIGN/MIN_I=0
                ASSIGN/MIN_J=0
                ASSIGN/MIN_K=0
                ASSIGN/MIN_DEV=0
                ASSIGN/FN={FCFPROF2}
                DO/
                  ASSIGN/HNUM=HNUM+1
                  ASSIGN/V2=GETTEXTEX(762,HNUM,"SEG=1",FN)
                  IF/V2=="MAX"
                    ASSIGN/H_MAX=HNUM
                    ASSIGN/MAX_X=GETTEXTEX(755,HNUM,"SEG=1",FN)
                    ASSIGN/MAX_Y=GETTEXTEX(756,HNUM,"SEG=1",FN)
                    ASSIGN/MAX_Z=GETTEXTEX(757,HNUM,"SEG=1",FN)
                    ASSIGN/MAX_I=GETTEXTEX(758,HNUM,"SEG=1",FN)
                    ASSIGN/MAX_J=GETTEXTEX(759,HNUM,"SEG=1",FN)
                    ASSIGN/MAX_K=GETTEXTEX(760,HNUM,"SEG=1",FN)
                    ASSIGN/MAX_DEV=GETTEXTEX(761,HNUM,"SEG=1",FN)
                  END_IF/
                  IF/V2=="MIN"
                    ASSIGN/H_MIN=HNUM
                    ASSIGN/MIN_X=GETTEXTEX(755,HNUM,"SEG=1",FN)
                    ASSIGN/MIN_Y=GETTEXTEX(756,HNUM,"SEG=1",FN)
                    ASSIGN/MIN_Z=GETTEXTEX(757,HNUM,"SEG=1",FN)
                    ASSIGN/MIN_I=GETTEXTEX(758,HNUM,"SEG=1",FN)
                    ASSIGN/MIN_J=GETTEXTEX(759,HNUM,"SEG=1",FN)
                    ASSIGN/MIN_K=GETTEXTEX(760,HNUM,"SEG=1",FN)
                    ASSIGN/MIN_DEV=GETTEXTEX(761,HNUM,"SEG=1",FN)
                  END_IF/
                UNTIL/HNUM==KNF_PLN_2.NUMHITS
                COMMENT/REPT,
                "Min is hit No "+H_MIN+"  "+MIN_X+","+MIN_Y+","+MIN_Z+","+MIN_I+","+MIN_J+","+MIN_K+"  Dev = "+MIN_DEV
                "Max is hit No "+H_MAX+"  "+MAX_X+","+MAX_Y+","+MAX_Z+","+MAX_I+","+MAX_J+","+MAX_K+"  Dev = "+MIN_DEV​
    



    GETTEXT and GETTEXTEX use data types (full list here : PC-DMIS Help Center - 2020.2 (hexagonmi.com)​). These are the data types you'd need for the textual analysis.

    755 = TEXTANAL_LABEL_MEAS_X
    756 = TEXTANAL_LABEL_MEAS_Y
    757 = TEXTANAL_LABEL_MEAS_Z
    758 = TEXTANAL_LABEL_MEAS_X
    759 = TEXTANAL_LABEL_MEAS_X
    760 = TEXTANAL_LABEL_MEAS_X
    761 = TEXTANAL_LABEL_DEV


    You can also access the information through automation (scripting) which would be much more efficient.
Children
No Data