RecordEdits Define FileToHashMap { FileToHashMap1 } Define FileToMatrix { FileToMatrix1 } Define Assign { Assign1 Assign2 Assign3 } Define EntityDelay { Setup1 Setup2 } Define EntityGenerator { EntityGenerator1 } Define EntitySink { EntitySink1 } Define Queue { Queue1 Queue2 Queue3 Queue4 Queue5 } Define Release { Release1 Release2 } Define Seize { Seize1 Seize2 } Define Server { Press1 Press2 } Define SimEntity { SimEntity1 } Define Resource { Resource1 } Define ColladaModel { Axis Grid100x100 } Define DisplayEntity { XY-Grid XYZ-Axis } Define OverlayClock { Clock } Define OverlayText { Title } Define Text { Text1 Text2 Text3 Text4 Text5 Text6 Text7 Text8 Text9 } Define View { View1 } FileToHashMap1 DataFile { ItemsList.txt } FileToMatrix1 DataFile { JobsList.txt } Assign1 AttributeDefinitionList { { Number 0 } } Assign2 AttributeDefinitionList { { LastItem '""' } } Assign3 AttributeDefinitionList { { LastItem '""' } } Press1 AttributeDefinitionList { { Tons 450 } } Press2 AttributeDefinitionList { { Tons 150 } } SimEntity1 AttributeDefinitionList { { Pos 0 } { JobID '""' } { ItemID '""' } { Qty 0 } { DeliveryDate '""' } } Simulation Description { 'Simulation run control inputs' } # *** FileToHashMap *** # *** FileToMatrix *** # *** Assign *** Assign1 NextComponent { Queue1 } Assign1 AttributeAssignmentList { { 'this.Number = this.NumberAdded' } { 'this.obj.Pos = this.Number' } { 'this.obj.JobID = [FileToMatrix1].Value(this.obj.Pos)(2)' } { 'this.obj.ItemID = [FileToMatrix1].Value(this.obj.Pos)(3)' } { 'this.obj.Qty = [FileToMatrix1].Value(this.obj.Pos)(4)' } { 'this.obj.DeliveryDate = [FileToMatrix1].Value(this.obj.Pos)(5)' } } Assign2 NextComponent { Queue4 } Assign2 AttributeAssignmentList { { 'this.LastItem = [Press1].obj.ItemID' } } Assign3 NextComponent { Queue5 } Assign3 AttributeAssignmentList { { 'this.LastItem = [Press2].obj.ItemID' } } # *** EntityDelay *** Setup1 NextComponent { Release1 } Setup1 Duration { ' ( [FileToHashMap1].Value(this.obj.ItemID)(4) / 60 ) * 1[h] ' } Setup2 NextComponent { Release2 } Setup2 Duration { ' ( [FileToHashMap1].Value(this.obj.ItemID)(4) / 60 ) * 1[h] ' } # *** EntityGenerator *** EntityGenerator1 NextComponent { Assign1 } EntityGenerator1 InterArrivalTime { 50[s] } EntityGenerator1 PrototypeEntity { SimEntity1 } EntityGenerator1 MaxNumber { size([FileToMatrix1].Value) } # *** EntitySink *** # *** Queue *** Queue1 MaxValidLength { } Queue2 MaxValidLength { } Queue3 MaxValidLength { } # *** Release *** Release1 NextComponent { Queue2 } Release1 ResourceList { Resource1 } Release1 NumberOfUnits { [FileToHashMap1].Value(this.obj.ItemID)(5) } Release2 NextComponent { Queue3 } Release2 ResourceList { Resource1 } Release2 NumberOfUnits { [FileToHashMap1].Value(this.obj.ItemID)(5) } # *** Seize *** Seize1 NextComponent { Setup1 } Seize1 WaitQueue { Queue1 } Seize1 SelectionCondition { '[Press1].Tons > [FileToHashMap1].Value(this.obj.ItemID)(1) && [Press1].Tons < [FileToHashMap1].Value(this.obj.ItemID)(2) && [Press1].Idle ' } Seize1 ResourceList { Resource1 } Seize1 NumberOfUnits { [FileToHashMap1].Value(this.obj.ItemID)(5) } Seize2 NextComponent { Setup2 } Seize2 WaitQueue { Queue1 } Seize2 SelectionCondition { '[Press2].Tons > [FileToHashMap1].Value(this.obj.ItemID)(1) && [Press2].Tons < [FileToHashMap1].Value(this.obj.ItemID)(2) && [Press2].Idle ' } Seize2 ResourceList { Resource1 } Seize2 NumberOfUnits { [FileToHashMap1].Value(this.obj.ItemID)(5) } # *** Server *** Press1 NextComponent { Assign2 } Press1 WaitQueue { Queue2 } Press1 SelectionCondition { 'this.Tons > [FileToHashMap1].Value(this.obj.ItemID)(1) && this.Tons < [FileToHashMap1].Value(this.obj.ItemID)(2)' } Press1 ServiceTime { ' ( this.obj.Qty / ( 3600 / [FileToHashMap1].Value(this.obj.ItemID)(3)) ) * 1[h] ' } Press2 NextComponent { Assign3 } Press2 WaitQueue { Queue3 } Press2 SelectionCondition { 'this.Tons > [FileToHashMap1].Value(this.obj.ItemID)(1) && this.Tons < [FileToHashMap1].Value(this.obj.ItemID)(2)' } Press2 ServiceTime { ' ( this.obj.Qty / ( 3600 / [FileToHashMap1].Value(this.obj.ItemID)(3)) ) * 1[h] ' } # *** SimEntity *** # *** Resource *** Resource1 Capacity { 2 } # *** GRAPHICS INPUTS *** Simulation RealTime { TRUE } Simulation SnapToGrid { TRUE } Simulation RealTimeFactor { 7812 } Simulation ShowLabels { TRUE } Simulation ShowSubModels { TRUE } Simulation ShowReferences { FALSE } Simulation ShowEntityFlow { TRUE } Simulation ShowModelBuilder { TRUE } Simulation ShowObjectSelector { TRUE } Simulation ShowInputEditor { TRUE } Simulation ShowOutputViewer { TRUE } Simulation ShowPropertyViewer { FALSE } Simulation ShowLogViewer { FALSE } FileToHashMap1 Position { 2.9 2.7 0.0 m } FileToMatrix1 Position { -8.2 2.7 0.0 m } Assign1 Position { -8.2 -0.7 0.0 m } Assign2 Position { 4.5 0.7 0.0 m } Assign3 Position { 4.5 -2.2 0.0 m } Setup1 Points { { -2.1 0.7 0.0 m } { -1.1 0.7 0.0 m } } Setup1 Animation { } Setup2 Points { { -2.1 -2.2 0.0 m } { -1.1 -2.2 0.0 m } } EntityGenerator1 Position { -10.2 -0.7 0.0 m } EntitySink1 Position { 8.4 -0.6 0.0 m } Queue1 Position { -6.9 -0.7 0.0 m } Queue1 MaxPerLine { 3 } Queue2 Position { 1.6 0.7 0.0 m } Queue3 Position { 1.6 -2.2 0.0 m } Queue4 Position { 6.7 0.7 0.0 m } Queue4 MaxPerLine { 3 } Queue5 Position { 6.7 -2.2 0.0 m } Queue5 MaxPerLine { 3 } Release1 Position { 0.0 0.7 0.0 m } Release2 Position { 0.0 -2.2 0.0 m } Seize1 Position { -3.2 0.7 0.0 m } Seize2 Position { -3.2 -2.2 0.0 m } Press1 Position { 2.9 0.7 0.0 m } Press2 Position { 2.9 -2.2 0.0 m } SimEntity1 Position { -12.1 -0.7 0.0 m } SimEntity1 Alignment { 0.0 0.0 -0.5 } Resource1 Position { -3.2 2.7 0.0 m } # *** ColladaModel *** Axis ColladaFile { /shapes/axis_text.dae } Grid100x100 ColladaFile { /shapes/grid100x100.dae } # *** 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 } # *** 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 { 4.5 -3.4 0.0 m } Text1 Size { 1.5 0.6 1.0 m } Text1 TextHeight { 0.2 m } Text1 FontColour { 150 23 46 } Text1 DataSource { [Assign3].LastItem } Text2 Position { 4.5 -0.5 0.0 m } Text2 Size { 1.4 0.6 1.0 m } Text2 TextHeight { 0.2 m } Text2 FontColour { 150 23 46 } Text2 DataSource { [Assign2].LastItem } Text3 Position { -1.4 2.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 { -3.2 -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].obj.ItemID } Text5 Position { -3.2 -3.4 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].obj.ItemID } Text6 Position { 2.9 -0.5 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 { 2.9 -3.4 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 { 2.9 -1.1 0.0 m } Text8 Size { 1.5 0.6 1.0 m } Text8 TextHeight { 0.2 m } Text8 FontColour { 150 23 46 } Text8 DataSource { [Press1].State } Text9 Position { 2.9 -4.0 0.0 m } Text9 Size { 1.5 0.6 1.0 m } Text9 TextHeight { 0.2 m } Text9 FontColour { 150 23 46 } Text9 DataSource { [Press2].State } # *** View *** View1 Description { 'Default view window' } View1 ViewCenter { -1.442879 -0.817423 5.599989 m } View1 ViewPosition { -1.442879 -0.817423 22.920497 m } View1 ShowWindow { TRUE } View1 Lock2D { TRUE } View1 SkyboxImage { /images/sky_map_2048x1024.jpg }