RecordEdits Define ExpressionThreshold { JobEntry Press1Busy Press1Queue Press2Busy Press2Queue TeamPresse } Define FileToHashMap { ColorsChange ItemsList } Define FileToMatrix { JobsList } Define TimeSeries { Shifts WorkingDays } Define TimeSeriesThreshold { ShiftThreshold WorkingDaysThreshold } Define Assign { Assign1 Assign1_1 Assign1_2 Assign1_3 Assign2_1 Assign2_2 Assign2_3 } Define EntityDelay { Cleaning1 Cleaning2 Setup1 Setup2 } Define EntityGate { EntityGate1_1 EntityGate1_2 EntityGate2_1 EntityGate2_2 } Define EntityGenerator { EntityGenerator1 } Define Queue { C1Q C2Q JobsQueue P1Q_in P1Q_out P2Q_in P2Q_out S1Q S2Q W1Q W2Q } Define Release { Release1_1 Release1_2 Release2_1 Release2_2 } Define Seize { Seize1_1 Seize1_2 Seize2_1 Seize2_2 } Define Server { Press1 Press2 } Define SimEntity { Job } Define Resource { Resource1 Resource2 } Define ColladaModel { Axis Grid100x100 } Define ImageModel { Immagine1-model extruding_screw-model extruding_screw-model1 injection_press-model injection_press-model1 injection_press-model2 injection_press-model3 job_item-model job_item-model1 workers-model workers-model1 workers-model2 workers-model3 workers-model4 workers-model5 workers-model6 workers-model7 } Define BarGauge { BarGauge1 BarGauge2 } Define DisplayEntity { XY-Grid XYZ-Axis } Define EntityLabel { BarGauge1_Label BarGauge2_Label Job_Label } Define MimicEntity { MimicEntity1 } Define OverlayClock { Clock } Define OverlayText { Title } Define Text { Text1 Text2 Text3 Text4 Text5 Text6 Text7 Text8 Text9 Text10 Text11 Text12 Text13 Text14 Text15 } Define VideoRecorder { VideoRecorder1 } Define View { View1 } Shifts UnitType { DimensionlessUnit } WorkingDays UnitType { DimensionlessUnit } ShiftThreshold UnitType { DimensionlessUnit } WorkingDaysThreshold UnitType { DimensionlessUnit } Simulation StartDate { 2023-01-01 } ColorsChange DataFile { ColorsSetup.txt } ItemsList DataFile { ItemsList.txt } JobsList DataFile { JobsList.txt } Simulation AttributeDefinitionList { { CaricoTeamPresse 1 } } Assign1 AttributeDefinitionList { { Number 0 } } Assign1_3 AttributeDefinitionList { { LastItem '"P0"' } { LastCompletation 0[h] } } Assign2_3 AttributeDefinitionList { { LastItem '"P0"' } { LastCompletation 0[h] } } Press1 AttributeDefinitionList { { Tons 450 } { Busy 0 } } Press2 AttributeDefinitionList { { Tons 150 } { Busy 0 } } Job AttributeDefinitionList { { Pos 0 } { JobID '""' } { ItemID '""' } { Qty 0 } { DeliveryDate '""' } } Simulation Description { 'Simulation run control inputs' } # *** ExpressionThreshold *** JobEntry OpenCondition { '[JobsQueue].QueueLength < 2' } Press1Busy OpenCondition { '[Press1].Busy == 0' } Press1Queue OpenCondition { '[S1Q].QueueLength < 1' } Press2Busy OpenCondition { '[Press2].Busy == 0' } Press2Queue OpenCondition { '[S2Q].QueueLength < 1' } TeamPresse OpenCondition { '[Simulation].CaricoTeamPresse >= 0' } # *** FileToHashMap *** # *** FileToMatrix *** # *** TimeSeries *** Shifts Value { { 0 h 0 } { 6 h 1 } { 14 h 1 } { 22 h 0 } } Shifts CycleTime { 24 h } WorkingDays Value { { 0 d 1 } { 1 d 1 } { 2 d 1 } { 3 d 1 } { 4 d 1 } { 5 d 0 } { 6 d 0 } } WorkingDays CycleTime { 168 h } # *** TimeSeriesThreshold *** ShiftThreshold TimeSeries { Shifts } ShiftThreshold MinOpenLimit { 0.9 } WorkingDaysThreshold TimeSeries { WorkingDays } WorkingDaysThreshold MinOpenLimit { 0.9 } # *** Assign *** Assign1 NextComponent { JobsQueue } Assign1 AttributeAssignmentList { { 'this.Number = this.NumberAdded' } { 'this.obj.Pos = this.Number' } { 'this.obj.JobID = [JobsList].Value(this.obj.Pos)(2)' } { 'this.obj.ItemID = [JobsList].Value(this.obj.Pos)(3)' } { 'this.obj.Qty = [JobsList].Value(this.obj.Pos)(4)' } { 'this.obj.DeliveryDate = [JobsList].Value(this.obj.Pos)(5)' } } Assign1_1 NextComponent { Setup1 } Assign1_1 StateAssignment { '[Press1].Busy = 1' } Assign1_1 AttributeAssignmentList { { '[Press1].Busy = 1' } } Assign1_2 NextComponent { W1Q } Assign1_2 AttributeAssignmentList { { '[Simulation].CaricoTeamPresse = [Simulation].CaricoTeamPresse - [ItemsList].Value(this.obj.ItemID)(9)' } } Assign1_3 NextComponent { P1Q_out } Assign1_3 AttributeAssignmentList { { '[Press1].Busy = 0' } { 'this.LastItem = [Press1].obj.ItemID' } { 'this.LastCompletation = [Press1].SimTime' } { '[Simulation].CaricoTeamPresse = [Simulation].CaricoTeamPresse + [ItemsList].Value(this.obj.ItemID)(9)' } } Assign2_1 NextComponent { Setup2 } Assign2_1 StateAssignment { '[Press1].Busy = 1' } Assign2_1 AttributeAssignmentList { { '[Press2].Busy = 1' } } Assign2_2 NextComponent { W2Q } Assign2_2 AttributeAssignmentList { { '[Simulation].CaricoTeamPresse = [Simulation].CaricoTeamPresse - [ItemsList].Value(this.obj.ItemID)(9)' } } Assign2_3 NextComponent { P2Q_out } Assign2_3 AttributeAssignmentList { { '[Press2].Busy = 0' } { 'this.LastItem = [Press2].obj.ItemID' } { 'this.LastCompletation = [Press1].SimTime' } { '[Simulation].CaricoTeamPresse = [Simulation].CaricoTeamPresse + [ItemsList].Value(this.obj.ItemID)(9)' } } # *** EntityDelay *** Cleaning1 NextComponent { Release1_2 } Cleaning1 Duration { ' #Cleaning time rule:# x = abs( [ColorsChange].Value([ItemsList].Value(this.obj.ItemID)(8))(1) - [ColorsChange].Value([ItemsList].Value([Assign1_3].LastItem)(8))(1) ); x >=15 ? 3 * 1[h] : (x >= 11 ? 2* 1[h] : (x >= 4 ? 1 * 1[h] : 0.5 * 1[h])) ' } Cleaning2 NextComponent { Release2_2 } Cleaning2 Duration { ' #Cleaning time rule:# x = abs( [ColorsChange].Value([ItemsList].Value(this.obj.ItemID)(8))(1) - [ColorsChange].Value([ItemsList].Value([Assign2_3].LastItem)(8))(1) ); x >=15 ? 3 * 1[h] : (x >= 11 ? 2* 1[h] : (x >= 4 ? 1 * 1[h] : 0.5 * 1[h])) ' } Setup1 NextComponent { Release1_1 } Setup1 Duration { ' ( [ItemsList].Value(this.obj.ItemID)(4) / 60 ) * (this.obj.ItemID != [Assign1_3].LastItem) * 1[h] ' } Setup2 NextComponent { Release2_1 } Setup2 Duration { ' ( [ItemsList].Value(this.obj.ItemID)(4) / 60 ) * (this.obj.ItemID != [Assign2_3].LastItem) * 1[h] ' } # *** EntityGate *** EntityGate1_1 ImmediateThresholdList { ShiftThreshold WorkingDaysThreshold } EntityGate1_1 OperatingThresholdList { Press1Busy Press1Queue } EntityGate1_1 NextComponent { S1Q } EntityGate1_1 WaitQueue { JobsQueue } EntityGate1_1 SelectionCondition { '[Press1].Tons > [ItemsList].Value(this.obj.ItemID)(1) && [Press1].Tons < [ItemsList].Value(this.obj.ItemID)(2)' } EntityGate1_2 OperatingThresholdList { TeamPresse } EntityGate1_2 NextComponent { P1Q_in } EntityGate1_2 WaitQueue { W1Q } EntityGate2_1 ImmediateThresholdList { ShiftThreshold WorkingDaysThreshold } EntityGate2_1 OperatingThresholdList { Press2Busy Press2Queue } EntityGate2_1 NextComponent { S2Q } EntityGate2_1 WaitQueue { JobsQueue } EntityGate2_1 SelectionCondition { '[Press2].Tons > [ItemsList].Value(this.obj.ItemID)(1) && [Press2].Tons < [ItemsList].Value(this.obj.ItemID)(2)' } EntityGate2_2 OperatingThresholdList { TeamPresse } EntityGate2_2 NextComponent { P2Q_in } EntityGate2_2 WaitQueue { W2Q } # *** EntityGenerator *** EntityGenerator1 OperatingThresholdList { JobEntry } EntityGenerator1 NextComponent { Assign1 } EntityGenerator1 InterArrivalTime { 50[s] } EntityGenerator1 PrototypeEntity { Job } EntityGenerator1 MaxNumber { size([JobsList].Value) } # *** Queue *** # *** Release *** Release1_1 NextComponent { C1Q } Release1_1 ResourceList { Resource1 } Release1_1 NumberOfUnits { [ItemsList].Value(this.obj.ItemID)(5) } Release1_2 NextComponent { Assign1_2 } Release1_2 ResourceList { Resource2 } Release1_2 NumberOfUnits { 1 } Release2_1 NextComponent { C2Q } Release2_1 ResourceList { Resource1 } Release2_1 NumberOfUnits { [ItemsList].Value(this.obj.ItemID)(5) } Release2_2 NextComponent { Assign2_2 } Release2_2 ResourceList { Resource2 } Release2_2 NumberOfUnits { 1 } # *** Seize *** Seize1_1 OperatingThresholdList { ShiftThreshold WorkingDaysThreshold } Seize1_1 NextComponent { Assign1_1 } Seize1_1 WaitQueue { S1Q } Seize1_1 ResourceList { Resource1 } Seize1_1 NumberOfUnits { [ItemsList].Value(this.obj.ItemID)(5) } Seize1_2 OperatingThresholdList { ShiftThreshold WorkingDaysThreshold } Seize1_2 NextComponent { Cleaning1 } Seize1_2 WaitQueue { C1Q } Seize1_2 ResourceList { Resource2 } Seize1_2 NumberOfUnits { 1 } Seize2_1 OperatingThresholdList { ShiftThreshold WorkingDaysThreshold } Seize2_1 NextComponent { Assign2_1 } Seize2_1 WaitQueue { S2Q } Seize2_1 ResourceList { Resource1 } Seize2_1 NumberOfUnits { [ItemsList].Value(this.obj.ItemID)(5) } Seize2_2 OperatingThresholdList { ShiftThreshold WorkingDaysThreshold } Seize2_2 NextComponent { Cleaning2 } Seize2_2 WaitQueue { C2Q } Seize2_2 ResourceList { Resource2 } Seize2_2 NumberOfUnits { 1 } # *** Server *** Press1 ImmediateThresholdList { ShiftThreshold WorkingDaysThreshold } Press1 NextComponent { Assign1_3 } Press1 WaitQueue { P1Q_in } Press1 SelectionCondition { 'this.Tons > [ItemsList].Value(this.obj.ItemID)(1) && this.Tons < [ItemsList].Value(this.obj.ItemID)(2)' } Press1 ServiceTime { ' ( this.obj.Qty / ( 3600 / [ItemsList].Value(this.obj.ItemID)(3)) / [ItemsList].Value(this.obj.ItemID)(7) ) * 1[h] ' } Press2 ImmediateThresholdList { ShiftThreshold WorkingDaysThreshold } Press2 NextComponent { Assign2_3 } Press2 WaitQueue { P2Q_in } Press2 SelectionCondition { 'this.Tons > [ItemsList].Value(this.obj.ItemID)(1) && this.Tons < [ItemsList].Value(this.obj.ItemID)(2)' } Press2 ServiceTime { ' ( this.obj.Qty / ( 3600 / [ItemsList].Value(this.obj.ItemID)(3)) / [ItemsList].Value(this.obj.ItemID)(7) ) * 1[h] ' } # *** SimEntity *** # *** Resource *** Resource1 Capacity { 2 } Resource2 Capacity { 1 } # *** GRAPHICS INPUTS *** Simulation RealTime { TRUE } Simulation SnapToGrid { TRUE } Simulation RealTimeFactor { 15625 } Simulation ShowLabels { TRUE } Simulation ShowSubModels { TRUE } Simulation PresentationMode { FALSE } Simulation ShowReferences { FALSE } Simulation ShowEntityFlow { FALSE } Simulation ShowModelBuilder { TRUE } Simulation ShowObjectSelector { TRUE } Simulation ShowInputEditor { TRUE } Simulation ShowOutputViewer { TRUE } Simulation ShowPropertyViewer { FALSE } Simulation ShowLogViewer { TRUE } Simulation LogViewerPos { 1163 812 } Simulation LogViewerSize { 520 250 } JobEntry Position { -11.5 -2.2 0.0 m } Press1Busy Position { 15.6 -0.6 0.0 m } Press1Queue Position { -6.5 -0.6 0.0 m } Press2Busy Position { 15.6 -3.9 0.0 m } Press2Queue Position { -6.5 -3.9 0.0 m } TeamPresse Position { 8.2 3.7 0.0 m } TeamPresse DisplayModel { Rectangle } ColorsChange Position { 4.9 3.7 0.0 m } ItemsList Position { 14.0 3.7 0.0 m } JobsList Position { -11.5 3.7 0.0 m } Shifts Position { -5.0 6.1 0.0 m } WorkingDays Position { -5.0 7.9 0.0 m } ShiftThreshold Position { -3.0 6.1 0.0 m } WorkingDaysThreshold Position { -3.0 7.9 0.0 m } Assign1 Position { -11.5 -1.0 0.0 m } Assign1_1 Position { -3.4 0.7 0.0 m } Assign1_2 Position { 8.2 0.7 0.0 m } Assign1_3 Position { 15.6 0.7 0.0 m } Assign2_1 Position { -3.4 -2.6 0.0 m } Assign2_2 Position { 8.2 -2.6 0.0 m } Assign2_3 Position { 15.6 -2.6 0.0 m } Cleaning1 Points { { 4.4 0.7 0.0 m } { 5.4 0.7 0.0 m } } Cleaning1 DisplayModel { EntityDelayModel } Cleaning2 Points { { 4.4 -2.6 0.0 m } { 5.4 -2.6 0.0 m } } Setup1 Points { { -2.1 0.7 0.0 m } { -1.1 0.7 0.0 m } } Setup2 Points { { -2.1 -2.6 0.0 m } { -1.1 -2.6 0.0 m } } EntityGate1_1 Position { -7.9 0.7 0.0 m } EntityGate1_2 Position { 11.3 0.7 0.0 m } EntityGate2_1 Position { -7.9 -2.6 0.0 m } EntityGate2_2 Position { 11.3 -2.6 0.0 m } EntityGenerator1 Position { -13.5 -1.0 0.0 m } C1Q Position { 1.4 0.7 0.0 m } C2Q Position { 1.4 -2.6 0.0 m } JobsQueue Position { -10.2 -1.0 0.0 m } JobsQueue MaxPerLine { 3 } P1Q_in Position { 12.6 0.7 0.0 m } P1Q_in Size { 0.5 0.5 0.0 m } P1Q_out Position { 19.0 0.7 0.0 m } P1Q_out MaxPerLine { 3 } P2Q_in Position { 12.7 -2.6 0.0 m } P2Q_out Position { 19.0 -2.6 0.0 m } P2Q_out MaxPerLine { 3 } S1Q Position { -6.5 0.7 0.0 m } S2Q Position { -6.5 -2.6 0.0 m } W1Q Position { 9.7 0.7 0.0 m } W2Q Position { 9.7 -2.6 0.0 m } Release1_1 Position { 0.0 0.7 0.0 m } Release1_2 Position { 6.7 0.7 0.0 m } Release2_1 Position { 0.0 -2.6 0.0 m } Release2_2 Position { 6.7 -2.6 0.0 m } Seize1_1 Position { -5.0 0.7 0.0 m } Seize1_2 Position { 3.0 0.7 0.0 m } Seize2_1 Position { -5.0 -2.6 0.0 m } Seize2_2 Position { 3.0 -2.6 0.0 m } Press1 Position { 14.0 0.7 0.0 m } Press1 Size { 1.000000 1.000000 1.0 m } Press1 DisplayModel { injection_press-model2 } Press2 Position { 14.0 -2.6 0.0 m } Press2 Size { 1.000000 1.000000 1.0 m } Press2 DisplayModel { injection_press-model3 } Job Position { -15.5 -1.0 0.0 m } Job Alignment { 0.0 0.0 -0.5 } Job Size { 0.500000 0.500000 1.0 m } Job DisplayModel { job_item-model1 } Resource1 Position { -5.0 3.7 0.0 m } Resource2 Position { 3.0 3.7 0.0 m } # *** ColladaModel *** Axis ColladaFile { /shapes/axis_text.dae } Grid100x100 ColladaFile { /shapes/grid100x100.dae } # *** ImageModel *** injection_press-model2 ImageFile { graphics/injection_press.png } injection_press-model3 ImageFile { graphics/injection_press.png } job_item-model1 ImageFile { graphics/job_item.png } workers-model7 ImageFile { graphics/workers.png } # *** BarGauge *** BarGauge1 Position { 14.0 -4.3 0.0 m } BarGauge1 Size { 0.3 1.0 0.0 m } BarGauge1 Orientation { 0.0 0.0 -90.0 deg } BarGauge1 DataSource { [Press2].FractionCompleted } BarGauge2 Position { 14.0 -1.0 0.0 m } BarGauge2 Size { 0.3 1.0 0.0 m } BarGauge2 Orientation { 0.0 0.0 -90.0 deg } BarGauge2 DataSource { [Press1].FractionCompleted } # *** DisplayEntity *** XY-Grid Description { 'Grid for the X-Y plane (100 m x 100 m)' } XY-Grid Size { 100 100 m } XY-Grid DisplayModel { Grid100x100 } XY-Grid Show { FALSE } XY-Grid Movable { FALSE } XYZ-Axis Description { 'Unit vectors' } XYZ-Axis Alignment { -0.4393409 -0.4410096 -0.4394292 } XYZ-Axis Size { 1.125000 1.1568242 1.1266404 m } XYZ-Axis DisplayModel { Axis } XYZ-Axis Show { FALSE } XYZ-Axis Movable { FALSE } # *** EntityLabel *** BarGauge1_Label Position { 0.0 -0.4 0.0 m } BarGauge1_Label Size { 1.3 0.3 1.0 m } BarGauge1_Label RelativeEntity { BarGauge1 } BarGauge1_Label Show { FALSE } BarGauge1_Label TargetEntity { BarGauge1 } BarGauge2_Label Position { 0.0 -0.4 0.0 m } BarGauge2_Label Size { 1.3 0.3 1.0 m } BarGauge2_Label RelativeEntity { BarGauge2 } BarGauge2_Label Show { FALSE } BarGauge2_Label TargetEntity { BarGauge2 } Job_Label Position { -0.05 -0.5 0.0 m } Job_Label Size { 0.7 0.3 1.0 m } Job_Label RelativeEntity { Job } Job_Label Show { FALSE } Job_Label TargetEntity { Job } # *** MimicEntity *** MimicEntity1 Position { 8.2 5.4 0.0 m } MimicEntity1 Size { 1.000000 1.000000 1.0 m } MimicEntity1 DisplayModel { workers-model7 } # *** OverlayClock *** Clock Description { 'Simulation date and time' } Clock ScreenPosition { 15 15 } Clock AlignBottom { TRUE } Clock TextHeight { 10 } Clock FontColour { gray20 } Clock FontStyle { ITALIC } Clock DateFormat { 'yyyy-MMM-dd HH:mm:ss.SSS' } # *** OverlayText *** Title Description { 'Title for the simulation model' } Title ScreenPosition { 15 15 } Title Format { 'Injection Job Shop' } Title TextHeight { 18 } Title FontColour { 150 23 46 } Title FontStyle { BOLD } # *** Text *** Text1 Position { -1.6 -3.9 0.0 m } Text1 Size { 1.5 0.6 1.0 m } Text1 TextHeight { 0.2 m } Text1 FontColour { 150 23 46 } Text1 DataSource { ' ( [ItemsList].Value([Setup2].obj.ItemID)(4) / 60 ) * 1[h] ' } Text2 Position { 4.9 -0.6 0.0 m } Text2 Size { 1.5 0.6 1.0 m } Text2 TextHeight { 0.2 m } Text2 FontColour { 150 23 46 } Text2 DataSource { ' #Cleaning time rule:# x = abs( [ColorsChange].Value([ItemsList].Value([Cleaning1].obj.ItemID)(7))(1) - [ColorsChange].Value([ItemsList].Value([Assign1_3].LastItem)(7))(1) ); x >=15 ? 3 * 1[h] : (x >= 11 ? 2* 1[h] : (x >= 4 ? 1 * 1[h] : 0.5 * 1[h])) ' } Text3 Position { -5.0 4.6 0.0 m } Text3 Size { 1.5 0.6 1.0 m } Text3 TextHeight { 0.15 m } Text3 Format { 'MechanicsAvailable = %.0f' } Text3 DataSource { [Resource1].AvailableUnits } Text4 Position { -5.0 -0.6 0.0 m } Text4 Size { 1.5 0.6 1.0 m } Text4 TextHeight { 0.2 m } Text4 FontColour { 150 23 46 } Text4 DataSource { [Seize1_1].obj.ItemID } Text5 Position { -5.0 -3.9 0.0 m } Text5 Size { 1.5 0.6 1.0 m } Text5 TextHeight { 0.2 m } Text5 FontColour { 150 23 46 } Text5 DataSource { [Seize2_1].obj.ItemID } Text6 Position { 14.0 -0.6 0.0 m } Text6 Size { 1.5 0.6 1.0 m } Text6 TextHeight { 0.2 m } Text6 FontColour { 150 23 46 } Text6 DataSource { [Press1].obj.JobID } Text7 Position { 14.0 -3.9 0.0 m } Text7 Size { 1.5 0.6 1.0 m } Text7 TextHeight { 0.2 m } Text7 FontColour { 150 23 46 } Text7 DataSource { [Press2].obj.JobID } Text8 Position { -1.6 -0.6 0.0 m } Text8 Size { 1.5 0.6 1.0 m } Text8 TextHeight { 0.2 m } Text8 FontColour { 150 23 46 } Text8 DataSource { ' ( [ItemsList].Value([Setup1].obj.ItemID)(4) / 60 ) * 1[h] ' } Text9 Position { 3.0 4.6 0.0 m } Text9 Size { 1.5 0.6 1.0 m } Text9 TextHeight { 0.15 m } Text9 Format { 'StartsAvailable = %.0f' } Text9 DataSource { [Resource2].AvailableUnits } Text10 Position { 4.9 -3.8 0.0 m } Text10 Size { 1.5 0.6 1.0 m } Text10 TextHeight { 0.2 m } Text10 FontColour { 150 23 46 } Text10 DataSource { ' #Cleaning time rule:# x = abs( [ColorsChange].Value([ItemsList].Value([Cleaning2].obj.ItemID)(7))(1) - [ColorsChange].Value([ItemsList].Value([Assign2_3].LastItem)(7))(1) ); x >=15 ? 3 * 1[h] : (x >= 11 ? 2* 1[h] : (x >= 4 ? 1 * 1[h] : 0.5 * 1[h])) ' } Text11 Position { 19.0 -0.6 0.0 m } Text11 Size { 1.5 0.6 1.0 m } Text11 TextHeight { 0.2 m } Text11 FontColour { 150 23 46 } Text11 DataSource { [Assign1_3].LastCompletation } Text12 Position { 19.0 -3.9 0.0 m } Text12 Size { 1.5 0.6 1.0 m } Text12 TextHeight { 0.2 m } Text12 FontColour { 150 23 46 } Text12 DataSource { [Assign2_3].LastCompletation } Text13 Position { 8.2 4.6 0.0 m } Text13 Size { 1.5 0.6 1.0 m } Text13 TextHeight { 0.15 m } Text13 FontColour { Black } Text13 Format { 'Team x Presses = %s ' } Text13 DataSource { [Simulation].CaricoTeamPresse } Text14 Position { 8.2 -0.6 0.0 m } Text14 Size { 1.5 0.6 1.0 m } Text14 TextHeight { 0.2 m } Text14 FontColour { 150 23 46 } Text14 DataSource { [ItemsList].Value([Assign1_2].obj.ItemID)(9) } Text15 Position { 8.2 -3.9 0.0 m } Text15 Size { 1.5 0.6 1.0 m } Text15 TextHeight { 0.2 m } Text15 FontColour { 150 23 46 } Text15 DataSource { [ItemsList].Value([Assign2_2].obj.ItemID)(9) } # *** VideoRecorder *** VideoRecorder1 Position { -17.6 -1.0 0.0 m } VideoRecorder1 CaptureViews { View1 } # *** View *** View1 Description { 'Default view window' } View1 ViewCenter { 2.048857 1.165245 14.510372 m } View1 ViewPosition { 2.048857 1.165245 31.83088 m } View1 ShowWindow { TRUE } View1 Lock2D { TRUE } View1 SkyboxImage { /images/sky_map_2048x1024.jpg }