<< Click to Display Table of Contents > 

Client Control Interface Manual > Mark

Mark
Previous pageReturn to chapter overviewNext page

 Mark has following sub-chapters:

Mark Dialog

oRed Pointer

Trigger Dialog

Mark Preview

Mark Sequence

Mark Time

Mark Counter

 

The following commands are described in this chapter:

Execution Status

Is Marking

Mark Entity by Name

Mark Flags

Stop Marking

Execution Status
 

Set

Get

DLL Function

int Status = ScGetLongValue(int Value_Type)

ASCII Function

int Status = ScCciGetLongValue(int Value_Type)

Description

Returns the current execution state. Will be reset for each new marking process, enabling the red pointer or opening the Mark-Trigger-Dialog.

Value_Type

Type: int

Location: ScComSAMLightClientCtrlValueTypes

scComSAMLightClientCtrlLongValueTypeExecutionStatus

3

Index

Type: int

Flag:

Location: None

scComStandardDeviceExecutionExtStop

0x1

External Stop was recognized.

scComStandardDeviceExecutionBreak

0x2

Stop Execution via SAMLight

scComStandardDeviceExecutionWaitForTrigger (only RTC)

0x4

RTC card waiting for Trigger.

Notes

0x0 means no external stop was recognized.

Usually the return 0x1 will be internally overwritten by a break 0x2.

ExtStop (0x1) will only be returned if the break was not executed.

C# Example: Get Execution Status:

 

int Status = cci.ScGetLongValue( ( int )ScComSAMLightClientCtrlValueTypes.scComSAMLightClientCtrlLongValueTypeExecutionStatus );

Table 255: Execution Status

Is Marking
 

Set

Get

DLL Function

int CCI_Return = ScIsMarking()

ASCII Function

int CCI_Return = ScCciIsMarking()

Description

If the ScMarkEntityByName function was called with WaitForMarkEnd set to 0, this function can be used for checking whether the actual marking process is already finished or not. The Function returns 1 if the scanner application is still marking.

CCI_Return

Type: int

CCI return number, see error list.

Notes

-

C# Example: Check if the actual marking process is already finished or not:
 
int CCI_Return = cci.ScIsMarking();

Table 256: Is Marking

Mark Entity by Name
 

Set

Get

DLL Function

int CCI_Return = ScMarkEntityByName(string Entity_Name, int Wait_For_Mark_End)

ASCII Function

int CCI_Return = ScCciMarkEntityByName(string Entity_Name, int Wait_For_Mark_End)

Description

Marks the entity with the name Entity_Name.

Entity Name

Type: string

Unit: none

Set the entity name.

Wait_For_Mark_End

Type: int

Unit: none

If it is set to 0, the function returns immediately and the client application can start other tasks while the scanner application is marking in background. If it is set to 1, function returns at the end of marking.

CCI_Return

Type: int

CCI return number, see error list.

Notes

If the string for the entity name is empty (""), the complete job will be marked.

Entity_Name together with the flag scComSAMLightClientCtrlModeFlagEntity_NamesSeparatedBySemicolon can include more than one entity name. Therefore the names of the entities have to be separated by a semicolon. If more than one entity with a given name exists, all of them are marked.

If you are in SAM3D Mode it is possible to mark the whole 3D object. Therefore set the parameter Entity_Name to @@@Scaps.SpecialTag.3d.All.Layers@@@. After 10h it runs into a timeout.

Some mark flags can be set before this command by ScSetMarkFlags().

The red pointer has to be stopped before the marking procedure can be started by this command.

C# Example: Mark whole job:

 
int CCI_Return = cci.ScMarkEntityByName( "", 1 );

Table 257: Mark Entity by Name

Mark Flags
 

Set

Get

DLL Function

int CCI_Return = ScSetMarkFlags(int Flag)

int Flag = ScGetMarkFlags()

ASCII Function

int CCI_Return = ScCciSetMarkFlags(int Flag)

int Flag = ScCciGetMarkFlags()

Description

The mark flags that can be set and get using these functions define the general behaviour of the output process during the next call of ScMarkEntityByName(). Following marking flags are available and can be combined to set using a logical OR:

Flag

Type: int

Flag:

Location: ScComSAMLightClientCtrlMarkFlags

scComSAMLightClientCtrlMarkFlagWaitForTrigger

0x1

The Mark function starts only after an external start. The WaitForMarkEnd parameter

value of ScMarkEntityByName() flag has no effect.

scComSAMLightClientCtrlMarkFlagHideOutput

0x4

Does not show the trigger output window of the controlled scanner application during marking.

scComSAMLightClientCtrlMarkFlagDisableHomeJump

0x8

Switch off the home jump after the mark.

scComSAMLightClientCtrlMarkFlagPreview

0x10

Execute marking in preview mode. For an example see also: Precalculating Marking Time.

scComSAMLightClientCtrlMarkFlagSelected

0x20

Mark only selected entities and ignore all other ones.

scComSAMLightClientCtrlMarkFlagDisablePreProcessing

0x40

Disable the pre-processing phase.

scComSAMLightClientCtrlMarkFlagDisablePostProcessing

0x80

Disable the post-processing phase.

scComSAMLightClientCtrlMarkFlagControlLoopByEntity

0x400

Normally if the Mark Loop Count of an Entity is greater than 1, for example 10, then if

marking is active 10 copies of this entity are created internally during download to the

card. If this flag is set, only 1 copy is created but looping 10 times on a lower software level. This saves time and memory. Only helpful for very complex jobs with very high loop count and for very high speed marking applications with minimum dead time between two marks. This flag only works for basic vector objects without advanced features as for example pen paths or event objects.

scComSAMLightClientCtrlMarkFlagCloseTriggerWindowAtStop

0x800

Close trigger window, if e.g. a ScStopExecution() is called.

scComSAMLightClientCtrlMarkFlagManualLayerPreparation

0x2000

Disables / enables automatic layer preparation.

scComSAMLightClientCtrlMarkFlagUseAlreadyOpenedMarkDialog

0x4000

Keeps marking dialog opened for MarkEntityByName.

scComSAMLightClientCtrlMarkFlagDontSwitchToNextLayer

0x8000

Prevents the next layer from being selected after marking. Selection of the next layer only happens when marking through the Mark Dialog or MarkEntityByName with Entity_Name @@@Scaps.SpecialTag.3d.All.Layers@@@)". When multiple layers are marked: Prevents the first layer from being selected after marking all layers.

scComSAMLightClientCtrlMarkFlagDebugNoOutput

0x10000

Hide SAMLight error windows.

scComSAMLightClientCtrlMarkFlagMultiHeadIndependant

0x20000

MultiHead independent mode.

scComSAMLightClientCtrlMarkFlagMarkDialogWaitForTrigger

0x40000

External Trigger checkbox in Mark Dialog.

CCI_Return

Type: int

CCI return number, see error list.

Notes

To prevent incorrect operation please read chapter How to work with flags.

C# Example: Enable MultiHead independent mode:
 

int Mark_Flags = cci.ScGetMarkFlags();

Mark_Flags = Mark_Flags | ( int )ScComSAMLightClientCtrlMarkFlags.scComSAMLightClientCtrlMarkFlagMultiHeadIndependant;

int CCI_Return = cci.ScSetMarkFlags( Mark_Flags );

C# Example: Disable MultiHead independent mode:

 

int Mark_Flags = cci.ScGetMarkFlags();

Mark_Flags = Mark_Flags & ~( int )ScComSAMLightClientCtrlMarkFlags.scComSAMLightClientCtrlMarkFlagMultiHeadIndependant;

int CCI_Return = cci.ScSetMarkFlags( Mark_Flags );

Table 258: Mark Flags

Stop Marking
 

Set

Get

DLL Function

int CCI_Return = ScStopMarking()

ASCII Function

int CCI_Return = ScCciStopMarking()

Description

Stops the current marking process.

CCI_Return

Type: int

CCI return number, see error list.

Notes

-

C# Example: Stop marking:
 
int CCI_Return = cci.ScStopMarking();

Table 259: Stop Marking