{Enterprise Dynamics startup information} if(StartingED, SoftStartED([])); {Model information} AddLayer([Main], 1, 1, 0); {Load required atoms} int011; int035([Container], pDir([Atoms\BASIC MODELING\Container.atm])); int035([Product], pDir([Atoms\BASIC MODELING\Product.atm])); int035([Queue], pDir([Atoms\BASIC MODELING\Queue.atm])); int035([Server], pDir([Atoms\BASIC MODELING\Server.atm])); int035([Sink], pDir([Atoms\BASIC MODELING\Sink.atm])); int035([Source], pDir([Atoms\BASIC MODELING\Source.atm])); int035([Table], pDir([Atoms\DATA\Table.atm])); int035([Assembler], pDir([Atoms\PROCESSES\Assembler.atm])); int035([User Events], pDir([Atoms\TIME\User Events.atm])); int035([Initialize], pDir([Atoms\TOOLS\Initialize.atm])); int035([Advanced Accumulating Conveyor Straight], pDir([Atoms\TRANSPORT\CONVEYORS\ACCUMULATING\Advanced Accumulating Conveyor Straight.atm])); int012; {Preregister 4DS} PreregisterFunction([ContainerMaterial1List], 2, 2); PreregisterFunction([SetContainerMaterial1List], 3, 3); Dim([valMaxWaitingTime], vbValue); Dim([refQueueMaterial2], vbAtom); Dim([refContainerMaterial1List], vbAtom); Dim([refQueueMaterial1], vbAtom); {Atom: ContainerMaterial1List} sets; AtomByName([Table], Main); if(not(AtomExists), Error([Cannot find mother atom 'Table'. Inheriting from BaseClass.])); CreateAtom(a, s, [ContainerMaterial1List], 1, false); Set(OnInit, [4DS[Dim([refContainerMaterial1List], vbAtom, c)]4DS]); SetTextAtt(1, [ContainerMaterial1List]); SetAtt(2, 0); SetAtt(3, 1); SetAtt(4, 1); SetAtt(5, 5); SetAtt(6, 5); SetAtt(7, 1); SetAtt(8, 0); int023([ContainerMaterial1List], 32896, 32); DefineFunction([ContainerMaterial1List], [Basic], 2, 2, [cell(p(1),p(2), refContainerMaterial1List)], [Returns the value of cell(e1, e2)], [No example], 1, [Table.atm]); DefineFunction([SetContainerMaterial1List], [Basic], 3, 3, [setcell(p(1),p(2),p(3), refContainerMaterial1List)], [Sets cell(e1, e2) to value e3], [No example], 1, [Table.atm]); 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\Table.ico])); Set(DdbRec, [>t-table:1.]); int001(267); SetLoc(5, 3, 0); SetSize(7, 2, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetTable(2, 2); int015(0, 64, [`` 3 2 ]); int015(1, 82, [1 194896736 194901440 ]); int015(2, 64, [2 180 190 ]); SetStatus(0); int018; {Atom: User Events13} sets; AtomByName([User Events], Main); if(not(AtomExists), Error([Cannot find mother atom 'User Events'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [User Events13], 1, false); Set(OnInit, [4DS[ LateInit([ do( {reset vtp's in the attributes} var([strBegin], vbString), var([strAtt], vbString), var([strPointer], vbString), var([strNewPointer], vbString), var([strNewAtt], vbString), var([strInvolvedAtom], vbString), var([strInvolvedAtomNew], vbString), var([atmI], vbAtom), repeat( NrOfAttributes, do( if( cell(count, USEREVENTS__NOTIMESCHEDULE, c) = 1, do( strAtt := textatt(count,c), strBegin := StringCopy(strAtt , 0, 4 + StringPos([vtp(], strAtt) ), strPointer:= StringCopy(strAtt , StringLength(strBegin), -1 + StringPos([)], StringCopy(strAtt, StringLength(strBegin), StringLength(strAtt)- StringLength(strBegin))) ), strNewPointer := string(ptv(c)), strNewAtt := StringReplace(strAtt, strPointer, strNewPointer, SR_REPLACE_ALL), textatt(count,c) := strNewAtt ) ) ) ), repeat( NrOfAttributes, RegisterFunction( StringReplace(AttributeName(Count, c),[att_], []), {minus att_!!!} [Various], 0, 0, textatt(count,c), [], [], true ) ) ) ] ) ]4DS]); CreateAttributes(1); SetAttributeName(r(1), [att_StartCutOff]); SetTextAtt(r(1), [CreateEvent(valMaxWaitingTime,vtp(194894048),1,0)]); int023([User Events13], 33023, 1248); 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\UserEvents.ico])); Set(DdbRec, [>t-newuserevents:1.]); SetChannels(1, 0); SetChannelRanges(1, 255, 0, 0); int001(184); SetLoc(5, 0, 0); SetSize(7, 2, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetTable(1, 7); int015(0, 64, [`` 1 ]); int015(1, 64, [`Time` `valMaxWaitingTime` ]); int015(2, 64, [`RepeatTime` 0 ]); int015(3, 64, [4DS[`Event` `If(&13 &11&11And(&13 &11&11&11&11Content(refQueueMaterial1)&11>&110,&13 &11&11&11&11nRows(refContainerMaterial1List)&11>&110,&13 &11&11&11&11time&11>=&11Cell(1,&112,&11refContainerMaterial1List),&11&13 &11&11&11&11Ptv(First(refQueueMaterial1))&11=&11Cell(1,&111,&11refContainerMaterial1List)&13 &11&11),&11&11&13 &11&11{Product&11is&11waiting&11now&11too&11long.&11Sent&11to&11Machine&112.}&13 &11&11Do(&13 &11&11&11&11Label([OutgoingChannel],&11refQueueMaterial1)&11:=&112,&11&13 &11&11&11&11OpenOutput(refQueueMaterial1)&13 &11&11)&13 )` ]4DS]); int015(4, 64, [`Priority` 20 ]); int015(5, 64, [`InvolvedAtom` 0 ]); int015(6, 64, [`NoTimeScheduled` 1 ]); int015(7, 64, [`HelpEventCreated` 0 ]); SetStatus(0); int018; {Atom: Source_M1} sets; AtomByName([Source], Main); if(not(AtomExists), Error([Cannot find mother atom 'Source'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Source_M1], 1, false); SetExprAtt(1, [{.~1|~1~.}1]); SetExprAtt(2, [10]); SetExprAtt(3, [{.0|10. Do Nothing.}0]); SetExprAtt(4, [0]); SetExprAtt(5, [10]); SetExprAtt(6, [{.-1|1. Unlimited.} -1 ]); SetAtt(7, 4); int023([Source_M1], 7168771, 240); Set(Icon(a), RegisterIcon(pDir([Media\Images\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); int001(172); int013(1, 0, true, false, 0, 0, [], []); SetLoc(5, 9, 0); SetSize(5, 2, 2); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(2); int018; {Atom: Queue_M1} sets; AtomByName([Queue], Main); if(not(AtomExists), Error([Cannot find mother atom 'Queue'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Queue_M1], 1, false); SetExprAtt(1, [4DS[{.~1|~Label([OutgoingChannel], c)~.}Label([OutgoingChannel], c)]4DS]); SetAtt(2, 10); SetExprAtt(3, [Do( StartCutOff, nRows(refContainerMaterial1List) := nRows(refContainerMaterial1List) + 1, Cell(nRows(refContainerMaterial1List), 1, refContainerMaterial1List) := Ptv(i), Cell(nRows(refContainerMaterial1List), 2, refContainerMaterial1List) := Time + valMaxWaitingTime, If( Content(refQueueMaterial2) = 0, {No material available, so a cutoff is possible} CloseOutput(c) ) ) ]); SetExprAtt(4, [Do( DeleteRow(1, refContainerMaterial1List), CloseOutput(c) )]); SetExprAtt(5, [{.content(c)|Fifo (First In First Out).}content(c)]); SetAtt(6, 3.4); SetExprAtt(7, [{.openallic(c)|Any inputchannel.}openallic(c)]); SetAtt(8, 2); int023([Queue_M1], 12615680, 1264); 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])); Set(DdbRec, [>outgoingchannel:1.]); SetChannels(1, 2); SetChannelRanges(1, 255, 1, 255); int001(173); int013(1, 0, true, false, 0, 0, [], []); int013(2, 0, true, false, 0, 0, [], []); SetLoc(13, 9, 0); SetSize(5, 2, 0); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(13); int018; {Atom: Source_M2} sets; AtomByName([Source], Main); if(not(AtomExists), Error([Cannot find mother atom 'Source'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Source_M2], 1, false); SetExprAtt(1, [{.~1|~1~.}1]); SetExprAtt(2, [If( Mod(input(c), 3) = 1, 40, 10 )]); SetExprAtt(3, [{.0|10. Do Nothing.}0]); SetExprAtt(4, [0]); SetExprAtt(5, [10]); SetExprAtt(6, [{.-1|1. Unlimited.}-1]); SetAtt(7, 4); int023([Source_M2], 7168771, 240); Set(Icon(a), RegisterIcon(pDir([Media\Images\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); int001(174); int013(1, 0, true, false, 0, 0, [], []); SetLoc(5, 14, 0); SetSize(5, 2, 2); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(2); int018; {Atom: Queue_M2} sets; AtomByName([Queue], Main); if(not(AtomExists), Error([Cannot find mother atom 'Queue'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Queue_M2], 1, false); SetExprAtt(1, [{.~1|~1~.}1]); SetAtt(2, 10); SetExprAtt(3, [4DS[Do( Label([OutgoingChannel], refQueueMaterial1) := 1, OpenOutput(refQueueMaterial1) )]4DS]); SetExprAtt(4, [0]); SetExprAtt(5, [{.content(c)|Fifo (First In First Out).}content(c)]); SetAtt(6, 4.5); SetExprAtt(7, [{.openallic(c)|Any inputchannel.}openallic(c)]); SetAtt(8, 2); int023([Queue_M2], 12615680, 1264); 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); int001(175); int013(1, 0, true, false, 0, 0, [], []); SetLoc(13, 14, 0); SetSize(5, 2, 0); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(13); int018; {Atom: Machine1} sets; AtomByName([Assembler], Main); if(not(AtomExists), Error([Cannot find mother atom 'Assembler'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Machine1], 1, false); SetExprAtt(1, [2]); SetExprAtt(2, [0]); SetExprAtt(3, [0]); SetExprAtt(4, [{.~1|~1~.}1]); SetAtt(5, 1); SetExprAtt(6, [1]); SetAtt(7, 2); SetAtt(8, 1); SetAtt(9, 1); SetExprAtt(10, [0]); SetAtt(11, 1); SetAtt(12, 2); SetAtt(13, 0); SetExprAtt(14, [0]); SetExprAtt(15, [false]); int023([Machine1], 4194432, 1264); Set(Icon(a), RegisterIcon(pDir([Media\Images\Machines\mach1001.bmp]), [mach1001], 1, 0, 0, 255, 255, false, 0)); 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); int001(176); int013(1, 0, true, false, 5, 0, [container/order/main product], []); int013(2, 0, false, true, 0, 0, [], []); SetLoc(22, 9, 0); SetSize(5, 5, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetTable(2, 1); int015(0, 64, [`` `Input ch1` `Input ch2` ]); int015(1, 64, [`Product 1` 1 1 ]); SetStatus(1); int018; {Atom: Container6} sets; AtomByName([Container], Main); if(not(AtomExists), Error([Cannot find mother atom 'Container'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Container6], 1, false); SetAtt(1, 0); SetExprAtt(2, [1.1]); SetExprAtt(3, [1.1]); SetExprAtt(4, [1]); SetAtt(5, 4); SetAtt(6, 1); int023([Container6], 6080220, 1234); 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])); int001(177); SetLoc(0, 9, 0); SetSize(1.1, 1.1, 0.15); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(0); int018; {Atom: Product7} sets; AtomByName([Product], Main); if(not(AtomExists), Error([Cannot find mother atom 'Product'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Product7], 1, false); SetAtt(1, 11); SetAtt(2, 1); int023([Product7], 12615680, 73809); 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])); int001(178); SetLoc(0, 14, 0); SetSize(1, 1, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(0); int018; {Atom: Machine2} sets; AtomByName([Server], Main); if(not(AtomExists), Error([Cannot find mother atom 'Server'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Machine2], 1, false); SetExprAtt(1, [negexp(9)]); SetExprAtt(2, [{.~1|~1~.}1]); SetExprAtt(3, [1]); SetAtt(4, 1); SetAtt(5, 1); SetAtt(6, 1); SetExprAtt(7, [{.~1|~0~.}0]); SetExprAtt(8, [0]); SetExprAtt(9, [4DS[If( And( Content(in(1, c)) > 0, {There is something waiting} Time - EntryTime(First(in(1, c))) > valMaxWaitingTime {Is already waiting quite long, but its event already passed (because this machine was blocked?)} ), Do( Label([OutgoingChannel], in(1, c)) := 2, OpenOutput(in(1, c)) ) ) ]4DS]); SetExprAtt(10, [0]); SetExprAtt(11, [0]); SetAtt(12, 0); SetExprAtt(13, [4DS[If( Time > 0, Concat( [Util: ], String ( *( 100, /( statustime(c,2), Time)), 0, 1), [ %]), [Util: 0 %] )]4DS]); SetAtt(14, 0.363144036322177); SetAtt(15, 0); SetAtt(16, 1E40); SetAtt(17, 0); SetExprAtt(18, [{.openallic(c)|Any inputchannel.}openallic(c)]); SetAtt(19, 7); SetAtt(20, 0); SetExprAtt(21, [0]); SetAtt(22, 0); SetExprAtt(23, [0]); SetAtt(24, 0); SetAtt(25, 0); SetAtt(26, 0); SetAtt(27, 0); SetAtt(28, 0); SetAtt(29, 677797); SetExprAtt(30, [mttf]); SetAtt(31, 160); SetExprAtt(32, [0]); SetExprAtt(33, [0]); SetExprAtt(34, [0]); int023([Machine2], 292315, 263408); Set(Icon(a), RegisterIcon(IconsDir([bmp\atoms\server.bmp]), [server])); AddModel3D( RegisterModel3D(Model3DDir([Server.wrl]), [Server.wrl], 0, 0, 0, 1, 1, -1, -90, 0, 0), a); AddModel3D( RegisterModel3D(Model3DDir([server2.wrl]), [server2.wrl], 0, 0, 0, 1, 1, -1, -90, 0, 0), a); AddModel3D( RegisterModel3D(Model3DDir([Server_Resized.wrl]), [Server_Resized.wrl], 0, 0, 0, 1, 1, -1, -90, 0, 0), a); AddModel3D( RegisterModel3D(Model3DDir([Server2_Resized.wrl]), [Server2_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\Server.ico])); SetChannels(1, 1); SetChannelRanges(1, 255, 1, 255); int001(179); int013(1, 0, true, false, 0, 0, [], []); SetLoc(22, 16, 0); SetSize(5, 2, 2); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(1); int018; {Atom: Advanced Accumulating Conveyor Straight9} sets; AtomByName([Advanced Accumulating Conveyor Straight], Main); if(not(AtomExists), Error([Cannot find mother atom 'Advanced Accumulating Conveyor Straight'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Advanced Accumulating Conveyor Straight9], 1, false); SetAtt(1, 1); SetAtt(2, 0); SetAtt(3, 1000); SetAtt(4, 0); SetAtt(5, 0); SetAtt(6, 0); SetAtt(7, 0); SetAtt(8, 0); SetAtt(9, 1); SetAtt(10, 0); SetAtt(11, 0); SetAtt(12, 1); SetAtt(13, 10); SetAtt(14, 3); SetAtt(15, 10); SetAtt(16, 1); SetAtt(17, 0); SetAtt(18, 1); SetAtt(19, 1); SetAtt(20, 0); SetAtt(21, 1); SetAtt(22, 1); SetAtt(23, 0); SetAtt(24, 0); SetAtt(25, 1); SetExprAtt(26, [{.openallic(c)|Any inputchannel .}openallic(c)]); SetAtt(27, 0); SetAtt(28, 0); SetAtt(29, 0); SetAtt(30, 1); SetAtt(31, 1); SetExprAtt(32, [zLoc(c)]); SetExprAtt(33, [1]); SetAtt(34, 0.05); SetAtt(35, 0); SetAtt(36, 0.01); SetAtt(37, 1); int023([Advanced Accumulating Conveyor Straight9], 11249415, 533746); Set(Icon(a), RegisterIcon(pDir([media\images\default.jpg]), [default])); AddModel3D( RegisterModel3D(Model3DDir([camera.3ds]), [camera.3ds], 0, 0, 0, 2, 2, 2, 0, 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\AdvancedAccumulatingConveyor.ico])); Set(DdbRec, [>atomversion:10.]); SetChannels(1, 1); SetChannelRanges(1, 255, 1, 255); int001(180); int013(1, 0, true, false, 0, 0, [], []); SetLoc(31, 9, 1); SetSize(10, 1, 0); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(13); int018; {Atom: Advanced Accumulating Conveyor Straight10} sets; AtomByName([Advanced Accumulating Conveyor Straight], Main); if(not(AtomExists), Error([Cannot find mother atom 'Advanced Accumulating Conveyor Straight'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Advanced Accumulating Conveyor Straight10], 1, false); SetAtt(1, 1); SetAtt(2, 0); SetAtt(3, 1000); SetAtt(4, 0); SetAtt(5, 0); SetAtt(6, 0); SetAtt(7, 0); SetAtt(8, 0); SetAtt(9, 1); SetAtt(10, 0); SetAtt(11, 0); SetAtt(12, 1); SetAtt(13, 10); SetAtt(14, 3); SetAtt(15, 10); SetAtt(16, 1); SetAtt(17, 0); SetAtt(18, 1); SetAtt(19, 1); SetAtt(20, 0); SetAtt(21, 1); SetAtt(22, 1); SetAtt(23, 0); SetAtt(24, 0); SetAtt(25, 1); SetExprAtt(26, [{.openallic(c)|Any inputchannel .}openallic(c)]); SetAtt(27, 0); SetAtt(28, 0); SetAtt(29, 0); SetAtt(30, 1); SetAtt(31, 1); SetExprAtt(32, [zLoc(c)]); SetExprAtt(33, [1]); SetAtt(34, 0.05); SetAtt(35, 0); SetAtt(36, 0.01); SetAtt(37, 1); int023([Advanced Accumulating Conveyor Straight10], 11249415, 533746); Set(Icon(a), RegisterIcon(pDir([media\images\default.jpg]), [default])); AddModel3D( RegisterModel3D(Model3DDir([camera.3ds]), [camera.3ds], 0, 0, 0, 2, 2, 2, 0, 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\AdvancedAccumulatingConveyor.ico])); Set(DdbRec, [>atomversion:10.]); SetChannels(1, 1); SetChannelRanges(1, 255, 1, 255); int001(181); int013(1, 0, true, false, 0, 0, [], []); SetLoc(31, 16, 1); SetSize(10, 1, 0); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(13); int018; {Atom: Sink11} sets; AtomByName([Sink], Main); if(not(AtomExists), Error([Cannot find mother atom 'Sink'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Sink11], 1, false); SetAtt(1, 0); SetAtt(2, 4); int023([Sink11], 7168771, 240); 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); int001(182); int013(1, 0, true, true, 0, 0, [], []); SetLoc(43, 9, 0); SetSize(5, 2, 2); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(1); int018; {Atom: Sink12} sets; AtomByName([Sink], Main); if(not(AtomExists), Error([Cannot find mother atom 'Sink'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Sink12], 1, false); SetAtt(1, 0); SetAtt(2, 4); int023([Sink12], 7168771, 240); 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); int001(183); int013(1, 0, true, true, 0, 0, [], []); SetLoc(43, 16, 0); SetSize(5, 2, 2); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(1); int018; {Atom: Initialize14} sets; AtomByName([Initialize], Main); if(not(AtomExists), Error([Cannot find mother atom 'Initialize'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Initialize14], 1, false); SetExprAtt(1, [4DS[Do( Dim([refQueueMaterial1], vbAtom, in(1, c)), Dim([refQueueMaterial2], vbAtom, in(2, c)), Dim([valMaxWaitingTime], vbValue, 20), Label([OutgoingChannel], refQueueMaterial1) := 1, SetTable(0,2, refContainerMaterial1List) )]4DS]); SetAtt(2, 0); int023([Initialize14], 4194432, 248); 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(2, 0); SetChannelRanges(1, 255, 0, 255); int001(185); int013(1, 0, true, true, 0, 0, [], []); int013(2, 0, true, true, 0, 0, [], []); SetLoc(5, -3, 0); SetSize(7, 2, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(0); int018; Up; int014(1, 172, 1, 173, 0); int014(0, 177, 1, 172, 0); int014(1, 173, 1, 176, 0); int014(2, 173, 1, 179, 0); int014(1, 174, 1, 175, 0); int014(0, 178, 1, 174, 0); int014(1, 175, 2, 176, 0); int014(1, 176, 1, 180, 0); int014(1, 179, 1, 181, 0); int014(1, 180, 1, 182, 0); int014(1, 181, 1, 183, 0); int014(0, 173, 1, 185, 0); int014(0, 175, 2, 185, 0); int006(10, 172, 1, 0, 0, 0); int006(10, 174, 1, 0, 0, 0); int006(0, 185, 1, 10000, 0, 0); {Experiment settings} int034; SetAtt(17, 1); int007;