<< Click to Display Table of Contents > Save Splitted Job as Tiles |
The following examples shows how to split a job file and save it as an entity list of single split tiles with full access, which can be used as a basis to manually setup a split job file according to own needs (motion entities have to be added manually). To use this example a splitting mode with reasonable splitting parameters and motion axes has to be defined in SAMLight before.
Save Splitted Job as Tiles
|
---|
cci.ScExecCommand( ( int) ScComSAMLightClientCtrlExecCommandConstants.scComSAMLightClientCtrlExecCommandNewJob );
cci.ScLoadJob( Environment.ExpandEnvironmentVariables( @"%SCAPS_SAM%" ) + "\\jobfiles\\demo.sjf", 1, 1, 0 ); ScCenterEntityByEntityName( "" );
cci.ScExecCommand( ( int ) ScComSAMLightClientCtrlExecCommandConstants.scComSAMLightClientCtrlExecCommandResplitJob ); // scComSAMLightClientCtrlExecCommandResplitJob = 13
cci.ScSetStringValue( ( int ) ScComSAMLightClientCtrlValueTypes.scComSAMLightClientCtrlStringValueTypeSaveSplitsJobFileName, Environment.ExpandEnvironmentVariables( @"%SCAPS_SAM%" ) + "\\jobfiles\\demo_splitted_as_tiles.sjf" );
cci.ScExecCommand( ( int )ScComSAMLightClientCtrlExecCommandConstants.scComSAMLightClientCtrlExecCommandSaveSplitsAsEntities ); // scComSAMLightClientCtrlExecCommandSaveSplitsAsEntities = 38
cci.ScLoadJob( Environment.ExpandEnvironmentVariables( @"%SCAPS_SAM%" ) + "\\jobfiles\\demo_splitted_as_tiles.sjf", 1, 1, 0 ); ScCenterEntityByEntityName( "" ); }
private long ScCenterEntityByEntityName( string entityname ) { double MIN_X = cci.ScGetWorkingArea( 0 ); // SC_SAMLIGHT_OUTLINE_INDEX_MIN_X = 0 double MIN_Y = cci.ScGetWorkingArea( 1 ); // SC_SAMLIGHT_OUTLINE_INDEX_MIN_Y = 1 double MAX_X = cci.ScGetWorkingArea( 3 ); // SC_SAMLIGHT_OUTLINE_INDEX_MAX_X = 3 double MAX_Y = cci.ScGetWorkingArea( 4 ); // SC_SAMLIGHT_OUTLINE_INDEX_MAX_Y = 4
double CENTER_WORKING_AREA_X = ( MAX_X + MIN_X ) / 2; double CENTER_WORKING_AREA_Y = ( MAX_Y + MIN_Y ) / 2;
double min_x = cci.ScGetEntityOutline( entityname, 0 ); // scComSAMLightClientCtrlOutlineIndexMinX = 0 double min_y = cci.ScGetEntityOutline( entityname, 1 ); // scComSAMLightClientCtrlOutlineIndexMinY = 1 double max_x = cci.ScGetEntityOutline( entityname, 3 ); // scComSAMLightClientCtrlOutlineIndexMaxX = 3 double max_y = cci.ScGetEntityOutline( entityname, 4 ); // scComSAMLightClientCtrlOutlineIndexMaxY = 4
double center_entity_outline_x = ( max_x + min_x ) / 2; double center_entity_outline_y = ( max_y + min_y ) / 2;
return cci.ScTranslateEntity( entityname, CENTER_WORKING_AREA_X - center_entity_outline_x, CENTER_WORKING_AREA_Y - center_entity_outline_y, 0 ); } |
Table 419: Save Splitted Job as Tiles