hexagon logo

How can I use the same saved solution on the same object with different direction

I am new to CMM with one month experience.
My software is Rationaldmis 2023.1. One of its functions is saving the measured routes into solution file then the user can auto or semi-auto measure the same object with the solution saved at last time. However I can't put the object on exactly the same position and direction as last time. How can I shift the measuring routes or coordination to the new one so I can adopt the solution file appropriately.
Btw the forum title is PC-DMIS but I saw many Rationaldmis discussions as well. What is the difference between PC-DMIS and Rationaldmis?
Parents
  • It sounds like you need to perform a manual alignment - switch to MODE/MAN - at the beginning of your program. This would allow you to "find" the location of the part by manually measuring features, driving the machine from the jog box. Once the manual alignment is complete, you can switch back to MODE/PROG, MAN or MODE AUTO, PROG, MAN

    In terms of how Rational DMIS differs from PC-DMIS - it is a completely different software (formerly branded as Open DMIS) and uses native DMIS code as it's programming language. Although PC-DMIS can read DMIS code (and display it in the edit window if desired), it has it's own programming language - which you will see in the many code extracts posted on this forum.

    It's over 12 years since I last worked with Open DMIS but I managed to find an old solution which shows a manual alignment being performed to locate the part...

    UNITS/MM, ANGDEC
    WKPLAN/XYPLAN
    PRCOMP/ON
    TECOMP/OFF
    FLY/0.5
    MODE/PROG, MAN
    SNSET/APPRCH, 4.000000
    SNSET/RETRCT, 4.000000
    SNSET/DEPTH, 0.000000
    SNSET/SEARCH, 10.000000
    SNSET/CLRSRF, OFF
    RECALL/D(MCS)
    GEOALG/CIRCLE, LSTSQR
    GEOALG/ARC, LSTSQR
    GEOALG/PLANE, LSTSQR
    DMESW/COMAND,'RESETDB'
    $$
    $$
    $$ Delete output screen contents
    $$ Set.Term.Delete
    DID(DEFAULTFILE) = DEVICE/STOR,'N:\open dmis\RESULTS\SERCK\34557\34557-8009.out'
    OPEN/DID(DEFAULTFILE),FDATA,V(DEFAULTFORMAT),OUTPUT,APPEND
    DID(DEFAULTSCREEN) = DEVICE/TERM,'SCREENOUTPUT'
    OPEN/DID(DEFAULTSCREEN),FDATA,V(DEFAULTFORMAT),OUTPUT
    
    MODE/PROG,MAN
    TEXT/OPER,'CLICK OK TO CHANGE PROBE TO 1_4X20_A90_B180'
    SNSLCT/S(1_4X20_A90_B180)
    
    DECL/COMMON,DOUBLE,MC_CHK_X,MC_CHK_Y,MC_CHK_Z
    MC_CHK_X = VALUE/GOTO,XAXIS
    MC_CHK_Y = VALUE/GOTO,YAXIS
    MC_CHK_Z = VALUE/GOTO,ZAXIS
    
    DECL/COMMON,CHAR,255,TTIME,DDATE
    TTIME=ASSIGN/STIME()
    DDATE=ASSIGN/SDATE()
    WRITE/DID(DEFAULTFILE),TTIME,'  ',DDATE
    WRITE/DID(DEFAULTSCREEN),TTIME,'  ',DDATE
    
    
    TEXT/OUTFIL,' '
    TEXT/OUTFIL,'INSPECTOR  :'
    TEXT/OUTFIL,'MACHINE    :'
    TEXT/OUTFIL,'JOB NUMBER :'
    TEXT/OUTFIL,' '
    
    
    MODE/MAN
    TEXT/OPER,'WAIT FOR CORRECT PROBE TO BE SELECTED THEN TAKE 3 POINTS ON FRONT FACE'
    
    D(CRD1) = TRANS/XORIG, MC_CHK_X, YORIG, MC_CHK_Y, ZORIG, MC_CHK_Z
    
    F(PLN1) = FEAT/PLANE,CART, -100.000000, -400.000000, 0.000000, 1.000000,$
         0.000000, 0.000000
    MEAS/PLANE, F(PLN1), 3
        PTMEAS/CART,  -100, -450, 50,  1.0000, 0.0000, 0.000000
        PTMEAS/CART,  -100, -350, 0,  1.0000, 0.0000, 0.000000
        PTMEAS/CART,  -100, -450, -50,  1.0000, 0.0000, 0.000000
    ENDMES
    
    TEXT/OPER,'MEASURE TOP M10 TAPPED HOLE'
    F(CIR1) = FEAT/CIRCLE,INNER,CART, -100, -400, 0, 1.000000, 0.000000, 0.000000, 8.5
    $$ Measurement points are created through nominal points
    MEAS/CIRCLE, F(CIR1), 4
      PTMEAS/CART,  -110, -395.75, 0,  0.000000, -1.000000, 0.000000
      PTMEAS/CART,  -110, -400, -4.25,  0.000000, 0.000000, 1.000000
      PTMEAS/CART,  -110, -404.25, 0,  0.000000, 1.000000, 0.000000
      PTMEAS/CART,  -110, -400, 4.25,  0.000000, 0.000000, -1.000000
    ENDMES
    
    TEXT/OPER,'MOVE PROBE CLEAR OF HOLE AND CICK CONTINUE'
    
    MODE/PROG,MAN
    D(CRD2) = TRANS/XORIG, FA(PLN1), YORIG, FA(CIR1), ZORIG, FA(CIR1)
    
    F(CIR2) = FEAT/CIRCLE,INNER,CART, 0.000000, 18.919964, -89.011432, 1.000000,$
         0.000000, 0.000000, 153.400000
    $$ Measurement points are created through nominal points
    MEAS/CIRCLE, F(CIR2), 3
      GOTO/  10.000000, 5.504, -25.715
      PTMEAS/CART,  -10.000000, 3.016034, -13.978406,  0.000000, 0.207391, -0.978258
      PTMEAS/CART,  -10.000000, -38.108578, -140.301153,  0.000000, 0.743518,$
         0.668716
      PTMEAS/CART,  -10.000000, 91.852436, -112.754738,  0.000000, -0.950870,$
         0.309590
      GOTO/  10.000000, 80.44, -109
    ENDMES
    
    CALL/M(EASI_2PT_TO_LINE),(CIR1),(CIR2),(BFLN1), 0.0, 0.0, 1.0
    CONST/LINE,F(BFLN1),BF,FA(CIR1),FA(CIR2)
    D(CRD3) = DATSET/FA(PLN1), ZDIR, ZORIG, FA(BFLN1), XDIR, FA(CIR2), XORIG
    D(CRD3) = TRANS/ZORIG, -0, YORIG, FA(CIR2), XORIG, -0
    D(CRD4) = ROTATE/ZAXIS, -12
    
    F(LH_END) = FEAT/PLANE,CART, 0.000000, 0.000000, 0.000000, 0.000000,$
         0.000000, 1.000000
    MEAS/PLANE, F(LH_END), 3
        PTMEAS/CART,  67.77, -52.95, 0,  0.0000, 0.0000, 1.000000
        PTMEAS/CART,  -85.36, -10.48, 0,  0.0000, 0.0000, 1.000000
        PTMEAS/CART,  26.58, 81.79, 0,  0.0000, 0.0000, 1.000000
    ENDMES
    
    rest of the program continues from here
    
    ​
Reply
  • It sounds like you need to perform a manual alignment - switch to MODE/MAN - at the beginning of your program. This would allow you to "find" the location of the part by manually measuring features, driving the machine from the jog box. Once the manual alignment is complete, you can switch back to MODE/PROG, MAN or MODE AUTO, PROG, MAN

    In terms of how Rational DMIS differs from PC-DMIS - it is a completely different software (formerly branded as Open DMIS) and uses native DMIS code as it's programming language. Although PC-DMIS can read DMIS code (and display it in the edit window if desired), it has it's own programming language - which you will see in the many code extracts posted on this forum.

    It's over 12 years since I last worked with Open DMIS but I managed to find an old solution which shows a manual alignment being performed to locate the part...

    UNITS/MM, ANGDEC
    WKPLAN/XYPLAN
    PRCOMP/ON
    TECOMP/OFF
    FLY/0.5
    MODE/PROG, MAN
    SNSET/APPRCH, 4.000000
    SNSET/RETRCT, 4.000000
    SNSET/DEPTH, 0.000000
    SNSET/SEARCH, 10.000000
    SNSET/CLRSRF, OFF
    RECALL/D(MCS)
    GEOALG/CIRCLE, LSTSQR
    GEOALG/ARC, LSTSQR
    GEOALG/PLANE, LSTSQR
    DMESW/COMAND,'RESETDB'
    $$
    $$
    $$ Delete output screen contents
    $$ Set.Term.Delete
    DID(DEFAULTFILE) = DEVICE/STOR,'N:\open dmis\RESULTS\SERCK\34557\34557-8009.out'
    OPEN/DID(DEFAULTFILE),FDATA,V(DEFAULTFORMAT),OUTPUT,APPEND
    DID(DEFAULTSCREEN) = DEVICE/TERM,'SCREENOUTPUT'
    OPEN/DID(DEFAULTSCREEN),FDATA,V(DEFAULTFORMAT),OUTPUT
    
    MODE/PROG,MAN
    TEXT/OPER,'CLICK OK TO CHANGE PROBE TO 1_4X20_A90_B180'
    SNSLCT/S(1_4X20_A90_B180)
    
    DECL/COMMON,DOUBLE,MC_CHK_X,MC_CHK_Y,MC_CHK_Z
    MC_CHK_X = VALUE/GOTO,XAXIS
    MC_CHK_Y = VALUE/GOTO,YAXIS
    MC_CHK_Z = VALUE/GOTO,ZAXIS
    
    DECL/COMMON,CHAR,255,TTIME,DDATE
    TTIME=ASSIGN/STIME()
    DDATE=ASSIGN/SDATE()
    WRITE/DID(DEFAULTFILE),TTIME,'  ',DDATE
    WRITE/DID(DEFAULTSCREEN),TTIME,'  ',DDATE
    
    
    TEXT/OUTFIL,' '
    TEXT/OUTFIL,'INSPECTOR  :'
    TEXT/OUTFIL,'MACHINE    :'
    TEXT/OUTFIL,'JOB NUMBER :'
    TEXT/OUTFIL,' '
    
    
    MODE/MAN
    TEXT/OPER,'WAIT FOR CORRECT PROBE TO BE SELECTED THEN TAKE 3 POINTS ON FRONT FACE'
    
    D(CRD1) = TRANS/XORIG, MC_CHK_X, YORIG, MC_CHK_Y, ZORIG, MC_CHK_Z
    
    F(PLN1) = FEAT/PLANE,CART, -100.000000, -400.000000, 0.000000, 1.000000,$
         0.000000, 0.000000
    MEAS/PLANE, F(PLN1), 3
        PTMEAS/CART,  -100, -450, 50,  1.0000, 0.0000, 0.000000
        PTMEAS/CART,  -100, -350, 0,  1.0000, 0.0000, 0.000000
        PTMEAS/CART,  -100, -450, -50,  1.0000, 0.0000, 0.000000
    ENDMES
    
    TEXT/OPER,'MEASURE TOP M10 TAPPED HOLE'
    F(CIR1) = FEAT/CIRCLE,INNER,CART, -100, -400, 0, 1.000000, 0.000000, 0.000000, 8.5
    $$ Measurement points are created through nominal points
    MEAS/CIRCLE, F(CIR1), 4
      PTMEAS/CART,  -110, -395.75, 0,  0.000000, -1.000000, 0.000000
      PTMEAS/CART,  -110, -400, -4.25,  0.000000, 0.000000, 1.000000
      PTMEAS/CART,  -110, -404.25, 0,  0.000000, 1.000000, 0.000000
      PTMEAS/CART,  -110, -400, 4.25,  0.000000, 0.000000, -1.000000
    ENDMES
    
    TEXT/OPER,'MOVE PROBE CLEAR OF HOLE AND CICK CONTINUE'
    
    MODE/PROG,MAN
    D(CRD2) = TRANS/XORIG, FA(PLN1), YORIG, FA(CIR1), ZORIG, FA(CIR1)
    
    F(CIR2) = FEAT/CIRCLE,INNER,CART, 0.000000, 18.919964, -89.011432, 1.000000,$
         0.000000, 0.000000, 153.400000
    $$ Measurement points are created through nominal points
    MEAS/CIRCLE, F(CIR2), 3
      GOTO/  10.000000, 5.504, -25.715
      PTMEAS/CART,  -10.000000, 3.016034, -13.978406,  0.000000, 0.207391, -0.978258
      PTMEAS/CART,  -10.000000, -38.108578, -140.301153,  0.000000, 0.743518,$
         0.668716
      PTMEAS/CART,  -10.000000, 91.852436, -112.754738,  0.000000, -0.950870,$
         0.309590
      GOTO/  10.000000, 80.44, -109
    ENDMES
    
    CALL/M(EASI_2PT_TO_LINE),(CIR1),(CIR2),(BFLN1), 0.0, 0.0, 1.0
    CONST/LINE,F(BFLN1),BF,FA(CIR1),FA(CIR2)
    D(CRD3) = DATSET/FA(PLN1), ZDIR, ZORIG, FA(BFLN1), XDIR, FA(CIR2), XORIG
    D(CRD3) = TRANS/ZORIG, -0, YORIG, FA(CIR2), XORIG, -0
    D(CRD4) = ROTATE/ZAXIS, -12
    
    F(LH_END) = FEAT/PLANE,CART, 0.000000, 0.000000, 0.000000, 0.000000,$
         0.000000, 1.000000
    MEAS/PLANE, F(LH_END), 3
        PTMEAS/CART,  67.77, -52.95, 0,  0.0000, 0.0000, 1.000000
        PTMEAS/CART,  -85.36, -10.48, 0,  0.0000, 0.0000, 1.000000
        PTMEAS/CART,  26.58, 81.79, 0,  0.0000, 0.0000, 1.000000
    ENDMES
    
    rest of the program continues from here
    
    ​
Children