{10.0.1.2474} {Enterprise Dynamics startup information} if(StartingED, SoftStartED([])); {Model information} AddLayer([Main], 1, 1, 0); {10.0.1.2474} {Load required atoms} int011; int035([Product], pDir([Atoms\BASIC MODELING\Product.atm])); int035([Queue], pDir([Atoms\BASIC MODELING\Queue.atm])); int035([Source], pDir([Atoms\BASIC MODELING\Source.atm])); int035([Network Controller], pDir([Atoms\NETWORK\Network Controller.atm])); int035([Network Node], pDir([Atoms\NETWORK\Network Node.atm])); int035([Node Manipulator], pDir([Atoms\NETWORK\Node Manipulator.atm])); int035([Warehouse], pDir([Atoms\STORAGE\Warehouse.atm])); int035([Accumulating Conveyor], pDir([Atoms\TRANSPORT\CONVEYORS\ACCUMULATING\Accumulating Conveyor.atm])); int035([Advanced Transporter], pDir([Atoms\TRANSPORT\FLOORBOUND\Advanced Transporter.atm])); int035([Destinator], pDir([Atoms\TRANSPORT\FLOORBOUND\Destinator.atm])); int012; {Atom: Source1} sets; AtomByName([Source], Main); if(not(AtomExists), Error([Cannot find mother atom 'Source'. Inheriting from BaseClass.])); CreateAtom(a, s, [Source1], 1, false); 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); 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(237); int013(1, 0, true, false, 0, 0, [], []); SetLoc(-2, 4, 0); SetSize(5, 2, 2); LockPosition(false); LockSize(false); DisableIconRotation(false); 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), [Queue2], 1, false); SetExprAtt(1, [{.~1|~1~.}1]); SetAtt(2, 10); SetExprAtt(3, [0]); SetExprAtt(4, [4DS[do( label([row], i) := dUniform(1, 10), label([column], i) := dUniform(1, 20) )]4DS]); SetExprAtt(5, [{.content(c)|Fifo (First In First Out).}content(c)]); SetAtt(6, 4); SetExprAtt(7, [{.openallic(c)|Any inputchannel.}openallic(c)]); SetAtt(8, 2); 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-network:1.>t-nodeconnections-n1:1.>t-node1:1.]); SetChannels(1, 1); SetChannelRanges(1, 255, 1, 255); int001(238); int013(1, 0, true, false, 0, 0, [], []); SetLoc(4, 4, 0); SetSize(5, 2, 0); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(13); int018; {Atom: Warehouse3} sets; AtomByName([Warehouse], Main); if(not(AtomExists), Error([Cannot find mother atom 'Warehouse'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Warehouse3], 1, false); SetAtt(1, 10); SetAtt(2, 20); SetAtt(3, 1); SetAtt(4, 1); SetAtt(5, 0); SetAtt(6, 0); SetExprAtt(7, [4DS[label([row],i)]4DS]); SetExprAtt(8, [4DS[label([column],i)]4DS]); SetExprAtt(9, [{.openallic(c)|Any inputchannel .}openallic(c)]); SetExprAtt(10, [{.content(c)|Fifo (First In First Out) .}content(c)]); SetExprAtt(11, [1]); SetExprAtt(12, [first(c)]); SetAtt(13, 0); SetAtt(14, 0); SetAtt(15, 1); SetAtt(16, 1); SetAtt(17, 1); int023([Warehouse3], 4605453, 240); 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, 0, 0, 0, 0), a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\Warehouse.ico])); Set(DdbRec, [>t-network:1.>t-nodeconnections-n1:1.>t-node1:1.>t-node2:2.]); SetChannels(1, 0); SetChannelRanges(1, 255, 0, 255); int001(239); int013(1, 0, true, true, 0, 0, [], []); SetLoc(19, 3, 0); SetSize(20, 2, 10); LockPosition(false); LockSize(false); DisableIconRotation(false); SetTable(10, 20); int015(0, 0, [`` 1 2 3 4 5 6 7 8 9 10 ]); int015(1, 0, [1 ]); int015(2, 0, [2 ]); int015(3, 0, [3 ]); int015(4, 0, [4 ]); int015(5, 0, [5 ]); int015(6, 0, [6 ]); int015(7, 0, [7 ]); int015(8, 0, [8 ]); int015(9, 0, [9 ]); int015(10, 0, [10 ]); int015(11, 0, [11 ]); int015(12, 0, [12 ]); int015(13, 0, [13 ]); int015(14, 0, [14 ]); int015(15, 0, [15 ]); int015(16, 0, [16 ]); int015(17, 0, [17 ]); int015(18, 0, [18 ]); int015(19, 0, [19 ]); int015(20, 0, [20 ]); SetStatus(0); int018; {Atom: Warehouse4} sets; AtomByName([Warehouse], Main); if(not(AtomExists), Error([Cannot find mother atom 'Warehouse'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Warehouse4], 1, false); SetAtt(1, 10); SetAtt(2, 20); SetAtt(3, 1); SetAtt(4, 1); SetAtt(5, 0); SetAtt(6, 0); SetExprAtt(7, [4DS[label([row],i)]4DS]); SetExprAtt(8, [4DS[label([column],i)]4DS]); SetExprAtt(9, [{.openallic(c)|Any inputchannel .}openallic(c)]); SetExprAtt(10, [{.content(c)|Fifo (First In First Out) .}content(c)]); SetExprAtt(11, [1]); SetExprAtt(12, [first(c)]); SetAtt(13, 0); SetAtt(14, 0); SetAtt(15, 1); SetAtt(16, 1); SetAtt(17, 1); int023([Warehouse4], 4605453, 240); 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, 0, 0, 0, 0), a); Set(Version(a), 0); SetTreeIcon(pDir([Media\Icons\Warehouse.ico])); Set(DdbRec, [>t-network:1.>t-nodeconnections-n1:38.>t-node1:1.>t-node2:2.]); SetChannels(1, 0); SetChannelRanges(1, 255, 0, 255); int001(240); int013(1, 0, true, true, 0, 0, [], []); SetLoc(19, 7, 0); SetSize(20, 2, 10); LockPosition(false); LockSize(false); DisableIconRotation(false); SetTable(10, 20); int015(0, 0, [`` 1 2 3 4 5 6 7 8 9 10 ]); int015(1, 0, [1 ]); int015(2, 0, [2 ]); int015(3, 0, [3 ]); int015(4, 0, [4 ]); int015(5, 0, [5 ]); int015(6, 0, [6 ]); int015(7, 0, [7 ]); int015(8, 0, [8 ]); int015(9, 0, [9 ]); int015(10, 0, [10 ]); int015(11, 0, [11 ]); int015(12, 0, [12 ]); int015(13, 0, [13 ]); int015(14, 0, [14 ]); int015(15, 0, [15 ]); int015(16, 0, [16 ]); int015(17, 0, [17 ]); int015(18, 0, [18 ]); int015(19, 0, [19 ]); int015(20, 0, [20 ]); SetStatus(0); int018; {Atom: N1-1} sets; AtomByName([Network Node], Main); if(not(AtomExists), Error([Cannot find mother atom 'Network Node'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [N1-1], 1, false); SetAtt(1, 1); SetAtt(2, 1); SetAtt(3, 1); SetAtt(4, 1); SetAtt(5, 0); SetAtt(6, 1); SetAtt(7, 1); int023([N1-1], 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-node:1.>t-netreference:555954816.>t-node1:1.]); SetChannels(0, 4); SetChannelRanges(0, 255, 0, 255); int001(241); int013(1, 0, true, true, 0, 0, [], []); int013(2, 0, true, true, 0, 0, [], []); int013(3, 0, true, true, 0, 0, [], []); int013(4, 0, true, true, 0, 0, [], []); SetLoc(19, 6, 0); SetSize(1, 1, 0); LockPosition(false); LockSize(true); DisableIconRotation(false); SetTable(1, 4); int015(0, 0, [`Direction` `N1-2` ]); int015(1, 0, [`Capacity` 1000000 ]); int015(2, 0, [`Content` 0 ]); int015(3, 0, [`Use speed limit` 0 ]); int015(4, 0, [4DS[`Speed limit [m/s]` 0 ]4DS]); SetStatus(0); int018; {Atom: N1-2} sets; AtomByName([Network Node], Main); if(not(AtomExists), Error([Cannot find mother atom 'Network Node'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [N1-2], 1, false); SetAtt(1, 1); SetAtt(2, 1); SetAtt(3, 1); SetAtt(4, 2); SetAtt(5, 0); SetAtt(6, 1); SetAtt(7, 1); int023([N1-2], 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-node:1.>t-netreference:555954816.>t-node1:2.]); SetChannels(0, 3); SetChannelRanges(0, 255, 0, 255); int001(242); int013(1, 0, true, true, 0, 0, [], []); int013(2, 0, true, true, 0, 0, [], []); int013(3, 0, true, true, 0, 0, [], []); SetLoc(39, 6, 0); SetSize(1, 1, 0); LockPosition(false); LockSize(true); DisableIconRotation(false); SetTable(1, 4); int015(0, 0, [`Direction` `N1-1` ]); int015(1, 0, [`Capacity` 1000000 ]); int015(2, 0, [`Content` 0 ]); int015(3, 0, [`Use speed limit` 0 ]); int015(4, 0, [4DS[`Speed limit [m/s]` 0 ]4DS]); SetStatus(0); int018; {Atom: Network Controller8} sets; AtomByName([Network Controller], Main); if(not(AtomExists), Error([Cannot find mother atom 'Network Controller'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Network Controller8], 1, false); SetAtt(1, 1); SetAtt(2, 1); SetAtt(3, 555956736); SetAtt(4, 555957696); SetAtt(5, 555958656); SetAtt(6, 1); SetAtt(7, 555959616); SetAtt(8, 555960576); SetAtt(9, 555961536); SetAtt(10, 555962496); int023([Network Controller8], 0, 530528); 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\NetworkController.ico])); int001(243); SetLoc(9, 12, 0); SetSize(9, 2, 0); LockPosition(false); LockSize(false); DisableIconRotation(false); SetTable(2, 2); int015(0, 0, [`` `N1-1` `N1-2` ]); int015(1, 0, [`N1-1` `` 1 ]); int015(2, 0, [`N1-2` 1 ]); SetStatus(0); int018; {Atom: Distance Table} sets; BaseClass; CreateAtom(a, s, [Distance Table], 1, false); int023([Distance Table], 0, 3200); 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); int001(244); SetSize(1, 1, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetTable(2, 2); int015(0, 0, [`` `N1-1` `N1-2` ]); int015(1, 0, [`N1-1` 0 20 ]); int015(2, 0, [`N1-2` 20 0 ]); SetStatus(0); int018; {Atom: Node Table} sets; BaseClass; CreateAtom(a, Up(s), [Node Table], 1, false); int023([Node Table], 0, 3200); 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); int001(245); SetSize(1, 1, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetTable(2, 2); int015(0, 0, [`` `N1-1` `N1-2` ]); int015(1, 0, [`N1-1` 1 1 ]); int015(2, 0, [`N1-2` 2 2 ]); SetStatus(0); int018; {Atom: Pointer Table} sets; BaseClass; CreateAtom(a, Up(s), [Pointer Table], 1, false); int023([Pointer Table], 0, 3200); 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); SetChannels(0, 2); int001(246); int013(1, 0, true, true, 0, 0, [], []); int013(2, 0, true, true, 0, 0, [], []); SetSize(1, 1, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetTable(2, 1); int015(0, 0, [`` `N1-1` `N1-2` ]); int015(1, 0, [1 555952896 555953856 ]); SetStatus(0); int018; {Atom: Angle Table} sets; BaseClass; CreateAtom(a, Up(s), [Angle Table], 1, false); int023([Angle Table], 0, 3200); 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); int001(247); SetSize(1, 1, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetTable(2, 2); int015(0, 0, [`` `N1-1` `N1-2` ]); int015(1, 0, [`N1-1` `` 180 ]); int015(2, 0, [`N1-2` 0 ]); SetStatus(0); int018; {Atom: Atom Table} sets; BaseClass; CreateAtom(a, Up(s), [Atom Table], 1, false); int023([Atom Table], 0, 3200); 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); SetChannels(0, 5); int001(248); int013(1, 0, true, true, 0, 0, [], []); int013(2, 0, true, true, 0, 0, [], []); int013(3, 0, true, true, 0, 0, [], []); int013(4, 0, true, true, 0, 0, [], []); int013(5, 0, true, true, 0, 0, [], []); SetSize(1, 1, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetTable(5, 2); int015(0, 0, [`` `Warehouse3` `Warehouse3` `Warehouse4` `Warehouse4` `Accumulating Conveyor12` ]); int015(1, 0, [`Pointer Value` 544543696 544543696 544544656 544544656 555966336 ]); int015(2, 0, [`Connected Node` 2 1 2 1 1 ]); SetStatus(0); int018; {Atom: Battery Pointer Table} sets; BaseClass; CreateAtom(a, Up(s), [Battery Pointer Table], 1, false); int023([Battery Pointer Table], 0, 3200); 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); int001(249); SetSize(1, 1, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(0); int018; {Atom: Battery Distance Table} sets; BaseClass; CreateAtom(a, Up(s), [Battery Distance Table], 1, false); int023([Battery Distance Table], 0, 3200); 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); int001(250); SetSize(1, 1, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetTable(0, 5); int015(0, 0, [`` ]); int015(1, 0, [`Warehouse3` ]); int015(2, 0, [`Warehouse3` ]); int015(3, 0, [`Warehouse4` ]); int015(4, 0, [`Warehouse4` ]); int015(5, 0, [`Accumulating Conveyor12` ]); SetStatus(0); int018; Up; {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), [Advanced Transporter9], 1, false); SetAtt(1, 0); SetAtt(2, 1); SetAtt(3, 19.5); SetAtt(4, 6); SetAtt(5, 0); SetAtt(6, 1); SetExprAtt(7, [3]); SetExprAtt(8, [1]); SetExprAtt(9, [1]); SetAtt(10, 0); SetAtt(11, 1); SetExprAtt(12, [{.IndexMax(NrOC(out(1,c)), OCReady(Count,out(1,c))*Random(100000))|4. A random open channel: choose a random channel from all the open output channels..}IndexMax(NrOC(out(1,c)), OCReady(Count,out(1,c))*Random(100000))]); SetExprAtt(13, [0]); SetExprAtt(14, [0]); SetExprAtt(15, [2]); SetExprAtt(16, [0]); SetExprAtt(17, [0]); SetAtt(18, 0); SetExprAtt(19, [4DS[{.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)))]4DS]); 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, [4DS[{.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)))]4DS]); SetExprAtt(22, [4DS[{.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)]4DS]); 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, [4DS[{.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)]4DS]); SetAtt(25, 1); SetAtt(26, 2); 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, 153.999999712203); SetExprAtt(38, [0.5]); SetAtt(39, 0); SetAtt(40, 0); SetExprAtt(41, [0]); SetAtt(42, 0); SetAtt(43, 0); SetAtt(44, 555956736); SetAtt(45, 555957696); SetAtt(46, 555958656); SetAtt(47, 555954816); SetAtt(48, 1); 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, [N1-1]); SetAtt(61, 1); SetAtt(62, 0); SetExprAtt(63, [4DS[{.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)]4DS]); SetAtt(64, 0); SetAtt(65, 0); SetAtt(66, 0); SetAtt(67, 10); SetAtt(68, 555959616); SetAtt(69, 0); 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); SetAtt(78, 0); SetExprAtt(79, [0]); SetAtt(80, 0); SetAtt(81, 555964416); SetAtt(82, 1); SetAtt(83, 555960576); SetAtt(84, 555961536); SetAtt(85, 555962496); 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); SetAtt(93, 0); SetAtt(94, 5000); SetAtt(95, 0); SetAtt(96, 0); SetExprAtt(97, [0]); SetAtt(98, 0); SetAtt(99, 0); SetAtt(100, 1); SetAtt(101, 0); 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-transporter:1.>n1:1.>n2:2.>n3:1.>d2:20.>d4:20.>previousedstnode:1.>t-dest:1.>t-continue:1.>d1:40.>n4:2.>drivingoffset:1.>t-start:1.]); SetChannels(3, 4); SetChannelRanges(3, 3, 4, 4); int001(251); 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(19.5, 6, 0); SetSize(3, 2, 1); LockPosition(false); LockSize(true); DisableIconRotation(false); SetStatus(1); int018; {Atom: Destinator10} sets; AtomByName([Destinator], Main); if(not(AtomExists), Error([Cannot find mother atom 'Destinator'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Destinator10], 1, false); SetExprAtt(1, [1]); SetAtt(2, 10); SetAtt(3, 0); SetAtt(4, 0); SetExprAtt(5, [in(ic(c),c)]); SetAtt(6, 1); int020(2, true, true, false); int023([Destinator10], 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(1, 2); SetChannelRanges(1, 255, 1, 255); int001(252); int013(1, 0, true, true, 0, 0, [], []); int013(2, 0, true, true, 0, 0, [], []); SetLoc(11, 10, 0); SetSize(7, 2, 0); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(0); int018; {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(1, 11); SetAtt(2, 1); 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])); int001(253); SetLoc(-4, 4, 0); SetSize(1, 1, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(0); int018; {Atom: Accumulating Conveyor12} sets; AtomByName([Accumulating Conveyor], Main); if(not(AtomExists), Error([Cannot find mother atom 'Accumulating Conveyor'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Accumulating Conveyor12], 1, false); SetAtt(1, 1); SetExprAtt(2, [Length / Speed]); SetAtt(3, 5); SetExprAtt(4, [Min(TempMaxLoc, Speed * (Time - EntryTime(cs)))]); SetAtt(5, 0); SetAtt(6, 0); SetExprAtt(7, [If(Elevation <> 0, Hor_Length / Cos(Angle), Hor_Length)]); SetExprAtt(8, [1]); SetAtt(9, 0); SetAtt(10, 1); SetExprAtt(11, [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) ) ) ) )]); SetAtt(12, 0); SetAtt(13, 10000); SetAtt(14, 1); SetAtt(15, 0); SetAtt(16, 0); SetAtt(17, 1); SetAtt(18, 10); SetAtt(19, 1); SetAtt(20, 4); SetExprAtt(21, [0]); SetExprAtt(22, [ArcTan(Elevation / Hor_Length)]); SetExprAtt(23, [If(Use_Physical, xSize(c), Input_Length)]); SetAtt(24, 5); int023([Accumulating Conveyor12], 11249415, 1266); 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.>t-network:1.>t-nodeconnections-n1:16.>t-node1:1.]); SetChannels(1, 1); SetChannelRanges(1, 255, 1, 255); int001(254); int013(1, 0, true, false, 0, 0, [], []); SetLoc(9, 4, 0); SetSize(10, 1, 1); LockPosition(false); LockSize(false); DisableIconRotation(false); SetStatus(13); int018; {Atom: Node Manipulator7} sets; AtomByName([Node Manipulator], Main); if(not(AtomExists), Error([Cannot find mother atom 'Node Manipulator'. Inheriting from BaseClass.])); CreateAtom(a, Up(s), [Node Manipulator7], 1, false); SetAtt(1, 1); SetExprAtt(2, [4DS[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) ) ) ) ) )]4DS]); 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); int023([Node Manipulator7], 32768, 3106); 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\NodeManipulator.ico])); SetChannels(1, 1); SetChannelRanges(1, 1, 1, 1); int001(255); SetLoc(9, 10, 0); SetSize(2, 2, 0); LockPosition(false); LockSize(true); DisableIconRotation(false); SetStatus(0); int018; Up; int014(1, 237, 1, 238, 0); int014(0, 253, 1, 237, 0); int014(1, 238, 1, 254, 0); int014(1, 252, 1, 239, 0); int014(2, 252, 1, 240, 0); int014(1, 241, 0, 242, 0); int014(2, 241, 0, 239, 0); int014(3, 241, 0, 240, 0); int014(4, 241, 0, 254, 0); int014(1, 242, 0, 241, 0); int014(2, 242, 0, 239, 0); int014(3, 242, 0, 240, 0); int014(1, 246, 0, 241, 0); int014(2, 246, 0, 242, 0); int014(1, 248, 0, 239, 0); int014(2, 248, 0, 240, 0); int014(3, 248, 0, 254, 0); int014(4, 248, 0, 239, 0); int014(5, 248, 0, 240, 0); int014(1, 251, 1, 252, 0); int014(1, 254, 1, 251, 0); int014(2, 251, 0, 241, 0); int014(3, 251, 0, 241, 0); int014(4, 251, 0, 241, 0); int006(10, 237, 1, 0, 0, 0); int006(0, 251, 19, 999, 0, 0); {Experiment settings} int034; SetAtt(17, 1); int007;