hexagon logo

Closed Loop Scans and Looping

I have parts that run on a multi-cavity die set. These parts required profile on many surfaces, so I wanted to do Linear scans. However, the native looping within PC-DMIS doesn't allow that to occur.

Per PC-DMIS Help File (credit to for finding this):

OPEN/CLOSED LOOP Scanning

Currently, Open Loop only works with circular paths and features such as Circle and Cylinder. This does not refer to Linear Open and Linear Closed scans.

Feature Scans (for example, Circle, Cylinder, and Axis) are implemented as Open Loop scans. Other scans (Linear Open, Linear Closed, Center, Rotary) are implemented as Closed Loop. The final implementation is that the feature scans are Open Loop, and all other scan types are Closed Loop. The registry entry currently used is removed.

Controls over whether the executed scans are either Open or Closed are accomplished by editing the Settings Editor value: UseClosedLoop found in the Sheffield section.

If you wish to control the type of scan being performed for a measurement routine, you must quit PC-DMIS and launch the Settings Editor.

OPEN LOOP UseClosedLoop False

CLOSED LOOP UseClosedLoop True

There are no controls to change to Open or Closed with PC-DMIS commands, or by the loss of surface with an Open loop. The global value defined in the PC-DMIS Settings Editor application is a global default.


The issue arises that the CAD model does not follow the offset. So when the software goes to repierce the CAD, there is an empty space. PLUS, according to the Help File, they disable it anyway.

The code below allows you to loop parts and still do these types of scans:

*
*
MANUAL OR READ POINT ALIGNMENT
*
*
MODE/DCC
ASSIGN/COUNTER=0
DO/
ASSIGN/COUNTER=COUNTER+1
IF/COUNTER==4
ASSIGN/FIXTURE_X=151.2
ASSIGN/FIXTURE_Y=0
END_IF/
IF/COUNTER==3
ASSIGN/FIXTURE_X=100.8
ASSIGN/FIXTURE_Y=0
END_IF/
IF/COUNTER==2
ASSIGN/FIXTURE_X=50.4
ASSIGN/FIXTURE_Y=0
GOTO/ORIGIN
END_IF/
IF/COUNTER==1
ASSIGN/FIXTURE_X=0
ASSIGN/FIXTURE_Y=0
GOTO/ORIGIN
END_IF/
ORIGIN =LABEL/
LOOP_ORIGIN =GENERIC/POINT,DEPENDENT,CARTESIAN,$
NOM/XYZ,<0+0,0+0,0+0>,$
MEAS/XYZ,<FIXTURE_X,FIXTURE_Y,0+0>,$
NOM/IJK,<0+0,0+0,1+0>,$
MEAS/IJK,<0+0,0+0,1+0>
LOOP_ALN =ALIGNMENT/START,RECALL:MAN_ALN,LIST=YES
ALIGNMENT/TRANS,XAXIS,LOOP_ORIGIN
ALIGNMENT/TRANS,YAXIS,LOOP_ORIGIN
ALIGNMENT/END
*
*
DCC ALIGNMENT CODE
*
*
LINEAR SCAN (I used Find Nominals for the Nominals Method)
*
*
DIMENSION
*
UNTIL/COUNTER==4


With the DO /UNTIL method of looping, the CAD model follows the offset, allowing the software to pierce the CAD every time when creating the scan.

I only tried this with a linear open scan, but I am sure it will work with all the others.

Let me know if you find an error with this or if you have any questions!
Parents Reply Children
No Data