With the PinCheck3DTool the pin tips of a connector strip are checked for presence, position and height.

The pins can be divided into groups to be able to evaluate a board with several different pin headers in one tool.

The input image is a CogImage16Range 3D image.


  1. List of all pins to be checked.

  2. Edit Mode: To adjust the parameters of the pins, the tool must be switched to edit mode. When leaving the Edit Mode it can be decided whether the changes should be applied.

  3. Name of the pin marked in (1).

  4. group or header of the pin marked in (1).

  5. Position: X/Y coordinates of the pin marked in 1. Expected indicates whether the pin is present in the pin header or not. This can also be used to check a pin for absence.

  6. Move: Move position of all pins marked in (1) relatively.

  7. Add Pin On Click: Enables adding new pins by mouse click on the “Current.InputImage-Display “ (13).

  8. Interactive Selection: Activates the selection of several pins by an interactive rectangle in the “Current.InputImage-Display “ (13).

  9. Create Pins (Grid): Create NxN of new pins in a grid.

  10. CSV: Import pinlist from CSV file or export to CSV file.

  11. Classify: Parameter for generating the pin name of new pins.

  12. Sort: Sort pinlist (1) (by name, X, Y, Meander, …).

  13. Current.InputImage: Display of the target positions of all pins. The pins marked in (1) are visualized in yellow.

Pins EditMode


To change pin parameters, the tool must be switched to edit mode (1). After adjusting the parameters, the editing mode is deactivated again. The user can decide whether the changes are to be applied (”2”). Then the editing mode is deactivated again (3).

Create Pins Grid


Here new pins can be generated in a grid. The position (”Offset X/Y”) and the distances (”Distance”) (1) are specified in the “SelectedSpaceName3D” (3) of the input image. A preview is displayed in the Current.InputImage (2).

Pin Groups


Each pin is assigned to a group. All pins of a group are on one level and are of the same type.

Reference Planes


Each group of pins must be on one level. The plane is determined by a toolblock contained in the PinCheckTool. The Find-Plane-Toolblock gives the found plane to the PinCheckTool via the OutputTerminal “Plane3D” of type Cognex.VisionPro3D.Cog3DPlane. Measured values, like pin height, refer to this plane.

Pin Types


Each pin of a group of pins (or each header) is of the same type. I.e. they have the same parameters for the extraction of the pin tip and validation.

  1. List of created pin types.

  2. Decimal Places: Number of decimal places for the measured values.

  3. Name of the type marked in (1).

  4. Expected Height: Target height of the pins in the “SelectedSpaceName3D” of the input image.

  5. Search Region: Width and height of the search region of a pinpoint in pixels (#coorinate space).

  6. Edit Pin Extraction Toolblock: Opens the toolblock for extraction of the pin tip.

  7. Validation: The following validation functions are possible:

  • Presence / Absence: Existing (Expected) pins must be found, non-existing (Not Expected) pins must not be found.

  • Height: Validation of the pin height.

  • Deviation (Circle/Rectangle): Position of the pin tip in the wobble circle or within the rectangle. The deviation is determined relative to the expected pin position in the original coordinate space of the input image.

  • Deviation Best Fixtured (Circle/Rectangle): Position of the pin tip in the wobble circle or within the rectangle. The expected pin position is tracked by all pins found. This can be used to determine whether individual pins are bent in a shifted pin header.

  • Deviation from Group Average: Height difference from the average height of all pins in a group

  • Maximum Range per Group: Maximum height difference of all pins within a group.

  1. Limit values of the validation marked in (7).

Pin Extraction


The pin tip is determined by a tool block integrated in the PinCheck3DTool.

The tool block returns the coordinates of the pin tip as a 3D point via OutputTerminals of type Cognex.VisionPro3D.Cog3DVect3 in the original coorinate space of the input image and relative to the reference plane.

By default, the pin tip is determined with the PinTipExtractor3DTool.



Select and deselect graphics in Current.InputImage (1) or LastRun.InputImage (2).


  1. Enables multithreading.

  2. Enabled variants.



The name of the variant is passed to the PinCheck3DTool via the InputTerminal “Variant” of type string.

For each variant created, it is possible to specify whether a pin is present (Expected) or not. In the above example, the pin “S1P03” is present in “Variant1” and not in “Variant2”.

Variant mode must be enabled in the Settings tab.


All results of all pins are listed here.

../../../_images/07_PinCheck3D_Results01.png ../../../_images/07_PinCheck3D_Results02.png