{Enterprise Dynamics startup information} if(StartingED, SoftStartED([])); {Model information} AddLayer([Main], 1, 1, 0); {Load required atoms} int011; int035([Sink], pDir([Atoms\Sink.atm])); int035([Queue], pDir([Atoms\Queue.atm])); int035([Source], pDir([Atoms\Source.atm])); int035([Destinator], pDir([Atoms\Destinator.atm])); int035([Dispatcher], pDir([Atoms\Dispatcher.atm])); int035([Network Node], pDir([Atoms\Network Node.atm])); int035([StatusMonitor], pDir([Atoms\StatusMonitor.atm])); int035([Node Manipulator], pDir([Atoms\Node Manipulator.atm])); int035([Network Controller], pDir([Atoms\Network Controller.atm])); int035([Advanced Transporter], pDir([Atoms\Advanced Transporter.atm])); int035([Battery Charging Station], pDir([Atoms\Battery Charging Station.atm])); int012; {Atom: Source1} sets; AtomByName([Source], Main); if(not(AtomExists), Error([Cannot find mother atom 'Source'. Inheriting from BaseClass.])); CreateAtom(a, s, [], 1, false); int023([Source1], 7168771, 240); 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); int001(232); int013(1, 0, true, false, 0, 0, [], []); SetLoc(-9, 11, 0); SetSize(5, 2, 2); LockPosition(false); LockSize(false); DisableIconRotation(false); SetProductCode([]); SetExprAtt(1, [1]); SetExprAtt(2, [10]); SetExprAtt(3, [{.0|10. Do Nothing .}0]); SetAtt(4, 0); SetAtt(5, 10); SetExprAtt(6, [{. -1 |1. Unlimited .} -1 ]); SetAtt(7, 4); int024; SetStatus(2); int018; {Atom: Queue2} sets; AtomByName([Queue], Main); if(not(AtomExists), Error([Cannot find mother atom 'Queue'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [], 1, false); int023([Queue2], 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, [>t-node1:1.>t-network:1.]); SetChannels(1, 1); SetChannelRanges(1, 255, 1, 255); int001(233); int013(1, 0, true, false, 0, 0, [], []); SetLoc(-2, 11, 0); SetSize(5, 2, 0); LockPosition(false); LockSize(false); DisableIconRotation(false); SetProductCode([]); SetExprAtt(1, [1]); SetAtt(2, 10); SetAtt(3, 0); SetAtt(4, 0); SetExprAtt(5, [{.content(c)|Fifo (First In First Out) .}content(c)]); SetAtt(6, 0); SetExprAtt(7, [{.openallic(c)|Any inputchannel .}openallic(c)]); SetAtt(8, 2); int024; SetStatus(13); int018; {Atom: Queue3} sets; AtomByName([Queue], Main); if(not(AtomExists), Error([Cannot find mother atom 'Queue'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [], 1, false); int023([Queue3], 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, [>t-node1:3.>t-network:1.]); SetChannels(1, 1); SetChannelRanges(1, 255, 1, 255); int001(234); int013(1, 0, true, false, 0, 0, [], []); SetLoc(64, 11, 0); SetSize(5, 2, 0); LockPosition(false); LockSize(false); DisableIconRotation(false); SetProductCode([]); SetExprAtt(1, [1]); SetAtt(2, 10); SetAtt(3, 0); SetAtt(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); int024; SetStatus(13); int018; {Atom: Sink4} sets; AtomByName([Sink], Main); if(not(AtomExists), Error([Cannot find mother atom 'Sink'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [], 1, false); int023([Sink4], 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(235); int013(1, 0, true, true, 0, 0, [], []); SetLoc(70, 11, 0); SetSize(5, 2, 2); LockPosition(false); LockSize(false); DisableIconRotation(false); SetProductCode([]); SetAtt(1, 0); SetAtt(2, 4); int024; SetStatus(1); int018; {Atom: Battery Charging Station5} sets; AtomByName([Battery Charging Station], Main); if(not(AtomExists), Error([Cannot find mother atom 'Battery Charging Station'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [], 1, false); int023([Battery Charging Station5], 32768, 1194); Set(Icon(a), RegisterIcon(pDir([media\images\default.jpg]), [default.jpg])); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\Battery Charging Station.ico])); Set(DdbRec, [>t-node1:2.>t-network:1.>t-chargingstation:1.]); int001(236); SetLoc(38, 19, 0); SetSize(8.5, 3, 0.1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetProductCode([]); SetAtt(1, 0); SetExprAtt(2, [4]); SetExprAtt(3, [100]); SetAtt(4, 0); int024; SetStatus(0); int018; {Atom: Incoming Queue} sets; AtomByName([Incoming Queue], Main); if(not(AtomExists), Error([Cannot find mother atom 'Incoming Queue'. Inheriting from BaseClass.])); CreateAtom(a, s, [], 1, false); int023([Incoming Queue], 12615680, 3264); 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, 4); SetChannelRanges(1, 255, 1, 255); int001(237); int013(1, 0, true, false, 0, 0, [], []); int013(2, 0, true, false, 0, 0, [], []); int013(3, 0, true, false, 0, 0, [], []); int013(4, 0, true, false, 0, 0, [], []); SetLoc(-2, 0, 0); SetSize(2, 1, 0); LockPosition(true); LockSize(true); DisableIconRotation(false); SetProductCode([]); SetExprAtt(1, [min(nroc(c),-(+(nroc(c),1),indexmatch(nroc(c),1,ocready(-(+(nroc(c),1),count),c))))]); SetAtt(2, 10); SetAtt(3, 0); SetAtt(4, 0); SetExprAtt(5, [{.content(c)|Fifo (First In First Out) .}content(c)]); SetAtt(6, 2); SetExprAtt(7, [{.openallic(c)|Any inputchannel .}openallic(c)]); SetAtt(8, 2); int024; SetStatus(13); int018; {Atom: Docking Station1} sets; AtomByName([Docking Station], Main); if(not(AtomExists), Error([Cannot find mother atom 'Docking Station'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [], 1, false); int023([Docking Station1], 0, 3306); Set(Icon(a), RegisterIcon(pDir([media\images\default.jpg]), [default.jpg])); 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, 100, 1, 100); int001(238); int013(1, 0, true, true, 0, 0, [], []); SetSize(1, 1, 1); LockPosition(true); LockSize(true); DisableIconRotation(false); SetProductCode([]); SetAtt(1, 1); SetAtt(2, 0); SetExprAtt(3, [100]); SetAtt(4, 21614.2688707523); SetAtt(5, 1); SetAtt(6, 0); int024; SetStatus(1); int018; {Atom: Docking Station2} sets; AtomByName([Docking Station], Main); if(not(AtomExists), Error([Cannot find mother atom 'Docking Station'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [], 1, false); int023([Docking Station2], 0, 3306); Set(Icon(a), RegisterIcon(pDir([media\images\default.jpg]), [default.jpg])); 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, 100, 1, 100); int001(239); int013(1, 0, true, true, 0, 0, [], []); SetLoc(2.5, 0, 0); SetSize(1, 1, 1); LockPosition(true); LockSize(true); DisableIconRotation(false); SetProductCode([]); SetAtt(1, 2); SetAtt(2, 0); SetAtt(3, 100); SetAtt(4, 0); SetAtt(5, 1); SetAtt(6, 0); int024; SetStatus(1); int018; {Atom: Docking Station3} sets; AtomByName([Docking Station], Main); if(not(AtomExists), Error([Cannot find mother atom 'Docking Station'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [], 1, false); int023([Docking Station3], 0, 3306); Set(Icon(a), RegisterIcon(pDir([media\images\default.jpg]), [default.jpg])); 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, 100, 1, 100); int001(240); int013(1, 0, true, true, 0, 0, [], []); SetLoc(5, 0, 0); SetSize(1, 1, 1); LockPosition(true); LockSize(true); DisableIconRotation(false); SetProductCode([]); SetAtt(1, 3); SetAtt(2, 0); SetAtt(3, 100); SetAtt(4, 0); SetAtt(5, 1); SetAtt(6, 0); int024; SetStatus(1); int018; {Atom: Docking Station4} sets; AtomByName([Docking Station], Main); if(not(AtomExists), Error([Cannot find mother atom 'Docking Station'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [], 1, false); int023([Docking Station4], 0, 3306); Set(Icon(a), RegisterIcon(pDir([media\images\default.jpg]), [default.jpg])); 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, 100, 1, 100); int001(241); int013(1, 0, true, true, 0, 0, [], []); SetLoc(7.5, 0, 0); SetSize(1, 1, 1); LockPosition(true); LockSize(true); DisableIconRotation(false); SetProductCode([]); SetAtt(1, 4); SetAtt(2, 0); SetAtt(3, 100); SetAtt(4, 0); SetAtt(5, 1); SetAtt(6, 0); int024; SetStatus(1); int018; {Atom: Battery} sets; AtomByName([Battery], Main); if(not(AtomExists), Error([Cannot find mother atom 'Battery'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [], 1, false); int023([Battery], 0, 1226); Set(Icon(a), RegisterIcon(pDir([media\images\default.jpg]), [default.jpg])); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\Battery.ico])); int001(242); SetSize(0.2, 0.2, 0.2); LockPosition(false); LockSize(false); DisableIconRotation(false); SetProductCode([]); SetAtt(1, 0); SetAtt(2, 0); SetAtt(3, 0); SetAtt(4, 0); SetAtt(5, 0); int024; SetStatus(0); int018; Up; {Atom: Advanced Transporter6} sets; AtomByName([Advanced Transporter], Main); if(not(AtomExists), Error([Cannot find mother atom 'Advanced Transporter'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [], 1, false); int023([Advanced Transporter6], 767720, 66675); Set(Icon(a), RegisterIcon(IconsDir([Bmp\Transp\trns1001.bmp]), [trns1001.bmp], 1, 0, 0, 0, 0, false, 0)); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\Transporter2.ico])); Set(DdbRec, [>t-start:1.>batteryrow:1.>t-continue:1.>t-dest:1.>t-turntime:5.08888749034163E-15.>previousedstnode:1.>d4:1000000000000.>d2:1000000000000.>d3:58.>d1:1000000000000.>n3:3.>n2:1.>n1:1.>t-transporter:1.]); SetChannels(3, 4); SetChannelRanges(3, 3, 4, 4); int001(243); int013(1, 0, true, false, 0, 0, [Product Origin], [Product Destination]); int013(2, 0, true, false, 1, 1, [Current goal (Origin or Destination)], [Next network node on path]); int013(3, 0, true, false, 1, 1, [Do not connect], [Previous network node on path]); int013(4, 0, true, false, 0, 0, [], [Link to network]); SetLoc(4.5, 11, 0); SetSize(3, 2, 1); LockPosition(false); LockSize(true); DisableIconRotation(false); SetProductCode([]); SetAtt(1, 0); SetAtt(2, 1); SetAtt(3, 4.5); SetAtt(4, 11); SetAtt(5, 0); SetAtt(6, 1); SetExprAtt(7, [3]); SetExprAtt(8, [1]); SetExprAtt(9, [1]); SetAtt(10, 0); SetAtt(11, 1); SetExprAtt(12, [{.~1|1. Specific channel --> Always send to channel ~1~.}1]); SetExprAtt(13, [0]); SetExprAtt(14, [0]); SetExprAtt(15, [1]); SetExprAtt(16, [0]); SetExprAtt(17, [0]); SetAtt(18, 324698772); SetExprAtt(19, [{.label([~1],first(in(2,c)))|2. Atom label (for picking) --> the offset is found on the label ~column~ of the first ranked atom of the destination..}label([column],first(in(2,c)))]); SetExprAtt(20, [{.yabsloc(c,model)-yabsloc(in(2,c),model)|3. Horizontal line --> the transporter travels in a horizontal line. ~Only use this option to define the Y offsets!~.}yabsloc(c,model)-yabsloc(in(2,c),model)]); SetExprAtt(21, [{.label([~1],first(in(2,c)))|2. Atom label (for picking) --> the offset is found on label ~row~ of the atom to be placed..}label([row],first(in(2,c)))]); SetExprAtt(22, [{.label([~1],i)|2. Atom label (for placing) --> the offset is found on label ~column~ of the atom to be picked or placed..}label([column],i)]); SetExprAtt(23, [{.yabsloc(c,model)-yabsloc(in(2,c),model)|3. Horizontal line --> the transporter travels in a horizontal line. ~Only use this option to define the Y offsets!~.}yabsloc(c,model)-yabsloc(in(2,c),model)]); SetExprAtt(24, [{.label([~1],i)|2. Atom label (for placing) --> the offset is found on the label ~row~ of the first ranked atom of the destination..}label([row],i)]); SetAtt(25, 1); SetAtt(26, 1); SetAtt(27, 1); SetTextAtt(28, [LabelName]); SetAtt(29, 0); SetAtt(30, 0); SetAtt(31, 1); SetAtt(32, 1); SetAtt(33, 0); SetAtt(34, 1); SetAtt(35, 1); SetAtt(36, 0); SetAtt(37, 114.080879979609); SetExprAtt(38, [0.5]); SetAtt(39, 0); SetAtt(40, 0); SetExprAtt(41, [0]); SetAtt(42, 0); SetAtt(43, 0); SetAtt(44, 324677648); SetAtt(45, 324679040); SetAtt(46, 324680556); SetAtt(47, 324990976); SetAtt(48, 3); SetAtt(49, 0); SetAtt(50, 30); SetAtt(51, 0); SetAtt(52, 0); SetAtt(53, 0); SetAtt(54, 0); SetTextAtt(55, [LabelName]); SetAtt(56, 1); SetAtt(57, 1); SetAtt(58, 0); SetAtt(59, 0); SetTextAtt(60, [Network Node11]); SetAtt(61, 1); SetAtt(62, 0); SetExprAtt(63, [{.if(att([angledifference],c)>~1,~3,~2)|2. Use two different corner speeds: if road angle is between min.angle and ~50~°,choose speed of ~1.5~ m/s, if angle is larger then choose ~0.5~ m/s.}if(att([angledifference],c)>50,0.5,1.5)]); SetAtt(64, 0); SetAtt(65, 0); SetAtt(66, 0); SetAtt(67, 10); SetAtt(68, 338872848); SetAtt(69, 1); SetExprAtt(70, [750]); SetExprAtt(71, [{.~1|1. Constant: ~50~ Ah.}50]); SetExprAtt(72, [{.~1|1. Constant: ~100~ Ah.}100]); SetExprAtt(73, [10]); SetExprAtt(74, [20]); SetAtt(75, 750); SetAtt(76, 100); SetAtt(77, 0); SetTextAtt(78, [***]); SetAtt(79, 100); SetAtt(80, 1); SetAtt(81, 324707300); SetAtt(82, 1); SetAtt(83, 338874352); SetAtt(84, 338875604); SetAtt(85, 326132252); SetAtt(86, 0); SetAtt(87, 0); SetExprAtt(88, [{.~1|1. Constant: ~100~ Ah.}100]); SetExprAtt(89, [{.~1|1. Constant: ~10~ Ah.}10]); SetExprAtt(90, [{.~1|1. Constant: ~100~ Ah.}100]); SetAtt(91, 0); SetAtt(92, 0); SetTextAtt(93, [***]); SetAtt(94, 5000); int024; SetStatus(1); int018; {Atom: Dispatcher7} sets; AtomByName([Dispatcher], Main); if(not(AtomExists), Error([Cannot find mother atom 'Dispatcher'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [], 1, false); int023([Dispatcher7], 16711808, 96); 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\Dispatcher.ico])); Set(DdbRec, [>t-dispatcher:1.]); SetChannels(1, 3); SetChannelRanges(1, 255, 1, 255); int001(244); int013(1, 0, true, true, 0, 0, [], []); int013(2, 0, true, true, 0, 0, [], []); int013(3, 0, true, true, 0, 0, [], []); SetLoc(14, 4, 0); SetSize(6, 2, 0); LockPosition(false); LockSize(false); DisableIconRotation(false); SetProductCode([]); SetExprAtt(1, [{.dispatch_ftf|2. A free transporter (FTF) --> look for a free transporter. Check the First Transporter connected to the dispatcher First./.}dispatch_ftf]); SetAtt(2, 0); SetExprAtt(3, [{.[no sort required]|1. FIFO --> first in first out..}[no sort required]]); SetAtt(4, 0); SetExprAtt(5, [in(message,c)]); SetExprAtt(6, [first(in(message,c))]); SetAtt(7, 3); SetAtt(8, 0); SetAtt(9, 0); SetAtt(10, 0); SetAtt(11, 0); SetAtt(12, 1); SetAtt(13, 0); SetAtt(14, 1); SetAtt(15, 0); SetAtt(16, 0); SetAtt(17, 0); SetAtt(18, 0); int024; SetStatus(0); int018; {Atom: Destinator8} sets; AtomByName([Destinator], Main); if(not(AtomExists), Error([Cannot find mother atom 'Destinator'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [], 1, false); int023([Destinator8], 16711808, 96); 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\Destinator.ico])); Set(DdbRec, [>t-destinator:1.]); SetChannels(3, 1); SetChannelRanges(1, 255, 1, 255); int001(245); int013(1, 0, true, true, 0, 0, [], []); int013(2, 0, true, true, 0, 0, [], []); int013(3, 0, true, true, 0, 0, [], []); SetLoc(26, 4, 0); SetSize(6, 2, 0); LockPosition(false); LockSize(false); DisableIconRotation(false); SetProductCode([]); SetExprAtt(1, [1]); SetAtt(2, 10); SetAtt(3, 0); SetAtt(4, 0); SetExprAtt(5, [in(ic(c),c)]); SetAtt(6, 1); int024; int020(2, true, true); SetStatus(0); int018; {Atom: Advanced Transporter9} sets; AtomByName([Advanced Transporter], Main); if(not(AtomExists), Error([Cannot find mother atom 'Advanced Transporter'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [], 1, false); int023([Advanced Transporter9], 767720, 66675); Set(Icon(a), RegisterIcon(IconsDir([Bmp\Transp\trns1001.bmp]), [trns1001.bmp], 1, 0, 0, 0, 0, false, 0)); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\Transporter2.ico])); Set(DdbRec, [>t-start:1.>t-ic:1.>t-turntime:9.473903143468E-16.>batteryrow:1.>t-dest:1.>t-continue:1.>previousedstnode:3.>d4:1000000000000.>d2:1000000000000.>d3:58.>d1:58.>n3:1.>n2:2.>n1:3.>t-transporter:1.]); SetChannels(3, 4); SetChannelRanges(3, 3, 4, 4); int001(246); int013(1, 0, true, false, 0, 0, [Product Origin], [Product Destination]); int013(2, 0, true, false, 1, 1, [Current goal (Origin or Destination)], [Next network node on path]); int013(3, 0, true, false, 1, 1, [Do not connect], [Previous network node on path]); int013(4, 0, true, false, 0, 0, [], [Link to network]); SetLoc(62.5, 11, 0); SetSize(3, 2, 1); LockPosition(false); LockSize(true); DisableIconRotation(false); SetProductCode([]); SetAtt(1, 0); SetAtt(2, 1); SetAtt(3, 62.5); SetAtt(4, 11); SetAtt(5, 0); SetAtt(6, 1); SetExprAtt(7, [3]); SetExprAtt(8, [1]); SetExprAtt(9, [1]); SetAtt(10, 0); SetAtt(11, 1); SetExprAtt(12, [{.~1|1. Specific channel --> Always send to channel ~1~.}1]); SetExprAtt(13, [0]); SetExprAtt(14, [0]); SetExprAtt(15, [1]); SetExprAtt(16, [0]); SetExprAtt(17, [0]); SetAtt(18, 324984412); SetExprAtt(19, [{.label([~1],first(in(2,c)))|2. Atom label (for picking) --> the offset is found on the label ~column~ of the first ranked atom of the destination..}label([column],first(in(2,c)))]); SetExprAtt(20, [{.yabsloc(c,model)-yabsloc(in(2,c),model)|3. Horizontal line --> the transporter travels in a horizontal line. ~Only use this option to define the Y offsets!~.}yabsloc(c,model)-yabsloc(in(2,c),model)]); SetExprAtt(21, [{.label([~1],first(in(2,c)))|2. Atom label (for picking) --> the offset is found on label ~row~ of the atom to be placed..}label([row],first(in(2,c)))]); SetExprAtt(22, [{.label([~1],i)|2. Atom label (for placing) --> the offset is found on label ~column~ of the atom to be picked or placed..}label([column],i)]); SetExprAtt(23, [{.yabsloc(c,model)-yabsloc(in(2,c),model)|3. Horizontal line --> the transporter travels in a horizontal line. ~Only use this option to define the Y offsets!~.}yabsloc(c,model)-yabsloc(in(2,c),model)]); SetExprAtt(24, [{.label([~1],i)|2. Atom label (for placing) --> the offset is found on the label ~row~ of the first ranked atom of the destination..}label([row],i)]); SetAtt(25, 1); SetAtt(26, 1); SetAtt(27, 1); SetTextAtt(28, [LabelName]); SetAtt(29, 0); SetAtt(30, 0); SetAtt(31, 1); SetAtt(32, 1); SetAtt(33, 0); SetAtt(34, 1); SetAtt(35, 1); SetAtt(36, 0); SetAtt(37, 114.080879979609); SetExprAtt(38, [0.5]); SetAtt(39, 0); SetAtt(40, 0); SetExprAtt(41, [0]); SetAtt(42, 0); SetAtt(43, 0); SetAtt(44, 324677648); SetAtt(45, 324679040); SetAtt(46, 324680556); SetAtt(47, 324990976); SetAtt(48, 3); SetAtt(49, 0); SetAtt(50, 30); SetAtt(51, 0); SetAtt(52, 0); SetAtt(53, 0); SetAtt(54, 0); SetTextAtt(55, [LabelName]); SetAtt(56, 1); SetAtt(57, 1); SetAtt(58, 0); SetAtt(59, 0); SetTextAtt(60, [Network Node13]); SetAtt(61, 1); SetAtt(62, 0); SetExprAtt(63, [{.if(att([angledifference],c)>~1,~3,~2)|2. Use two different corner speeds: if road angle is between min.angle and ~50~°,choose speed of ~1.5~ m/s, if angle is larger then choose ~0.5~ m/s.}if(att([angledifference],c)>50,0.5,1.5)]); SetAtt(64, 0); SetAtt(65, 0); SetAtt(66, 0); SetAtt(67, 10); SetAtt(68, 338872848); SetAtt(69, 1); SetExprAtt(70, [750]); SetExprAtt(71, [{.~1|1. Constant: ~50~ Ah.}50]); SetExprAtt(72, [{.~1|1. Constant: ~100~ Ah.}100]); SetExprAtt(73, [10]); SetExprAtt(74, [20]); SetAtt(75, 750); SetAtt(76, 100); SetAtt(77, 0); SetTextAtt(78, [***]); SetAtt(79, 50); SetAtt(80, 1); SetAtt(81, 324707300); SetAtt(82, 3); SetAtt(83, 338874352); SetAtt(84, 338875604); SetAtt(85, 326132252); SetAtt(86, 0); SetAtt(87, 0); SetExprAtt(88, [{.~1|1. Constant: ~100~ Ah.}100]); SetExprAtt(89, [{.~1|1. Constant: ~10~ Ah.}10]); SetExprAtt(90, [{.~1|1. Constant: ~100~ Ah.}100]); SetAtt(91, 0); SetAtt(92, 3); SetTextAtt(93, [***]); SetAtt(94, 5000); int024; SetStatus(1); int018; {Atom: Advanced Transporter10} sets; AtomByName([Advanced Transporter], Main); if(not(AtomExists), Error([Cannot find mother atom 'Advanced Transporter'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [], 1, false); int023([Advanced Transporter10], 767720, 66675); Set(Icon(a), RegisterIcon(IconsDir([Bmp\Transp\trns1001.bmp]), [trns1001.bmp], 1, 0, 0, 0, 0, false, 0)); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\Transporter2.ico])); Set(DdbRec, [>t-start:1.>t-turntime:8.48147915056937E-16.>batteryrow:1.>t-dest:1.>t-continue:1.>previousedstnode:1.>d4:1000000000000.>d2:1000000000000.>d3:58.>d1:58.>n3:3.>n2:2.>n1:1.>t-transporter:1.]); SetChannels(3, 4); SetChannelRanges(3, 3, 4, 4); int001(247); int013(1, 0, true, false, 0, 0, [Product Origin], [Product Destination]); int013(2, 0, true, false, 1, 1, [Current goal (Origin or Destination)], [Next network node on path]); int013(3, 0, true, false, 1, 1, [Do not connect], [Previous network node on path]); int013(4, 0, true, false, 0, 0, [], [Link to network]); SetLoc(38.5, 11, 0); SetSize(3, 2, 1); LockPosition(false); LockSize(true); DisableIconRotation(false); SetProductCode([]); SetAtt(1, 0); SetAtt(2, 1); SetAtt(3, 38.5); SetAtt(4, 11); SetAtt(5, 0); SetAtt(6, 1); SetExprAtt(7, [3]); SetExprAtt(8, [1]); SetExprAtt(9, [1]); SetAtt(10, 0); SetAtt(11, 1); SetExprAtt(12, [{.~1|1. Specific channel --> Always send to channel ~1~.}1]); SetExprAtt(13, [0]); SetExprAtt(14, [0]); SetExprAtt(15, [1]); SetExprAtt(16, [0]); SetExprAtt(17, [0]); SetAtt(18, 324698772); SetExprAtt(19, [{.label([~1],first(in(2,c)))|2. Atom label (for picking) --> the offset is found on the label ~column~ of the first ranked atom of the destination..}label([column],first(in(2,c)))]); SetExprAtt(20, [{.yabsloc(c,model)-yabsloc(in(2,c),model)|3. Horizontal line --> the transporter travels in a horizontal line. ~Only use this option to define the Y offsets!~.}yabsloc(c,model)-yabsloc(in(2,c),model)]); SetExprAtt(21, [{.label([~1],first(in(2,c)))|2. Atom label (for picking) --> the offset is found on label ~row~ of the atom to be placed..}label([row],first(in(2,c)))]); SetExprAtt(22, [{.label([~1],i)|2. Atom label (for placing) --> the offset is found on label ~column~ of the atom to be picked or placed..}label([column],i)]); SetExprAtt(23, [{.yabsloc(c,model)-yabsloc(in(2,c),model)|3. Horizontal line --> the transporter travels in a horizontal line. ~Only use this option to define the Y offsets!~.}yabsloc(c,model)-yabsloc(in(2,c),model)]); SetExprAtt(24, [{.label([~1],i)|2. Atom label (for placing) --> the offset is found on the label ~row~ of the first ranked atom of the destination..}label([row],i)]); SetAtt(25, 1); SetAtt(26, 1); SetAtt(27, 1); SetTextAtt(28, [LabelName]); SetAtt(29, 0); SetAtt(30, 0); SetAtt(31, 1); SetAtt(32, 1); SetAtt(33, 0); SetAtt(34, 1); SetAtt(35, 1); SetAtt(36, 0); SetAtt(37, 90.333333214124); SetExprAtt(38, [0.5]); SetAtt(39, 0); SetAtt(40, 0); SetExprAtt(41, [0]); SetAtt(42, 0); SetAtt(43, 0); SetAtt(44, 324677648); SetAtt(45, 324679040); SetAtt(46, 324680556); SetAtt(47, 324990976); SetAtt(48, 3); SetAtt(49, 0); SetAtt(50, 30); SetAtt(51, 0); SetAtt(52, 0); SetAtt(53, 0); SetAtt(54, 0); SetTextAtt(55, [LabelName]); SetAtt(56, 1); SetAtt(57, 1); SetAtt(58, 0); SetAtt(59, 0); SetTextAtt(60, [Network Node12]); SetAtt(61, 1); SetAtt(62, 0); SetExprAtt(63, [{.if(att([angledifference],c)>~1,~3,~2)|2. Use two different corner speeds: if road angle is between min.angle and ~50~°,choose speed of ~1.5~ m/s, if angle is larger then choose ~0.5~ m/s.}if(att([angledifference],c)>50,0.5,1.5)]); SetAtt(64, 0); SetAtt(65, 0); SetAtt(66, 0); SetAtt(67, 10); SetAtt(68, 338872848); SetAtt(69, 1); SetExprAtt(70, [750]); SetExprAtt(71, [{.~1|1. Constant: ~50~ Ah.}50]); SetExprAtt(72, [{.~1|1. Constant: ~100~ Ah.}100]); SetExprAtt(73, [10]); SetExprAtt(74, [20]); SetAtt(75, 750); SetAtt(76, 100); SetAtt(77, 0); SetTextAtt(78, [***]); SetAtt(79, 100); SetAtt(80, 1); SetAtt(81, 324707300); SetAtt(82, 2); SetAtt(83, 338874352); SetAtt(84, 338875604); SetAtt(85, 326132252); SetAtt(86, 0); SetAtt(87, 0); SetExprAtt(88, [{.~1|1. Constant: ~100~ Ah.}100]); SetExprAtt(89, [{.~1|1. Constant: ~10~ Ah.}10]); SetExprAtt(90, [{.~1|1. Constant: ~100~ Ah.}100]); SetAtt(91, 0); SetAtt(92, 0); SetTextAtt(93, [***]); SetAtt(94, 5000); int024; SetStatus(1); int018; {Atom: Network Node11} sets; AtomByName([Network Node], Main); if(not(AtomExists), Error([Cannot find mother atom 'Network Node'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [], 1, false); int023([Network Node11], 0, 6384); Set(Icon(a), RegisterIcon(IconsDir([bmp\atoms\server.bmp]), [server])); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\NetworkNode.ico])); Set(DdbRec, [>t-netreference:324990976.>t-node1:1.>t-node:1.]); SetChannels(0, 2); SetChannelRanges(0, 255, 0, 255); int001(248); int013(1, 0, true, true, 0, 0, [], []); int013(2, 0, true, true, 0, 0, [], []); SetLoc(4, 11, 0); SetSize(1, 1, 0); LockPosition(false); LockSize(true); DisableIconRotation(false); SetProductCode([]); SetAtt(1, 1); SetAtt(2, 1); SetAtt(3, 1); SetAtt(4, 1); SetAtt(5, 0); SetAtt(6, 1); SetAtt(7, 1); int024; SetTable(1, 4); int015(0, 0, [ 1 ]); int015(1, 0, [1 1000000 ]); int015(2, 0, [2 0 ]); int015(3, 0, [3 0 ]); int015(4, 0, [4 0 ]); SetStatus(0); int018; {Atom: Network Node12} sets; AtomByName([Network Node], Main); if(not(AtomExists), Error([Cannot find mother atom 'Network Node'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [], 1, false); int023([Network Node12], 0, 6384); Set(Icon(a), RegisterIcon(IconsDir([bmp\atoms\server.bmp]), [server])); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\NetworkNode.ico])); Set(DdbRec, [>t-netreference:324990976.>t-node1:2.>t-node:1.]); SetChannels(0, 3); SetChannelRanges(0, 255, 0, 255); int001(249); int013(1, 0, true, true, 0, 0, [], []); int013(2, 0, true, true, 0, 0, [], []); int013(3, 0, true, true, 0, 0, [], []); SetLoc(38, 11, 0); SetSize(1, 1, 0); LockPosition(false); LockSize(true); DisableIconRotation(false); SetProductCode([]); SetAtt(1, 1); SetAtt(2, 1); SetAtt(3, 1); SetAtt(4, 2); SetAtt(5, 0); SetAtt(6, 1); SetAtt(7, 1); int024; SetTable(2, 4); int015(0, 0, [ 1 2 ]); int015(1, 0, [1 1000000 1000000 ]); int015(2, 0, [2 0 0 ]); int015(3, 0, [3 0 0 ]); int015(4, 0, [4 0 0 ]); SetStatus(0); int018; {Atom: Network Node13} sets; AtomByName([Network Node], Main); if(not(AtomExists), Error([Cannot find mother atom 'Network Node'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [], 1, false); int023([Network Node13], 0, 6384); Set(Icon(a), RegisterIcon(IconsDir([bmp\atoms\server.bmp]), [server])); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\NetworkNode.ico])); Set(DdbRec, [>t-netreference:324990976.>t-node1:3.>t-node:1.]); SetChannels(0, 2); SetChannelRanges(0, 255, 0, 255); int001(250); int013(1, 0, true, true, 0, 0, [], []); int013(2, 0, true, true, 0, 0, [], []); SetLoc(62, 11, 0); SetSize(1, 1, 0); LockPosition(false); LockSize(true); DisableIconRotation(false); SetProductCode([]); SetAtt(1, 1); SetAtt(2, 1); SetAtt(3, 1); SetAtt(4, 3); SetAtt(5, 0); SetAtt(6, 1); SetAtt(7, 1); int024; SetTable(1, 4); int015(0, 0, [ 1 ]); int015(1, 0, [1 1000000 ]); int015(2, 0, [2 0 ]); int015(3, 0, [3 0 ]); int015(4, 0, [4 0 ]); SetStatus(0); int018; {Atom: Network Controller15} sets; AtomByName([Network Controller], Main); if(not(AtomExists), Error([Cannot find mother atom 'Network Controller'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [], 1, false); int023([Network Controller15], 0, 530528); Set(Icon(a), RegisterIcon(pDir([media\images\default.jpg]), [default.jpg])); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\NetworkController.ico])); int001(251); SetLoc(-3, 36, 0); SetSize(9, 2, 0); LockPosition(false); LockSize(false); DisableIconRotation(false); SetProductCode([]); SetAtt(1, 1); SetAtt(2, 1); SetAtt(3, 324677648); SetAtt(4, 324679040); SetAtt(5, 324680556); SetAtt(6, 0); SetAtt(7, 338872848); SetAtt(8, 338874352); SetAtt(9, 338875604); SetAtt(10, 326132252); int024; SetTable(3, 3); int015(0, 0, [ `Network Node11` `Network Node12` `Network Node13` ]); int015(1, 0, [`Network Node11` 1 ]); int015(2, 0, [`Network Node12` 1 1 ]); int015(3, 0, [`Network Node13` 1 ]); SetStatus(0); int018; {Atom: Distance Table} sets; BaseClass; CreateAtom(a, s, [], 1, false); int023([Distance Table], 0, 3264); Set(Icon(a), RegisterIcon(pDir([media\images\default.jpg]), [default.jpg])); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(0); int001(252); SetSize(1, 1, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetProductCode([]); int024; SetTable(3, 3); int015(0, 0, [ `Network Node11` `Network Node12` `Network Node13` ]); int015(1, 0, [`Network Node11` 0 34 58 ]); int015(2, 0, [`Network Node12` 34 0 24 ]); int015(3, 0, [`Network Node13` 58 24 0 ]); SetStatus(0); int018; {Atom: Node Table} sets; BaseClass; CreateAtom(a, Up(s), [], 1, false); int023([Node Table], 0, 3264); Set(Icon(a), RegisterIcon(pDir([media\images\default.jpg]), [default.jpg])); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(0); int001(253); SetSize(1, 1, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetProductCode([]); int024; SetTable(3, 3); int015(0, 0, [ `Network Node11` `Network Node12` `Network Node13` ]); int015(1, 0, [`Network Node11` 1 1 2 ]); int015(2, 0, [`Network Node12` 2 2 2 ]); int015(3, 0, [`Network Node13` 2 3 3 ]); SetStatus(0); int018; {Atom: Pointer Table} sets; BaseClass; CreateAtom(a, Up(s), [], 1, false); int023([Pointer Table], 0, 3264); Set(Icon(a), RegisterIcon(pDir([media\images\default.jpg]), [default.jpg])); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(0); SetChannels(0, 3); int001(254); int013(1, 0, true, true, 0, 0, [], []); int013(2, 0, true, true, 0, 0, [], []); int013(3, 0, true, true, 0, 0, [], []); SetSize(1, 1, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetProductCode([]); int024; SetTable(3, 1); int015(0, 0, [ `Network Node11` `Network Node12` `Network Node13` ]); int015(1, 0, [1 324666908 324670076 324989416 ]); SetStatus(0); int018; {Atom: Angle Table} sets; BaseClass; CreateAtom(a, Up(s), [], 1, false); int023([Angle Table], 0, 3264); Set(Icon(a), RegisterIcon(pDir([media\images\default.jpg]), [default.jpg])); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(0); int001(255); SetSize(1, 1, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetProductCode([]); int024; SetTable(3, 3); int015(0, 0, [ `Angle Table` `Angle Table` `Angle Table` ]); int015(1, 0, [`Angle Table` ]); int015(2, 0, [`Angle Table` ]); int015(3, 0, [`Angle Table` ]); SetStatus(0); int018; {Atom: Atom Table} sets; BaseClass; CreateAtom(a, Up(s), [], 1, false); int023([Atom Table], 0, 3264); Set(Icon(a), RegisterIcon(pDir([media\images\default.jpg]), [default.jpg])); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(0); SetChannels(0, 2); int001(256); int013(1, 0, true, true, 0, 0, [], []); int013(2, 0, true, true, 0, 0, [], []); SetSize(1, 1, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetProductCode([]); int024; SetTable(2, 2); int015(0, 0, [ `Queue2` `Queue3` ]); int015(1, 0, [`Pointer Value` 324984412 324698772 ]); int015(2, 0, [`Connected Node` 1 3 ]); SetStatus(0); int018; {Atom: Battery Pointer Table} sets; BaseClass; CreateAtom(a, Up(s), [], 1, false); int023([Battery Pointer Table], 0, 3264); Set(Icon(a), RegisterIcon(pDir([media\images\default.jpg]), [default.jpg])); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(0); SetChannels(0, 1); int001(257); int013(1, 0, true, true, 0, 0, [], []); SetSize(1, 1, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetProductCode([]); int024; SetTable(1, 2); int015(0, 0, [ `Battery Charging Station5` ]); int015(1, 0, [`Pointer Value` 324706080 ]); int015(2, 0, [`Connected Node` 2 ]); SetStatus(0); int018; {Atom: Battery Distance Table} sets; BaseClass; CreateAtom(a, Up(s), [], 1, false); int023([Battery Distance Table], 0, 3264); Set(Icon(a), RegisterIcon(pDir([media\images\default.jpg]), [default.jpg])); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(0); int001(258); SetSize(1, 1, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetProductCode([]); int024; SetTable(1, 2); int015(0, 0, [ `Battery Charging Station5` ]); int015(1, 0, [`Queue2` 34 ]); int015(2, 0, [`Queue3` 24 ]); SetStatus(0); int018; Up; {Atom: Product} sets; BaseClass; CreateAtom(a, Up(s), [], 1, false); int023([Product], 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])); Set(Info, [A general product. General ----------- Put a product in your model and connect it's central channel with the input channel of a source to generate multiple instances of the product during running. Notes: --------- For cylinder shaped, horizontally oriented 3D icons set ySize equal to zSize. For cylinder shaped, vertically oriented 3D icons set xSize equal to ySize. For sphere set xSize equal to ySize and zSize. Last revision: ------------------ September 27, 2003 ]); Set(DdbRec, [>t-nodestroy:1.]); int001(260); SetLoc(-14, 11, 0); SetSize(1, 1, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetProductCode([]); CreateAttributes(2); SetAttributeName(r(1), [Icon3D]); SetAttributeName(r(2), [Hide2DIcon]); SetAtt(r(1), 11); SetAtt(r(2), 1); int024; Set(OnCreation, [{ In the OnInit event handler some edit fields are registered. } { This is ok for the product in the library tree, but not for the } { products in the model, so erase the OnInit expression. } Set(OnInit, []) ]); Set(OnReset, [If( Label( [t-nodestroy] , c) = 0, DestroyAtom ) ]); Set(OnUser, [Do( { Delete any current instances of this form.} GuiDestroy([Product]), { Register the GUI-form for this atom.} GuiRegister(PDir([\Atoms\Product.gui]), 1), { Show the GUI-form.} GuiCreate([Product], [Product], 0, c, 0, 1) ) ]); Set(On2DDraw, [if( c.DrawFlag, {--External atom(s) control product rotationas--} do( {--Variables for rotationas in order to compensate change of transportation direction--} RotateCoords(c.DrawRotationas, 0, 0, 1), {--Variables for translation in order to compensate change of transportation direction--} TranslateCoords(c.DrawXtranslate, c.DrawYtranslate, 0), {--Rotated shape--} dishape(0, 0 ,c.DrawXsize, c.DrawYsize, 0.01, ColorBlack, color(c)) ), {--Standard--} do( c.DrawXsize := xSize(c), c.DrawYsize := ySize(c), diBmp(0, 0, Hide2DIcon * Icon(c), 1, 5) ) ) ]); Set(On3DDraw, [do( if( {--Product rotationas has been changed by external atom (e.g. Corner Transfer Unit)--} c.DrawFlag, do( {--Variables for rotationas in order to compensate change of transportation direction--} RotateCoords(c.DrawRotationas,0,0,1), {--Variables for translation in order to compensate change of transportation direction--} TranslateCoords(c.DrawXtranslate, c.DrawYtranslate,0) ), {--Standard--} do( c.DrawXsize := xSize(c), c.DrawYsize := ySize(c) ) ), Case( Icon3D, {** Cube **} di3DBox(0, 0, 0, c.DrawXsize, c.DrawYsize, zSize, Color), {** Picture Cube **} di3DBox(0, 0, 0, c.DrawXsize, c.DrawYsize, zSize, Color, 0, 0, Icon, 0, 100, 100), {** Cylinder Horizontal **} Do( c.CenterPoint := Max(c.DrawYsize / 2, zSize / 2), Cylinder(0, c.CenterPoint, c.CenterPoint, c.DrawXsize, 360, c.CenterPoint, 0, 0, 0, Color) ), {** Cylinder Vertical **} Do( c.CenterPoint := Max(c.DrawXsize / 2, c.DrawYsize / 2), Cylinder(c.CenterPoint, c.CenterPoint, 0, zSize, 360, c.CenterPoint, 0, 90, 0, Color) ), {** Ball **} Do( c.CenterPoint := Max(c.DrawXsize / 2, Max(c.DrawYsize / 2, zSize / 2)), Ball( c.CenterPoint, c.CenterPoint, c.CenterPoint, c.CenterPoint, 180, 360, 0, 0, 0, Color) ), {** Cone **} Do( c.CenterPoint := Max(c.DrawXsize, c.DrawYsize), Cone(c.CenterPoint / 2, c.CenterPoint / 2, 0, zSize, c.CenterPoint / 2, 0, 0, 90, 0, Color) ), {** Barrel Horizontal **} Do( c.CenterPoint := Max(c.DrawYsize / 2, zSize / 2), Cylinder(0, c.CenterPoint, c.CenterPoint, c.DrawXsize, 360, c.CenterPoint, 0, 0, 0, Color), Cone(0, c.CenterPoint, c.CenterPoint, 0, c.CenterPoint, 0, 0, 0, 0, Color), Cone(c.DrawXsize, c.CenterPoint, c.CenterPoint, 0, c.CenterPoint, 0, 0, 0, 0, Color) ), {** Barrel Vertical **} Do( c.CenterPoint := Max(c.DrawXsize / 2, c.DrawYsize / 2), Cylinder(c.CenterPoint, c.CenterPoint, 0, zSize, 360, c.CenterPoint, 0, 90, 0, Color), Cone(c.CenterPoint, c.CenterPoint, zSize, 0, c.CenterPoint, 0, 0, 90, 0, Color), Cone(c.CenterPoint, c.CenterPoint, 0, 0, c.CenterPoint, 0, 0, 90, 0, Color) ), {** Pallet **} Do( di3DBox(0, 0, 0, c.DrawXsize, 0.1, zSize - 0.05, Color), di3DBox(0, /( c.DrawYsize, 2) - 0.05, 0, c.DrawXsize, 0.1, zSize - 0.05, Color), di3DBox(0, c.DrawYsize - 0.1, 0, c.DrawXsize, 0.1, zSize - 0.05, Color), c.CenterPoint := c.DrawXsize / 5, Repeat( 5, di3DBox(Count * c.CenterPoint, 0, zSize - 0.05, -0.1, c.DrawYsize, 0.05, Color) ) ), {** Simple Person **} Do( c.CenterPoint := c.DrawYsize / 2, {head} Ball( 0, c.CenterPoint, 1.8, 0.1, 180, 360, 0, -90 ,0, 7846395), {neck} Cylinder(0, c.CenterPoint, 1.65, 0.1, 360, 0.05, 0, 90, 0, 7846395), {shoulders}EllipseCone(0, c.CenterPoint, 1.52, 0.15, 360, 0.08, 0.05, 0.12, 0.2, 0, 90, 0, Color), {arm 1} Cone(0, 0.15 + c.CenterPoint, 1.5, 0.5, 0.05, 0.02, 20, -80, 0, Color), {arm 2} Cone(0, -0.15 + c.CenterPoint, 1.5, 0.5, 0.05, 0.02, 20, -80, 0, Color), {hand 1} Cone(0.08, -0.12 + c.CenterPoint, 1.02, 0.1, 0.02, 0.02, 20, -80, 0, 7846395), {hand 2} Cone(0.08, 0.18 + c.CenterPoint, 1.02, 0.1, 0.02, 0.02, 20, -80, 0, 7846395), {body} EllipseCone(0,c.CenterPoint, 1.07, 0.45, 360, 0.12, 0.2, 0.08, 0.1, 0, 90, 0, Color), {waist} EllipseCone(0,c.CenterPoint, 0.92, 0.15, 360, 0.08, 0.1, 0.11, 0.15, 0, 90, 0, ColorGray), {leg 1} Cone(0, 0.07 + c.CenterPoint, 0, 0.92, 0.03, 0.08, 0, 90, 0, ColorGray), {leg 2} Cone(0, -0.07 + c.CenterPoint, 0, 0.92, 0.03, 0.08, 0, 90, 0, ColorGray), {foot 1} EllipseCone(0, 0.07 + c.CenterPoint, 0,0.2, 180, 0.01, 0.03, 0.04, 0.05, 0, 0, 0, ColorBlack), {foot 2} EllipseCone(0, -0.07 + c.CenterPoint, 0, 0.2, 180, 0.01, 0.03, 0.04, 0.05, 0, 0, 0, ColorBlack) ), {** Closed Carton Box **} DrawModel3D(Model3D(1, c), 0, 0, 0, c.DrawXsize, c.DrawYsize, zSize), {** Open Carton Box **} DrawModel3D(Model3D(2, c), 0, 0, 0, c.DrawXsize, c.DrawYsize, zSize), {** Pallet - Wood **} DrawModel3D(Model3D(3, c), 0, 0, 0, c.DrawXsize, c.DrawYsize, zSize), {** Pallet - Plastic **} DrawModel3D(Model3D(4, c), 0, 0, 0, c.DrawXsize, c.DrawYsize, zSize), {** Oildrum **} DrawModel3D(Model3D(5, c), 0, 0, 0, c.DrawXsize, c.DrawYsize, zSize), {** Crate **} DrawModel3D(Model3D(6, c), 0, 0, 0, c.DrawXsize, c.DrawYsize, zSize) ) ) ]); SetStatus(0); int018; {Atom: StatusMonitor18} sets; AtomByName([StatusMonitor], Main); if(not(AtomExists), Error([Cannot find mother atom 'StatusMonitor'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [], 1, false); int023([StatusMonitor18], 0, 48); Set(Icon(a), RegisterIcon(pDir([media\images\default.jpg]), [default.jpg])); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\StatusMonitor.ico])); SetChannels(1, 0); SetChannelRanges(1, 1, 0, 0); int001(262); int013(1, 0, true, true, 0, 0, [], []); SetLoc(37, -1, 0); SetSize(6, 7.2, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetProductCode([]); SetAtt(1, 33); SetAtt(2, 0); SetTextAtt(3, [2]); SetAtt(4, 3); SetAtt(5, 0); SetAtt(6, 0); SetAtt(7, 0.6); SetAtt(8, 0.3); SetAtt(9, 0.3); SetAtt(10, 1); SetAtt(11, 1); SetAtt(12, 1); SetAtt(13, 1); SetAtt(14, 0); SetAtt(15, 60); SetAtt(16, 1); SetAtt(17, 1); int024; SetTable(33, 4); int015(0, 64, [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ]); int015(1, 64, [`SegmentScore` 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]); int015(2, 64, [`SegmentCumulativeScore` 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]); int015(3, 64, [`SegmentColor` 1442047 16711928 16711687 16771328 65280 3801343 16711891 16719104 15793920 65316 6226175 16711855 16728576 13434624 65353 8585471 16711818 16737792 11075328 65389 11010303 16711782 16747008 8650496 65426 13369599 16711746 16756480 6291200 65462 15728895 16711709 16765696 ]); int015(4, 64, [`SegmentName` `Idle` `Busy` `Down` `Waiting` `Blocked` `TravelFull` `TravelEmpty` `Lift Up` `Lift Down` `Not Down` `Available` `Not Available` `Empty` `Full` `Not Empty` `Load` `Unload` `Open` `Closed` `Waiting for Contents` `Waiting for Package` `Collecting` `Contents Blocked` `Distributing` `Busy and Blocked` `Conveying` `Setup` `Waiting for Job` `On the Job` `Waiting for Operator` `Assigned` `Take-Down` `Travel to Job` ]); SetStatus(0); int018; {Atom: StatusMonitor18} sets; AtomByName([StatusMonitor], Main); if(not(AtomExists), Error([Cannot find mother atom 'StatusMonitor'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [], 1, false); int023([StatusMonitor18], 0, 48); Set(Icon(a), RegisterIcon(pDir([media\images\default.jpg]), [default.jpg])); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\StatusMonitor.ico])); SetChannels(1, 0); SetChannelRanges(1, 1, 0, 0); int001(263); int013(1, 0, true, true, 0, 0, [], []); SetLoc(3, 0, 0); SetSize(6, 7.2, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetProductCode([]); SetAtt(1, 33); SetAtt(2, 0); SetTextAtt(3, [1]); SetAtt(4, 3); SetAtt(5, 0); SetAtt(6, 0); SetAtt(7, 0.6); SetAtt(8, 0.3); SetAtt(9, 0.3); SetAtt(10, 1); SetAtt(11, 1); SetAtt(12, 1); SetAtt(13, 1); SetAtt(14, 0); SetAtt(15, 60); SetAtt(16, 1); SetAtt(17, 1); int024; SetTable(33, 4); int015(0, 64, [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ]); int015(1, 64, [`SegmentScore` 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]); int015(2, 64, [`SegmentCumulativeScore` 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]); int015(3, 64, [`SegmentColor` 1442047 16711928 16711687 16771328 65280 3801343 16711891 16719104 15793920 65316 6226175 16711855 16728576 13434624 65353 8585471 16711818 16737792 11075328 65389 11010303 16711782 16747008 8650496 65426 13369599 16711746 16756480 6291200 65462 15728895 16711709 16765696 ]); int015(4, 64, [`SegmentName` `Idle` `Busy` `Down` `Waiting` `Blocked` `TravelFull` `TravelEmpty` `Lift Up` `Lift Down` `Not Down` `Available` `Not Available` `Empty` `Full` `Not Empty` `Load` `Unload` `Open` `Closed` `Waiting for Contents` `Waiting for Package` `Collecting` `Contents Blocked` `Distributing` `Busy and Blocked` `Conveying` `Setup` `Waiting for Job` `On the Job` `Waiting for Operator` `Assigned` `Take-Down` `Travel to Job` ]); SetStatus(0); int018; {Atom: StatusMonitor19} sets; AtomByName([StatusMonitor], Main); if(not(AtomExists), Error([Cannot find mother atom 'StatusMonitor'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [], 1, false); int023([StatusMonitor19], 0, 48); Set(Icon(a), RegisterIcon(pDir([media\images\default.jpg]), [default.jpg])); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\StatusMonitor.ico])); SetChannels(1, 0); SetChannelRanges(1, 1, 0, 0); int001(264); int013(1, 0, true, true, 0, 0, [], []); SetLoc(61, -1, 0); SetSize(6, 7.2, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetProductCode([]); SetAtt(1, 33); SetAtt(2, 0); SetTextAtt(3, [3]); SetAtt(4, 3); SetAtt(5, 0); SetAtt(6, 0); SetAtt(7, 0.6); SetAtt(8, 0.3); SetAtt(9, 0.3); SetAtt(10, 1); SetAtt(11, 1); SetAtt(12, 1); SetAtt(13, 1); SetAtt(14, 0); SetAtt(15, 60); SetAtt(16, 1); SetAtt(17, 1); int024; SetTable(33, 4); int015(0, 64, [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ]); int015(1, 64, [`SegmentScore` 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]); int015(2, 64, [`SegmentCumulativeScore` 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]); int015(3, 64, [`SegmentColor` 1442047 16711928 16711687 16771328 65280 3801343 16711891 16719104 15793920 65316 6226175 16711855 16728576 13434624 65353 8585471 16711818 16737792 11075328 65389 11010303 16711782 16747008 8650496 65426 13369599 16711746 16756480 6291200 65462 15728895 16711709 16765696 ]); int015(4, 64, [`SegmentName` `Idle` `Busy` `Down` `Waiting` `Blocked` `TravelFull` `TravelEmpty` `Lift Up` `Lift Down` `Not Down` `Available` `Not Available` `Empty` `Full` `Not Empty` `Load` `Unload` `Open` `Closed` `Waiting for Contents` `Waiting for Package` `Collecting` `Contents Blocked` `Distributing` `Busy and Blocked` `Conveying` `Setup` `Waiting for Job` `On the Job` `Waiting for Operator` `Assigned` `Take-Down` `Travel to Job` ]); SetStatus(0); int018; {Atom: StatusMonitor20} sets; AtomByName([StatusMonitor], Main); if(not(AtomExists), Error([Cannot find mother atom 'StatusMonitor'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [], 1, false); int023([StatusMonitor20], 0, 48); Set(Icon(a), RegisterIcon(pDir([media\images\default.jpg]), [default.jpg])); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\StatusMonitor.ico])); SetChannels(1, 0); SetChannelRanges(1, 1, 0, 0); int001(265); int013(1, 0, true, true, 0, 0, [], []); SetLoc(39, 26, 0); SetSize(6, 7.2, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetProductCode([]); SetAtt(1, 33); SetAtt(2, 0); SetTextAtt(3, [Charging Station]); SetAtt(4, 3); SetAtt(5, 0); SetAtt(6, 0); SetAtt(7, 0.6); SetAtt(8, 0.3); SetAtt(9, 0.3); SetAtt(10, 1); SetAtt(11, 1); SetAtt(12, 1); SetAtt(13, 1); SetAtt(14, 0); SetAtt(15, 60); SetAtt(16, 1); SetAtt(17, 1); int024; SetTable(33, 4); int015(0, 64, [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ]); int015(1, 64, [`SegmentScore` 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]); int015(2, 64, [`SegmentCumulativeScore` 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]); int015(3, 64, [`SegmentColor` 1442047 16711928 16711687 16771328 65280 3801343 16711891 16719104 15793920 65316 6226175 16711855 16728576 13434624 65353 8585471 16711818 16737792 11075328 65389 11010303 16711782 16747008 8650496 65426 13369599 16711746 16756480 6291200 65462 15728895 16711709 16765696 ]); int015(4, 64, [`SegmentName` `Idle` `Busy` `Down` `Waiting` `Blocked` `TravelFull` `TravelEmpty` `Lift Up` `Lift Down` `Not Down` `Available` `Not Available` `Empty` `Full` `Not Empty` `Load` `Unload` `Open` `Closed` `Waiting for Contents` `Waiting for Package` `Collecting` `Contents Blocked` `Distributing` `Busy and Blocked` `Conveying` `Setup` `Waiting for Job` `On the Job` `Waiting for Operator` `Assigned` `Take-Down` `Travel to Job` ]); SetStatus(0); int018; {Atom: Node Manipulator14} sets; AtomByName([Node Manipulator], Main); if(not(AtomExists), Error([Cannot find mother atom 'Node Manipulator'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [], 1, false); int023([Node Manipulator14], 32768, 3106); Set(Icon(a), RegisterIcon(IconsDir([bmp\atoms\tedatom.bmp]), [ed])); SetMaterial( RegisterMaterial([Default], 8421504, 8421504, 3289650, 0, 0.100000001490116, 0, false, false, 1, 0), 1, a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\NodeManipulator.ico])); SetChannels(1, 1); SetChannelRanges(1, 1, 1, 1); int001(259); SetLoc(5, 38, 0); SetSize(2, 2, 0); LockPosition(false); LockSize(true); DisableIconRotation(false); SetProductCode([]); SetAtt(1, 1); SetExprAtt(2, [do( setatt(3,0,c), var([atmLP], vbAtom), ForAtomTreeUnder( Model, do( atmLP := a, if( and( >(max(xAbsLoc(atmLP, Model), +(xabsloc(atmLP, Model), xsize(atmLP))), xabsloc(c, Model)), >(max(yabsloc(atmLP, Model), +(yabsloc(atmLP, Model), ysize(atmLP))), yabsloc(c, Model)), <(min(xabsloc(atmLP, Model), +(xabsloc(atmLP, Model), xsize(atmLP))), +(xabsloc(c, Model), xsize(c))), <(min(yabsloc(atmLP, Model), +(yabsloc(atmLP, Model), ysize(atmLP))), +(yabsloc(c, Model),ysize(c))), <>(atomid(atmLP),atomid(c)), not(ddb([t999-hidenodes],atmLP)) ), do( setatt(3,1,c), att([CurrentAtom], c) := ptv(atmLP) ) ) ) ) )]); SetAtt(3, 1); SetAtt(4, 1); SetAtt(5, 0); SetExprAtt(6, [if( atomexists(in(1, c)), connect(0, c, 1, c) )]); SetAtt(7, 1); SetAtt(8, 1); SetAtt(9, 1); SetAtt(10, 0); SetAtt(11, 1); SetAtt(12, 0); int024; SetStatus(0); int018; Up; int014(1, 232, 1, 233, 0); int014(0, 260, 1, 232, 0); int014(1, 233, 1, 244, 0); int014(1, 234, 1, 235, 0); int014(1, 245, 1, 234, 0); int014(1, 237, 1, 238, 0); int014(2, 237, 1, 239, 0); int014(3, 237, 1, 240, 0); int014(4, 237, 1, 241, 0); int014(1, 243, 1, 245, 0); int014(1, 244, 1, 243, 0); int014(2, 243, 0, 248, 0); int014(3, 243, 0, 248, 0); int014(4, 243, 0, 248, 0); int014(2, 244, 1, 247, 0); int014(3, 244, 1, 246, 0); int014(1, 247, 2, 245, 0); int014(1, 246, 3, 245, 0); int014(2, 246, 0, 250, 0); int014(3, 246, 0, 250, 0); int014(4, 246, 0, 250, 0); int014(2, 247, 0, 249, 0); int014(3, 247, 0, 249, 0); int014(4, 247, 0, 249, 0); int014(1, 248, 0, 249, 0); int014(2, 248, 0, 233, 0); int014(1, 249, 0, 248, 0); int014(2, 249, 0, 250, 0); int014(3, 249, 0, 236, 0); int014(1, 250, 0, 249, 0); int014(2, 250, 0, 234, 0); int014(1, 254, 0, 248, 0); int014(2, 254, 0, 249, 0); int014(3, 254, 0, 250, 0); int014(1, 256, 0, 233, 0); int014(2, 256, 0, 234, 0); int014(1, 257, 0, 236, 0); int014(0, 247, 1, 262, 0); int014(0, 243, 1, 263, 0); int014(0, 246, 1, 264, 0); int014(0, 242, 1, 265, 0); int006(10, 232, 1, 0, 0); int006(0, 243, 19, 999, 0); int006(0, 246, 19, 999, 0); int006(0, 247, 19, 999, 0); int006(0, 262, 1001, 0, 0); int006(1, 262, 1002, 0, 0); int006(0, 263, 1001, 0, 0); int006(1, 263, 1002, 0, 0); int006(0, 264, 1001, 0, 0); int006(1, 264, 1002, 0, 0); int006(0, 265, 1001, 0, 0); int006(1, 265, 1002, 0, 0); {Experiment settings} int034; int007;