{10.4.0.3250} {Enterprise Dynamics startup information} if(StartingED, SoftStartED([])); {Model information} AddLayer([Main], 1, 1, 0); {Load required atoms} StoreActiveAtom; LoadAtomFromFile([Container], pDir([Atoms\BASIC MODELING\Container.atm])); LoadAtomFromFile([Product], pDir([Atoms\BASIC MODELING\Product.atm])); LoadAtomFromFile([Queue], pDir([Atoms\BASIC MODELING\Queue.atm])); LoadAtomFromFile([Sink], pDir([Atoms\BASIC MODELING\Sink.atm])); LoadAtomFromFile([Source], pDir([Atoms\BASIC MODELING\Source.atm])); LoadAtomFromFile([Assembler], pDir([Atoms\PROCESSES\Assembler.atm])); LoadAtomFromFile([Warehouse], pDir([Atoms\STORAGE\Warehouse.atm])); LoadAtomFromFile([Initialize], pDir([Atoms\TOOLS\Initialize.atm])); LoadAtomFromFile([Accumulating Conveyor], pDir([Atoms\TRANSPORT\CONVEYORS\ACCUMULATING\Accumulating Conveyor.atm])); LoadAtomFromFile([Textbox], pDir([Atoms\VISUALIZATION\Textbox.atm])); RestoreActiveAtom; {Atom: Source_Products} sets; AtomByName([Source], Main); if(not(AtomExists), Error([Cannot find mother atom 'Source'. Inheriting from BaseClass.])); CreateAtom(a, s, [Source_Products], 1, false); SetExprAtt([SendTo], [{.~1|~1~.}1]); SetExprAtt([CycleTime], [10]); SetExprAtt([CreationTrigger], [4DS[{.~1|~do( label([Type], i) := dUniform(1, 5), Case( label([Type], i), Color(i) := ColorRed, Color(i) := ColorGreen, Color(i) := ColorBlue, Color(i) := ColorOlive, Color(i) := ColorBrown ) )~.}do( label([Type], i) := dUniform(1, 5), Case( label([Type], i), Color(i) := ColorRed, Color(i) := ColorGreen, Color(i) := ColorBlue, Color(i) := ColorOlive, Color(i) := ColorBrown ) )]4DS]); SetExprAtt([ExitTrigger], [0]); SetExprAtt([FirstProduct], [10]); SetExprAtt([MaxProducts], [{.~1|~200~.}200]); SetAtt([Icon3D], 4); SetAtomSettings([], 7168771, 176); Set(Icon(a), RegisterIcon(IconsDir([bmp\atoms\source.bmp]), [source])); AddModel3D( RegisterModel3D(Model3DDir([source.wrl]), [source.wrl], 0, 0, 0, 1, 1, -1, -90, 0, 0), a); AddModel3D( RegisterModel3D(Model3DDir([source_Resized.wrl]), [Source_Resized.wrl], 0, 0, 0, 1, 1, -1, -90, 0, 0), a); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\Source.ico])); SetChannels(1, 1); SetChannelRanges(1, 1, 1, 255); SetLoadAtomID(1); SetChannelRequestCount(1, 0, true, false, 0, 0, [], []); SetLoc(0, 15, 0); SetSize(5, 2, 2); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(2); ExecLateInit; {Atom: Queue_Products} sets; AtomByName([Queue], Main); if(not(AtomExists), Error([Cannot find mother atom 'Queue'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Queue_Products], 1, false); SetExprAtt([SendTo], [{.~1|~1~.}1]); SetAtt([Capacity], 10); SetExprAtt([EntryTrigger], [0]); SetExprAtt([ExitTrigger], [0]); SetExprAtt([QueueDiscipline], [{.content(c)|Fifo (First In First Out).}content(c)]); SetAtt([DrawLoc], 1); SetExprAtt([InStrategy], [{.openallic(c)|Any inputchannel.}openallic(c)]); SetAtt([3DIcon], 2); SetAtt([ShowContents], 1); SetAtt([FittingContentCount], 0); SetAtt([NameLength3D], 14); SetAtomSettings([], 12615680, 4272); Set(Icon(a), RegisterIcon(IconsDir([bmp\atoms\queue.bmp]), [queue])); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\Queue.ico])); SetChannels(1, 1); SetChannelRanges(1, 255, 1, 255); SetLoadAtomID(2); SetChannelRequestCount(1, 0, true, false, 0, 0, [], []); SetLoc(5, 15, 0); SetSize(5, 2, 0); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(13); ExecLateInit; {Atom: Warehouse} sets; AtomByName([Warehouse], Main); if(not(AtomExists), Error([Cannot find mother atom 'Warehouse'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Warehouse], 1, false); SetAtt([rows], 10); SetAtt([columns], 20); SetAtt([currow], 1); SetAtt([curcol], 1); SetExprAtt([entrytrigger], [0]); SetExprAtt([exittrigger], [CloseOutput(c)]); SetExprAtt([putinrow], [4DS[label([row],i)]4DS]); SetExprAtt([putincol], [4DS[label([column],i)]4DS]); SetExprAtt([instrategy], [{.openallic(c)|Any inputchannel.}openallic(c)]); SetExprAtt([queuediscipline], [{.content(c)|Fifo (First In First Out).}content(c)]); SetExprAtt([sendto], [{.~1|~1~.}1]); SetExprAtt([prodtosend], [first(c)]); SetAtt([temp], 0); SetAtt([showcontents], 0); SetAtt([DisplayTexture], 1); SetAtt([3dwidth], 1); SetAtt([searchmode], 1); SetAtomSettings([], 4605453, 176); Set(Icon(a), RegisterIcon(IconsDir([bmp\buffers\warehouse.bmp]), [warehouse])); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); AddTexture( RegisterTexture(IconsDir([bmp\buffers\warehouse.bmp]), [warehouse], 108, 54, 255, 255, 1, 16777215, 0, 0), a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\Warehouse.ico])); SetChannels(1, 1); SetChannelRanges(1, 255, 0, 255); OpenGlobalChannels(true, false); SetLoadAtomID(3); SetChannelRequestCount(1, 0, true, false, 0, 0, [], []); SetLoc(5, 19, 0); SetSize(20, 2, 10); LockPosition(false); LockSize(false); DisableIconRotation(false); SetTable(10, 20); CreateTableColumn(0, 0, [`` 1 2 3 4 5 6 7 8 9 10 ]); CreateTableColumn(1, 0, [1 ]); CreateTableColumn(2, 0, [2 ]); CreateTableColumn(3, 0, [3 ]); CreateTableColumn(4, 0, [4 ]); CreateTableColumn(5, 0, [5 ]); CreateTableColumn(6, 0, [6 ]); CreateTableColumn(7, 0, [7 ]); CreateTableColumn(8, 0, [8 ]); CreateTableColumn(9, 0, [9 ]); CreateTableColumn(10, 0, [10 ]); CreateTableColumn(11, 0, [11 ]); CreateTableColumn(12, 0, [12 ]); CreateTableColumn(13, 0, [13 ]); CreateTableColumn(14, 0, [14 ]); CreateTableColumn(15, 0, [15 ]); CreateTableColumn(16, 0, [16 ]); CreateTableColumn(17, 0, [17 ]); CreateTableColumn(18, 0, [18 ]); CreateTableColumn(19, 0, [19 ]); CreateTableColumn(20, 0, [20 ]); SetStatus(15); ExecLateInit; {Atom: Product} sets; AtomByName([Product], Main); if(not(AtomExists), Error([Cannot find mother atom 'Product'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Product], 1, false); SetAtt([Icon3D], 1); SetAtt([Hide2DIcon], 1); SetAtomSettings([], 12615680, 73874); Set(Icon(a), RegisterIcon(IconsDir([Png\products\product.png]), [product], 1, 1, 16777215, 255, 255, false, 0)); AddModel3D( RegisterModel3D(Model3DDir([box-closed.wrl]), [box-closed.wrl], 0, 0, 0, 1, 1, -1, -90, 0, 0), a); AddModel3D( RegisterModel3D(Model3DDir([box-opened.wrl]), [box-opened.wrl], 0, 0, 0, 1, 1, -1, -90, 0, 0), a); AddModel3D( RegisterModel3D(Model3DDir([pallet-wood.wrl]), [pallet-wood.wrl], 0, 0, 0, 1, 1, -1, -90, 0, 0), a); AddModel3D( RegisterModel3D(Model3DDir([pallet-plastic.wrl]), [pallet-plastic.wrl], 0, 0, 0, 1, 1, -1, -90, 0, 0), a); AddModel3D( RegisterModel3D(Model3DDir([oildrum.wrl]), [oildrum.wrl], 0, 0, 0, 1, 1, -1, -90, 0, 0), a); AddModel3D( RegisterModel3D(Model3DDir([crate.wrl]), [crate.wrl], 0, 0, 0, 1, 1, -1, -90, 0, 0), a); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\Product.ico])); Set(DdbRec, [>drawxsize:1.>drawysize:1.]); SetLoadAtomID(4); SetLoc(-4, 15, 0); SetSize(1, 1, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(0); ExecLateInit; {Atom: Source_Orders} sets; AtomByName([Source], Main); if(not(AtomExists), Error([Cannot find mother atom 'Source'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Source_Orders], 1, false); SetExprAtt([SendTo], [{.~1|~1~.}1]); SetExprAtt([CycleTime], [NegExp(60)]); SetExprAtt([CreationTrigger], [4DS[{.~1|~do( label([Type], i) := dUniform(1, 5), Case( label([Type], i), Color(i) := ColorRed, Color(i) := ColorGreen, Color(i) := ColorBlue, Color(i) := ColorOlive, Color(i) := ColorBrown ) )~.}do( label([Type], i) := dUniform(1, 5), Case( label([Type], i), Color(i) := ColorRed, Color(i) := ColorGreen, Color(i) := ColorBlue, Color(i) := ColorOlive, Color(i) := ColorBrown ) )]4DS]); SetExprAtt([ExitTrigger], [0]); SetExprAtt([FirstProduct], [NegExp(30)]); SetExprAtt([MaxProducts], [{.-1|1. Unlimited.}-1]); SetAtt([Icon3D], 4); SetAtomSettings([], 7168771, 176); Set(Icon(a), RegisterIcon(IconsDir([bmp\atoms\source.bmp]), [source])); AddModel3D( RegisterModel3D(Model3DDir([source.wrl]), [source.wrl], 0, 0, 0, 1, 1, -1, -90, 0, 0), a); AddModel3D( RegisterModel3D(Model3DDir([source_Resized.wrl]), [Source_Resized.wrl], 0, 0, 0, 1, 1, -1, -90, 0, 0), a); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\Source.ico])); SetChannels(1, 1); SetChannelRanges(1, 1, 1, 255); SetLoadAtomID(5); SetChannelRequestCount(1, 0, true, false, 0, 0, [], []); SetLoc(0, 24, 0); SetSize(5, 2, 2); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(2); ExecLateInit; {Atom: Queue_Orders} sets; AtomByName([Queue], Main); if(not(AtomExists), Error([Cannot find mother atom 'Queue'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Queue_Orders], 1, false); SetExprAtt([SendTo], [4DS[{.~1|~if( label([Fulfillment], first(c)) = true, 1, 2 )~.}if( label([Fulfillment], first(c)) = true, 1, 2 )]4DS]); SetAtt([Capacity], 10); SetExprAtt([EntryTrigger], [4DS[do( var([aWarehouse], vbAtom, AtomByName([Warehouse], Model)), { store atom reference of warehouse atom in a local variable } var([aProduct], vbAtom), { loop through content of warehouse ang search matching product for current order - compare label "type" for that } Repeat( Content(aWarehouse), do( aProduct := rank(Count, aWarehouse), if( label([Type], i) = label([Type], aProduct), { get label type of current order (i) and compare with products within warehouse (rank(count, aWarehouse)) } do( label([Fulfillment], i) := true, { add label to order to indicate that order can be fulfilled and use that in SendTo of current Queue_Orders } { place matching product as first product within warehouse and open the output so that this product is sent out } SetRank(1, aProduct), OpenOutput(aWarehouse), Break { exit loop } ) ) ) ) )]4DS]); SetExprAtt([ExitTrigger], [0]); SetExprAtt([QueueDiscipline], [{.content(c)|Fifo (First In First Out).}content(c)]); SetAtt([DrawLoc], 1); SetExprAtt([InStrategy], [{.openallic(c)|Any inputchannel.}openallic(c)]); SetAtt([3DIcon], 2); SetAtt([ShowContents], 1); SetAtt([FittingContentCount], 0); SetAtt([NameLength3D], 12); SetAtomSettings([], 12615680, 4272); Set(Icon(a), RegisterIcon(IconsDir([bmp\atoms\queue.bmp]), [queue])); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\Queue.ico])); SetChannels(1, 2); SetChannelRanges(1, 255, 1, 255); SetLoadAtomID(6); SetChannelRequestCount(1, 0, true, false, 0, 0, [], []); SetChannelRequestCount(2, 0, true, false, 0, 0, [], []); SetLoc(5, 24, 0); SetSize(5, 2, 0); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(13); ExecLateInit; {Atom: Accumulating Conveyor} sets; AtomByName([Accumulating Conveyor], Main); if(not(AtomExists), Error([Cannot find mother atom 'Accumulating Conveyor'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Accumulating Conveyor], 1, false); SetExprAtt([Speed], [1]); SetExprAtt([TravelTimeC], [Length / Speed]); SetAtt([TempMaxLoc], 17.9); SetExprAtt([CurLoc], [Min(TempMaxLoc, Speed * (Time - EntryTime(cs)))]); SetAtt([ExitTime], 0); SetAtt([CurContent], 0); SetExprAtt([Length], [If(Elevation <> 0, Hor_Length / Cos(Angle), Hor_Length)]); SetExprAtt([SendTo], [{.~1|~1~.}1]); SetAtt([TimeOfEntry], 0); SetAtt([ExitLength], 1.1); SetExprAtt([CalcLocations], [If(Content(c) <> 0, Do( TempMaxLoc :=Min(Length, +((Length - ExitLength), (Speed * (Time - ExitTime)))), ForAtomLayerUnder(c, Do( Setcs, SetLoc(-(*(Display_Factor, CurLoc), xSize(cs)), /(-(ySize(c), ySize(cs)), 2), +(zSize(c), *(/(CurLoc, /(If(Use_Physical, xSize(c), Input_Length), xSize(c))), Sin(Angle))), cs), SetAtt(3, -(TempMaxLoc, ProductSpacing(SpacingRule, xSize(cs), Spacing)), c) ) ) ) )]); SetExprAtt([EntryTrigger], [0]); SetAtt([Capacity], 10000); SetAtt([SpacingRule], 1); SetExprAtt([Spacing], [0]); SetExprAtt([ExitTrigger], [0]); SetAtt([Use_Physical], 1); SetAtt([Input_Length], 19); SetAtt([Display_Factor], 1); SetAtt([Leg_Supports], 7); SetExprAtt([Elevation], [0]); SetExprAtt([Angle], [ArcTan(Elevation / Hor_Length)]); SetExprAtt([Hor_Length], [If(Use_Physical, xSize(c), Input_Length)]); SetAtt([IsConveyor], 5); SetAtomSettings([], 11249415, 1202); Set(Icon(a), RegisterIcon(IconsDir([bmp\atoms\conveyor.bmp]), [conveyor])); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\AccumulatingConveyor.ico])); Set(DdbRec, [>legdist:3.]); SetChannels(1, 1); SetChannelRanges(1, 255, 1, 255); SetLoadAtomID(7); SetChannelRequestCount(1, 0, true, false, 0, 0, [], []); SetLoc(24, 26, 0); SetSize(19, 1, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(13); ExecLateInit; {Atom: Assembler} sets; AtomByName([Assembler], Main); if(not(AtomExists), Error([Cannot find mother atom 'Assembler'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Assembler], 1, false); SetExprAtt([cycletime], [lognormal(10,2)]); SetExprAtt([entrytrigger], [0]); SetExprAtt([exittrigger], [0]); SetExprAtt([sendto], [{.~1|~1~.}1]); SetAtt([curcolref], 1); SetExprAtt([4Dscript], [1]); SetAtt([finishquant], 2); SetAtt([showcontents], 1); SetAtt([pack], 1); SetExprAtt([In2Trigger], [0]); SetAtt([columns], 1); SetAtt([3DIcon], 2); SetAtt([CutOffMode], 0); SetExprAtt([CutOffTime], [0]); SetExprAtt([CutOff], [false]); SetAtomSettings([], 4194432, 1200); Set(Icon(a), RegisterIcon(IconsDir([bmp\machines\mach1001.bmp]), [mach1001])); AddModel3D( RegisterModel3D(Model3DDir([assembler.wrl]), [assembler.wrl], 0, 0, 0, 1, 1, -1, -90, 0, 0), a); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\Assembler.ico])); SetChannels(2, 1); SetChannelRanges(2, 255, 1, 255); SetLoadAtomID(8); SetChannelRequestCount(1, 0, true, false, 5, 0, [container/order/main product], []); SetChannelRequestCount(2, 0, false, true, 0, 0, [], []); SetLoc(19, 26, 0); SetSize(5, 5, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetTable(2, 1); CreateTableColumn(0, 64, [`` `Input ch1` `Input ch2` ]); CreateTableColumn(1, 64, [`Product 1` 1 1 ]); SetStatus(1); ExecLateInit; {Atom: Sink_FulfilledOrders} sets; AtomByName([Sink], Main); if(not(AtomExists), Error([Cannot find mother atom 'Sink'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Sink_FulfilledOrders], 1, false); SetExprAtt([EntryTrigger], [0]); SetAtt([Icon3D], 4); SetAtomSettings([], 7168771, 176); Set(Icon(a), RegisterIcon(pDir([Media\Images\Atoms\sink.bmp]), [sink])); AddModel3D( RegisterModel3D(Model3DDir([sink.wrl]), [sink.wrl], 0, 0, 0, 1, 1, -1, -90, 0, 0), a); AddModel3D( RegisterModel3D(Model3DDir([sink_Resized.wrl]), [sink_Resized.wrl], 0, 0, 0, 1, 1, -1, -90, 0, 0), a); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\Sink.ico])); SetChannels(1, 0); SetChannelRanges(1, 255, 0, 0); SetLoadAtomID(9); SetChannelRequestCount(1, 0, true, true, 0, 0, [], []); SetLoc(43, 26, 0); SetSize(5, 2, 2); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(1); ExecLateInit; {Atom: Order} sets; AtomByName([Container], Main); if(not(AtomExists), Error([Cannot find mother atom 'Container'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Order], 1, false); SetAtt([AutoReSize], 0); SetExprAtt([sx], [1.1]); SetExprAtt([sy], [1.1]); SetExprAtt([sz], [1]); SetAtt([ContainerType], 1); SetAtt([UseBoxVisible], 1); SetAtomSettings([], 6080220, 1170); Set(Icon(a), RegisterIcon(IconsDir([bmp\atoms\Pallet.bmp]), [Pallet.bmp])); AddModel3D( RegisterModel3D(Model3DDir([pallet-wood.wrl]), [pallet-wood.wrl], 0, 0, 0, 1, 1, -1, -90, 0, 0), a); AddModel3D( RegisterModel3D(Model3DDir([pallet-plastic.wrl]), [pallet-plastic.wrl], 0, 0, 0, 1, 1, -1, -90, 0, 0), a); AddModel3D( RegisterModel3D(Model3DDir([crate.wrl]), [crate.wrl], 0, 0, 0, 1, 1, -1, -90, 0, 0), a); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\Container.ico])); Set(DdbRec, [>drawxsize:1.1.>drawysize:1.1.>centerpoint:0.22.]); SetLoadAtomID(10); SetLoc(-4, 24, 0); SetSize(1.1, 1.1, 0.15); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(0); ExecLateInit; {Atom: Initialize11} sets; AtomByName([Initialize], Main); if(not(AtomExists), Error([Cannot find mother atom 'Initialize'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Initialize11], 1, false); Set(OnInit, [4DS[LateInit([Initialize_OnInit(c)])]4DS]); SetExprAtt([code to execute], [CloseOutput(in(1, c))]); SetAtt([Check], 1); SetAtt([CheckOnInit], 0); SetAtomSettings([], 4194432, 184); Set(Icon(a), RegisterIcon(pDir([media\images\default.jpg]), [default])); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\Initialize.ico])); SetChannels(1, 0); SetChannelRanges(1, 255, 0, 255); SetLoadAtomID(11); SetChannelRequestCount(1, 0, true, true, 0, 0, [], []); SetLoc(20, 15, 0); SetSize(5, 2, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(0); ExecLateInit; {Atom: Textbox12} sets; AtomByName([Textbox], Main); if(not(AtomExists), Error([Cannot find mother atom 'Textbox'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Textbox12], 1, false); SetTextAtt([Text], [Products]); SetAtt([TextColor], 1); SetAtt([BackgroundColor], 16777215); SetAtt([FontSize], 1.4); SetExprAtt([Font], [4DS[[Arial]]4DS]); SetAtt([FontScale], 5); SetAtt([Italic], 0); SetAtt([Pitch], 0); SetAtt([xPitch], -45); SetAtt([zPitch], 0); SetAtt([3DEnabled], 0); SetAtt([3DFontSize], 1); SetAtt([2DEnabled], 1); SetAtt([TextScript], 0); SetAtomSettings([], 15, 8224); Set(Icon(a), RegisterIcon(pDir([media\images\default.jpg]), [default])); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\Textbox.ico])); SetChannels(1, 0); SetChannelRanges(1, 1, 0, 0); SetLoadAtomID(12); SetLoc(-4, 12, 1); SetSize(8, 2, 0); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(0); ExecLateInit; {Atom: Duplicate ofTextbox121} sets; AtomByName([Textbox], Main); if(not(AtomExists), Error([Cannot find mother atom 'Textbox'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Duplicate ofTextbox121], 1, false); SetTextAtt([Text], [Orders]); SetAtt([TextColor], 1); SetAtt([BackgroundColor], 16777215); SetAtt([FontSize], 1.4); SetExprAtt([Font], [4DS[[Arial]]4DS]); SetAtt([FontScale], 5); SetAtt([Italic], 0); SetAtt([Pitch], 0); SetAtt([xPitch], -45); SetAtt([zPitch], 0); SetAtt([3DEnabled], 0); SetAtt([3DFontSize], 1); SetAtt([2DEnabled], 1); SetAtt([TextScript], 0); SetAtomSettings([], 15, 8224); Set(Icon(a), RegisterIcon(pDir([media\images\default.jpg]), [default])); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\Textbox.ico])); SetChannels(1, 0); SetChannelRanges(1, 1, 0, 0); SetLoadAtomID(13); SetLoc(-4, 27, 1); SetSize(8, 2, 0); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(0); ExecLateInit; {Atom: Duplicate ofDuplicate ofTextbox1211} sets; AtomByName([Textbox], Main); if(not(AtomExists), Error([Cannot find mother atom 'Textbox'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Duplicate ofDuplicate ofTextbox1211], 1, false); SetTextAtt([Text], [Merge Order with Product]); SetAtt([TextColor], 1); SetAtt([BackgroundColor], 16777215); SetAtt([FontSize], 1.4); SetExprAtt([Font], [4DS[[Arial]]4DS]); SetAtt([FontScale], 5); SetAtt([Italic], 0); SetAtt([Pitch], 0); SetAtt([xPitch], -45); SetAtt([zPitch], 0); SetAtt([3DEnabled], 0); SetAtt([3DFontSize], 1); SetAtt([2DEnabled], 1); SetAtt([TextScript], 0); SetAtomSettings([], 15, 8224); Set(Icon(a), RegisterIcon(pDir([media\images\default.jpg]), [default])); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\Textbox.ico])); SetChannels(1, 0); SetChannelRanges(1, 1, 0, 0); SetLoadAtomID(14); SetLoc(19, 23, 1); SetSize(22, 2, 0); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(0); ExecLateInit; {Atom: Sink_UnfulfilledOrders} sets; AtomByName([Sink], Main); if(not(AtomExists), Error([Cannot find mother atom 'Sink'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Sink_UnfulfilledOrders], 1, false); SetExprAtt([EntryTrigger], [0]); SetAtt([Icon3D], 4); SetAtomSettings([], 7168771, 176); Set(Icon(a), RegisterIcon(pDir([Media\Images\Atoms\sink.bmp]), [sink])); AddModel3D( RegisterModel3D(Model3DDir([sink.wrl]), [sink.wrl], 0, 0, 0, 1, 1, -1, -90, 0, 0), a); AddModel3D( RegisterModel3D(Model3DDir([sink_Resized.wrl]), [sink_Resized.wrl], 0, 0, 0, 1, 1, -1, -90, 0, 0), a); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\Sink.ico])); SetChannels(1, 0); SetChannelRanges(1, 255, 0, 0); SetLoadAtomID(15); SetChannelRequestCount(1, 0, true, true, 0, 0, [], []); SetLoc(5, 29, 0); SetSize(8, 2, 2); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(1); ExecLateInit; {Atom: Accumulating Conveyor16} sets; AtomByName([Accumulating Conveyor], Main); if(not(AtomExists), Error([Cannot find mother atom 'Accumulating Conveyor'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Accumulating Conveyor16], 1, false); SetAtt([Speed], 1); SetExprAtt([TravelTimeC], [Length / Speed]); SetAtt([TempMaxLoc], 3); SetExprAtt([CurLoc], [Min(TempMaxLoc, Speed * (Time - EntryTime(cs)))]); SetAtt([ExitTime], 0); SetAtt([CurContent], 0); SetExprAtt([Length], [If(Elevation <> 0, Hor_Length / Cos(Angle), Hor_Length)]); SetExprAtt([SendTo], [1]); SetAtt([TimeOfEntry], 0); SetAtt([ExitLength], 1); SetExprAtt([CalcLocations], [If(Content(c) <> 0, Do( TempMaxLoc :=Min(Length, +((Length - ExitLength), (Speed * (Time - ExitTime)))), ForAtomLayerUnder(c, Do( Setcs, SetLoc(-(*(Display_Factor, CurLoc), xSize(cs)), /(-(ySize(c), ySize(cs)), 2), +(zSize(c), *(/(CurLoc, /(If(Use_Physical, xSize(c), Input_Length), xSize(c))), Sin(Angle))), cs), SetAtt(3, -(TempMaxLoc, ProductSpacing(SpacingRule, xSize(cs), Spacing)), c) ) ) ) )]); SetExprAtt([EntryTrigger], [0]); SetAtt([Capacity], 10000); SetAtt([SpacingRule], 1); SetAtt([Spacing], 0); SetExprAtt([ExitTrigger], [0]); SetAtt([Use_Physical], 1); SetAtt([Input_Length], 10); SetAtt([Display_Factor], 1); SetAtt([Leg_Supports], 2); SetExprAtt([Elevation], [0]); SetExprAtt([Angle], [ArcTan(Elevation / Hor_Length)]); SetExprAtt([Hor_Length], [If(Use_Physical, xSize(c), Input_Length)]); SetAtt([IsConveyor], 5); SetAtomSettings([], 11249415, 1202); Set(Icon(a), RegisterIcon(IconsDir([bmp\atoms\conveyor.bmp]), [conveyor])); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\AccumulatingConveyor.ico])); Set(DdbRec, [>legdist:3.]); SetChannels(1, 1); SetChannelRanges(1, 255, 1, 255); SetLoadAtomID(16); SetChannelRequestCount(1, 0, true, false, 0, 0, [], []); SetLoc(15, 26, 0); SetSize(4, 1, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(13); ExecLateInit; Up; ConnectLoadAtoms(1, 1, 1, 2, 0); ConnectLoadAtoms(0, 4, 1, 1, 0); ConnectLoadAtoms(1, 2, 1, 3, 0); ConnectLoadAtoms(1, 3, 1, 16, 0); ConnectLoadAtoms(1, 5, 1, 6, 0); ConnectLoadAtoms(0, 10, 1, 5, 0); ConnectLoadAtoms(1, 6, 1, 8, 0); ConnectLoadAtoms(2, 6, 1, 15, 0); ConnectLoadAtoms(1, 7, 1, 9, 0); ConnectLoadAtoms(1, 8, 1, 7, 0); ConnectLoadAtoms(1, 16, 2, 8, 0); ConnectLoadAtoms(0, 3, 1, 11, 0); LoadEvent(10, 1, 1, 0, 0, 0); LoadEvent(55.6600183854805, 5, 1, 0, 0, 0); {Experiment settings} ActivateExperimentAtom; SetAtt(17, 1); {Saved Model3D settings.} ExecOnCreationOnLoad;