ConstantFluenceCircularWobblePattern

In Constant Fluence mode, the linear speed of the vector is adjusted (decreased) to ensure that the average tangential velocity of the wobble movement aligns with the requested marking speed. And at the same time, it will also maintain the requested wobbleOverlapPercentage.

 

The liner marking speed is derived by

wobbleDiameter = wobbleThickness

wobbleOverlapDistance = (1 – (wobbleOverlapPercentage / 100)) * wobbleThickness

wobbleCircumference = PI * wobbleDiameter

wobblePeriod = wobbleCircumference / jobMarkingSpeed

wobbleAmplitude = wobbleThickness / 2

 

linearMarkingSpeed = wobbleOverlapDistance / wobblePeriod

So a new linear marking speed will be calculated, while the tangential velocity of the beam will remain at the selected marking speed.

The ability of the scanning system to reproduce the wobble pattern is a function of the servo bandwidth of the galvo control system. This varies between small aperture size scan heads that in general have higher bandwidth, and larger aperture scan heads which use larger mirrors with higher inertia and consequently, lower bandwidth. As a rule of thumb, the wobble frequency should be chosen to be no more than ½ the bandwidth of the galvo servo system if that bandwidth is known. For small galvo heads, 2KHz wobble patterns may be achievable, where as 500Hz may be the limit for larger galvo heads. The use of wobble inherently involves process evaluation to discover the proper wobble pattern and parameters for the process result desired. The use of higher frequencies will result in inaccurate rendering of the wobble pattern which may give inconsistent process results.

Syntax

public ConstantFluenceCircularWobblePattern(float thickness, float overlapPercentage)

 

Parameters

float thickness Thickness of the wobble pattern
float overlapPercentage Overlap percentage of the wobble pattern

 

Methods

Clone Create a clone of this object
Copy Copy parameters from another ConstantFluenceCircularWobblePattern
Deserialize De serialize from a saved object
Serialize Serialize this object

 

Copy
Example
scanDocument = scanDeviceManager.CreateScanDocument(GetselectedDeviceUniqueName(), DistanceUnit.Millimeters, false);

if (scanDocument != null)
{
    VectorImage vectorImage = scanDocument.CreateVectorImage("image1", DistanceUnit.Millimeters);

    vectorImage.SetMarkSpeed(1000);
    vectorImage.SetJumpSpeed(2000);
    vectorImage.SetJumpDelay(100);
    vectorImage.SetMarkDelay(100);

    //Set Laser Delays
    vectorImage.SetLaserOnDelay(10);
    vectorImage.SetLaserOffDelay(10);

    float thickness = 2.2f; 
    float overlapPercentage = 55f; 
    CircularWobblePattern wobbleData = new ConstantFluenceCircularWobblePattern(thickness, overlapPercentage); 
    vectorImage.EnableWobble(wobbleData);
   
    float centerX = 0;
    float centerY = 0;
    float centerZ = 0;
    float radius = 10;
    vectorImage.AddCircle(centerX, centerY, centerZ, radius);
    
    vectorImage.DisableWobble();

    scanDocument.Scripts.Add(new ScanningScriptChunk("defaultScript", "ScanAll()"));

    try
    {
        scanDocument.StartScanning();
    }
    catch
    {

    }
}