Point And Shoot Drill Shape Pattern

The Point and shoot drill pattern, moves the laser beam to each specified point, in the order they have been defined, and fires the laser. All the jumps and drills are velocity controlled so the pattern permits a higher accuracy drilling with greater repeatability.

PointAndShootDrillShapePattern  

 

Properties

LaserOnTime Get or Set the laser on time
LaserParameters Laser parameters to use
DrillPulseList  
UsePulseBurstMode  

 

Methods

AddDrillPulse(DrillPulse pulse)  
ClearDrillPulse()  
DeleteDrillPulse(DrillPulse pulse)  

 

Copy
DistanceUnit drillUnits = DistanceUnit.Millimeters;

scanDocument = scanDeviceManager.CreateScanDocument("Cntrl_1", drillUnits, false);

if (scanDocument != null)
{
    VectorImage vectorImage = GetNewVectorImage();

    int markdelayInUsec = 200;
    int polydelayInUsec = 75;
    int JumpDelay = 10;
    int JumpSpeed = 10;
    int LaserOnDelay = 5;
    int LaserOffDelay = 5;

    vectorImage.SetJumpDelay(JumpDelay);
    vectorImage.SetMarkDelay(markdelayInUsec);
    vectorImage.SetPolyDelay(polydelayInUsec);
    vectorImage.SetJumpSpeed(JumpSpeed);

    //Set Laser Delays
    vectorImage.SetLaserOnDelay(LaserOnDelay);
    vectorImage.SetLaserOffDelay(LaserOffDelay);


    bool pulsemode = false;
    PointAndShootDrillShapePattern pointandShootPattern = new PointAndShootDrillShapePattern();
    pointandShootPattern.UsePulseBurstMode = pulsemode;

    // Create a Drill Pulse
    DrillPulse pulse1 = new DrillPulse(2.5f, 2.5f, 5);

    pointandShootPattern.AddDrillPulse(pulse1);

    //Create a drill shape.
    DrillShape drillShape = new DrillShape();
    drillShape.SetPattern(pointandShootPattern);

    //Add drill Points to the drill shape
    drillShape.AddPointAndShootPoint(0, 0, 0);
    drillShape.AddPointAndShootPoint(10, 10, 0);
    drillShape.AddPointAndShootPoint(20, 20, 0);

    // Add the Drill shape to vector image
    vectorImage.AddDrill(drillShape);

    // Enable Lightning II galvo error checking in case of a fault -- single head system
    string CLM_Drilling = "Laser.GalvoErrorCheckEnable(0x0022, 0x0022)";

    // Alternatively, a dual head system instead
    // string CLM_Drilling = Laser.GalvoErrorCheckEnable(0x2222, 0x2222)

    CLM_Drilling += "ScanAll()\n";
    scanDocument.Scripts.Add(new ScanningScriptChunk("SC_CL_DRILLING", CLM_Drilling));

    try
    {
        scanDocument.StartScanning();

    }
    catch
    {

    }

}