hexagon logo

Scanning Setup with Readpoint

Hello everyone,

Lets start with the 'light' information:
Leitz: LSPX1H_T
Software: 2015.1
Mach: DEA 15.30.10

The machine allows me a good area in 'Y' to locate my part, it also has 12x slot locations that are put in at a nearly 40º angle to my -A- plane at 30º increments about -B-.

I am trying to get the proper combinations to allow the scanning to remain in the program and NOT drive me crazy when swapping between offline/online programming.

Here's what I do:
Locate the probe with readpoint, perform a quick DCC check to define where part is on table
Move probe to desired -C- location and have part physically rotated.
Perform 1 more quick DCC check to re-define where part is on table.
Now it is a FULL ABC pickup then off to measuring the unit.
All regular points work PERFECT to measure/evaluate, scanning on the other hand.....

When it gets to the point of scanning, production is having to CANCEL the run cycle and regenerate the scan path in order to complete the inspection. This is not acceptable as I'd like this program to be free of user intervention (run at offshift times). Trying to determine what should be my setup approach:
Current Scan parameters:
Exec Mode: Defined
Nominals Method: FindNoms

^This has been what I used to perform my scans and I am begining to think I need to swap them. Next Trial:
Exec Mode: Relearn
Nominals Method: Nominals

Online to Offline is really a seperate topic and I have a work around with it right now, but maybe some of you have already found a method that can be supplied.

Appreciate anyones help, I'm not used to scanning and it drives me BONKERS that scan parameters are not 'sticky' like auto/measured features!


  • What kind of scan ? (linear open, closed, freeform...)
  • Just a shot in the dark under Nominals Method: you're tolerance could be set to low or to high it should only be set to include any deviations the part could have plus the radius of the tip diameter. Exp.. your tip diameter is a 1mm and the surface you are measuring could move 1mm "whatever your print tol is" so your tolerance should atleast be 1.5mm.
  • I would go with RELEARN and FIND NOMS. When the scan is initially generated, select ONLY those surfaces you want the scan to use, and mark the box USE SELECTED.
  • Define surfaces location with super rough vector points followed by a nicer vector point. Set origin on that and proceed to scan wall. Repeat for each wall. Super simple approach and not the fanciest but should work on an ever changing part like a cast or thin plastic part or whatever.
  • I am using a linear open. It ends when passing the plane for 2nd time. I have the individual surfaces (4 per slot) selected and have the paths being generated to each individual location. I currently have a .06" tolerance applied as that was preset and that is within the ruby size + tolerance threshhold. (could actually make it bigger per feature tolerance)

    The issue that appears is:
    1st scan gets completed, then i have some circle features I construct from the scan, i re-align to those constructed features to finish off my evaluation with 4 TTP inside the slot. on scan 1 it will crash, if I cancel execution, f9 the scans, regenerate paths x12, then re-run it works great. Just need to get out of the crash business at the first slot....
  • have you tried using findnoms? I would also agree with doing a quick point and align to that before each scan.
  • I have alignments leading upto the feature, not sure why more alignments would help me...
    See below:
    CSY_ABC      =ALIGNMENT/START,RECALL:CSY_4,LIST=YES
                    ALIGNMENT/LEVEL,ZMINUS,PLN_A1
                    ALIGNMENT/ROTATE_CIRCLE,YMINUS,TO,LIN_B1,AND,PNT_C,ABOUT,ZPLUS
                    ALIGNMENT/TRANS,XAXIS,LIN_B1
                    ALIGNMENT/TRANS,YAXIS,LIN_B1
                    ALIGNMENT/TRANS,ZAXIS,PLN_A1
                  ALIGNMENT/END
     CSY_PADLOC1  =ALIGNMENT/START,RECALL:CSY_ABC,LIST=YES
                    ALIGNMENT/ROTATE_OFFSET,360,ABOUT,ZPLUS
                  ALIGNMENT/END
    CSY_PAD_CENTER_01  =ALIGNMENT/START,RECALL:CSY_PADLOC1,LIST=YES
                    ALIGNMENT/TRANS_OFFSET,YAXIS,-14.947
                    ALIGNMENT/TRANS_OFFSET,ZAXIS,-2.756
                    ALIGNMENT/ROTATE_OFFSET,-39.16,ABOUT,XPLUS
                  ALIGNMENT/END
    PNT_BP01_L01  =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                  THEO/<0,0,2.334>,<0,-1,0>
                  ACTL/<0,0,2.334>,<0,-1,0>
                  TARG/<0,0,2.334>,<0,-1,0>
                  SNAP=NO
                  SHOW FEATURE PARAMETERS=NO
                  SHOW CONTACT PARAMETERS=YES
                    AVOIDANCE MOVE=BEFORE,DISTANCE=0.5
                  SHOW HITS=NO
    PNT_BP02_L01  =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                  THEO/<0.722,0,0>,<0,-1,0>
                  ACTL/<0.722,0,0>,<0,-1,0>
                  TARG/<0.722,0,0>,<0,-1,0>
                  SNAP=NO
                  SHOW FEATURE PARAMETERS=NO
                  SHOW CONTACT PARAMETERS=YES
                    AVOIDANCE MOVE=NO,DISTANCE=0.5
                  SHOW HITS=NO
    PNT_BP03_L01  =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                  THEO/<-0.722,0,0>,<0,-1,0>
                  ACTL/<-0.722,0,0>,<0,-1,0>
                  TARG/<-0.722,0,0>,<0,-1,0>
                  SNAP=NO
                  SHOW FEATURE PARAMETERS=NO
                  SHOW CONTACT PARAMETERS=YES
                    AVOIDANCE MOVE=NO,DISTANCE=0.5
                  SHOW HITS=NO
    PNT_BP04_L01  =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                  THEO/<0,0,-2.5039>,<0,-1,0>
                  ACTL/<0,0,-2.5039>,<0,-1,0>
                  TARG/<0,0,-2.5039>,<0,-1,0>
                  SNAP=NO
                  SHOW FEATURE PARAMETERS=NO
                  SHOW CONTACT PARAMETERS=YES
                    AVOIDANCE MOVE=AFTER,DISTANCE=0.5
                  SHOW HITS=NO
    PLN_BP_01    =FEAT/PLANE,CARTESIAN,OUTLINE,NO
                  THEO/<0,0,-0.0425>,<0,-1,0>
                  ACTL/<0,0,-0.0425>,<0,-1,0>
                  CONSTR/PLANE,BF,PNT_BP01_L01,PNT_BP02_L01,PNT_BP03_L01,PNT_BP04_L01,,
                  OUTLIER_REMOVAL/OFF,3
                  FILTER/OFF,WAVELENGTH=0
                  RECALL/ALIGNMENT,INTERNAL,CSY_PAD_CENTER_01
    CSY_BP_01    =ALIGNMENT/START,RECALL:CSY_PAD_CENTER_01,LIST=YES
                    ALIGNMENT/LEVEL,YMINUS,PLN_BP_01
                    ALIGNMENT/TRANS,YAXIS,PLN_BP_01
                  ALIGNMENT/END
                  RECALL/ALIGNMENT,INTERNAL,CSY_ABC
                  MOVE/CLEARPLANE
                  LOADPROBE/PM7_01
                  TIP/T1A50B180, SHANKIJK=0, -0.766, 0.6428, ANGLE=-179.9997
                  MOVE/POINT,NORMAL,<-0.0000,-15.3347,3.0000>
                  MOVE/CLEARPLANE
                  RECALL/ALIGNMENT,INTERNAL,CSY_BP_01
                  WORKPLANE/YPLUS
                  MOVE/POINT,NORMAL,<MOVE_IN_X,MOVE_IN_Y,MOVE_IN_Z>
    SCN_BP_S_1   =FEAT/SCAN,LINEARCLOSE,NUMBER OF HITS=225
                  ,SHOW HITS=NO,SHOWALLPARAMS=YES
                  EXEC MODE=RELEARN, NOMS MODE=NOMINALS,CLEARPLANE=NO,SINGLE POINT=NO,THICKNESS=0
                  FINDNOMS=0.06,SELECTEDONLY=NO,USEBESTFIT=NO,PROBECOMP=YES,AVOIDANCE MOVE=NO,DISTANCE=0,CAD Compensation=NO
                  DIR1=VARIABLE,MAX INCR=0.05,MIN INCR=0.02,MAX ANGLE=0,MIN ANGLE=0.5
                  HITTYPE=VECTOR
                  INITVEC=-0.9979022,0,-0.0647401
                  DIRVEC=-0.0820294,0,0.9966299
                  CUTVEC=0,-1,0
                  PLANEVEC=-0.0820294,0,0.9966299
                  POINT1=0.3478,0.07,1.4427
                  MEAS/SCAN
                  BASICSCAN/LINE,NUMBER OF HITS=225,SHOW HITS=NO,SHOWALLPARAMS=YES
                  <0.3478,0.07,1.4427>,<0.3509,0.07,1.3945>,CutVec=0,-1,0,DirVec=-0.0876749,-0.0000996,0.9961491
                  InitVec=-0.997902,-0.0000036,-0.0647424,EndVec=-0.9981545,-0.0000034,-0.0607253,THICKNESS=0
                  FILTER/VARIABLE,0.05,0.02,0,0.5
                  EXEC MODE=RELEARN
                  BOUNDARY/PLANE,<0.3509,0.07,1.3945>,PlaneVec=-0.0820294,0,0.9966299,Crossings=2
                  HITTYPE/VECTOR
                  NOMS MODE=NOM,0.06
                  ENDSCAN
                ENDMEAS/
    CIR_ST_01  =FEAT/CIRCLE,CARTESIAN,IN,YES
                THEO/<0,0.07,1.435>,<0,1,0>,ST_S
                ACTL/<0,0.07,1.435>,<0,1,0>,0.6952
                CONSTR/CIRCLE,SCAN_SEGMENT,BF,SCN_BP_S_1,ST_1,ST_2,ST_3,-ST_1,ST_2,ST_3,0,0,0
    CIR_SB_01  =FEAT/CIRCLE,CARTESIAN,IN,YES
                THEO/<0,0.07,-1.416>,<0,1,0>,SB_S
                ACTL/<0,0.07,-1.4166>,<0,1,0>,0.376
                CONSTR/CIRCLE,SCAN_SEGMENT,BF,SCN_BP_S_1,SB_1,SB_2,SB_3,-SB_1,SB_2,SB_3,0,0,0
    CIR_SL_01  =FEAT/CIRCLE,CARTESIAN,IN,YES
                THEO/<11.627,0.07,0.6658>,<0,1,0>,SLR_S
                ACTL/<11.627,0.07,0.6658>,<0,1,0>,24
                CONSTR/CIRCLE,SCAN_SEGMENT,BF,SCN_BP_S_1,-SLR_H1,SLR_D,SLR_Z1,-SLR_L1,SLR_D,SLR_Z2,0,0,0
    CIR_SR_01  =FEAT/CIRCLE,CARTESIAN,IN,YES
                THEO/<-11.627,0.07,0.6658>,<0,1,0>,SLR_S
                ACTL/<-11.627,0.07,0.6658>,<0,1,0>,24
                CONSTR/CIRCLE,SCAN_SEGMENT,BF,SCN_BP_S_1,SLR_L1,SLR_D,SLR_Z2,SLR_H1,SLR_D,SLR_Z1,0,0,0
    PNT_SA_1   =FEAT/POINT,CARTESIAN,YES
                THEO/<0,0.07,0.6658>,<0,-0.6314881,0.7753855>
                ACTL/<0,0.07,0.6658>,<0,-0.6314881,0.7753855>
                CONSTR/POINT,MID,CIR_SL_01,CIR_SR_01
                ASSIGN/FTS_01=CIR_ST_01.Z + CIR_ST_01.R
                ASSIGN/FBS_01=CIR_SB_01.Z - CIR_SB_01.R
    BUILD_TOP_01=GENERIC/POINT,DEPENDENT,CARTESIAN,$
                NOM/XYZ,<STAY0,ST_2,1.783 + 0>,$
                MEAS/XYZ,<STAY0,ST_2,FTS_01>,$
                NOM/IJK,<STAY0,STAY0,-STAY1>,$
                MEAS/IJK,<STAY0,STAY0,-STAY1>
    BUILD_BOTT_01=GENERIC/POINT,DEPENDENT,CARTESIAN,$
                NOM/XYZ,<STAY0,ST_2,-1.604 + 0>,$
                MEAS/XYZ,<STAY0,ST_2,FBS_01>,$
                NOM/IJK,<STAY0,STAY0,STAY1>,$
                MEAS/IJK,<STAY0,STAY0,STAY1>
    PNT_SZ_1   =FEAT/POINT,CARTESIAN,NO
                THEO/<0,0.07,0.0895>,<0,-0.6314881,0.7753855>
                ACTL/<0,0.07,0.089>,<0,-0.6314881,0.7753855>
                CONSTR/POINT,MID,BUILD_TOP_01,BUILD_BOTT_01
    SLOT_LOC01 =GENERIC/POINT,DEPENDENT,CARTESIAN,$
                NOM/XYZ,<PNT_SA_1.TX,PNT_SA_1.TY,PNT_SZ_1.TZ>,$
                MEAS/XYZ,<PNT_SA_1.X,PNT_SA_1.TY,PNT_SZ_1.Z>,$
                NOM/IJK,<STAY0,STAY1,STAY0>,$
                MEAS/IJK,<STAY0,STAY1,STAY0>
    [COLOR=#FF0000]CSY_BP_S1  =ALIGNMENT/START,RECALL:CSY_BP_01,LIST=YES
                  ALIGNMENT/TRANS,XAXIS,SLOT_LOC01
                  ALIGNMENT/TRANS,ZAXIS,SLOT_LOC01
                ALIGNMENT/END
    PNT_BS01_01=FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                THEO/<BSLR_X,BSLR_Y,BSLR_Z>,<-0.9984595,0,0.0554848>
                ACTL/<0.3545,0.3,-0.0095>,<-0.9984595,0,0.0554848>
                TARG/<BSLR_X,BSLR_Y,BSLR_Z>,<-0.9984595,0,0.0554848>
                SNAP=NO
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=YES
                  AVOIDANCE MOVE=NO,DISTANCE=0.5
                SHOW HITS=NO[/COLOR]
    PNT_BS05_01=FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                THEO/<BSTB_X,BSLR_Y,BST_Z>,<0,0,-1>
                ACTL/<0,0.3,1.6935>,<0,0,-1>
                TARG/<BSTB_X,BSLR_Y,BST_Z>,<0,0,-1>
                SNAP=NO
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=YES
                  AVOIDANCE MOVE=NO,DISTANCE=0.5
                SHOW HITS=NO
    PNT_BS09_01=FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                THEO/<-BSLR_X,BSLR_Y,BSLR_Z>,<0.9984595,0,0.0554848>
                ACTL/<-0.3545,0.3,-0.0095>,<0.9984595,0,0.0554848>
                TARG/<-BSLR_X,BSLR_Y,BSLR_Z>,<0.9984595,0,0.0554848>
                SNAP=NO
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=YES
                  AVOIDANCE MOVE=NO,DISTANCE=0.5
                SHOW HITS=NO
    PNT_BS13_01=FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                THEO/<BSTB_X,BSLR_Y,BSB_Z>,<0,0,1>
                ACTL/<0,0.3,-1.6935>,<0,0,1>
                TARG/<BSTB_X,BSLR_Y,BSB_Z>,<0,0,1>
                SNAP=NO
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=YES
                  AVOIDANCE MOVE=NO,DISTANCE=0.5
                SHOW HITS=NO
    


    Red is where I see the 'crash'
  • Not sure what BSLR_X,Y,Z are as i do not see them in the code but why would PNT_BS_ 01_01 Have a X ACTL/0.3545 Y of 0.3? Is that what the Theo is for the BSLR_X and Y are?
    I think I'm missing something here.
  • I have alignments leading upto the feature, not sure why more alignments would help me...



    Your wall, that you're trying to scan, are too far from theoretical position is that why it's crashing? When production re-creates the scan are they re-creating it in a new location or is it the same?

    Forgive me, I'm having trouble visualizing your issue.

    If production is re-creating the scan in the same spot without moving the part (I doubt you're moving the part after DCC alignment) and it works... that might not be a location issue. I'll have to re-read your original post.
  • Locate the probe with readpoint, perform a quick DCC check to define where part is on table
    Move probe to desired -C- location and have part physically rotated.


    Why not just sweep the probe along y and lock out all other axis.

    -anywayz..

    Sorry man still lost with your post after reading it. I feels like it's missing information. I would like to help you along with others (though I speak for myself).