Cmodel@@,BTools@ Brelease4.5B FlowItemBin@objectBstored@@BFlowItemBinsubnode@T!BFlowItemBinsubnode@1@Item0_NULLNAMEB FlexsimBox@r FlexsimBox,@object@B itemtype@Bvisual@@Bcolor@a@Bred@A)Z?Bgreen@A)Z?Bblue@A)Z?Bshape@ufs3d\FlowItem.3DSB shapeindex@v?B imagebase@s***Bimageindexbase@tB noondraw@k?B nopredraw@l?B spatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@PQ?B spatialsy@QQ?B spatialsz@Rףp= ?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@@BBasic@rBasic,@objectB itemtype@Bvisual@@Bcolor@a@Bred@?Bgreen@?Bblue@?B imageobject@qbitmaps\flowitempicture.bmpBimageindexobject@rA@B imagebase@s***Bimageindexbase@tB noondraw@k?B nopredraw@l?B billboard@jB spatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@BCan@rCan,@objectB itemtype@Bvisual@@Bcolor@a@Bred@?Bgreen@?Bblue@?B imageobject@qfs3d\BBpepsican.bmpBimageindexobject@rA@B imagebase@s***Bimageindexbase@tB noondraw@k?B nopredraw@l?B billboard@jB spatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@BSphere@rSphere,@objectB itemtype@Bvisual@@Bcolor@a@Bred@?Bgreen@?Bblue@?B imageobject@qfs3d\BBsphere.bmpBimageindexobject@rB@B imagebase@s***Bimageindexbase@tB noondraw@k?B nopredraw@l?B billboard@j?B spatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@BTextured Colored Box@rTextured Colored Box,@objectB itemtype@Bvisual@@ Bcolor@a@Bred@Rr/0?Bgreen@Rr/0?Bblue@Rr/0?Bshape@ufs3d\texturebox.wrlB shapeindex@v@B imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB noondraw@k?B nopredraw@l?B spatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@PQ?B spatialsy@QQ?B spatialsz@Rףp= ?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?B special@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@BPallet@rPallet-@objectB itemtype@B behaviour@@Beventfunctions@@B OnReceiveD@Knodefunction(node("/project/exec/globals/nodefunctions/palletentry"),c,i);@Bd/project/exec/globals/nodefunctions/palletentrye tVIEWvirot/grjPpHo@4Bvisual@@Bcolor@a@Bred@2?Bgreen@88?Bblue@4?Bshape@ufs3d\FlowItem\Pallet.wrlB shapeindex@v@B imagebase@s***Bimageindexbase@tB nochildscale@_?B noondraw@k?B nopredraw@l?B spatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@Rp= ף?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@BTote@rTote,@objectB itemtype@Bvisual@@Bcolor@a@Bred@9̗?Bgreen@?Bblue@2?Bshape@u!fs3d\FlowItem\Product - Tote.3DSB shapeindex@v@B imagebase@s***Bimageindexbase@tB noondraw@k?B nopredraw@l?Bspatial@@B spatialx@MB spatialy@NB spatialz@OB spatialsx@Pffffff?B spatialsy@Qffffff?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Boffsetx@VBoffsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@BTextured Colored Cylinder@rTextured Colored Cylinder,@objectB itemtype@Bvisual@@ Bcolor@a@Bred@3ۃ?Bgreen@3ۃ?Bblue@3ۃ?Bshape@ufs3d\texturecyl.wrlB shapeindex@v@B imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB noondraw@k?B nopredraw@l?B spatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@Pffffff?B spatialsy@Qffffff?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@BTextured Colored Sphere@rTextured Colored Sphere,@objectB itemtype@Bvisual@@ Bcolor@a@Bred@3ۃ?Bgreen@3ۃ?Bblue@3ۃ?Bshape@ufs3d\texturesphere.wrlB shapeindex@v@B imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB noondraw@k?B nopredraw@l?B spatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@BPerson@rPerson,@objectB itemtype@Bvisual@@Bcolor@a@Bred@?Bgreen@?Bblue@Bshape@ufs3d\Operator.3DSB shapeindex@v@B imagebase@s***Bimageindexbase@tB noondraw@k?B nopredraw@l?B spatial@@B spatialx@MQ?B spatialy@N)\(B spatialz@OB spatialsx@P?B spatialsy@Q(\?B spatialsz@R{Gz?B spatialrx@SB spatialry@TB spatialrz@UBoffsetx@V?Boffsety@W?Boffsetz@XB offsetsx@\@B offsetsy@]?B offsetsz@^@33@B offsetrx@YVB offsetry@ZB offsetrz@[VB centroid@e?Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@BLoaded Pallet@rLoaded Pallet,@objectB itemtype@Bvisual@@Bcolor@a@Bred@A)Z?Bgreen@A)Z?Bblue@A)Z?Bshape@u.fs3d\FlowItem\Loaded Pallet\Loaded Pallet.3DSB shapeindex@v8@B imagebase@s***Bimageindexbase@tB noondraw@k?B nopredraw@l?Bspatial@@B spatialx@M?B spatialy@N{Gz?B spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Boffsetx@V?Boffsety@W?Boffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^(\?B offsetrx@YB offsetry@ZB offsetrz@[Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@@BTextured Colored Plane@rTextured Colored Plane,@objectB itemtype@Bvisual@@ Bcolor@a@Bred@3ۃ?Bgreen@3ۃ?Bblue@3ۃ?Bshape@ufs3d\textureplaneup.wrlB shapeindex@v9@B imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB noondraw@k?B nopredraw@l?B spatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@PQ?B spatialsy@QQ?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@B BasicSphere@r BasicSphere,@objectB itemtype@Bvisual@@Bcolor@a@Bred@A)Z?Bgreen@A)Z?Bblue@A)Z?B shapeindex@vBimageindexobject@rB noondraw@k?B nopredraw@l?B spatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@@BBasicCylinder@rBasicCylinder,@objectB itemtype@Bvisual@@Bcolor@a@Bred@A)Z?Bgreen@A)Z?Bblue@A)Z?B shapeindex@vBimageindexobject@rB noondraw@k?B nopredraw@l?B spatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@@B BasicCone@r BasicCone,@objectB itemtype@Bvisual@@Bcolor@a@Bred@A)Z?Bgreen@A)Z?Bblue@A)Z?B shapeindex@vBimageindexobject@rB noondraw@k?B nopredraw@l?B spatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@@B BasicBox@r BasicBox,@objectB itemtype@Bvisual@@Bcolor@a@Bred@A)Z?Bgreen@A)Z?Bblue@A)Z?B shapeindex@vBimageindexobject@rB noondraw@k?B nopredraw@l?B spatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@@BTaskExecuterFlowItem@BTaskExecuterFlowItem@objectB classes@@B Operator@80AB TaskExecuter@]AB Dispatcher@@[ABFlexsimObject@/ABsuperclasses@@B TaskExecuter@`60AB Dispatcher@@[ABFlexsimObject@/AB variables@@>Bactivetasksequence@B maxcontent@?B loadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B loadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B unloadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@Bunloadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B maxspeed@@B acceleration@?B deceleration@?B navigator@@Boldbreakrequirement@B breakto@Ftreenode activets = parnode(1); treenode current = ownerobject(c); @B travelinfo@@B travelstartx@B travelstarty@B travelstartz@Btraveldistance@Btraveldirection@B travelendx@B travelendy@B travelendz@B travelacc@B traveldec@Btravelstarttime@~Btravelendtime@Btraveltimealpha@Btraveltimebeta@B travelvpeak@B travelvmax@B travelvstart@B travelvend@Bmodifyrotation@?B useoffsets@?Boffsettingnow@Boffsetbegintime@Boffsettotaltime@B offsetlocx@B offsetlocy@B offsetlocz@B offsetbeginx@B offsetbeginy@B offsetbeginz@Boffsetbeginxrot@Boffsetbeginyrot@Boffsetbeginzrot@B loadedspeed@@B emptyspeed@@Bcurloadunloadtime@Blastupdatedspeed@B travelvstart@B travelvend@Blastspeedupdatetime@Bcollisiontrigger@treenode thisobject=ownerobject(c); treenode otherobject=parnode(1); treenode thissphere=parnode(2); treenode othersphere=parnode(3); Bcollcheckinterval@?Bdrawcollspheres@B incollision@Bcollcheckstate@Btotaltraveldist@B kinematics@Bflipthreshold@f@Bpassimmediately@@Bpassto@#treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**First Available*/ /** \nIf there are no objects currently available, then queue the tasksequence up using the Queue Strategy and wait until someone connected to its output ports becomes available.*/ return 0;@Btasksequencequeue@Bqueuestrategy@mtreenode tasksequence = parnode(1); /**Sort by TaskSequence Priority*/ return getpriority(tasksequence);@B4/exedefupalle t? l (=Blastrecursetime@Blastrecurseinvolved@Bcoordinatedtasks@Bonresourceavailable@treenode current = ownerobject(c); int port = parval(1); treenode resource = parnode(2); treenode nextts = parnode(3); treenode lastts = parnode(4); Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@B networknodes@Btimeoflaststop@B nrofstops@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@Bresettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@@B OnReset@@B(Bcppfunctions@@Bcppvariables@@Bdouble offsetloc[3] @Bfsnode* activetask@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bcolor@a@Bred@?Bgreen@?Bblue@Bshape@ufs3d\Operator.3DSB shapeindex@v@Bpicture@c bitmaps\TaskExecuterpicture.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?Bframe@Bspecial@@Btitle@dObjectB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}#VIEW:/pages/TaskExecuterParametersBreportvariables@@B maxcontent@B loadtime@B loadtrigger@B unloadtime@Bunloadtrigger@B maxspeed@B acceleration@B deceleration@Bbreakto@B useoffsets@B loadedspeed@B emptyspeed@Bpassimmediately@Bpassto@Bqueuestrategy@Bmessagetrigger@Bondrawtrigger@Bcollisionspheres@Bcollisionobjects@B resettrigger@B spatial@@B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q(\?B spatialsz@R{Gz?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@V?Boffsety@W?Boffsetz@XB offsetsx@\@B offsetsy@]?B offsetsz@^333333@B offsetrx@YVB offsetry@ZB offsetrz@[VB centroid@e?B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Bmobileresource@B objectinfo@@B Output: 0@BStatus: NULL@Blabels@@B connections@@Bconnectionsin@ @Bconnectionsout@ @Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. TimeBstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@B itemtype@B GlobalVarGen,@object Bclasses@@B GlobalVarGen@R0AB variables@@B definecode@B loadcode@Btable@@B usercode@B commands@Blabels@@B defaultlabel@B behaviour@@Beventfunctions@@Bcppfunctions@@Bspatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UBvisual@@B nochildscale@_?B connections@@Bconnectionsin@ @Bconnectionsout@ @Bconnectionscenter@ @Bevents@ @Bspecial@@Btitle@dObjectB description@bBguifocusclass@}$VIEW:/pages/GlobalVarGen ParametersB ExcelAutoD9@objectB classes@@B ExcelAuto@ g0AB variables@@ Bneedtocompile@Bexcellocation@+c:\Program Files\Microsoft Office\Office10Bfirstworkbook@B curworkbook@B importtable@@BRow_1@@ BExcel_Book_Name@NEWBExcel_Sheet_Name@Sheet1BFlexsim_Table_Location@/Flask Loading>variablesBFlexsim_Table_Name@componentlistB Headers@@BData_Distinction@?B Start_Row@B Start_Col@B Num_Rows@B Num_Cols@BMain_Percent@BRow_2@@ BExcel_Book_Name@NEWBExcel_Sheet_Name@Sheet1BFlexsim_Table_Location@/Flask Loading>variablesBFlexsim_Table_Name@componentlistB Headers@@BData_Distinction@?B Start_Row@B Start_Col@B Num_Rows@B Num_Cols@BMain_Percent@BRow_3@@ BExcel_Book_Name@NEWBExcel_Sheet_Name@Sheet1BFlexsim_Table_Location@/Canister arrival>variablesBFlexsim_Table_Name@ scheduleB Headers@@BData_Distinction@?B Start_Row@B Start_Col@B Num_Rows@B Num_Cols@BMain_Percent@BRow_4@@ BExcel_Book_Name@NEWB@0.00BFlexsim_Table_Location@/Canister arrival>variablesBFlexsim_Table_Name@ scheduleB Headers@@BData_Distinction@?B Start_Row@B Start_Col@B Num_Rows@B Num_Cols@BMain_Percent@Bsheet@Sheet1Btname@'/Flask Loading>variables/componentlistB headerval@@Bdatadistinctval@?B OnImport@w treenode pbar = node("/active/Excel Import Progress", views()); // Pointer to the Progress Window treenode mainpercent = node("/Main Percent", pbar); // Pointer to the mainpercent field treenode subtitle = node("/Sub Title", pbar); // Pointer to the subtitle field treenode subpercent = node("/Sub Percent", pbar); // Pointer to the subpercent field double mainpercentdone = parval(1); // The precentage of the Main Progress bar that has been completed (will be between 0 and 1) // This trigger fires after all of the tables have been imported // It is used to modify the imported data or create any objects based on the imported data // If you want to change the progress bar during execution of this code // The following code is an example of how to change the percent on the progress bars and sub title. // Sub Title - setviewtext(subtitle, apchar(concat("Importing ", sheetname, " into ", tablename))); // Sub Percent - setviewtext(subpercent, apchar(numtostring(0, 3, 0))); // The first zero is the percent (from 0 to 100) // Repaint the Sub Percent - repaintview(node("/Sub Bar", up(subpercent))); // This must be done after setting the percentage // Main Percent - setviewtext(mainpercent, apchar(numtostring(100 * mainper, 3, 0))); // The first zero is the percent (from 0 to 100) // Repaint the Main Percent - repaintview(node("/Main Bar", up(mainpercent))); // This must be done after setting the percentage // The following is an example of how this code would be used to change the progress bars /* setviewtext(subtitle, apchar("Import Finish Code")); // Set the subtitle to display what we are doing int iterations = 10; // Set the number of iterations to make msg("TEST", "Watch the percentages increase with each message!"); // Create a message so that we can watch the progress for(int index = 1; index <= iterations; index++) // Iterate to show how this works { setviewtext(subpercent, apchar(numtostring(((double)index / (double)iterations) * 100, 3, 0))); // Set the sub percent to the percent done - remember the value is between 0 and 100 repaintview(node("/Sub Bar", up(subpercent))); // Repaint the sub progress bar double mainper = mainpercentdone + ((1- mainpercentdone) * ((double)index / (double)iterations)); // Calculate the total percent done setviewtext(mainpercent, apchar(numtostring(100 * mainper, 3, 0))); // Set the main percent - remember the value is between 0 and 100 repaintview(node("/Main Bar", up(mainpercent))); // Repaint the main progress bar msg("TEST", "Notice how the percentages are increasing with each message!"); // Create a message so that we can watch the progress } */ @Bh/active/Excel Import Progresspallviro/Main Percent/Sub Titleawse/Sub Percent?8( ?td=XH?=?=9kBImportTriggerPercent@B behaviour@@Beventfunctions@@Bcppfunctions@@B special@@ section1B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@} VIEW:/pages/DelayPipeParametersB ignoredraw@f?B MTBFMTTR@bFilling CanisterL @objectB classes@@B MTBFMTTR@0AB variables@@ Bmembers@@BFilling Canistersubnode@"Bmtbf@Ctreenode current = ownerobject(c); treenode involved = parnode(1); /**Statistical Distribution: */ return /**/exponential(1000, 1, 0)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@BT :/nonkx>tex?o?0l$ @Bmttr@Atreenode current = ownerobject(c); treenode involved = parnode(1); /**Statistical Distribution: */ return /**/erlang(1008, 1, 2, 0)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@BX:/nonkx>tex?o?0l$ @ty"Bstate@&@B firstmtbf@mtreenode current = ownerobject(c); treenode involved = parnode(1); /**Statistical Distribution */ /**\nDistribution: */ return /**/exponential(1000, 1, 0)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@BT :/nonkx>tex?o?0l$ @Bapplyindividuals@?B downtrigger@treenode current = ownerobject(c); treenode members = var_s(current,"members"); treenode involved = parnode(1); // If involved is equal to current, all of the members went down at the same time // Otherwise, involved is the object that went down B uptrigger@treenode current = ownerobject(c); treenode members = var_s(current,"members"); treenode involved = parnode(1); // If involved is equal to current, all of the members went down at the same time // Otherwise, involved is the object that went down Bdownfunction@htreenode current = ownerobject(c); treenode downobject = parnode(1); int state = parval(2); double downtime = parval(3); treenode membercoupling = parnode(4); /**Stop object*/ /** \nExecute stopobject().*/ /** \nID: */ int id = /**/1/**/; /** \nPriority: */ double priority = /**/0/**/; stopobject(downobject ,state, id, priority); return 0; @B%:/nonkx>tex?o?0l$6Lk@9hk\?lx 6   9    744=#B upfunction@treenode current = ownerobject(c); treenode downobject = parnode(1); int state = parval(2); /**Resume object*/ /** \nExecute resumeobject().*/ /** \nID: */ int id = /**/1/**/; /** \nThe resumeobject() command is class dependent. It basically tells the object it can resume doing whatever it was doing before stopobject() was called. It's important to note that a complimentary Resume Function must be defined based on the Down Function defined.*/ resumeobject(downobject, id); return 0; @B:/nonkx>tex?o?0l$6Lk@6\  4x  =l  6 ,c)B mtbfstates@@B accuracy@Y@B rangecutoff@B behaviour@@Beventfunctions@@Bcppfunctions@@Bspatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB special@@Btitle@dTime Table ObjectB description@bB guifocus@| VIEW:/pages/MTBFMTTR ParametersBguifocusclass@} VIEW:/pages/MTBFMTTR ParametersBvisual@@b Arc WeldingL @objectB classes@@B MTBFMTTR@0AB variables@@ Bmembers@@BWelding@5%Bmtbf@@treenode current = ownerobject(c); treenode involved = parnode(1); /**Statistical Distribution: */ return /**/exponential(100,1,1)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@BT ive/port?o?0l$6L@dBmttr@Itreenode current = ownerobject(c); treenode involved = parnode(1); /**Statistical Distribution */ /**\nDistribution: */ return /**/erlang(8, 1, 2, 0)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@BXive/port?o?0l$6L@Bstate@&@B firstmtbf@@treenode current = ownerobject(c); treenode involved = parnode(1); /**Statistical Distribution: */ return /**/exponential(100,1,1)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@BT ive/port?o?0l$6L@dBapplyindividuals@?B downtrigger@treenode current = ownerobject(c); treenode members = var_s(current,"members"); treenode involved = parnode(1); // If involved is equal to current, all of the members went down at the same time // Otherwise, involved is the object that went down B uptrigger@treenode current = ownerobject(c); treenode members = var_s(current,"members"); treenode involved = parnode(1); // If involved is equal to current, all of the members went down at the same time // Otherwise, involved is the object that went down Bdownfunction@htreenode current = ownerobject(c); treenode downobject = parnode(1); int state = parval(2); double downtime = parval(3); treenode membercoupling = parnode(4); /**Stop object*/ /** \nExecute stopobject().*/ /** \nID: */ int id = /**/1/**/; /** \nPriority: */ double priority = /**/0/**/; stopobject(downobject ,state, id, priority); return 0; @B%ive/port/Sub?o?0l$6Lk@9hk\?lx 6   9    744=6TB upfunction@treenode current = ownerobject(c); treenode downobject = parnode(1); int state = parval(2); /**Resume object*/ /** \nExecute resumeobject().*/ /** \nID: */ int id = /**/1/**/; /** \nThe resumeobject() command is class dependent. It basically tells the object it can resume doing whatever it was doing before stopobject() was called. It's important to note that a complimentary Resume Function must be defined based on the Down Function defined.*/ resumeobject(downobject, id); return 0; @Bive/port?o?0l$6Lk@6\  4x  =l  6 ,c)B mtbfstates@@B accuracy@Y@B rangecutoff@B behaviour@@Beventfunctions@@Bcppfunctions@@Bspatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB special@@Btitle@dTime Table ObjectB description@bB guifocus@| VIEW:/pages/MTBFMTTR ParametersBguifocusclass@} VIEW:/pages/MTBFMTTR ParametersBvisual@@bCharger MaintainanceL @objectB classes@@B MTBFMTTR@0AB variables@@ Bmembers@@ BCharger Maintainancesubnode@9@B@@@BCharger Maintainancesubnode@E8@B@@@BCharger Maintainancesubnode@6@B@@@BCharger Maintainancesubnode@)@B@@@BCharger Maintainancesubnode@qL@B@@@BCharger Maintainancesubnode@M@B@@@BCharger Maintainancesubnode@e=@B@@@BCharger Maintainancesubnode@>@B@@@BCharger Maintainancesubnode@5@B@@@BCharger Maintainancesubnode@O@B@@@BCharger Maintainancesubnode@QP@B@@@BCharger Maintainancesubnode@<@B@@@Bmtbf@%treenode current = ownerobject(c); treenode involved = parnode(1); /**By Expression*/ /** \nExpression: */ double value = /**/2000/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\ive/port?o?0l$9@6\7Pde;Bmttr@$treenode current = ownerobject(c); treenode involved = parnode(1); /**By Expression*/ /** \nExpression: */ double value = /**/500/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\ive/port?o?0l$9@6\7P/ Bstate@(@B firstmtbf@%treenode current = ownerobject(c); treenode involved = parnode(1); /**By Expression*/ /** \nExpression: */ double value = /**/2000/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\ive/port?o?0l$9@6\7P )Bapplyindividuals@?B downtrigger@treenode current = ownerobject(c); treenode members = var_s(current,"members"); treenode involved = parnode(1); // If involved is equal to current, all of the members went down at the same time // Otherwise, involved is the object that went down B uptrigger@treenode current = ownerobject(c); treenode members = var_s(current,"members"); treenode involved = parnode(1); // If involved is equal to current, all of the members went down at the same time // Otherwise, involved is the object that went down Bdownfunction@htreenode current = ownerobject(c); treenode downobject = parnode(1); int state = parval(2); double downtime = parval(3); treenode membercoupling = parnode(4); /**Stop object*/ /** \nExecute stopobject().*/ /** \nID: */ int id = /**/1/**/; /** \nPriority: */ double priority = /**/0/**/; stopobject(downobject ,state, id, priority); return 0; @B%ive/port/Sub?o?0l$6Lk@9hk\?lx 6   9    744=6B upfunction@treenode current = ownerobject(c); treenode downobject = parnode(1); int state = parval(2); /**Resume object*/ /** \nExecute resumeobject().*/ /** \nID: */ int id = /**/1/**/; /** \nThe resumeobject() command is class dependent. It basically tells the object it can resume doing whatever it was doing before stopobject() was called. It's important to note that a complimentary Resume Function must be defined based on the Down Function defined.*/ resumeobject(downobject, id); return 0; @Bive/port?o?0l$6Lk@6\  4x  =l  6 ,c)B mtbfstates@?@B_idle@?B accuracy@Y@B rangecutoff@B behaviour@@Beventfunctions@@Bcppfunctions@@Bspatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB special@@Btitle@dTime Table ObjectB description@bB guifocus@| VIEW:/pages/MTBFMTTR ParametersBguifocusclass@} VIEW:/pages/MTBFMTTR ParametersBvisual@@bCharger FailureL @objectB classes@@B MTBFMTTR@0AB variables@@ Bmembers@@ BCharger Failuresubnode@9@B@k@B@o[U3K@BCharger Failuresubnode@5@B@i0O@BCharger Failuresubnode@O@B@'A@BCharger Failuresubnode@RP@B@G"O@BCharger Failuresubnode@<@B@RfJ@Bmtbf@Atreenode current = ownerobject(c); treenode involved = parnode(1); /**Statistical Distribution: */ return /**/exponential(1000,1,1)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@BT ive/port?o?0l$6L@Bmttr@Ktreenode current = ownerobject(c); treenode involved = parnode(1); /**Statistical Distribution */ /**\nDistribution: */ return /**/uniform(150, 250, 0)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@BT ive/port?o?0l$6L@Bstate@&@B firstmtbf@Atreenode current = ownerobject(c); treenode involved = parnode(1); /**Statistical Distribution: */ return /**/exponential(1000,1,1)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@BT ive/port?o?0l$6L@Bapplyindividuals@?B downtrigger@treenode current = ownerobject(c); treenode members = var_s(current,"members"); treenode involved = parnode(1); // If involved is equal to current, all of the members went down at the same time // Otherwise, involved is the object that went down B uptrigger@treenode current = ownerobject(c); treenode members = var_s(current,"members"); treenode involved = parnode(1); // If involved is equal to current, all of the members went down at the same time // Otherwise, involved is the object that went down Bdownfunction@htreenode current = ownerobject(c); treenode downobject = parnode(1); int state = parval(2); double downtime = parval(3); treenode membercoupling = parnode(4); /**Stop object*/ /** \nExecute stopobject().*/ /** \nID: */ int id = /**/1/**/; /** \nPriority: */ double priority = /**/0/**/; stopobject(downobject ,state, id, priority); return 0; @B%ive/port/Sub?o?0l$6Lk@9hk\?lx 6   9    744=6ditB upfunction@treenode current = ownerobject(c); treenode downobject = parnode(1); int state = parval(2); /**Resume object*/ /** \nExecute resumeobject().*/ /** \nID: */ int id = /**/1/**/; /** \nThe resumeobject() command is class dependent. It basically tells the object it can resume doing whatever it was doing before stopobject() was called. It's important to note that a complimentary Resume Function must be defined based on the Down Function defined.*/ resumeobject(downobject, id); return 0; @Bive/port?o?0l$6Lk@6\  4x  =l  6 ,c)B mtbfstates@?@B _processing@@B_busy@@B _blocked@@B accuracy@Y@B rangecutoff@B behaviour@@Beventfunctions@@Bcppfunctions@@Bspatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB special@@Btitle@dTime Table ObjectB description@bB guifocus@| VIEW:/pages/MTBFMTTR ParametersBguifocusclass@} VIEW:/pages/MTBFMTTR ParametersBvisual@@bCrane FailureL @objectB classes@@B MTBFMTTR@0AB variables@@ Bmembers@@BCrane Failuresubnode@4IBCrane Failuresubnode@GBCrane Failuresubnode@0Bmtbf@Ctreenode current = ownerobject(c); treenode involved = parnode(1); /**Statistical Distribution: */ return /**/exponential(3000, 1, 0)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@BT ive/port?o?0l$6L@ Bmttr@@treenode current = ownerobject(c); treenode involved = parnode(1); /**Statistical Distribution: */ return /**/erlang(504, 1, 2, 0)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@BXive/port?o?0l$6L@"Bstate@&@B firstmtbf@Ctreenode current = ownerobject(c); treenode involved = parnode(1); /**Statistical Distribution: */ return /**/exponential(3000, 1, 0)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@BT ive/port?o?0l$6L@ Bapplyindividuals@?B downtrigger@treenode current = ownerobject(c); treenode members = var_s(current,"members"); treenode involved = parnode(1); // If involved is equal to current, all of the members went down at the same time // Otherwise, involved is the object that went down B uptrigger@treenode current = ownerobject(c); treenode members = var_s(current,"members"); treenode involved = parnode(1); // If involved is equal to current, all of the members went down at the same time // Otherwise, involved is the object that went down Bdownfunction@htreenode current = ownerobject(c); treenode downobject = parnode(1); int state = parval(2); double downtime = parval(3); treenode membercoupling = parnode(4); /**Stop object*/ /** \nExecute stopobject().*/ /** \nID: */ int id = /**/1/**/; /** \nPriority: */ double priority = /**/0/**/; stopobject(downobject ,state, id, priority); return 0; @B%ive/port/Sub?o?0l$6Lk@9hk\?lx 6   9    744=6 B upfunction@treenode current = ownerobject(c); treenode downobject = parnode(1); int state = parval(2); /**Resume object*/ /** \nExecute resumeobject().*/ /** \nID: */ int id = /**/1/**/; /** \nThe resumeobject() command is class dependent. It basically tells the object it can resume doing whatever it was doing before stopobject() was called. It's important to note that a complimentary Resume Function must be defined based on the Down Function defined.*/ resumeobject(downobject, id); return 0; @Bive/port?o?0l$6Lk@6\  4x  =l  6 r 2B mtbfstates@@B accuracy@Y@B rangecutoff@B behaviour@@Beventfunctions@@Bcppfunctions@@Bspatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB special@@Btitle@dTime Table ObjectB description@bB guifocus@| VIEW:/pages/MTBFMTTR ParametersBguifocusclass@} VIEW:/pages/MTBFMTTR ParametersBvisual@@bAnnual ShutDownL @objectB classes@@B MTBFMTTR@0AB variables@@ Bmembers@@*BFilling canister@"BCanister arrival@w!B Apply Lid@#BWelding@6%BBuffer@'BCharger Loading@)BPit@2/BCrane@0BCharger Source@1BIdle Chargers@2BCharger Preperation@i4BCharger Unloading@5BCharger Unloading@6BCharger Unloading@G8BCharger Unloading@9BBatching21ForTransport@:BCharger Loading@<BCharger Loading@g=BCharger Loading@>BQueue29@?BCooling Buffer@*AB BasicTE26@xBB BasicTE27@CB BasicTE28@EB BasicTE29@PFB Late Crane@GB Early Crane@5IBEarly Dispatcher@:JBLate Dispatcher@4KBCharger Loading@sLBCharger Loading@MBCharger Unloading@OBCharger Unloading@SPB BasicTE41@QB BasicTE42@RBQueue43@ TBQueue44@6UBTo UK Repository@WVBTo EU By Rail@xWBTo Japan by Sea@XBSink43@YBTesting@x&Bmtbf@*treenode current = ownerobject(c); treenode involved = parnode(1); /**By Expression*/ /** \nExpression: */ double value = /**/6720/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\:/nonkx>tex?o?0l$9@@7Pde;Bmttr@%treenode current = ownerobject(c); treenode involved = parnode(1); /**By Expression*/ /** \nExpression: */ double value = /**/2040/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\:/nonkx>tex?o?0l$9@7PlisBstate@>@B firstmtbf@*treenode current = ownerobject(c); treenode involved = parnode(1); /**By Expression*/ /** \nExpression: */ double value = /**/6720/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\:/nonkx>tex?o?0l$9@@7P )Bapplyindividuals@B downtrigger@treenode current = ownerobject(c); treenode members = var_s(current,"members"); treenode involved = parnode(1); // If involved is equal to current, all of the members went down at the same time // Otherwise, involved is the object that went down B uptrigger@treenode current = ownerobject(c); treenode members = var_s(current,"members"); treenode involved = parnode(1); // If involved is equal to current, all of the members went down at the same time // Otherwise, involved is the object that went down Bdownfunction@htreenode current = ownerobject(c); treenode downobject = parnode(1); int state = parval(2); double downtime = parval(3); treenode membercoupling = parnode(4); /**Stop object*/ /** \nExecute stopobject().*/ /** \nID: */ int id = /**/1/**/; /** \nPriority: */ double priority = /**/0/**/; stopobject(downobject ,state, id, priority); return 0; @B%:/nonkx>tex?o?0l$6Lk@9hk\?lx 6   9    744=# B upfunction@treenode current = ownerobject(c); treenode downobject = parnode(1); int state = parval(2); /**Resume object*/ /** \nExecute resumeobject().*/ /** \nID: */ int id = /**/1/**/; /** \nThe resumeobject() command is class dependent. It basically tells the object it can resume doing whatever it was doing before stopobject() was called. It's important to note that a complimentary Resume Function must be defined based on the Down Function defined.*/ resumeobject(downobject, id); return 0; @B:/nonkx>tex?o?0l$6Lk@6\  4x  =l  6 *\\B mtbfstates@@B accuracy@Y@B rangecutoff@B behaviour@@Beventfunctions@@Bcppfunctions@@Bspatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB special@@Btitle@dTime Table ObjectB description@bB guifocus@| VIEW:/pages/MTBFMTTR ParametersBguifocusclass@} VIEW:/pages/MTBFMTTR ParametersBvisual@@B settings@B fullhistory?B Charting@B fullreport@Busesummaryreport?Busestatereport?Bsummaryreport@ Bstats_contentBstats_contentminBstats_contentmaxBstats_contentavgB stats_inputB stats_outputBstats_staytimeminBstats_staytimemaxBstats_staytimeavgBstate_currentB state_sinceB statereport@B showpercents?B statelist@Bidle?B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing @Bwaiting_for_operator"@Bwaiting_for_transporter$@B breakdown&@Bscheduled_down(@B conveying*@B travel_empty,@Btravel_loaded.@Boffset_travel_empty0@Boffset_travel_loaded1@Bloading2@B unloading3@Bdown4@Bsetup5@Butilize6@B classlist@+BSourceBQueueB ProcessorBSinkB CombinerB SeparatorBMultiProcessorB ConveyorB MergeSortBRackB ReservoirB DispatcherB OperatorB TransporterB ElevatorBRobotBCraneB ASRSvehicleB FlowNodeB NetworkNodeBTrafficControlB VisualToolB RecorderBBasicTEBBasicFRB FluidTickerB FluidTankBFluidGeneratorBFluidTerminatorB FluidMixerB FluidBlenderBFluidSplitterB FluidPipeBFluidProcessorB ItemToFluidB FluidToItemBBasicConveyorBDiscreteCombinerBDiscreteGeneratorBDiscreteProcessorBLineControllerB ScoreCardBSystemControllerB ExcelExportostring filename = filebrowse("*.xls","Excel Files",concat(cdir(),"userprojects")); // get the name of the file to open if (stringlen(filename) == 0) // This is true when the user presses Cancel on the file browse window { return 0; } excelopen(filename); // open a link with an Excel workbook excelsetsheet("Sheet1"); // set the active worksheet - sheet names should contain only alphanumeric characters and underscore (_) //add your export code here using commands: excelwritenum(), excelwritestr(), excelexporttable() msg("Excel Export","Export complete",1); excelclose(0); // close the workbook @BP*.xlsEExcel FilesuserprojectslTablExpSheet1Excel ExportelExport complete/Too<T@A0 O #|>p:dw:  FB precisionBactive@Bortho@object@B viewfocus@MAIN:/project/modelBviewwindowopen@?Bviewwindowtype@@Blisteningwindow@*VIEW:/active/ProcessorParameters317237504@B@?B spatialx@Mc@B spatialy@N@Y@B spatialsx@P(@B spatialsy@Q0@B viewpointx@ƨ4@B viewpointy@zIB viewpointz@B viewpointrx@VB viewpointry@B viewpointrz@Bviewmagnification@ɿSb<@Bviewprojectiontype@?Bviewpointradius@D@Bviewbackgroundcolor@@B@?B@?B@?Bviewhideallbases@?Bviewhidealldrawcontent@Bviewhidealllabels@Bviewhideallconnectors@B viewlights@@BLight Source 1@@B viewlightx@?B viewlighty@B viewlightz@?B viewlightr@?B viewlightg@?B viewlightb@?Bviewlightaspos@BLight Source 2@@B viewlightx@B viewlighty@?B viewlightz@?B viewlightr@?B viewlightg@?B viewlightb@?Bviewlightaspos@Bviewautoconnect@Bviewsnaptogrid@?Bviewsyncupdate@B viewnear@yB viewfar@y@B viewfield@V@Bviewfirstperson@B viewshowgrid@?Bgridx@?Bgridy@?Bviewlabelalignment@?B OnDropNode@@//pt(" drop node");pt(getname(c));pt(getname(i));pr(); if(i != c) { string thekey; if(!iskeydown()) { int editmode = modeleditmode(-1); switch(editmode) { case EDITMODE_A_CONNECT: thekey = "A"; break; case EDITMODE_Q_CONNECT: thekey = "Q"; break; case EDITMODE_S_CONNECT: thekey = "S"; break; case EDITMODE_W_CONNECT: thekey = "W"; break; case EDITMODE_E_CONNECT: thekey = "E"; break; case EDITMODE_D_CONNECT: thekey = "D"; break; } } else thekey = strascii(lastkeydown()); if(switch_selected(c, -1) && !switch_selected(i, -1)) groupconnectto(i, thekey); else if(switch_selected(i, -1) && !switch_selected(c, -1)) groupconnectfrom(c, thekey); else contextdragconnection(c, i, thekey); set(node("MAIN:/project/exec/globals/nodevariables/connectionjustmade"), 1); } @BOnDrop@makeactive(c);@B menuview@B viewlist@ OrthoViewsB menupopup@@BEdit@@BDesignate This Node (so)@Aviewmenucommand("Edit|Designate This Node (so)",ownerobject(c));B-@BReset Object@setcurrent(selectedobject(ownerobject(c))); // Make sure something was actually selected if(not(objectexists(current))) { return(0); } set(spatialrx(current),0); set(spatialry(current),0); set(spatialrz(current),0); set(spatialz(current),0);BSet Object Reset Position@eif(objectexists(selectedobject(ownerobject(c)))) setresetposition(selectedobject(ownerobject(c)));B-@BAdd to User Library@4addtouserlibrary(selectedobject(ownerobject(c))); BView@@ BDesignate This View (sv)@Aviewmenucommand("View|Designate This View (sv)",ownerobject(c));B-@B&Capture Screen p@.viewmenucommand("View|Print",ownerobject(c));B Reset View@l//pt(" Resetting view ");popupmenu(node("../..",c)); viewmenucommand("View|Zoom...|Reset",ownerobject(c));BReset View Rotation@treenode theview = ownerobject(c); set(viewpointrx(theview),-90); set(viewpointry(theview),0); set(viewpointrz(theview),0);B0"/buttons/view_viewsettings.bmp"V&iew Settings@treenode theview = node("VIEW:/standardviews/View Settings"); nodefunction(node("VIEW:/nodefunctions/createview_palette"),theview);BSave Settings as Default@>setcurrent(ownerview(c)); if(and(not(comparetext(getname(current), "ortho")), not(comparetext(getname(current), "persp")))) { msg("Error", "The view must be either an untabbed Orthographic \nor Perspective view to make it the default."); return(0); } if(not(objectexists(node("/Tools/DefaultGUIs",model())))) { nodeinsertinto(node("/Tools",model())); setname(last(node("/Tools",model())), "DefaultGUIs"); } setitem(node("/Tools/DefaultGUIs",model())); if(not(objectexists(node(concat("/", getname(current)), item)))) { nodeinsertinto(item); setname(last(item), getname(current)); nodeadddata(last(item), DATATYPE_STRING); } setport(node(concat("/", getname(current)), item)); clearcontents(port); createcopy(current, port); setname(last(port), getname(current)); sets(port, nodetopath(last(port),1));B-@BView Container@0treenode view = ownerobject(c); treenode focus = node(">viewfocus+",view); if(focus == model()) return 0; viewmenucommand("View|Up", view); focus = node(">viewfocus+",view); set(viewpointx(view), xcenter(focus)); set(viewpointy(view), ycenter(focus)); set(viewpointz(view), 0); /*int orthonr = 0; treenode activeviews = node("VIEW:/active"); for(int i = 1; i < getrank(view); i++) { treenode curview = rank(activeviews, i); if(comparetext(getname(curview), "ortho")) orthonr++; }*/ string path = nodetopath(focus, 1); if(stringlen(path)>20) path = stringpart(path, 20, stringlen(path)-20); else path = getname(focus); //sets(windowtitle(view), concat("Orthographic View - ", numtostring(orthonr, 0,0), " - ", path)); sets(windowtitle(view), concat("Orthographic View - ", path)); BView Contents@treenode view = ownerobject(c); set(viewpointx(view), 0); set(viewpointy(view), 0); set(viewpointz(view), 0); viewmenucommand("View|Down", view); treenode focus = node(">viewfocus+",view); /*int orthonr = 0; treenode activeviews = node("VIEW:/active"); for(int i = 1; i < getrank(view); i++) { treenode curview = rank(activeviews, i); if(comparetext(getname(curview), "ortho")) orthonr++; }*/ string path = nodetopath(focus, 1); if(stringlen(path)>20) path = stringpart(path, 20, stringlen(path)-20); else path = getname(focus); //sets(windowtitle(view), concat("Orthographic View - ", numtostring(orthonr, 0,0), " - ", path)); sets(windowtitle(view), concat("Orthographic View - ", path)); B-@BExplore Structure@if (license()) { viewmenucommand("View|Structure...|Explore structure",ownerobject(c)); } else{msg("Flexsim","Not available in evaluation mode.");} BModeling Utilities@@BC"/buttons/view_edithighlightedobject.bmp"Edit &Highlighted Object@treenode theview = node("VIEW:/standardviews/Edit Highlighted Object"); nodefunction(node("VIEW:/nodefunctions/createview_palette"),theview,1);B?"/buttons/view_editselectedobjects.bmp"Edit &Selected Objects@treenode theview = node("VIEW:/standardviews/Edit Selected Objects"); nodefunction(node("VIEW:/nodefunctions/createview_palette"),theview,1);B."/buttons/view_findobjects.bmp"&Find Objects@treenode theview = node("VIEW:/standardviews/Find Objects"); nodefunction(node("VIEW:/nodefunctions/createview_palette"),theview,1);B4"/buttons/view_travelnetworks.bmp"Travel &Networks@treenode theview = node("VIEW:/standardviews/Travel Networks"); nodefunction(node("VIEW:/nodefunctions/createview_palette"),theview,1);B!"/buttons/view_views.bmp"&Views@treenode theview = node("VIEW:/standardviews/Views"); nodefunction(node("VIEW:/nodefunctions/createview_palette"),theview,1);B#"/buttons/view_groups.bmp"&Groups@treenode theview = node("VIEW:/standardviews/Groups"); nodefunction(node("VIEW:/nodefunctions/createview_palette"),theview,1);B0"/buttons/view_modellayouts.bmp"&Model Layouts@treenode theview = node("VIEW:/standardviews/Model Layouts"); nodefunction(node("VIEW:/nodefunctions/createview_palette"),theview,1);B&"/buttons/view_tree.bmp"Explore Tree@if (license()) { viewmenucommand("Explore|As Tree",ownerobject(c)); } else{msg("Flexsim","Not available in evaluation mode.");} B Properties@setcurrent(node("VIEW:/active")); setport(content(current)); viewmenucommand("Parameters",ownerobject(c)); if(content(current)>port) { setcurrent(node(">listeningwindow", ownerobject(c))); sets(current, nodetopath(last(node("VIEW:/active")), 1)); set(first(current), 1); }B windowtitle@Orthographic View - modelBviewignoreobjects@B statusbar@?Bconnectorsize@?Bconnectorstyle@?B labelscale@@BOnMouseWheel@treenode vfocus = node("@>viewfocus+",c); treenode selected = selectedobject(ownerobject(c)); double mousedelta = get(node("..>OnMouseWheelDelta",c)); if(objectexists(selected)) { double dz = mousedelta / 1000; if(switch_selected(selected)) { forobjecttreeunder(vfocus) { if(switch_selected(a)) { if(up(a) != vfocus) { // do an 'erase' because vectorproject caches stuff if it gets the same parameters vectorprojectx(a,0,0,0,vfocus); double x1 = vectorprojectx(vfocus, 0,0,0,up(a)); double y1 = vectorprojecty(vfocus, 0,0,0,up(a)); double z1 = vectorprojectz(vfocus, 0,0,0,up(a)); double x2 = vectorprojectx(vfocus, 0,0,dz,up(a)); double y2 = vectorprojecty(vfocus, 0,0,dz,up(a)); double z2 = vectorprojectz(vfocus, 0,0,dz,up(a)); double newdx = x2-x1; double newdy = y2-y1; double newdz = z2-z1; setloc(a,xloc(a)+newdx, yloc(a)+newdy, zloc(a)+newdz); } else setloc(a,xloc(a), yloc(a), maxof(0,zloc(a)+dz)); } } } else { if(up(selected) != vfocus) { // do an 'erase' because vectorproject caches stuff if it gets the same parameters vectorprojectx(selected,0,0,0,vfocus); double x1 = vectorprojectx(vfocus, 0,0,0,up(selected)); double y1 = vectorprojecty(vfocus, 0,0,0,up(selected)); double z1 = vectorprojectz(vfocus, 0,0,0,up(selected)); double x2 = vectorprojectx(vfocus, 0,0,dz,up(selected)); double y2 = vectorprojecty(vfocus, 0,0,dz,up(selected)); double z2 = vectorprojectz(vfocus, 0,0,dz,up(selected)); double dx = x2 - x1; double dy = y2 - y1; dz = z2 - z1; setloc(selected,xloc(selected)+dx, yloc(selected)+dy, zloc(selected)+dz); } else setloc(selected,xloc(selected), yloc(selected), maxof(0, zloc(selected)+dz)); } } else { set(viewmagnification(ownerobject(c)), (1.0+(max(-499, mousedelta)/500))*get(viewmagnification(ownerobject(c)))); } repaintview(ownerobject(c)); @BOnMouseWheelDelta@^@B OnPreOpen@_setname(c, "ortho"); treenode activeviews = node("VIEW:/active"); /* int totalnr = 0; int orthonr = 1; for(int i = 1; i < getrank(c); i++) { treenode view = rank(activeviews, i); if(comparetext(getname(view), "ortho") || comparetext(getname(view), "persp") || comparetext(getname(view), "planar") ) totalnr++; if(comparetext(getname(view), getname(c))) orthonr++; } inc(spatialy(c), 25*totalnr); sets(windowtitle(c), concat("Orthographic View - ", numtostring(orthonr, 0,0), " - model"));*/ // This moves the view if there is another view under it. int bust=1; // to prevent possible infinite loops int moved=1; while(moved && bust<20) { moved = 0; for(int i=2;i<=content(activeviews);i++) { treenode view = rank(activeviews,i); if(view==c) continue; if(fabs(get(spatialx(view))-get(spatialx(c)))<25 && fabs(get(spatialy(view))-get(spatialy(c)))<25 && get(viewwindowtype(view))==get(viewwindowtype(c))) { inc(spatialx(c),25); inc(spatialy(c),25); moved = 1; break; } } bust++; } sets(windowtitle(c), "Orthographic View - model");@BOnOpen@set(itemcurrent(c),1); set(first(itemcurrent(c)),0); /*executefsnode(node("/ToolPanel/FindPanel>ToolOnOpen",c), node("/ToolPanel/FindPanel",c)); executefsnode(node("/ToolPanel/GroupsPanel>ToolOnOpen",c), node("/ToolPanel/GroupsPanel",c)); executefsnode(node("/ToolPanel/ViewPanel>ToolOnOpen",c), node("/ToolPanel/ViewPanel",c)); int orthonr = 1; treenode activeviews = node("VIEW:/active"); for(int i = 1; i < getrank(c); i++) { treenode view = rank(activeviews, i); if(comparetext(getname(view), "ortho")) orthonr++; }*/ treenode focus = node(">viewfocus+",c); string path = nodetopath(focus, 1); if(stringlen(path)>20) path = stringpart(path, 20, stringlen(path)-20); else path = getname(focus); //sets(windowtitle(c), concat("Orthographic View - ", numtostring(orthonr, 0,0), " - ", path)); sets(windowtitle(c), concat("Orthographic View - ", path)); //repaintview(c);@B OnClose@t/*int orthonr = 0; treenode activeviews = node("VIEW:/active"); setitem(1); while(le(item,content(activeviews))) { setcurrent(rank(activeviews,item)); if(and(comparetext("ortho",getname(current)),ne(item,getrank(c)))) { orthonr++; setnodestr(windowtitle(current), concat("Orthographic View - ",numtostring(orthonr,0,0)," - ",getname(node(">viewfocus+",current),1))); } if(and(comparetext(gets(windowtitle(current)), "View Window Settings"), eq(node(">objectfocus+", current), c))) { destroyobject(current); setitem(item - 1); } setitem(item + 1); } repaintall();*/@B OnKeyDown@set(first(itemcurrent(c)), 0);@B OnKeyUp@set(first(itemcurrent(c)), 0); // I'm going to unselect the tools folder if the last key down was a delete and the content of the model is one if(and(eq(lastkeydown(),46), eq(content(model()), 1))) { setselectedobject(c, 0); } @B itemcurrent@?@B lastclicked@B clickedx@|@B clickedy@Z@B viewfog@B gridfog@Bgridlinewidth@Bgridlinecolor@@B@?B@?B@?B OnClick@${//pt("OnClick clickcode = : ");pd(clickcode());pt(" ");pr(); #define MODE_NORMAL 0 if(get(viewwindowopen(c))) { treenode connectionjustmade = node("MAIN:/project/exec/globals/nodevariables/connectionjustmade"); setcurrent(node("MAIN:/project/exec/globals/nodevariables/connectionjustmade"));// I just made a drag connection int mode = modeleditmode(-1); treenode lastclickedobject = first(itemcurrent(c)); if(get(connectionjustmade))// I just did a drop node { set(connectionjustmade, 0); set(lastclickedobject, 0); return(0); } if(clickcode() == DOUBLE_CLICK && objectexists(selectedobject(c))) { if(or( node("VIEW:/active/LAST>objectfocus+") == selectedobject(c), node("VIEW:/active/LAST>viewfocus+") == selectedobject(c) )) { sets(node(">listeningwindow",c), nodetopath(last(node("VIEW:/active")),1)); set(first(node(">listeningwindow",c)), 1); } } if(clickcode() == LEFT_RELEASE) {// the left mouse button was just released int dx = cursorinfo(c,1,1,1) - getnodenum(rank(itemcurrent(c),2)); int dy = cursorinfo(c,1,2,1) - getnodenum(rank(itemcurrent(c),3)); if(fabs(dx)<3 && fabs(dy)<3) // if you release in nearly the same spot as you clicked - (if you didn't move the view) { if(iskeydown('F') || iskeydown('R') || mode == EDITMODE_CREATEOBJECTS || mode == EDITMODE_CREATEANDCONNECTOBJECTS) { if(objectexists(selectedobject(c))) { if(not(isclasstype(selectedobject(c), CLASSTYPE_VISUALTOOL))) return(0); } treenode libraryview = NULL; // Here I'm trying to find the Library treenode active = node("VIEW:/active"); for(int i = 1; i <= content(active) && !libraryview; i++) { treenode curnode = rank(active, i); if(objectexists(tabwindow(curnode)) && get(tabwindow(curnode)) == -102) // palettewindows tabbed in one window { for(int w=1;w<=content(node("/tabcontrol",curnode));w++) { treenode checkview = rank(node("/tabcontrol",curnode),w); if(objectexists(windowtitle(checkview)) && comparetext("Library", gets(windowtitle(checkview)))) { libraryview = checkview; } } } else if(objectexists(windowtitle(curnode)) && comparetext("Library", gets(windowtitle(curnode)))) { libraryview = curnode; } } if(objectexists(selectedobject(node("/GroupIconGrid", libraryview)))) { setdropcoords(c); //pt(" drop x = ");pf(dropx());pt(" drop y = ");pf(dropy());pt(" drop z = ");pf(dropz());pr(); treenode newobj = nodefunction(node(">dragfunction", libraryview), selectedobject(node("/GroupIconGrid", libraryview)), selectedobject(c), dropx(),dropy(),dropz(), c ); if(iskeydown('R') || mode==EDITMODE_CREATEANDCONNECTOBJECTS) { if(objectexists(newobj) && objectexists(get(lastclickedobject))) { contextdragconnection(get(lastclickedobject), newobj, "A"); } else { set(lastclickedobject, 0); } set(lastclickedobject, newobj); } return (0); } } } } if(clickcode() == LEFT_PRESS) {// the left mouse button was just pressed down setnodenum(rank(itemcurrent(c),2),cursorinfo(c,1,1,1)); // clickedx setnodenum(rank(itemcurrent(c),3),cursorinfo(c,1,2,1)); // clickedy if(iskeydown('G') || mode == EDITMODE_FASTPROPSWITCH)// edit objects mode { treenode listeningwindowatt = node(">listeningwindow",c); treenode listeningwindow = node(gets(listeningwindowatt)); if(objectexists(listeningwindow)) { treenode focus = node(">objectfocus+",listeningwindow); if(not(objectexists(focus))) focus = node(">viewfocus+",listeningwindow); if(objectexists(selectedobject(c)) && selectedobject(c) != focus) { if(!get(first(listeningwindowatt)) || comparetext(gets(guifocusclass(selectedobject(c))) , gets(guifocusclass(focus)))) { if(objectexists(viewfocus(listeningwindow))) sets(viewfocus(listeningwindow), nodetopath(selectedobject(c))); if(objectexists(objectfocus(listeningwindow))) sets(objectfocus(listeningwindow), nodetopath(selectedobject(c))); applylinks(listeningwindow, 1);// refresh links redirectpicklists(listeningwindow); //refreshview(item); if(objectexists(OnOpen(listeningwindow))) executefsnode(OnOpen(listeningwindow), listeningwindow, selectedobject(c)); forobjecttreeunder(listeningwindow) repaintview(a); } } } else { sets(listeningwindowatt, ""); } } } }@B$MAIN:/project/exec/globals/nodevariables/connectionjustmaderoupwfocMAIN:/project/exec/globals/nodevariables/connectionjustmade Opert AlYou nterd ard tothisVIEW:/active/LAST>objectfocus+VIEW:/active/LAST>viewfocus+>listeningwindowVIEW:/activeual ../G>listeningwindowgerepeplis dardVIEW:/active  /tabcontrol/tabcontrolnlefLibrary Library/GroupIconGrid>dragfunction/GroupIconGrid>cel Areal>listeningwindow>objectfocus+>viewfocus+tbtupw:/1/balsctio tupWGen>adco1/1ls/GGen>ablede/Too/TooUps+>v/exeobalriabatechtajectde the |-o?l` >| 6  ,  ?    o  |, =  }D=8}`=T h #)+o#x0p +X #H+<o4( #+ou  o|h}o L #,  0$#6 ## #~#p## d#o\#<D####o<$6  $$ $~$$$ $o$<$$$$o i&)l &'\&&P&4D&&'4&&(&4& H (+(#( (4( (+ (#((4((+((R(|(F * **+*o ,*@,0,,+$,o-0?L002?x22l2\3633 =S5?055 5455=5 876) 6#66||6#p6=d66X6#L6=@6868 8 2:?h : :X:4L: :<:=0::  1;) ;B;t;1;=; ;;;1;=x; =>==== 85 888 H 58&888=8 8848  9 7A)l AB\AtPA1DA=8AA,A A1A=AC>CC=|CH35333 >3) 3*3=33&33=3343 J?FF+FF=FFHHoO? O Oj Oo M9x M8p M7h L+\ LoT K+H K8 K=, KK J J= JJ G"P+ P# PP4 PP PR DR)0 R$ R| R= RR R= R Th Td T=X T T|L T=@ T BX} XX=| XZ} Z= Z Z= ZG\ ic# cc0 f f< ffffo f ff  fo gp g<X ggggoP g@ gg 4 go,  H{i+ i# ii4 ii iGk? k k ko k l? l l lt l= l  ddm4 m=( m o?l oo\ o=P o o@  S p* p p=| pp> pp p= p p  eNq), q( q= qq+ qo q q+ qo  sDu+ uB ut u u= ust s s+t sol s*` s|T sH s=< s  X w w9 w= w xu8x,x+ xox9 x=x  \ y`y8Ty=Hy zuzz+zoz8xz=lz {{{={ ||=|  ` ~~=~=~ DD+8o0=$ ==  b =X  b ldc c Hu=x arnBviewconnectioncolor@@B@B@B@B distcutoff@nj@B lastloc@@Bx@By@Bsx@Bsy@Bdocumentwindow@Y@@B tabwindow@@Y@@BOnDropWindow@%// dragging from a window to another window if(objectexists(i)) executefsnode(node("MAIN:/project/exec/globals/nodefunctions/droptab_in_document"),c,i,0,0); // dragging a tab out of a window else executefsnode(node("MAIN:/project/exec/globals/nodefunctions/droptab_out_document"),c,i,0,0);BOrtho@\buttons\view_ortho.bmpBviewwindowclean@@BLibrary@objectB viewfocus@MAIN:/project/libraryBviewwindowopen@?Bviewwindowtype@@B spatialx@MB spatialy@NX@B spatialsx@P`c@B spatialsy@Q0@B windowtitle@LibraryB OnPreOpen@. treenode libraryview = NULL; // Here I'm trying to find the Library treenode active = node("VIEW:/active"); for(int i = 1; i <= content(active); i++) { treenode curnode = rank(active, i); if(objectexists(tabwindow(curnode)) && get(tabwindow(curnode)) == -102) // palettewindows tabbed in one window { for(int w=1;w<=content(node("/tabcontrol",curnode));w++) { treenode checkview = rank(node("/tabcontrol",curnode),w); if(checkview!=c && objectexists(windowtitle(checkview)) && comparetext("Library", gets(windowtitle(checkview)))) { // activate that tab sendwindowmessage(windowfromnode(node("/tabcontrol",curnode)),4912,w-1,0); // TCM_SETCURFOCUS libraryview = curnode; break; } } } else if(curnode!=c && objectexists(windowtitle(curnode)) && comparetext("Library", gets(windowtitle(curnode)))) { libraryview = curnode; break; } } if(objectexists(libraryview)) { makeactive(libraryview); destroyobject(c); return(0); } setname(c, "Library"); if (not(get(node(">wasopen",c)))) { iterate(1, content(library()), 1) { setitem(rank(library(), count)); if(objectexists(node(">displaygrouplist/standard",item))) { sets(node(">displaygroup",item), "standard"); } } set(node(">wasopen",c),1); } //sets(node("/GroupIconGrid>displaygroup",c),"standard"); // Position the view if(!maintenance(42,-1)) // if onactivatenotify isn't disabled - (if this isn't firing because of tab dragging) { // the workspace rect int left = getsystemmetric(3); int right = getsystemmetric(4); int top = getsystemmetric(5); int bottom = getsystemmetric(6); set(spatialx(c),0); treenode activeviews = node("VIEW:/active"); int bust=1; // to prevent possible infinite loops int moved=1; int nextypos = 0; int nextxpos = 0; while(moved && bust<20) { moved = 0; for(int i=2;i<=content(activeviews);i++) { treenode view = rank(activeviews,i); if(view==c) continue; int my_left = get(spatialx(c)); int my_right = get(spatialx(c))+get(spatialsx(c)); int view_left = get(spatialx(view)); int view_right = get(spatialx(view))+get(spatialsx(view)); int my_top = get(spatialy(c)); int my_bottom = get(spatialy(c))+get(spatialsy(c)); int view_top = get(spatialy(view)); int view_bottom = get(spatialy(view))+get(spatialsy(view)); int xoverlap = ( (my_left >= view_left && my_left < view_right) || (my_right > view_left && my_right <= view_right) ); int yoverlap = ( (my_top >= view_top && my_top < view_bottom) || (my_bottom > view_top && my_bottom <= view_bottom) ); if( xoverlap && yoverlap && fabs(get(tabwindow(view)))==fabs(get(tabwindow(c))) ) { set(spatialy(c),view_bottom); if(nextxpos==0) nextxpos = view_right; if(nextypos==0) nextypos = view_top; if(get(spatialy(c))+get(spatialsy(c)) > bottom-top) { set(spatialx(c),nextxpos); nextxpos = 0; set(spatialy(c),nextypos); nextypos = 0; } moved = 1; break; } } bust++; } }@B"4GrouVIEW:/activeiginojecydispdisp/tabcontrolaygplay/tabcontrolplisLibrary/tabcontrolaygrrepeLibraryojecbrar.>orems Libraryaygr>wasopen..>doupplay..>v>displaygrouplist/standard>displaygroup..>peftostandard>wasopenturettori..>cVIEW:/activeal ..>_leftlignleft>picnlef>picnlefellhtorignceellwinalterreal..>pignlturelheionGr>cellwidthignl real ngwiectf >vietbtupw:/1/balsctiotupWtp; ??, 6< k?4= I  )$  #  | # =   # =  64   0 ?    4   =   ")Bt1t=h\)L @14=((o=a 40&=>$=  5     & | l =`  P 4D   )Bt1=)| p1d=X(Ho@=4 >=  5 &pd=X4L $ =  = !0!o(#?"%wP%D%o< 9 &*&|&t&ol&`- -((((*?**/* + +++B+-uP-D-4-B,-00}00t0ol0` 7*777*:6::9:;6;;9;<6<<9<=6= =9=?}4??(?o @?`@ @T@DA6pA AB6B BC6C CD6DD G5G GH6HH {J?xJJhJ4\JJ=PJ iK#KoK=K g L6LL|LLoM6, MMM|MMoM|MMoN6`NN|TNHN=<NO6 OO O|OO=OO|O|O=pOP6PP|PPoQ6X QQH Q|< Q0 Qo( Q| Q Qo R6 RR| Rt R=h RS6 SS S| S S= SS| S S= SV6 V V+ V) V& V4 VV4 VV%| V4p VV4d VU)T U'D U48 UU4, UU$ U4 UU4 UX6 X X+ X) X& X4x XX4l XX%\ X4P XX4D XW)4 W'$ W4 WW4 WW$ W4 WW4 W dJY)X Y#H Y< Y|0 Y#$ Yo Y Y| Y# Y= YY) Y4 YY4 Y[} [4| [[p [oh  { \# \\4 \\5 \\4 \  ]# ]]4 ] ]5 ] ]4 ] s^% ^p ^4d ^^4X ^ ^H ^|< ^0 ^o( ^| ^ ^o `} `4 `` `o a5 aab} b4 b b bo c5c ce5e e H5<HHH i5H&,H H=H H4Hi5 iii  t#E)E'EE4E E4E  }BOnOpen@setname(c, "Library"); windowshow(windowfromnode(node( "/editName",c)), 0); windowshow(windowfromnode(node("/Apply",c)), 0); nodefunction(node("/ChooseGroup>refresh",c)); nodefunction(node("/GroupIconGrid>refresh",c)); @B wasopen@?Binstallcomponents@ytreenode newlibrary = parnode(1); if(not(maintenance(20))) { // I need to go through a first swipe and install all user commands forobjectlayerunder(node(">loadinstall",parnode(1))) { dropuserlibraryobject(a, 0, 0, 0, 0, 0, 0); } forobjectlayerunder(node(">newmodelinstall",parnode(1))) { dropuserlibraryobject(a, 0, 0, 0, 0, 0, 0); } return(1); } @B*tive>loadinstall>newmodelinstall? l &*(PlD4  h`  $  l             "Bnewuserlibrary@]setcurrent(node("../ChooseGroup",c)); setitem(node("MAIN:/project/userlibrary")); createuserlibrary(); set(itemcurrent(current), content(item) + get(node("..>originalitems",c))); nodeinsertinto(items(current)); setname(last(items(current)), getname(last(item))); comborefresh(current); nodefunction(node("../GroupIconGrid>refresh",c)); @B\"../ChooseGroupMAIN:/project/userlibrarylins..>originalitemsayg../GroupIconGrid>refreshcont>(o?\P4h} |oB xApAwPvD8B0$A h A` j  o tBdragfunction@R// parnode(1) : dropnodefrom // parnode(2) : dropnodeto // parval(3) : dropx // parval(4) : dropy // parval(5) : dropz // parnode(6) : i (or the view onto which I dropped) treenode ontoview = parnode(6); if(ontoview == node("../GroupIconGrid",c)) return(0); if(ne(node("../GroupIconGrid>viewfocus+",c), library())) { return(dropuserlibraryobject(parnode(1), parnode(2), parval(3), parval(4), parval(5), parnode(6))); } if(maintenance(20)) { msg("Operation Not Allowed", "You are in Presenter mode and are not allowed to do this operation"); return(0); } int unusualcontainer = 1; treenode droponto = parnode(2); if(objectexists(droponto)) { if( objectexists(classes(droponto)) && classobject(droponto) == node("/VisualTool", library()) ) unusualcontainer = 0; } else { droponto = node(">viewfocus+",parnode(6)); unusualcontainer = 0; } if(unusualcontainer) { if(msg("Unusual Container",gets(node("../GroupIconGrid>messagetext",c)))) unusualcontainer = 0; } treenode createdobject = 0; if(!unusualcontainer) { createdobject = createinstance(parnode(1), droponto); double x = parval(3); double y = parval(4); double z = parval(5); if(get(viewsnaptogrid(ontoview))) { double xgrid = get(gridx(ontoview)); double ygrid = get(gridy(ontoview)); set(spatialx(createdobject), mul(sign(x), round(fabs(x) / xgrid) * xgrid)); set(spatialy(createdobject), mul(sign(y), round(fabs(y)/ ygrid) * ygrid)); set(spatialz(createdobject, z)); } else { set(spatialx(createdobject), x); set(spatialy(createdobject), y); set(spatialz(createdobject), z); } if(comparetext(getname(parnode(1)), stringcopy(getname(createdobject), 1, stringlen(getname(parnode(1)))))) { int appendnum = content(droponto); if(droponto == model) appendnum--; appendnum = max(1, appendnum); while(objectexists(node(concat("/", getname(parnode(1)), numtostring(appendnum, 0,0)), droponto))) appendnum++; setname(createdobject, concat(getname(parnode(1)), numtostring(appendnum, 0,0))); } return createdobject; } return createdobject; @BP eGro../GroupIconGridprt/us../GroupIconGrid>viewfocus+..>onali Operation Not AllowedYou are in Presenter mode and are not allowed to do this operationplis/VisualTool>viewfocus+rolUnusual Container../GroupIconGrid>messagetextrepeLibraygr>displisrd grou..>pdard>was VIEWal  nlef/h ellw  ? l   #T D o< ( = ?\   (   o d}  lkkk ll F@( h6?l = )L #<,$=Y=5\  #>###l|##l$5$$ ! '4' )F)t))o))*5,**,?<,, M -*X-4L-/>//|/=p//ld/0900k01911k12922k2 =<3|33=359855|,5 5=569l66|`6T6=H67}77 777777777777777777=|78}88 87888|87p88d87X88L87@8848=(89}99799=9 ?=},=7 =====>}`>7T>>H>=<>?}?7??|?=p? iBAB  A= A>AvAlAAAvA=AAvAlAC64C C(C=C B D#XDPD=DDD5hD DD E5E EE4|E E GG5 GGG  JFF F=FFA F;FF F4F FvFlFFHw HAx H;dHHH4XH HvLHl@HH=4HL6J=JN6`M=MoBautoinstallmessage@This library contains components that can be automatically installed to your model. Click OK to install these components.Bunusualcontainermessage@You are dragging the object into an object that does not usually act as a container. Click OK if you want to continue this action.Bautoinstallwarning@This library's auto-install Components are already installed if: 1. You loaded this library with the current model open. 2. You created a new model with this library loaded. Components may not have been installed, or you may want to install them again if: 1. A previously created model was opened with this library already loaded. 2. Updates to the library require a re-install of this library's components. Click OK to continue and install this library's components. B tempfile@Boriginalitems@@Bstyle@@B WS_CAPTION@BWS_CLIPSIBLINGS@BWS_CLIPCHILDREN@BWS_OVERLAPPED@B WS_SYSMENU@BWS_THICKFRAME@B exstyle@@BWS_EX_TOOLWINDOW@BWS_EX_TOPMOST@Bpalettewindow@@Y@@B tabwindow@Y@@BOnDropWindow@#// dragging from a window to another window if(objectexists(i)) executefsnode(node("MAIN:/project/exec/globals/nodefunctions/droptab_in_palette"),c,i,0,0); // dragging a tab out of a window else executefsnode(node("MAIN:/project/exec/globals/nodefunctions/droptab_out_palette"),c,i,0,0);B@\buttons\view_library.bmpBviewwindowclean@@B overlay@objectB viewfocus@../..Bviewwindowopen@Bviewwindowtype@@B spatialx@M?B spatialy@N@B spatialsx@P0@B spatialsy@Q`@B viewpointx@B viewpointy@B viewpointz@_|@Bhidden@?Bviewhidealllabels@?B transparent@?Bviewhideallbases@?Bgridx@@Bgridy@@Bviewsnaptogrid@?B buttonpanel@objectBviewwindowtype@Y@B spatialx@M@B spatialy@N@B spatialsx@P`@B spatialsy@Q9@B tooltip@B beveltype@@B New Library@objectBviewwindowtype@Y@B spatialx@MB spatialy@NB spatialsx@P9@B spatialsy@Q9@Bbitmap@buttons\newlibrary.bmpB OnPress@1nodefunction(node("../..>newuserlibrary", c)); @B tooltip@ New LibraryBOpen Libraries@objectBviewwindowtype@Y@B spatialx@M;@B spatialy@NB spatialsx@P9@B spatialsy@Q9@Bbitmap@buttons\openlibraries.bmpB OnPress@ setitem(node("MAIN:/project/userlibrary")); setcurrent(node("/project/exec/globals/nodevariables/tempfilename",maintree())); treenode openpathnode = node("VIEW:/environment/librarypath"); if(stringlen(gets(openpathnode))>0 && fileexists(gets(openpathnode))) { int index = 0; int nextindex = stringsearch(gets(openpathnode), "\\", index); int i = 1; while(nextindex >= 0) { index = nextindex; nextindex = stringsearch(gets(openpathnode), "\\", index+1); } string directory = stringpart(gets(openpathnode), 0, index); sets(current,directory); } else sets(current,concat(cdir(),"libraries")); // Load multiple libraries setcursor(3); treenode liblist = node("/project/filelist",maintree()); clearcontents(liblist); getfilebrowse("*.fsl","Flexsim Library","",getnodestr(current),2,liblist); for (treenode curlib = rank(liblist,2); objectexists(curlib); curlib = next(curlib)) { setcurrent(node("/project/exec/globals/nodevariables/tempfilename",maintree())); // This will be changed, so make sure it's set here too setnodestr(current,apchar(getname(curlib))); nodeinsertinto(item); if (not(comparetext(getnodestr(current),""))) { cmdloadtree(last(item),getnodestr(current), 1); } if(or(gt(content(last(item)), 0), objectexists(node(">1", last(item))))) { setcurrent(node("../../ChooseGroup",c)); set(itemcurrent(current), content(item) + get(node("../..>originalitems",c))); nodeinsertinto(items(current)); setname(last(items(current)), getname(last(item))); setviewtext(node("../../editName",c), getname(last(item))); comborefresh(current); nodefunction(node("../../GroupIconGrid>refresh",c)); setport(0);// port says: do I need to update if(not(objectexists(node(">release", last(item))))) setport(1); else { if(stringtonum(gets(node(">release", last(item)))) < stringtonum(gets(node("MAIN:/project/release")))) setport(1); } if(port) { nodefunction(node("MAIN:/project/exec/globals/nodefunctions/updatemodelversion"), 1, tonum(last(item))); } if(and(or(objectexists(node(">loadinstall/1",last(item))),objectexists(node(">newmodelinstall/1",last(item)))), not(maintenance(20)))) { nodefunction(node("../..>installcomponents", c), last(item)); buildnodeflexscript(model()); } buildnodeflexscript(last(item)); autoloadallmedia(); documentusercommands(); } else { destroyobject(last(item)); } } setcursor(1); @B tooltip@Open LibrariesBSave Library@objectBviewwindowtype@Y@B spatialx@MK@B spatialy@NB spatialsx@P9@B spatialsy@Q9@Bbitmap@buttons\savelibrary.bmpB OnPress@Lsetitem(node("../../GroupIconGrid>viewfocus+", c)); if(not(objectexists(item))) return(0); if(eq(item, library())) { msg("Cannot Save Standard Library", "You cannot save Flexsim's standard library", 1); return(0); } setcurrent(node("../..>tempfile",c)); treenode openpathnode = node("VIEW:/environment/librarypath"); if(stringlen(gets(openpathnode))>0 && fileexists(gets(openpathnode))) { int index = 0; int nextindex = stringsearch(gets(openpathnode), "\\", index); int i = 1; while(nextindex >= 0) { index = nextindex; nextindex = stringsearch(gets(openpathnode), "\\", index+1); } string directory = stringpart(gets(openpathnode), 0, index); sets(current,directory); } else sets(current,concat(cdir(),"libraries")); if(objectexists(item)) { savetree(item,"fsl", "Flexsim Library", gets(current)); }@B tooltip@ Save LibraryBClose Library@objectBviewwindowtype@Y@B spatialx@M@T@B spatialy@NB spatialsx@P9@B spatialsy@Q9@Bbitmap@buttons\closelibrary.bmpB OnPress@rsetitem(node("../../GroupIconGrid>viewfocus+", c)); if(not(objectexists(item))) return(0); if(eq(item, library())) { msg("Cannot Close Standard Library", "You cannot close Flexsim's standard library", 1); return(0); } if(msg("Close Library",concat("Close ",getname(item),"?"))) { if(objectexists(node(">uninstall",item))) nodefunction(node(">uninstall",item)); destroyobject(item); setnodenum(node("../../ChooseGroup>itemcurrent",c), getnodenum(node("../../ChooseGroup>itemcurrent",c))-1); nodefunction(node("../../ChooseGroup>refresh",c)); nodefunction(node("../../GroupIconGrid>refresh",c)); }@B tooltip@Close LibraryB!Install Auto-Install Components@objectBviewwindowtype@Y@B spatialx@M[@B spatialy@NB spatialsx@P9@B spatialsy@Q9@Bbitmap@#buttons\userlibraryautoinstall.bmpB OnPress@Lif (license()) { setitem(node("../../GroupIconGrid>viewfocus+", c)); if(not(objectexists(item))) return(0); if(eq(item, library())) { msg("No Library Components", "Flexsim's standard library does not contain any install components", 1); return(0); } if(and(objectexists(node(">newmodelinstall", item)), content(node(">newmodelinstall", item)) > 0)) { if(msg("Auto-Install Components", gets(node("../..>autoinstallwarning",c)))) { setcurrent(node(">newmodelinstall", item)); if(objectexists(current)) { forobjectlayerunder(current) { dropuserlibraryobject(a, 0,0,0,0,0); } } } } else { msg("No Library Components", "This library does not contain any install components", 1); return(0); } } else{msg("Flexsim","Not available in evaluation mode.");}@B tooltip@ Install Auto-Install ComponentsB ChooseGroup@objectBviewwindowtype@@[@B spatialx@M@B spatialy@N=@B spatialsx@P[@B spatialsy@Q^@B tooltip@Bitems@@BDiscrete Objects@ standardBFluid Objects@fluidB itemcurrent@?Balignrightmargin@@@B OnSelect@F applylinks(c); nodefunction(node("../GroupIconGrid>refresh",c)); @B coldlink@..>currentgroupB pickitem@Bcurrentgroup@?B refresh@setitem(node("MAIN:/project/userlibrary")); setcurrent(node("..>items",c)); while(content(current) > get(node("../..>originalitems",c))) { destroyobject(last(current)); } if(content(item) != 0) { iterate(1, content(item), 1) { nodeinsertinto(current); setname(last(current), getname(rank(item, count))); } } if(get(itemcurrent(up(current)))>content(current)) set(itemcurrent(up(current)), 1); comborefresh(up(current));@B 8MAIN:/project/userlibrary..>itemsev../..>originalitems??(>XHo@4 A %|oxlAd  (   B     B  $ AwpvdT/LBD8A0   %A| A} AA@BRename Library@object Bviewwindowtype@Y@B spatialx@M]@B spatialy@N;@B spatialsx@P9@B spatialsy@Q9@Bbitmap@buttons\_rename.bmpBalignrightposition@=@B OnPress@setitem(node("../GroupIconGrid>viewfocus+", c)); if(not(objectexists(item))) return(0); if(eq(item, library())) { msg("Cannot Rename Standard Library", "You cannot rename Flexsim's standard library", 1); return(0); } windowshow(windowfromnode(node("../ChooseGroup",c)), 0); windowshow(windowfromnode(node("../Rename Library",c)), 0); windowshow(windowfromnode(node( "../editName",c)), 1); windowshow(windowfromnode(node("../Apply",c)), 1); setviewtext(node( "../editName",c), getname(item));@B tooltip@Rename LibraryBGroupIconGrid@objectBviewwindowtype@@B spatialx@M?B spatialy@NK@B spatialsx@P@b@B spatialsy@Q@B cellwidth@a@Bcellwidthoriginal@a@B cellheight@4@Bcellheightoriginal@4@Bcellwidthoriginalaligncenter@Q@Bcellheightoriginalaligncenter@Q@Bpicture@cbitmaps\views\static.bmpB viewfocus@MAIN:/project/libraryBviewwindowsource@?B displaygroup@ standardBalignrightmargin@Balignbottommargin@BOnDrag@//pr();pt("OnDrag "); //pt(getname(i));pt(" "); //pf(dropx());pt(" "); //pf(dropy());pt(" "); //pf(dropz());pt(" "); //pf(eventdata); //pt(" Event code"); //pt(" ");pt(getname(selectedobject(c))); //pt(" ");pt(getname(selectedobject(i))); //pt(" drop node to ");pt(getname(dropnodeto())); //pt(" drop nodefrom ")/;pt(getname(dropnodefrom())); nodefunction(node("..>dragfunction",c), dropnodefrom(), dropnodeto(), dropx(), dropy(), dropz(), i);@B messagetext@You are dragging the object into an object that does not usually act as a container. Click OK if you want to continue this action.B menupopup@@BExplore Object Tree@if (license()) { setitem(selectedobject(node("../..",c))); if (objectexists(item)) { createview("VIEW:/standardviews/inspector",nodetopath(item),nodetopath(item)); } } else{msg("Flexsim","Not available in evaluation mode.");}BExplore Library Tree@if (license()) { createview("VIEW:/standardviews/inspector",gets(viewfocus(node("../..",c))),gets(viewfocus(node("../..",c)))); } else{msg("Flexsim","Not available in evaluation mode.");} B-@BRemove Object From Library@L//pt(getname(selectedobject(node("../..",c)))) setitem(node("../..>viewfocus+", c)); if(eq(item, library())) { msg("Cannot Remove Object", "You cannot remove objects from Flexsim's standard library", 1); return(0); } if(objectexists(selectedobject(node("../..",c)))) { destroyobject(selectedobject(node("../..",c))); }B-@B Parameters@setitem(node("../..>viewfocus+", c)); if(eq(item, library())) { msg("Cannot View Parameters", "You cannot view parameters for Flexsim standard library objects", 1); return(0); } viewmenucommand("Parameters",node("../..",c));B Properties@setitem(node("../..>viewfocus+", c)); if(eq(item, library())) { msg("Cannot View Parameters", "You cannot view parameters for Flexsim standard library objects", 1); return(0); } viewmenucommand("Properties",node("../..",c));B refresh@setport(node("../../ChooseGroup",c)); if(le(get(itemcurrent(port)), get(node("../..>originalitems",c)))) { sets(viewfocus(node("..",c)), "MAIN:/project/library"); if(objectexists(node("..>_displaygroup",c))) setname(node("..>_displaygroup",c), "displaygroup"); forobjectlayerunder(library()) { setcurrent(node(">displaygroup",a)); if(objectexists(current)) { setitem(node(">displaygrouplist",a)); iterate(1,content(item),1) { if(comparetext(getnodestr(rank(items(port),get(itemcurrent(port)))),getname(rank(item,count())))) { setnodestr(current,getname(rank(item,count()))); } } } } sets( node("..>displaygroup",c), gets(rank(items(port),get(itemcurrent(port)))) ); } else { sets(viewfocus(node("..",c)), concat("MAIN:/project/userlibrary/", numtostring(get(itemcurrent(port)) - get(node("../..>originalitems",c)), 0, 0))); if(objectexists(node("..>displaygroup",c))) setname(node("..>displaygroup",c), "_displaygroup"); } treenode focus = node("..>viewfocus+",c); int height = 0; int width = 0; int picturealign = get(node("..>picturealignleftoriginal",c)); if (focus == library() || objectexists(node(">picturealignleft",focus))) // The library is recent - use the new defaults { height = get(node("..>cellheightoriginal",c)); width = get(node("..>cellwidthoriginal",c)); if (objectexists(node("..>_picturealignleft",c))) setname(node("..>_picturealignleft",c),"picturealignleft"); if(objectexists(node(">picturealignleft",focus))) picturealign = get(node(">picturealignleft",focus)); } else { height = get(node("..>cellheightoriginalaligncenter",c)); width = get(node("..>cellwidthoriginalaligncenter",c)); if (objectexists(node("..>picturealignleft",c))) setname(node("..>picturealignleft",c),"_picturealignleft"); } if(objectexists(node(">cellheight",focus))) set(cellheight(node("..",c)), get(node(">cellheight",focus))); else set(cellheight(node("..",c)), height); if(objectexists(node(">cellwidth",focus))) set(cellwidth(node("..",c)), get(node(">cellwidth",focus))); else set(cellwidth(node("..",c)), width); if(objectexists(node("..>picturealignleft",c))) set(node("..>picturealignleft",c), picturealign); repaintview(node("..",c));@Bd ../../ChooseGroupiy..>iev../..>originalitemsalit..MAIN:/project/library..>_displaygroup..>_displaygroupdisplaygroup>displaygroup>displaygrouplist?..>displaygroup..repeMAIN:/project/userlibrary/../..>originalitems ..>displaygroup..>displaygroup_displaygroup..>viewfocus+..>picturealignleftoriginaltive>picturealignleft..>cellheightoriginal..>cellwidthoriginal ..>_picturealignleft..>_picturealignleftpicturealignleft>picturealignleft>picturealignleft..>cellheightoriginalaligncenter ..>cellwidthoriginalaligncenter..>picturealignleft..>picturealignleft_picturealignleft>cellheightdran..onGr>cellheight..>cellwidth..>cellwidth....>picturealignleft..>picturealignleft..@,o 0O&|xopX|L @C8u9o   owhXHo@,x ( >    !  A ?     B B vt/lBdxXH|< 0C(Cyv/BA u` tTD|8 ,C$Co !uDA4 ;  |o| C9|otp  pohT w   o #?###o#$6$$%6 %%&6t&&|h&X&oP&0 E/(+ (((=(((#((=(*50**|$**o *+5|++|p+`+oX+@ 0 ,,,o,-w ---o- 9 .L.<.=0../5//|/x/=l//X [3533|33o345D44|84(4o 4 D 55t5ol5T6w666o6 Z9 9 9=99:}| :|p :` :=T ::D :8 :( :o :  e;} ;4 ; ; ; ;o ;  g < < <= << =}` =|T =D ==8 ==, = = =o =  i>} >4 > > >| >ot >p  k @ @ @o @ A}, A4 AA Ao A B X BH Bo@ B< Bpicturealignleft@6@Bpicturealignleftoriginal@6@Bdepresshighlighted@B editName@objectBviewwindowtype@@Y@B spatialx@M@B spatialy@N=@B spatialsy@Q5@Balignrightmargin@E@B tooltip@#Enter the name of the User LibraryBhidden@?BApply@objectBviewwindowtype@Y@Balignrightposition@E@B spatialy@N;@B spatialsx@PD@B spatialsy@Q9@B OnPress@4setitem(node("../GroupIconGrid>viewfocus+",c)); if(and(objectexists(item), ne(item, library))) { setname(item, getviewtext(node( "../editName",c))); setname(rank(node("../ChooseGroup>items",c), getrank(item) + get(node("..>originalitems",c))), getviewtext(node( "../editName",c))); comborefresh(node("../ChooseGroup",c)); } windowshow(windowfromnode(node("../ChooseGroup",c)), 1); windowshow(windowfromnode(node("../Rename Library",c)), 1); windowshow(windowfromnode(node( "../editName",c)), 0); windowshow(windowfromnode(node("../Apply",c)), 0); @Bhidden@?BProcessorParameters163055152@objectB viewfocus@ MAIN:/1/3/3B objectfocus@ MAIN:/1/3/3Bviewwindowopen@?Bviewwindowtype@@B spatialx@M~@B spatialy@N]@B spatialsx@P0~@B spatialsy@QH@B windowtitle@Filling canister PropertiesBOnOpen@treenode tabcontrol = node("/tabcontrol",c); iterate(1, content(tabcontrol), 1){ if(objectexists(node(">PageOnOpen",rank(tabcontrol,count)))) nodefunction(node(">PageOnOpen",rank(tabcontrol,count))); } if(objectexists(node("/Prev>refreshtip",c))) nodefunction(node("/Prev>refreshtip",c)); if(objectexists(node("/Next>refreshtip",c))) nodefunction(node("/Next>refreshtip",c)); executefsnode(node("VIEW:/nodefunctions/setparameterstitle"),c,0,0); repaintview(c);@B86/tabcontrol+s+>PageOnOpen>PageOnOpenip/Prev>refreshtiprtie/Prev>refreshtip/Next>refreshtip/Next>refreshtipVIEW:/nodefunctions/setparameterstitlesetpeter?(o  D=8  t/l=`Pj/=    o jT D o< (    | ot ` j  o  D    o   , o$B OnPreOpen@standardpreopen(c); @B OnClose@Oif(REMEMBER_WINDOW_SIZES) { treenode guiclass = node("VIEW:/pages/ProcessorParameters"); setnodenum(spatialx(guiclass), getnodenum(spatialx(c))); setnodenum(spatialy(guiclass), getnodenum(spatialy(c))); setnodenum(spatialsx(guiclass), getnodenum(spatialsx(c))); setnodenum(spatialsy(guiclass), getnodenum(spatialsy(c))); }@B OnApply@treenode tabcontrol = node("../tabcontrol",c); iterate(1, content(tabcontrol), 1){ if(objectexists(node(">PageOnApply",rank(tabcontrol,count)))) nodefunction(node(">PageOnApply",rank(tabcontrol,count))); } if(objectexists(node("../Prev>refreshtip",c))) nodefunction(node("../Prev>refreshtip",c)); if(objectexists(node("../Next>refreshtip",c))) nodefunction(node("../Next>refreshtip",c)); setcurrent(node("@>objectfocus+",c)); if(get(var_s(current, "maxcontent")) > 1) { if(get(var_s(current, "useprocessoperators")) || get(var_s(current, "usesetupoperators"))) msg("Processor Error", concat(getname(current), " has a max content greater than 1 and ",strascii(13), "also is configured to use operators. This will not work properly.",strascii(13), "You will need to create several Processor objects and give",strascii(13), "each a max content of 1 to simulate this situation." ), 1); } @B$0S../tabcontrols+>PageOnApply>PageOnApplyip../Prev>refreshtiprtie../Prev>refreshtip../Next>refreshtip../Next>refreshtip@>objectfocus+setplemaxcontentuseprocessoperators@>obs+>vblesusesetupoperatorsrofsProcessor Error has a max content greater than 1 and s+>valso is configured to use operators. This will not work properly.You will need to create several Processor objects and giveeach a max content of 1 to simulate this situation.las ?(o  D=8  t/l=`Pj/=    o jT D o< (    | ot ` j  o  >  o  ! %4|( A + |A|tdLADF A W tWh $W vABviewwindowclean@@ Boverlay@objectB viewfocus@../..Bviewwindowopen@Bviewwindowtype@@B spatialx@M?B spatialy@N@B spatialsx@P0@B spatialsy@Q`@B viewpointx@B viewpointy@B viewpointz@_|@Bhidden@?Bviewhidealllabels@?B transparent@?Bviewhideallbases@?Bgridx@@Bgridy@@Bviewsnaptogrid@?@Bstatic1@objectBviewwindowtype@Y@B spatialx@M$@B spatialy@N@B spatialsx@PP@B spatialsy@QP@Bbitmap@bitmaps\processorpicture.bmpB editname@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@MV@B spatialy@N<@B spatialsx@Pu@B spatialsy@Q5@Bpicture@cbitmaps\views\edit.bmpBalignrightmargin@A@B coldlinkname@@>objectfocus+Btooltip@ Object NameB Description@object Bviewwindowtype@Y@B spatialx@M{@B spatialy@N<@B spatialsx@P5@B spatialsy@Q5@Bbitmap@buttons\description.bmpB tooltip@User DescriptionB OnPress@treenode edit = node("../editname",c); createpopup( "VIEW:/standardviews/descriptionpopup", nodetopath(node("..>objectfocus+",c),1), nodetopath(up(c),1), edit, 0, get(spatialsy(edit)), get(spatialsx(edit)), 150 );@Balignrightposition@>@B tabcontrol@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@\@B spatialx@M@B spatialy@NQ@B spatialsx@P}@B spatialsy@Q|@Bpicture@cbitmaps\views\tabcontrol.bmpB itemcurrent@@Balignrightmargin@@Balignbottommargin@D@B tooltip@Processor PagesB pagelist@ ..>thepagesB thepages@@B@VIEW:/pages/unique/ProcessorB@VIEW:/pages/shared/BreakdownsB@VIEW:/pages/shared/FlowB@VIEW:/pages/triggers/3B@VIEW:/pages/shared/LabelsB@VIEW:/pages/shared/GeneralB@VIEW:/pages/shared/Statistics@B Processor@object B viewfocus@MAIN:/project/modelBviewwindowopen@?Bviewwindowtype@Y@B spatialx@M@B spatialy@N8@B spatialsx@P |@B spatialsy@Qz@B beveltype@@B helptopic@tab_ProcessorB PageOnOpen@$nodefunction(node("..>refresh",c));@Bp0..>refreshorm reshj$o B refresh@ setcurrent(getchecked(node("../Setup/Use Operator (s) for Setup",c))); setitem(getchecked(node("../Setup/Use Setup Operator(s) for both Setup and Process",c))); setport(getchecked(node("../Process/Use Operator (s) for Process",c))); windowgray(windowfromnode(node("../Setup/Use Setup Operator(s) for both Setup and Process",c)), or(not(current), not(port))); windowgray(windowfromnode(node("../Setup/Number of Setup Operators",c)), not(current)); windowgray(windowfromnode(node("../Setup/editnrofSetupOperators",c)), not(current)); windowgray(windowfromnode(node("../Process/Number of Process Operators",c)), or(not(port), and(current, and(port, item))) ); windowgray(windowfromnode(node("../Process/editnrofProcessOperators",c)), or(not(port), and(current, and(port, item))) ); windowgray(windowfromnode(node("../Priority",c)), and(not(current), not(port))); windowgray(windowfromnode(node("../editPriority",c)), and(not(current), not(port))); windowgray(windowfromnode(node("../Preempt",c)), and(not(current), not(port))); windowgray(windowfromnode(node("../Pick Operator",c)), and(not(current), not(port))); forobjecttreeunder(node("../Pick Operator",c)) { windowgray(windowfromnode(a), and(not(current), not(port))); }@B< x../Setup/Use Operator (s) for Setupfocu../Setup/Use Setup Operator(s) for both Setup and ProcessisuaBase../Process/Use Operator (s) for Process Zisua../Setup/Use Setup Operator(s) for both Setup and Process-Arrtime../Setup/Number of Setup OperatorsrriveU../a../Setup/editnrofSetupOperators/St../Aal Tge/eals../Process/Number of Process Operatorsariaenariaeablerofl ./St../Process/editnrofProcessOperatorslesedulge/Tfocu/seqmbo> riv../Priorityrofaal T Usarofaalsuencs+>v../editPrioritye/edal Trofl../A Usaabel../Preemptjectaria/seq../Pick Operatoral T Usablefocu../Pick Operatornc/ToolowIolvelowio>L@0o(?oX@o +*C*A&tdo\  $ * A &  o   * A| &p ` oX 4H  +8 )( ) B C A * C &  o  +))BCA*C&oX| )l*`CX*LAD&8(o  )*C*A&ot )d*XCP*DA<&0 o  )*C*A&o o  |)l*`CX*LAD&80' @ BMaximum Content@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M5@B spatialy@N1@B spatialsx@PV@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmp@Bedit79@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@M]@B spatialy@N,@B spatialsx@PS@B spatialsy@Q5@Bpicture@cbitmaps\views\edit.bmpB coldlink@$@>objectfocus+>variables/maxcontentB tooltip@RThe maximum number of flowitems that this object will hold (process at one time).Balignrightmargin@o@B&Convey Items Across Processor Length@objectBviewwindowtype@@Z@B spatialx@M@l@B spatialy@N,@B spatialsx@P@j@B spatialsy@Q5@B coldlink@ @>objectfocus+>variables/conveyB tooltip@ECheck to animate the conveying of flowitems during the process time.Balignrightposition@l@@BSetup@object B viewfocus@MAIN:/project/modelBviewwindowopen@?Bviewwindowtype@Z@B spatialx@M@B spatialy@NE@B spatialsx@P@{@B spatialsy@Q\@Bpicture@cbitmaps\views\groupbox.bmpB itemcurrent@Balignrightmargin@@@BTime@object B viewfocus@MAIN:/project/modelBviewwindowopen@?Bviewwindowtype@Z@B spatialx@M,@B spatialy@N,@B spatialsx@Py@B spatialsy@QH@Bpicture@cbitmaps\views\groupbox.bmpB itemcurrent@Balignrightmargin@@@B pickoptions@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@[@B spatialx@M,@B spatialy@N,@B spatialsx@Pu@B spatialsy@Q,@Bpicture@cbitmaps\views\combobox.bmpBitems@@BBy Expression Expression: 1 Note: The expression may be a constant value or the result of a command (getitemtype(item), getlabel@8treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2);/**By Expression*/ /** \nExpression: */ double value = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`x:/nonkx>tex?o?0l$?Lk@9\ 7lB picklist@(VIEW:/custompicklists/setuptimepicklist@B@!VIEW:/picklists/timeitempicklistBpicklistheader@ ..>headerBheader@\treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2);B pickprimary@#@>objectfocus+>variables/setuptimeB itemcurrent@?Bpickcopydataonly@Btooltip@(Define the setup time for each flowitemB OnSelect@pickoptiononselect(c); @Balignrightmargin@L@@BCode Template@objectBviewwindowtype@Y@B spatialx@Mpv@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B OnPress@ptreenode codenode = node("VIEW:/nodefunctions/templatebuttononpress"); executefsnode(codenode, codenode, c,0);@Bbitmap@buttons\codetemplate.bmpBalignrightposition@L@B Code Edit@objectBviewwindowtype@Y@B spatialx@Mw@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@BOnPress@setcurrent(node("../pickoptions",c)); createview( "VIEW:/standardviews/picklistedit", nodetopath(node(">pickprimary+",current), 1), concat(nodetopath(current,1),">items/",numtostring(get(itemcurrent(current)),0,0)) );@Bbitmap@buttons\codeedit.bmpBalignrightposition@A@BUse Operator (s) for Setup@objectBviewwindowtype@@Z@B spatialx@M5@B spatialy@NO@B spatialsx@Pb@B spatialsy@Q5@B coldlink@+@>objectfocus+>variables/usesetupoperatorsB OnPress@'nodefunction(node("../..>refresh",c));@B tooltip@'Check to call operators for setup timeBNumber of Setup Operators@objectBviewwindowtype@Y@B spatialx@M`k@B spatialy@NP@B spatialsx@P`@B spatialsy@Q,@Balignrightposition@ k@BeditnrofSetupOperators@objectBviewwindowtype@@Y@B spatialx@Mv@B spatialy@NO@B spatialsx@PF@B spatialsy@Q5@B coldlink@,@>objectfocus+>variables/nrofsetupoperatorsB tooltip@$Specify number of operators to callBalignrightposition@Q@B2Use Setup Operator(s) for both Setup and Process@object Bviewwindowtype@@Z@B spatialx@M5@B spatialy@NU@B spatialsx@Pq@B spatialsy@Q5@B itemcurrent@?B coldlink@#@>objectfocus+>variables/usesameopB OnPress@'nodefunction(node("../..>refresh",c));@B tooltip@aSetup operator(s) will not be released at the end of setup, but will also stay for process time.B Process@object B viewfocus@MAIN:/project/modelBviewwindowopen@?Bviewwindowtype@Z@B spatialx@M@B spatialy@N d@B spatialsx@P@{@B spatialsy@QX@Bpicture@cbitmaps\views\groupbox.bmpB itemcurrent@Balignrightmargin@@@BTime@object B viewfocus@MAIN:/project/modelBviewwindowopen@?Bviewwindowtype@Z@B spatialx@M,@B spatialy@N,@B spatialsx@Py@B spatialsy@QH@Bpicture@cbitmaps\views\groupbox.bmpB itemcurrent@Balignrightmargin@@@B pickoptions@object Bviewwindowtype@@[@B spatialx@M,@B spatialy@N,@B spatialsx@Pu@B spatialsy@Q5@Bitems@@BStatistical Distribution: uniform(11.333, 14.583, 0) @Ttreenode current = ownerobject(c); treenode item = parnode(1);/**Statistical Distribution: */ return /**/uniform(11.333, 14.583, 0)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@Bl :/nonkx>tex"~&@"~*-@?o?0l$?LXL@B picklist@!VIEW:/picklists/timeitempicklistB pickprimary@#@>objectfocus+>variables/cycletimeB itemcurrent@?Bpickcopydataonly@Btooltip@*Define the process time for each flowitemB OnSelect@pickoptiononselect(c); @Balignrightmargin@L@@BCode Template@objectBviewwindowtype@Y@@B spatialx@Mpv@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B OnPress@ptreenode codenode = node("VIEW:/nodefunctions/templatebuttononpress"); executefsnode(codenode, codenode, c,0);@Bbitmap@buttons\codetemplate.bmpBalignrightposition@L@B Code Edit@objectBviewwindowtype@Y@B spatialx@Mw@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@BOnPress@setcurrent(node("../pickoptions",c)); createview( "VIEW:/standardviews/picklistedit", nodetopath(node(">pickprimary+",current), 1), concat(nodetopath(current,1),">items/",numtostring(get(itemcurrent(current)),0,0)) );@Bbitmap@buttons\codeedit.bmpBalignrightposition@A@BUse Operator (s) for Process@objectBviewwindowtype@@Z@B spatialx@M5@B spatialy@NO@B spatialsx@P`c@B spatialsy@Q5@B coldlink@-@>objectfocus+>variables/useprocessoperatorsB OnPress@'nodefunction(node("../..>refresh",c));@B tooltip@)Check to call operators for process timeBNumber of Process Operators@objectBviewwindowtype@Y@B spatialx@Mj@B spatialy@NP@B spatialsx@Pa@B spatialsy@Q,@Balignrightposition@l@BeditnrofProcessOperators@objectBviewwindowtype@@Y@B spatialx@Mv@B spatialy@NO@B spatialsx@PF@B spatialsy@Q5@B coldlink@.@>objectfocus+>variables/nrofprocessoperatorsB tooltip@$Specify number of operators to callBalignrightposition@Q@BPick Operator@object B viewfocus@MAIN:/project/modelBviewwindowopen@?Bviewwindowtype@Z@B spatialx@M@B spatialy@Np@B spatialsx@P@{@B spatialsy@QH@Bpicture@cbitmaps\views\groupbox.bmpB itemcurrent@Balignrightmargin@@@B pickoptions@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@[@B spatialx@M,@B spatialy@N,@B spatialsx@Pv@B spatialsy@Q,@Bpicture@cbitmaps\views\combobox.bmpBitems@@BPort by Expression Center port number: 1 Note: The expression may be a constant value or the result of a command (getitemtype(it@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@Bl:/nonkx>tex"?o?0l$6@9\ cx h 4\  =P ); B picklist@$VIEW:/picklists/operatorrefpicklistB pickprimary@+@>objectfocus+>variables/processdispatcherB itemcurrent@?Bpickcopydataonly@Btooltip@"Specify which operator(s) to callB OnSelect@pickoptiononselect(c); @B<atchorm omadBalignrightmargin@L@@BCode Template@objectBviewwindowtype@Y@B spatialx@Mw@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B OnPress@ptreenode codenode = node("VIEW:/nodefunctions/templatebuttononpress"); executefsnode(codenode, codenode, c,0);@Bbitmap@buttons\codetemplate.bmpBalignrightposition@L@B Code Edit@objectBviewwindowtype@Y@B spatialx@My@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@BOnPress@setcurrent(node("../pickoptions",c)); createview( "VIEW:/standardviews/picklistedit", nodetopath(node(">pickprimary+",current), 1), concat(nodetopath(current,1),">items/",numtostring(get(itemcurrent(current)),0,0)) );@Bbitmap@buttons\codeedit.bmpBalignrightposition@A@B Priority@objectBviewwindowtype@Y@B spatialx@M<@B spatialy@Ns@B spatialsx@PE@B spatialsy@Q,@B editPriority@objectBviewwindowtype@@Y@B spatialx@MU@B spatialy@Ns@B spatialsx@PF@B spatialsy@Q5@B coldlink@1@>objectfocus+>variables/processoperatorpriorityBtooltip@"Specify priority for job requestsB Preempt@objectBviewwindowtype@@Z@B spatialx@Me@B spatialy@Ns@B spatialsx@PO@B spatialsy@Q5@B itemcurrent@?B coldlink@1@>objectfocus+>variables/preemptprocessoperatorsBtooltip@AInterrupt operator's current task for this object's job request.B Breakdowns@object B viewfocus@MAIN:/project/modelBviewwindowopen@?Bviewwindowtype@Y@B spatialx@M@B spatialy@N8@B spatialsx@P |@B spatialsy@Qz@B beveltype@@B helptopic@tab_ProcessTimesB PageOnOpen@treenode mtbfmttrlist = node("../MTBF MTTR/MTBFMTTRlist",c); treenode mtbfmttr = node("/Tools/MTBFMTTR", model()); treenode timetablelist = node("../Time Tables/TimeTablelist",c); treenode timetables = node("/Tools/TimeTables", model()); clearcontents(items(mtbfmttrlist)); clearcontents(items(timetablelist)); treenode mytimetables = node("@>objectfocus+>variables/timetables",c); iterate(content(mytimetables),1, -1) if(not(objectexists(get(rank(mytimetables, count))))) destroyobject(rank(mytimetables, count)); iterate(1, content(mytimetables), 1) { if(objectexists(get(rank(mytimetables, count)))) if(up(ownerobject(get(rank(mytimetables, count)))) == mtbfmttr) { nodeinsertinto(items(mtbfmttrlist)); nodeadddata(last(items(mtbfmttrlist)), DATATYPE_NUMBER); setname(last(items(mtbfmttrlist)), getname(ownerobject(get(rank(mytimetables, count))))); set(last(items(mtbfmttrlist)), getrank(ownerobject(get(rank(mytimetables, count))))); } if(up(ownerobject(get(rank(mytimetables, count)))) == timetables) { nodeinsertinto(items(timetablelist)); nodeadddata(last(items(timetablelist)), DATATYPE_NUMBER); setname(last(items(timetablelist)), getname(ownerobject(get(rank(mytimetables, count))))); set(last(items(timetablelist)), getrank(ownerobject(get(rank(mytimetables, count))))); } } listboxrefresh(mtbfmttrlist); listboxrefresh(timetablelist);@B ../MTBF MTTR/MTBFMTTRlistotup/Tools/MTBFMTTRetupperaoth ../Time Tables/TimeTablelist../P/Tools/TimeTables for etupup Os) fSetu@>objectfocus+>variables/timetablesber  Ope:/ac../Stnroerat../PumbecessrsrocerofPssOpriorriorreemOperick ?4$o?p`XD?o?=@4=( ?  | ot L   =      *  |  / =    / =   ! ;h 8=, 4t|hX/P=D -# =|/==, =w v|t/l=`TH=<}$  |/== =-# =|pd|XH/@=4==w\ vPD|8(/ ==} |/=x=l8!!=!! !=!&B PageOnApply@Ztreenode mtbfmttr = node("/Tools/MTBFMTTR", model()); treenode timetables = node("/Tools/TimeTables", model()); treenode mytimetables = node("@>objectfocus+>variables/timetables",c); clearcontents(mytimetables); setitem(node("../MTBF MTTR/MTBFMTTRlist>items",c)); iterate(1, content(item), 1) { createcoupling(mytimetables, node(">variables/members", rank(mtbfmttr, get(rank(item, count))))); } setitem(node("../Time Tables/TimeTablelist>items",c)); iterate(1, content(item), 1) { createcoupling(mytimetables, node(">variables/members", rank(timetables, get(rank(item, count))))); }@B@/Tools/MTBFMTTRMTTto/Tools/TimeTablesM@>objectfocus+>variables/timetables../PimeT../MTBF MTTR/MTBFMTTRlist>itemsetup>variables/members/timles ../Time Tables/TimeTablelist>items>variables/members ?,?hXP<?ox=? o    0 B(       | x /p Bh =\  H =<   ?  o  B   x|l\/TBL=@,= _ST@B MTBF MTTR@@objectBviewwindowtype@Y@B spatialx@M@B spatialy@N@B spatialsx@Px@B spatialsy@Q@c@B beveltype@@B7This object is a member of the following MTBF MTTR's:@@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@MB spatialy@N@B spatialsx@Ph@B spatialsy@Q<@Bpicture@cbitmaps\views\static.bmpB itemcurrent@@BMTBFMTTRlist@@object Bviewwindowtype@\@B spatialx@MB spatialy@NA@B spatialsx@Pr@B spatialsy@Q@Z@Bitems@@BFilling Canister@?B MTBFMTTR8@@B itemcurrent@@B tooltip@B OnSelect@*nodefunction(node("../..>PageOnOpen",c));@BRemove@@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M@s@B spatialy@NA@B spatialsx@PU@B spatialsy@Q5@Bpicture@cbitmaps\views\button.bmpB OnPress@&setcurrent(node("../MTBFMTTRlist",c)); if(objectexists(combocurrentnode(current))) { destroyobject(combocurrentnode(current)); set(itemcurrent(current), min(content(items(current)), get(itemcurrent(current)))); listboxrefresh(current); nodefunction(node("../..>PageOnApply",c)); } @B tooltip@5Remove the selected MTBF MTTR from the object's listBAdd...@@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M@s@B spatialy@NO@B spatialsx@PU@B spatialsy@Q5@Bpicture@cbitmaps\views\button.bmpB OnPress@ treenode mtbfmttr = node("/Tools/MTBFMTTR", model()); string path = nodetopath(c); path = concat(path,">mtbfmttrlistbox"); createpopup(path, nodetopath(node("@>objectfocus+",c),1), nodetopath(c,1), c, 0, get(spatialsy(c)), get(spatialsx(c))*1.5, 150 ); @B tooltip@0Add the selected MTBF MTTR to the object's listBmtbfmttrlistbox@@object B viewfocus@B objectfocus@Bviewwindowtype@@B spatialx@MY@B spatialy@NY@B spatialsx@PY@B spatialsy@QY@BOnOpen@dtreenode focus = node(">viewfocus+",c); treenode listbox = node("/listbox",c); treenode mtbfmttr = node("/Tools/MTBFMTTR", model()); clearcontents(items(listbox)); iterate(1, content(mtbfmttr), 1) { nodeinsertinto(items(listbox)); setname(last(items(listbox)), getname(rank(mtbfmttr, count))); nodeadddata(last(items(listbox)), DATATYPE_NUMBER); set(last(items(listbox)), count); } nodeinsertinto(items(listbox)); setname(last(items(listbox)), "Add New MTBF MTTR"); nodeadddata(last(items(listbox)), DATATYPE_NUMBER); set(last(items(listbox)), content(mtbfmttr)+1); listboxrefresh(listbox); Bstyle@@B WS_POPUP@B WS_BORDER@B exstyle@@BWS_EX_STATICEDGE@?@B listbox@@object Bviewwindowtype@\@B spatialx@MB spatialy@NB spatialsx@PY@B spatialsy@QD@Balignbottommargin@Balignrightmargin@B tooltip@Bitems@@B itemcurrent@?B OnSelect@treenode focus = node("@>viewfocus+",c); treenode mtbfmttrlist = node("../MTBFMTTRlist",focus); //treenode curitem = rank(items(c), get(itemcurrent(c))); setport(0); if(get(itemcurrent(c)) == 0) return(0); iterate(1, content(items(mtbfmttrlist)), 1) { if(get(rank(items(mtbfmttrlist), count)) == get(itemcurrent(c))) { setport(count); set(itemcurrent(mtbfmttrlist), count); listboxrefresh(mtbfmttrlist); } } if(port == 0) { treenode themtbfmttr = combocurrentnode(c); if(get(itemcurrent(c)) == content(items(c))) { if (not(objectexists(node("/Tools",model())))) { nodeinsertinto(model()); setname(last(model()),"Tools"); } if (not(objectexists(node("/Tools/MTBFMTTR",model())))) { nodeinsertinto(node("/Tools",model())); setname(last(node("/Tools",model())),"MTBFMTTR"); } createinstance( node("/MTBFMTTR",library()), node("/Tools/MTBFMTTR",model()) ); themtbfmttr = last(node("/Tools/MTBFMTTR",model())); updatetoolsmenu(); } nodeinsertinto(items(mtbfmttrlist)); nodeadddata(last(items(mtbfmttrlist)), DATATYPE_NUMBER); setname(last(items(mtbfmttrlist)), getname(themtbfmttr)); set(last(items(mtbfmttrlist)), get(itemcurrent(c))); set(itemcurrent(mtbfmttrlist), content(items(mtbfmttrlist))); listboxrefresh(mtbfmttrlist); } postclosewindowmessage(up(c)); nodefunction(node("../..>PageOnApply",focus));@BEdit@@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M@s@B spatialy@N\@B spatialsx@PU@B spatialsy@Q5@Bpicture@cbitmaps\views\button.bmpB OnPress@setcurrent(node("../MTBFMTTRlist",c)); if(objectexists(rank(items(current),get(itemcurrent(current))))) { createview( "VIEW:/pages/MTBFMTTR Parameters", concat( "MAIN:/project/model/Tools/MTBFMTTR/", numtostring(get(rank(items(current),get(itemcurrent(current)))),0,0) ), concat( "MAIN:/project/model/Tools/MTBFMTTR/", numtostring(get(rank(items(current),get(itemcurrent(current)))),0,0) ) ); } @B tooltip@5Remove the selected MTBF MTTR from the object's listB Time Tables@@objectBviewwindowtype@Y@B spatialx@M@B spatialy@N d@B spatialsx@Px@B spatialsy@Q@c@B beveltype@@B7This object is a member of the following Time Tables:@@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@MB spatialy@N@B spatialsx@Ph@B spatialsy@Q<@Bpicture@cbitmaps\views\static.bmpB itemcurrent@@BTimeTablelist@@object Bviewwindowtype@\@B spatialx@MB spatialy@NA@B spatialsx@Pr@B spatialsy@Q@Z@Bitems@@B itemcurrent@B tooltip@B OnSelect@*nodefunction(node("../..>PageOnOpen",c));@BRemove@@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M@s@B spatialy@NA@B spatialsx@PU@B spatialsy@Q5@Bpicture@cbitmaps\views\button.bmpB OnPress@'setcurrent(node("../TimeTablelist",c)); if(objectexists(combocurrentnode(current))) { destroyobject(combocurrentnode(current)); set(itemcurrent(current), min(content(items(current)), get(itemcurrent(current)))); listboxrefresh(current); nodefunction(node("../..>PageOnApply",c)); } @B tooltip@6Remove the selected Time Table from the object's listBAdd...@@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M@s@B spatialy@NO@B spatialsx@PU@B spatialsy@Q5@Bpicture@cbitmaps\views\button.bmpB OnPress@treenode timetables = node("/Tools/TimeTables", model()); string path = nodetopath(c); path = concat(path,">timetablelistbox"); createpopup(path, nodetopath(node("@>objectfocus+",c),1), nodetopath(c,1), c, 0, get(spatialsy(c)), get(spatialsx(c))*1.5, 150 ); @B tooltip@1Add the selected Time Table to the object's listBtimetablelistbox@@object B viewfocus@B objectfocus@Bviewwindowtype@@B spatialx@MY@B spatialy@NY@B spatialsx@PY@B spatialsy@QY@BOnOpen@otreenode focus = node(">viewfocus+",c); treenode listbox = node("/listbox",c); treenode timetables = node("/Tools/TimeTables", model()); clearcontents(items(listbox)); iterate(1, content(timetables), 1) { nodeinsertinto(items(listbox)); setname(last(items(listbox)), getname(rank(timetables, count))); nodeadddata(last(items(listbox)), DATATYPE_NUMBER); set(last(items(listbox)), count); } nodeinsertinto(items(listbox)); setname(last(items(listbox)), "Add New Time Table"); nodeadddata(last(items(listbox)), DATATYPE_NUMBER); set(last(items(listbox)), content(timetables)+1); listboxrefresh(listbox); Bstyle@@B WS_POPUP@B WS_BORDER@B exstyle@@BWS_EX_STATICEDGE@?@B listbox@@object Bviewwindowtype@\@B spatialx@MB spatialy@NB spatialsx@PY@B spatialsy@QD@Balignbottommargin@Balignrightmargin@B tooltip@Bitems@@B itemcurrent@?B OnSelect@treenode focus = node("@>viewfocus+",c); treenode timetablelist = node("../TimeTablelist",focus); //treenode curitem = rank(items(c), get(itemcurrent(c))); setport(0); if(get(itemcurrent(c)) == 0) return(0); iterate(1, content(items(timetablelist)), 1) { if(get(rank(items(timetablelist), count)) == get(itemcurrent(c))) { setport(count); set(itemcurrent(timetablelist), count); listboxrefresh(timetablelist); } } if(port == 0) { treenode thetimetable = combocurrentnode(c); if(get(itemcurrent(c)) == content(items(c))) { if (not(objectexists(node("/Tools",model())))) { nodeinsertinto(model()); setname(last(model()),"Tools"); } if (not(objectexists(node("/Tools/TimeTables",model())))) { nodeinsertinto(node("/Tools",model())); setname(last(node("/Tools",model())),"TimeTables"); } createinstance( node("/TimeTable",library()), node("/Tools/TimeTables",model()) ); thetimetable = last(node("/Tools/TimeTables",model())); settable(var_s(thetimetable,"table"),3,1,1,0); setname(first(var_s(thetimetable,"table")),"Row1"); setname(rank(first(var_s(thetimetable,"table")),1),"Time"); setname(rank(first(var_s(thetimetable,"table")),2),"State"); setname(rank(first(var_s(thetimetable,"table")),3),"Duration"); setnodenum(cell(var_s(thetimetable,"table"),2,1),12); updatetoolsmenu(); } nodeinsertinto(items(timetablelist)); nodeadddata(last(items(timetablelist)), DATATYPE_NUMBER); setname(last(items(timetablelist)), getname(thetimetable)); set(last(items(timetablelist)), get(itemcurrent(c))); set(itemcurrent(timetablelist), content(items(timetablelist))); listboxrefresh(timetablelist); } postclosewindowmessage(up(c)); nodefunction(node("../..>PageOnApply",focus));BEdit@@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M@s@B spatialy@N\@B spatialsx@PU@B spatialsy@Q5@Bpicture@cbitmaps\views\button.bmpB OnPress@setcurrent(node("../TimeTablelist",c)); if(objectexists(rank(items(current),get(itemcurrent(current))))) { createview( "VIEW:/pages/TimeTable Parameters", concat( "MAIN:/project/model/Tools/TimeTables/", numtostring(get(rank(items(current),get(itemcurrent(current)))),0,0) ), concat( "MAIN:/project/model/Tools/TimeTables/", numtostring(get(rank(items(current),get(itemcurrent(current)))),0,0) ) ); } @B tooltip@5Remove the selected MTBF MTTR from the object's listBFlow@object B viewfocus@MAIN:/project/modelBviewwindowopen@?Bviewwindowtype@Y@B spatialx@M@B spatialy@N8@B spatialsx@P |@B spatialsy@Qz@B beveltype@@B PageOnOpen@knodefunction(node("../Output/Use Transport>refresh", c)); nodefunction(node("../Input/Pull>refresh", c));@B../Output/Use Transport>refresh../.rom ../Input/Pull>refreshj<,o$jxho`H(c)B helptopic@ tab_Flow@BOutput@object B viewfocus@MAIN:/project/modelBviewwindowopen@?Bviewwindowtype@Z@B spatialx@M@B spatialy@N@B spatialsx@P@{@B spatialsy@Q d@B picture@cbitmaps\views\groupbox.bmpBalignrightmargin@@@BSend To Port@object B viewfocus@MAIN:/project/modelBviewwindowopen@?Bviewwindowtype@Z@B spatialx@M@B spatialy@N,@B spatialsx@P`z@B spatialsy@QH@Bpicture@cbitmaps\views\groupbox.bmpB itemcurrent@Balignrightmargin@@@B pickoptions@object Bviewwindowtype@@[@B spatialx@M,@B spatialy@N,@B spatialsx@Pv@B spatialsy@Q5@Bitems@@B First available Open all ports.@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@B picklist@#VIEW:/picklists/sendtoportpicklistB pickprimary@$@>objectfocus+>variables/sendtoportB itemcurrent@?Bpickcopydataonly@B tooltip@:Determines which port the ready flowitem will be sent outB OnSelect@pickoptiononselect(c); @Balignrightmargin@L@@BCode Template@objectBviewwindowtype@Y@B spatialx@Mv@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B OnPress@ptreenode codenode = node("VIEW:/nodefunctions/templatebuttononpress"); executefsnode(codenode, codenode, c,0);@Bbitmap@buttons\codetemplate.bmpBalignrightposition@L@B Code Edit@objectBviewwindowtype@Y@B spatialx@M0x@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B OnPress@setcurrent(node("../pickoptions",c)); createview( "VIEW:/standardviews/picklistedit", nodetopath(node(">pickprimary+",current), 1), concat(nodetopath(current,1),">items/",numtostring(get(itemcurrent(current)),0,0)) );@Bbitmap@buttons\codeedit.bmpBalignrightposition@A@BUse Transport@object Bviewwindowtype@@Z@B spatialx@M,@B spatialy@NO@B spatialsx@PX@B spatialsy@Q5@B itemcurrent@?B coldlink@&@>objectfocus+>variables/usetransportB OnPress@%nodefunction(node(">refresh", c)); @B refresh@setport(not(getchecked(up(c)))); windowgray(windowfromnode(node("../../Priority",c)) , port); windowgray(windowfromnode(node("../../editPriority",c)) , port); windowgray(windowfromnode(node("../../Preempt",c)) , port); windowgray(windowfromnode(node("../../Request Transport From",c)) , port); forobjecttreeunder(node("../../Request Transport From",c)) { windowgray(windowfromnode(a) , port); } @B(ollibersembe../../Priorityisio../../editPriorityNetw../../PreemptNavi../../Request Transport Fromor../../Request Transport From/colVisu@,* otCl&`PoH8C&oC&olCd&XHo@  to|   C &  .>oB Priority@objectBviewwindowtype@Y@B spatialx@Mi@B spatialy@NP@B spatialsx@PA@B spatialsy@Q,@Balignrightposition@l@BeditPriority@objectBviewwindowtype@@Y@B spatialx@MPp@B spatialy@NO@B spatialsx@PL@B spatialsy@Q5@B coldlink@+@>objectfocus+>variables/transportpriorityB tooltip@4Set the priority for this object's pickup requests.Balignrightposition@e@B Preempt@object Bviewwindowtype@@Z@B spatialx@M u@B spatialy@NO@B spatialsx@PO@B spatialsy@Q5@B itemcurrent@?B coldlink@*@>objectfocus+>variables/preempttransportB tooltip@HInterrupt transporter's current task for this object's pickup requests.Balignrightposition@X@BRequest Transport From@objectBviewwindowtype@Z@B spatialx@M@B spatialy@NU@B spatialsx@P`z@B spatialsy@QH@Balignrightmargin@@@B pickoptions@object Bviewwindowtype@@[@B spatialx@M,@B spatialy@N,@B spatialsx@Pv@B spatialsy@Q5@Bitems@@BPort by Expression Center port number: 1 Note: The expression may be a constant value or the result of a command (getitemtype(it@`treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@Bnkx>tex? l?0$o6Lk@6\  c  4x  =l ORTB picklist@%VIEW:/picklists/transportrefpicklistB pickprimary@-@>objectfocus+>variables/transportdispatcherB itemcurrent@?Bpickcopydataonly@Btooltip@2Specifies which transporter to request for pickupB OnSelect@pickoptiononselect(c); @Balignrightmargin@L@@BCode Template@objectBviewwindowtype@Y@B spatialx@Mv@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B OnPress@ptreenode codenode = node("VIEW:/nodefunctions/templatebuttononpress"); executefsnode(codenode, codenode, c,0);@Bbitmap@buttons\codetemplate.bmpBalignrightposition@L@B Code Edit@objectBviewwindowtype@Y@B spatialx@M0x@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@BOnPress@setcurrent(node("../pickoptions",c)); createview( "VIEW:/standardviews/picklistedit", nodetopath(node(">pickprimary+",current), 1), concat(nodetopath(current,1),">items/",numtostring(get(itemcurrent(current)),0,0)) );@Bbitmap@buttons\codeedit.bmpBalignrightposition@A@B.Reevaluate Sendto on Downstream Availability@objectBviewwindowtype@@Z@B spatialx@M,@B spatialy@N`@B spatialsx@Pn@B spatialsy@Q,@B coldlink@*@>objectfocus+>variables/sendtocontinuousB tooltip@Cause the Send To Port function for a released flowitem to be re-evaluated every time a downstream object becomes available (or when openoutput/openinput is called).BInput@objectBviewwindowtype@Z@B spatialx@M@B spatialy@Ne@B spatialsx@P@{@B spatialsy@Qe@Balignrightmargin@@@BPull@object Bviewwindowtype@@Z@B spatialx@M,@B spatialy@N5@B spatialsx@PI@B spatialsy@Q,@B itemcurrent@B coldlink@@>objectfocus+>variables/pullB OnPress@&nodefunction(node(">refresh",c)); @B tooltip@"Make this object a pull operationB refresh@setport(not(getchecked(up(c)))); windowgray(windowfromnode(node("../../Pull From Port",c)) , port); forobjecttreeunder(node("../../Pull From Port",c)) { windowgray(windowfromnode(a) , port); } windowgray(windowfromnode(node("../../Pull Requirement",c)) , port); forobjecttreeunder(node("../../Pull Requirement",c)) { windowgray(windowfromnode(a) , port); } windowgray(windowfromnode(node("../../Reevaluate Pull Requirement on All Items When Each Upstream Item is Released",c)) , port);@BT(-ollibersembe../../Pull From Portisio./ed../../Pull From Port../.../../Pull Requirement../.quesFrom../../Pull Requirement../.quesFrom../../Reevaluate Pull Requirement on All Items When Each Upstream Item is ReleasedReco@,* o|Ct&hXoP8o C&l  , C$ &  o  \ oT <   C &t l    C &  o ,1)BPull From Port@objectBviewwindowtype@Z@B spatialx@M@B spatialy@NE@B spatialsx@P`z@B spatialsy@QH@Balignrightmargin@@@B pickoptions@object Bviewwindowtype@@[@B spatialx@M,@B spatialy@N,@B spatialsx@Pv@B spatialsy@Q5@Bitems@@B Any Port@@treenode current = ownerobject(c); /**Any Port*/ return 0; @B picklist@(VIEW:/picklists/receivefromportpicklistB pickprimary@)@>objectfocus+>variables/receivefromportB itemcurrent@?Bpickcopydataonly@Btooltip@5Determines which port on current object to pull fromB OnSelect@pickoptiononselect(c); @Balignrightmargin@L@@BCode Template@objectBviewwindowtype@Y@B spatialx@Mv@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@BOnPress@ptreenode codenode = node("VIEW:/nodefunctions/templatebuttononpress"); executefsnode(codenode, codenode, c,0);@Bbitmap@buttons\codetemplate.bmpBalignrightposition@L@B Code Edit@objectBviewwindowtype@Y@B spatialx@M0x@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B OnPress@setcurrent(node("../pickoptions",c)); createview( "VIEW:/standardviews/picklistedit", nodetopath(node(">pickprimary+",current), 1), concat(nodetopath(current,1),">items/",numtostring(get(itemcurrent(current)),0,0)) );@Bbitmap@buttons\codeedit.bmpBalignrightposition@A@BPull Requirement@objectBviewwindowtype@Z@B spatialx@M@B spatialy@NV@B spatialsx@P`z@B spatialsy@QH@Bgrayed@Balignrightmargin@@@B pickoptions@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@[@B spatialx@M,@B spatialy@N,@B spatialsx@Pv@B spatialsy@Q5@Bpicture@cbitmaps\views\combobox.bmpBitems@@B#No Requirement Always return true.@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\nkx>tex?o?0l$6Lk@6\ B picklist@(VIEW:/picklists/pullrequirementpicklistB pickprimary@)@>objectfocus+>variables/pullrequirementB itemcurrent@?Bpickcopydataonly@Btooltip@GSpecifies if the current flowitem in the upstream object can be pulledB OnSelect@pickoptiononselect(c); @Balignrightmargin@L@@BCode Template@objectBviewwindowtype@Y@B spatialx@Mv@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@BOnPress@ptreenode codenode = node("VIEW:/nodefunctions/templatebuttononpress"); executefsnode(codenode, codenode, c,0);@Bbitmap@buttons\codetemplate.bmpBalignrightposition@L@B Code Edit@objectBviewwindowtype@Y@B spatialx@M0x@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@BOnPress@setcurrent(node("../pickoptions",c)); createview( "VIEW:/standardviews/picklistedit", nodetopath(node(">pickprimary+",current), 1), concat(nodetopath(current,1),">items/",numtostring(get(itemcurrent(current)),0,0)) );@Bbitmap@buttons\codeedit.bmpBalignrightposition@A@BNReevaluate Pull Requirement on All Items When Each Upstream Item is Released@objectBviewwindowtype@@Z@B spatialx@M,@B spatialy@Na@B spatialsx@P`y@B spatialsy@Q5@B itemcurrent@B coldlink@(@>objectfocus+>variables/pullcontinuousB tooltip@Check to re-evaluate the pull requirement for every released upstream flow item when each upstream flow item is released (or when openoutput/openinput is called).B Triggers@object B viewfocus@MAIN:/project/modelBviewwindowopen@?Bviewwindowtype@Y@B spatialx@M@B spatialy@N8@B spatialsx@P |@B spatialsy@Qz@B beveltype@@B helptopic@tab_ProcessorTriggers@B OnReset@object B objectfocus@&@>objectfocus+>variables/resettriggerBviewwindowopen@?Bviewwindowtype@Z@B spatialx@M@B spatialy@N,@B spatialsx@P@{@B spatialsy@QH@Bpicture@cbitmaps\views\groupbox.bmpB itemcurrent@B coldlinkx@Hnodefunction(node("VIEW:/nodefunctions/triggercoldlinkx"),c,eventdata);@Btext@%treenode current = ownerobject(c); B picklist@%VIEW:/picklists/resettriggerpicklistBalignrightmargin@@@B edittrigger@object Bviewwindowtype@@Y@B spatialx@M,@B spatialy@N,@B spatialsx@P@t@B spatialsy@Q5@B tooltip@B picture@cbitmaps\views\edit.bmpB coldlinkx@if(eventdata==0) { codetotemplatetext(node("..>text",c),node(">text",c),1); setviewtext(c, stringreplace(gets(node(">text",c)), "\n"," ")); }@Btext@Bstyle@@B ES_READONLY@Balignrightmargin@X@BAdd@object Bviewwindowtype@Y@B spatialx@M u@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B tooltip@Add a piece of codeB OnPress@treenode edit = node("../edittrigger",c); createpopup( "VIEW:/standardviews/triggerlistbox", nodetopath(node("..>objectfocus+",c),1), nodetopath(up(c),1), edit, 0, get(spatialsy(edit)), get(spatialsx(edit)), 150 );@Bbitmap@buttons\plus.bmpBalignrightposition@X@BReset@object Bviewwindowtype@Y@B spatialx@Mpv@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B tooltip@Erase all codeB OnPress@Dexecutefsnode(node("VIEW:/nodefunctions/resetcodeonpress"), c,0,0);@Bbitmap@buttons\eraser.bmpBalignrightposition@@S@BCode Template@objectBviewwindowtype@Y@B spatialx@Mw@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B OnPress@wtreenode codenode = node("VIEW:/nodefunctions/triggertemplatebuttononpress"); executefsnode(codenode, codenode, c,0);@Bbitmap@buttons\codetemplate.bmpBalignrightposition@L@B Code Edit@objectBviewwindowtype@Y@B spatialx@My@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B OnPress@createview( "VIEW:/standardviews/picklistedit", nodetopath(node("..>objectfocus+",c),1), nodetopath(node("..>text",c),1) );@Bbitmap@buttons\codeedit.bmpBalignrightposition@A@B OnMessage@object B objectfocus@(@>objectfocus+>variables/messagetriggerBviewwindowopen@?Bviewwindowtype@Z@B spatialx@M@B spatialy@NO@B spatialsx@P@{@B spatialsy@QH@Bpicture@cbitmaps\views\groupbox.bmpB itemcurrent@B coldlinkx@Hnodefunction(node("VIEW:/nodefunctions/triggercoldlinkx"),c,eventdata);@Btext@%treenode current = ownerobject(c); B picklist@'VIEW:/picklists/messagetriggerpicklistBalignrightmargin@@@B edittrigger@object Bviewwindowtype@@Y@B spatialx@M,@B spatialy@N,@B spatialsx@P@t@B spatialsy@Q5@B tooltip@B picture@cbitmaps\views\edit.bmpB coldlinkx@if(eventdata==0) { codetotemplatetext(node("..>text",c),node(">text",c),1); setviewtext(c, stringreplace(gets(node(">text",c)), "\n"," ")); }@Btext@Bstyle@@B ES_READONLY@Balignrightmargin@X@BAdd@object Bviewwindowtype@Y@B spatialx@M u@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B tooltip@Add a piece of codeB OnPress@treenode edit = node("../edittrigger",c); createpopup( "VIEW:/standardviews/triggerlistbox", nodetopath(node("..>objectfocus+",c),1), nodetopath(up(c),1), edit, 0, get(spatialsy(edit)), get(spatialsx(edit)), 150 );@Bbitmap@buttons\plus.bmpBalignrightposition@X@BReset@object Bviewwindowtype@Y@B spatialx@Mpv@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B tooltip@Erase all codeB OnPress@Dexecutefsnode(node("VIEW:/nodefunctions/resetcodeonpress"), c,0,0);@Bbitmap@buttons\eraser.bmpBalignrightposition@@S@BCode Template@objectBviewwindowtype@Y@B spatialx@Mw@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B OnPress@wtreenode codenode = node("VIEW:/nodefunctions/triggertemplatebuttononpress"); executefsnode(codenode, codenode, c,0);@Bbitmap@buttons\codetemplate.bmpBalignrightposition@L@B Code Edit@objectBviewwindowtype@Y@B spatialx@My@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B OnPress@createview( "VIEW:/standardviews/picklistedit", nodetopath(node("..>objectfocus+",c),1), nodetopath(node("..>text",c),1) );@Bbitmap@buttons\codeedit.bmpBalignrightposition@A@B OnEntry@object B objectfocus@&@>objectfocus+>variables/entrytriggerBviewwindowopen@?Bviewwindowtype@Z@B spatialx@M@B spatialy@N\@B spatialsx@P@{@B spatialsy@QH@Bpicture@cbitmaps\views\groupbox.bmpB itemcurrent@B coldlinkx@Hnodefunction(node("VIEW:/nodefunctions/triggercoldlinkx"),c,eventdata);@Btext@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); B picklist@)VIEW:/picklists/entryexittriggerpicklist@B@/VIEW:/custompicklists/processortriggerpicklistBalignrightmargin@@@B edittrigger@object Bviewwindowtype@@Y@B spatialx@M,@B spatialy@N,@B spatialsx@P@t@B spatialsy@Q5@B tooltip@B picture@cbitmaps\views\edit.bmpB coldlinkx@if(eventdata==0) { codetotemplatetext(node("..>text",c),node(">text",c),1); setviewtext(c, stringreplace(gets(node(">text",c)), "\n"," ")); }@Btext@Bstyle@@B ES_READONLY@Balignrightmargin@X@BAdd@object Bviewwindowtype@Y@B spatialx@M u@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B tooltip@Add a piece of codeB OnPress@treenode edit = node("../edittrigger",c); createpopup( "VIEW:/standardviews/triggerlistbox", nodetopath(node("..>objectfocus+",c),1), nodetopath(up(c),1), edit, 0, get(spatialsy(edit)), get(spatialsx(edit)), 150 );@Bbitmap@buttons\plus.bmpBalignrightposition@X@BReset@object Bviewwindowtype@Y@B spatialx@Mpv@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B tooltip@Erase all codeB OnPress@Dexecutefsnode(node("VIEW:/nodefunctions/resetcodeonpress"), c,0,0);@Bbitmap@buttons\eraser.bmpBalignrightposition@@S@BCode Template@objectBviewwindowtype@Y@B spatialx@Mw@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B OnPress@wtreenode codenode = node("VIEW:/nodefunctions/triggertemplatebuttononpress"); executefsnode(codenode, codenode, c,0);@Bbitmap@buttons\codetemplate.bmpBalignrightposition@L@B Code Edit@objectBviewwindowtype@Y@B spatialx@My@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B OnPress@createview( "VIEW:/standardviews/picklistedit", nodetopath(node("..>objectfocus+",c),1), nodetopath(node("..>text",c),1) );@Bbitmap@buttons\codeedit.bmpBalignrightposition@A@BOnExit@object B objectfocus@%@>objectfocus+>variables/exittriggerBviewwindowopen@?Bviewwindowtype@Z@B spatialx@M@B spatialy@N d@B spatialsx@P@{@B spatialsy@QH@Bpicture@cbitmaps\views\groupbox.bmpB itemcurrent@B coldlinkx@Hnodefunction(node("VIEW:/nodefunctions/triggercoldlinkx"),c,eventdata);@Btext@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); B picklist@)VIEW:/picklists/entryexittriggerpicklist@B@/VIEW:/custompicklists/processortriggerpicklistBalignrightmargin@@@B edittrigger@object Bviewwindowtype@@Y@B spatialx@M,@B spatialy@N,@B spatialsx@P@t@B spatialsy@Q5@B tooltip@B picture@cbitmaps\views\edit.bmpB coldlinkx@if(eventdata==0) { codetotemplatetext(node("..>text",c),node(">text",c),1); setviewtext(c, stringreplace(gets(node(">text",c)), "\n"," ")); }@Btext@Bstyle@@B ES_READONLY@Balignrightmargin@X@BAdd@object Bviewwindowtype@Y@B spatialx@M u@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B tooltip@Add a piece of codeB OnPress@treenode edit = node("../edittrigger",c); createpopup( "VIEW:/standardviews/triggerlistbox", nodetopath(node("..>objectfocus+",c),1), nodetopath(up(c),1), edit, 0, get(spatialsy(edit)), get(spatialsx(edit)), 150 );@Bbitmap@buttons\plus.bmpBalignrightposition@X@BReset@object Bviewwindowtype@Y@B spatialx@Mpv@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B tooltip@Erase all codeB OnPress@Dexecutefsnode(node("VIEW:/nodefunctions/resetcodeonpress"), c,0,0);@Bbitmap@buttons\eraser.bmpBalignrightposition@@S@BCode Template@objectBviewwindowtype@Y@B spatialx@Mw@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B OnPress@wtreenode codenode = node("VIEW:/nodefunctions/triggertemplatebuttononpress"); executefsnode(codenode, codenode, c,0);@Bbitmap@buttons\codetemplate.bmpBalignrightposition@L@B Code Edit@objectBviewwindowtype@Y@B spatialx@My@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B OnPress@createview( "VIEW:/standardviews/picklistedit", nodetopath(node("..>objectfocus+",c),1), nodetopath(node("..>text",c),1) );@Bbitmap@buttons\codeedit.bmpBalignrightposition@A@BOnSetupFinish@objectB objectfocus@,@>objectfocus+>variables/setupfinishtriggerBviewwindowopen@?Bviewwindowtype@Z@B spatialx@M@B spatialy@N@j@B spatialsx@P@{@B spatialsy@QH@Bpicture@cbitmaps\views\groupbox.bmpB itemcurrent@B coldlinkx@Hnodefunction(node("VIEW:/nodefunctions/triggercoldlinkx"),c,eventdata);@Btext@Btreenode item = parnode(1); treenode current = ownerobject(c); B picklist@)VIEW:/picklists/entryexittriggerpicklist@B@3VIEW:/custompicklists/processfinishtriggerpicklistBpicklistheader@@treenode item = parnode(1); treenode current = ownerobject(c);Balignrightmargin@@@B edittrigger@object Bviewwindowtype@@Y@B spatialx@M,@B spatialy@N,@B spatialsx@P@t@B spatialsy@Q5@B tooltip@B picture@cbitmaps\views\edit.bmpB coldlinkx@if(eventdata==0) { codetotemplatetext(node("..>text",c),node(">text",c),1); setviewtext(c, stringreplace(gets(node(">text",c)), "\n"," ")); }@Btext@Bstyle@@B ES_READONLY@Balignrightmargin@X@BAdd@object Bviewwindowtype@Y@B spatialx@M u@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B tooltip@Add a piece of codeB OnPress@treenode edit = node("../edittrigger",c); createpopup( "VIEW:/standardviews/triggerlistbox", nodetopath(node("..>objectfocus+",c),1), nodetopath(up(c),1), edit, 0, get(spatialsy(edit)), get(spatialsx(edit)), 150 );@Bbitmap@buttons\plus.bmpBalignrightposition@X@BReset@object Bviewwindowtype@Y@B spatialx@Mpv@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B tooltip@Erase all codeB OnPress@Dexecutefsnode(node("VIEW:/nodefunctions/resetcodeonpress"), c,0,0);@Bbitmap@buttons\eraser.bmpBalignrightposition@@S@BCode Template@objectBviewwindowtype@Y@B spatialx@Mw@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B OnPress@wtreenode codenode = node("VIEW:/nodefunctions/triggertemplatebuttononpress"); executefsnode(codenode, codenode, c,0);@Bbitmap@buttons\codetemplate.bmpBalignrightposition@L@B Code Edit@objectBviewwindowtype@Y@B spatialx@My@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B OnPress@createview( "VIEW:/standardviews/picklistedit", nodetopath(node("..>objectfocus+",c),1), nodetopath(node("..>text",c),1) );@Bbitmap@buttons\codeedit.bmpBalignrightposition@A@BOnProcessFinish@objectB objectfocus@.@>objectfocus+>variables/processfinishtriggerBviewwindowopen@?Bviewwindowtype@Z@B spatialx@M@B spatialy@N0p@B spatialsx@P@{@B spatialsy@QH@Bpicture@cbitmaps\views\groupbox.bmpB itemcurrent@B coldlinkx@Hnodefunction(node("VIEW:/nodefunctions/triggercoldlinkx"),c,eventdata);@Btext@Btreenode item = parnode(1); treenode current = ownerobject(c); B picklist@)VIEW:/picklists/entryexittriggerpicklist@B@3VIEW:/custompicklists/processfinishtriggerpicklistBpicklistheader@@treenode item = parnode(1); treenode current = ownerobject(c);Balignrightmargin@@@B edittrigger@object Bviewwindowtype@@Y@B spatialx@M,@B spatialy@N,@B spatialsx@P@t@B spatialsy@Q5@B tooltip@B picture@cbitmaps\views\edit.bmpB coldlinkx@if(eventdata==0) { codetotemplatetext(node("..>text",c),node(">text",c),1); setviewtext(c, stringreplace(gets(node(">text",c)), "\n"," ")); }@Btext@Bstyle@@B ES_READONLY@Balignrightmargin@X@BAdd@object Bviewwindowtype@Y@B spatialx@M u@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B tooltip@Add a piece of codeB OnPress@treenode edit = node("../edittrigger",c); createpopup( "VIEW:/standardviews/triggerlistbox", nodetopath(node("..>objectfocus+",c),1), nodetopath(up(c),1), edit, 0, get(spatialsy(edit)), get(spatialsx(edit)), 150 );@Bbitmap@buttons\plus.bmpBalignrightposition@X@BReset@object Bviewwindowtype@Y@B spatialx@Mpv@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B tooltip@Erase all codeB OnPress@Dexecutefsnode(node("VIEW:/nodefunctions/resetcodeonpress"), c,0,0);@Bbitmap@buttons\eraser.bmpBalignrightposition@@S@BCode Template@objectBviewwindowtype@Y@B spatialx@Mw@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B OnPress@wtreenode codenode = node("VIEW:/nodefunctions/triggertemplatebuttononpress"); executefsnode(codenode, codenode, c,0);@Bbitmap@buttons\codetemplate.bmpBalignrightposition@L@B Code Edit@objectBviewwindowtype@Y@B spatialx@My@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B OnPress@createview( "VIEW:/standardviews/picklistedit", nodetopath(node("..>objectfocus+",c),1), nodetopath(node("..>text",c),1) );@Bbitmap@buttons\codeedit.bmpBalignrightposition@A@BCustom Draw Code@object B objectfocus@'@>objectfocus+>variables/ondrawtriggerBviewwindowopen@?Bviewwindowtype@Z@B spatialx@M@B spatialy@N@s@B spatialsx@P@{@B spatialsy@QH@Bpicture@cbitmaps\views\groupbox.bmpB itemcurrent@B coldlinkx@Hnodefunction(node("VIEW:/nodefunctions/triggercoldlinkx"),c,eventdata);@Btext@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B picklist@VIEW:/picklists/ondrawpicklistBalignrightmargin@@@B edittrigger@object Bviewwindowtype@@Y@B spatialx@M,@B spatialy@N,@B spatialsx@P@t@B spatialsy@Q5@B tooltip@B picture@cbitmaps\views\edit.bmpB coldlinkx@if(eventdata==0) { codetotemplatetext(node("..>text",c),node(">text",c),1); setviewtext(c, stringreplace(gets(node(">text",c)), "\n"," ")); }@Btext@Bstyle@@B ES_READONLY@Balignrightmargin@X@BAdd@object Bviewwindowtype@Y@B spatialx@M u@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B tooltip@Add a piece of codeB OnPress@treenode edit = node("../edittrigger",c); createpopup( "VIEW:/standardviews/triggerlistbox", nodetopath(node("..>objectfocus+",c),1), nodetopath(up(c),1), edit, 0, get(spatialsy(edit)), get(spatialsx(edit)), 150 );@Bbitmap@buttons\plus.bmpBalignrightposition@X@BReset@object Bviewwindowtype@Y@B spatialx@Mpv@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B tooltip@Erase all codeB OnPress@if(msg("Erase All Trigger Code","This will erase all of the trigger's code. Press OK to continue.",0)) { sets(node("..>text",c), gets(node("..>picklist+",c))); applylinks(node("../edittrigger",c),1); }@Bbitmap@buttons\eraser.bmpBalignrightposition@@S@BCode Template@objectBviewwindowtype@Y@B spatialx@Mw@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B OnPress@wtreenode codenode = node("VIEW:/nodefunctions/triggertemplatebuttononpress"); executefsnode(codenode, codenode, c,0);@Bbitmap@buttons\codetemplate.bmpBalignrightposition@L@B Code Edit@objectBviewwindowtype@Y@B spatialx@My@B spatialy@N,@B spatialsx@P5@B spatialsy@Q5@B OnPress@createview( "VIEW:/standardviews/picklistedit", nodetopath(node("..>objectfocus+",c),1), nodetopath(node("..>text",c),1) );@Bbitmap@buttons\codeedit.bmpBalignrightposition@A@BLabels@object B viewfocus@MAIN:/project/modelBviewwindowopen@?Bviewwindowtype@Y@B spatialx@M@B spatialy@N8@B spatialsx@P |@B spatialsy@Qz@B beveltype@@B PageOnOpen@gtreenode splitterpanel = node("../splitterpanel",c); treenode tablepanel = node("../splitterpanel/tablepanel",c); treenode treepanel = node("../splitterpanel/treepanel",c); int size = get(spatialsx(splitterpanel)); set(spatialsx(tablepanel),size-9); set(spatialx(treepanel),size); refreshview(splitterpanel); windowshow(windowfromnode(treepanel),0);@B+../splitterpanelvicus+../splitterpanel/tablepanel../l../splitterpanel/treepanelject../lenamsele../R../CitFromevalquir?,o?tdo\<?o6|=}0  4=}d4XL=@  =t    & = XIB helptopic@ tab_Labels@Bsplitterpanel@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M@B spatialy@N@B spatialsx@P{@B spatialsy@Qu@B beveltype@Balignrightmargin@@Balignbottommargin@O@B splitterx@@B tablepanel@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@MB spatialy@NB spatialsx@Pz@B spatialsy@Qu@B beveltype@Balignbottommargin@@B tableview@objectB viewfocus@@>objectfocus+>labelsBviewwindowtype@@B spatialx@MB spatialy@NB spatialsx@Pz@B spatialsy@Qu@B cellheight@2@@B@ @B@2@B@2@B@2@B@2@B@2@B@2@B@2@B cellwidth@Y@@B@X@B@\@Balignrightmargin@Balignbottommargin@B dataentry@B menupopup@@BAdd Number Label@ setcurrent(node("../..>viewfocus+", c)); nodeinsertinto(current); nodeadddata(last(current), 1); setname(last(current), "newnumberlabel"); repaintview(node("../..", c));BAdd Text Label@setcurrent(node("../..>viewfocus+", c)); nodeinsertinto(current); nodeadddata(last(current), 2); setname(last(current), "newtextlabel"); repaintview(node("../..", c));B-@BDelete Label@if(objectexists(selectedobject(node("../..", c)))) { destroyobject(selectedobject(node("../..", c))); } repaintview(node("../..", c)); nodefunction(node("../../../../treepanel/labeltablepanel>refresh",c));BDuplicate Label@if(objectexists(selectedobject(node("../..", c)))) { createcopy(selectedobject(node("../..", c)), up(selectedobject(node("../..", c)))); setname(last(up(selectedobject(node("../..", c)))), getname(selectedobject(node("../..", c)))); } repaintview(node("../..", c));BCreate/Edit Label Table@"if(objectexists(selectedobject(node("../..", c)))) { setcurrent(selectedobject(node("../..", c))); if(ne(up(current), labels(node("@>objectfocus+",c)))) setcurrent(up(current)); createview("VIEW:/standardviews/Table Editor", nodetopath(current), nodetopath(current)); } BExplore as Tree@if (license()) { setitem(selectedobject(node("../..",c))); if (objectexists(item)) { createview("VIEW:/standardviews/inspector",nodetopath(item),nodetopath(item)); } } else{msg("Flexsim","Not available in evaluation mode.");}B noformat@B OnClick@$if(clickcode()==LEFT_RELEASE) { treenode labeltableview = node("../../treepanel/labeltablepanel/labeltableview",c); int startrow = gettableviewselection(c,1); /*treenode clickedcell = selectedobject(c); if(up(clickedcell) != labels(node("@>objectfocus+",c))) clickedcell = up(clickedcell);*/ sets(viewfocus(labeltableview),concat("@>objectfocus+>labels/", numtostring(startrow,0,0))); nodefunction(node("..>refresh",labeltableview)); }@B<utpuort>../../treepanel/labeltablepanel/labeltableviewnputhll F@>objectfocus+>labels/equi..>refreshFrom #0?`PoH6cxop u  A ;   4   9 =  j0  =  B treepanel@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M{@B spatialy@NB spatialsx@PB spatialsy@Qu@B beveltype@Balignbottommargin@Balignrightmargin@@B treeview@object B viewfocus@@>objectfocus+>labels/0Bviewwindowtype@B spatialx@MB spatialy@NB spatialsx@PB spatialsy@Qu@B viewpointx@6B viewpointy@B OnKeyDown@; if(eq(lastkeydown(), 34)) // page down { setselectedobject(c, 0); setnodenum(viewpointy(c), add(get(viewpointy(c)), div(get(spatialsy(c)), 1.2))); } if(eq(lastkeydown(), 33))// page up { setselectedobject(c, 0); setnodenum(viewpointy(c), sub(get(viewpointy(c)), div(get(spatialsy(c)),1.2))); }@BOnMouseWheel@setselectedobject(ownerobject(c), 0); set( viewpointy(ownerobject(c)),sub(get(viewpointy(ownerobject(c))),div(get(node("..>OnMouseWheelDelta",c)),2))); repaintview(ownerobject(c));@BOnMouseWheelDelta@n@Balignrightmargin@Balignbottommargin@Blabeltablepanel@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@MB spatialy@NB spatialsx@PB spatialsy@Qu@B beveltype@Balignbottommargin@Balignrightmargin@B refresh@\ treenode focus = node("../labeltableview>viewfocus+",c); repaintview(node("../labeltableview",c)); refreshview(node("../labeltablename",c)); if(!objectexists(focus)) { setviewtext(node("../labeltablename",c),"Nothing selected"); windowgray(windowfromnode(node("../RowsEdit",c)),1); windowgray(windowfromnode(node("../ColumnsEdit",c)),1); windowgray(windowfromnode(node("../SetSize",c)),1); windowgray(windowfromnode(node("../labeltableview",c)),1); } else { windowgray(windowfromnode(node("../RowsEdit",c)),0); windowgray(windowfromnode(node("../ColumnsEdit",c)),0); windowgray(windowfromnode(node("../SetSize",c)),0); windowgray(windowfromnode(node("../labeltableview",c)),0); } setviewtext(node("../RowsEdit",c),numtostring(content(focus),0,0)); setviewtext(node("../ColumnsEdit",c),numtostring(content(first(focus)),0,0));@B ]../labeltableview>viewfocus+trnel/nel/ew../labeltableview../labeltablenamejectabel../labeltablenameequiNothing selected../RowsEditrom./Punt../ColumnsEditquesFromevalquir../SetSizems Wtreas Re../labeltableview../RowsEdits+../ColumnsEditcts../SetSizebles../labeltableview../RowsEditablollision>ite../ColumnsEditjectarialisihere?8(o  tdo\H o #*=    o  `  &T D o< ,   &  o p   &  o  ,  &   o  p&dToL<&o&o<&0 o ;=tdo\L ;=otur@Blabeltablename@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M@B spatialy@N@B spatialsx@Ph@B spatialsy@Q,@B picture@cbitmaps\views\static.bmpBcoldlinkname@ ../../labeltableview>viewfocus+BR:@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M@B spatialy@N?@B spatialsx@P,@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmpB RowsEdit@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@M5@B spatialy@N<@B spatialsx@PH@B spatialsy@Q4@Bpicture@cbitmaps\views\edit.bmpBtooltip@Number of rows in the tableBC:@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M@S@B spatialy@N?@B spatialsx@P,@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmpB ColumnsEdit@object B viewfocus@MAIN:/project/modelB coldlink@!@>objectfocus+>variables/columnsBviewwindowopen@Bviewwindowtype@@Y@B spatialx@MV@B spatialy@N<@B spatialsx@PG@B spatialsy@Q4@Bpicture@cbitmaps\views\checkbox.bmpBtooltip@Number of columns in the tableB SetSize@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M`b@B spatialy@N<@B spatialsx@PL@B spatialsy@Q5@Bpicture@cbitmaps\views\button.bmpB OnPress@ int rows = max(0,stringtonum(getviewtext(node("../RowsEdit",c)))); int cols = max(0,stringtonum(getviewtext(node("../ColumnsEdit",c)))); treenode labletableview = node("../labeltableview",c); treenode focus = node(">viewfocus+",labletableview); settable(focus,cols,rows,DATATYPE_NUMBER,0); repaintview(labletableview); /* applylinks(ownerview(c)); setcurrent(node("@>objectfocus+",c)); setviewtext(node("@/ColumnsEdit",c), numtostring(max(0,stringtonum(getviewtext(node("@/ColumnsEdit",c)))),0,0)); setviewtext(node("@/RowsEdit",c), numtostring(max(0,stringtonum(getviewtext(node("@/RowsEdit",c)))),0,0)); settable( current, stringtonum(getviewtext(node("@/ColumnsEdit",c))), stringtonum(getviewtext(node("@/RowsEdit",c))), 1, 0 );*/@Clabeltableview@object B viewfocus@@>objectfocus+>labels/0Bviewwindowtype@@B spatialx@MB spatialy@NL@B spatialsx@PB spatialsy@Q@r@B cellheight@3@C cellwidth@L@Balignrightmargin@Balignbottommargin@B dataentry@B noformat@B menupopup@@BCopy@atreenode TheTable = ownerobject(c); sendwindowmessage(windowfromnode(TheTable),0x0301,0,0);BPaste@atreenode TheTable = ownerobject(c); sendwindowmessage(windowfromnode(TheTable),0x0302,0,0);B-@B Insert...@@BShift cells right@Etreenode TheTable = ownerobject(c); treenode datatable = node(">viewfocus+",TheTable); treenode clickedcell = selectedobject(TheTable); int clickedcelldatatype = getdatatype(clickedcell); int startrow = gettableviewselection(TheTable,1); int startcol = gettableviewselection(TheTable,2); int endrow = gettableviewselection(TheTable,3); int endcol = gettableviewselection(TheTable,4); int minrow = min(startrow,endrow); int mincol = min(startcol,endcol); int maxrow = max(startrow,endrow); int maxcol = max(startcol,endcol); for(int row=minrow; row<=maxrow; row++) { if(row==0) continue; for(int col=mincol; col<=maxcol; col++) { if(col==0) continue; nodeinsertinto(rank(datatable,row)); treenode thenode = last(rank(datatable,row)); nodeadddata(thenode,clickedcelldatatype); setrank(thenode,col); for(int coln = col; coln<=gettablecols(datatable); coln++) { setname(gettablecell(datatable,row,coln),getname(gettablecell(datatable,row,coln+1))); } destroyobject(last(rank(datatable,row))); } } applytoedits(TheTable,clickedcell);BShift cells down@/treenode TheTable = ownerobject(c); treenode datatable = node(">viewfocus+",TheTable); treenode clickedcell = selectedobject(TheTable); int clickedcelldatatype = getdatatype(clickedcell); int startrow = gettableviewselection(TheTable,1); int startcol = gettableviewselection(TheTable,2); int endrow = gettableviewselection(TheTable,3); int endcol = gettableviewselection(TheTable,4); int minrow = min(startrow,endrow); int mincol = min(startcol,endcol); int maxrow = max(startrow,endrow); int maxcol = max(startcol,endcol); for(int row=minrow; row<=maxrow; row++) { if(row==0) continue; for(int col=mincol; col<=maxcol; col++) { if(col==0) continue; nodeinsertinto(rank(datatable,row)); treenode thenode = last(rank(datatable,row)); nodeadddata(thenode,clickedcelldatatype); setrank(thenode,col); setname(thenode,getname(next(thenode))); treenode themovednode = next(thenode); for(int rown = row; rown<=gettablerows(datatable); rown++) { if(objectexists(next(up(themovednode)))) { transfernode(themovednode,next(up(themovednode))); setrank(themovednode,col); setname(themovednode,getname(next(themovednode))); themovednode = next(themovednode); } else destroyobject(themovednode); } } } applytoedits(TheTable,clickedcell);B Entire row@treenode TheTable = ownerobject(c); treenode globaltable = node(">objectfocus+",ownerview(c)); treenode datatable = node(">viewfocus+",TheTable); treenode clickedcell = selectedobject(TheTable); int clickedcelldatatype = getdatatype(clickedcell); int startrow = gettableviewselection(TheTable,1); int startcol = gettableviewselection(TheTable,2); int endrow = gettableviewselection(TheTable,3); int endcol = gettableviewselection(TheTable,4); int minrow = min(startrow,endrow); int mincol = min(startcol,endcol); int maxrow = max(startrow,endrow); int maxcol = max(startcol,endcol); for(int row=minrow; row<=maxrow; row++) { if(row==0) continue; inc(getvarnode(globaltable,"rows"),1); createcopy(last(datatable),datatable); treenode thenode = last(datatable); setrank(thenode,row); setname(thenode,""); for(int n=1; n<=content(thenode); n++) { treenode thecell = gettablecell(datatable,row,n); if(getdatatype(thecell)==0) nodeadddata(thecell,clickedcelldatatype); if(getdatatype(thecell)==DATATYPE_NUMBER) setnodenum(thecell,0); else if(getdatatype(thecell)==DATATYPE_STRING) setnodestr(thecell,""); } } applylinks(ownerview(c),1);BEntire column@treenode TheTable = ownerobject(c); treenode globaltable = node(">objectfocus+",ownerview(c)); treenode datatable = node(">viewfocus+",TheTable); treenode clickedcell = selectedobject(TheTable); int clickedcelldatatype = getdatatype(clickedcell); int startrow = gettableviewselection(TheTable,1); int startcol = gettableviewselection(TheTable,2); int endrow = gettableviewselection(TheTable,3); int endcol = gettableviewselection(TheTable,4); int minrow = min(startrow,endrow); int mincol = min(startcol,endcol); int maxrow = max(startrow,endrow); int maxcol = max(startcol,endcol); for(int col=mincol; col<=maxcol; col++) { if(col==0) continue; inc(getvarnode(globaltable,"columns"),1); for(int n=1;n<=gettablerows(datatable);n++) { nodeinsertinto(rank(datatable,n)); treenode thecell = last(rank(datatable,n)); nodeadddata(thecell,clickedcelldatatype); setrank(thecell,col); } } applylinks(ownerview(c),1);B Delete...@@BShift cells left@dtreenode TheTable = ownerobject(c); treenode datatable = node(">viewfocus+",TheTable); treenode clickedcell = selectedobject(TheTable); int clickedcelldatatype = getdatatype(clickedcell); int startrow = gettableviewselection(TheTable,1); int startcol = gettableviewselection(TheTable,2); int endrow = gettableviewselection(TheTable,3); int endcol = gettableviewselection(TheTable,4); int minrow = min(startrow,endrow); int mincol = min(startcol,endcol); int maxrow = max(startrow,endrow); int maxcol = max(startcol,endcol); for(int row=minrow; row<=maxrow; row++) { if(row==0) continue; for(int col=mincol; col<=maxcol; col++) { if(col==0) continue; treenode thenode = gettablecell(datatable,row,max(mincol,1)); setrank(thenode,gettablecols(datatable)); nodedeldata(thenode); nodeadddata(thenode,clickedcelldatatype); string myname = getname(thenode); for(int coln=gettablecols(datatable); coln>max(mincol,1); coln--) { setname(thenode,getname(prev(thenode))); thenode = prev(thenode); } setname(thenode,myname); } } applytoedits(TheTable,clickedcell);BShift cells up@treenode TheTable = ownerobject(c); treenode datatable = node(">viewfocus+",TheTable); treenode clickedcell = selectedobject(TheTable); int clickedcelldatatype = getdatatype(clickedcell); int startrow = gettableviewselection(TheTable,1); int startcol = gettableviewselection(TheTable,2); int endrow = gettableviewselection(TheTable,3); int endcol = gettableviewselection(TheTable,4); int minrow = min(startrow,endrow); int mincol = min(startcol,endcol); int maxrow = max(startrow,endrow); int maxcol = max(startcol,endcol); for(int row=minrow; row<=maxrow; row++) { if(row==0) continue; for(int col=mincol; col<=maxcol; col++) { if(col==0) continue; treenode thenode = gettablecell(datatable,max(minrow,1),col); transfernode(thenode,last(datatable)); nodedeldata(thenode); nodeadddata(thenode,clickedcelldatatype); string myname = getname(thenode); setrank(thenode,col); treenode nextnode = next(thenode); for(int rown=gettablerows(datatable); rown>max(minrow,1); rown--) { transfernode(nextnode,prev(up(nextnode))); setrank(nextnode,col); nextnode = next(nextnode); } for(rown=gettablerows(datatable); rown>max(minrow,1); rown--) { thenode = gettablecell(datatable,rown,col); treenode prevnode = gettablecell(datatable,rown-1,col); setname(thenode,getname(prevnode)); } setname(gettablecell(datatable,max(minrow,1),col),myname); } } applytoedits(TheTable,clickedcell);B Entire row@treenode TheTable = ownerobject(c); treenode globaltable = node(">objectfocus+",ownerview(c)); treenode datatable = node(">viewfocus+",TheTable); treenode clickedcell = selectedobject(TheTable); int startrow = gettableviewselection(TheTable,1); int startcol = gettableviewselection(TheTable,2); int endrow = gettableviewselection(TheTable,3); int endcol = gettableviewselection(TheTable,4); int minrow = min(startrow,endrow); int mincol = min(startcol,endcol); int maxrow = max(startrow,endrow); int maxcol = max(startcol,endcol); if(startrow==0) return 0; for(int row=minrow; row<=maxrow; row++) { if(row==0) continue; if(max(1,minrow)==1) { for(int n=1; n<=gettablecols(datatable); n++) { treenode thenode = gettablecell(datatable,max(1,minrow),n); treenode nextnode = gettablecell(datatable,max(1,minrow)+1,n); setname(nextnode,getname(thenode)); } } destroyobject(rank(datatable,max(1,minrow))); inc(getvarnode(globaltable,"rows"),-1); } applylinks(ownerview(c),1);BEntire column@Ftreenode TheTable = ownerobject(c); treenode globaltable = node(">objectfocus+",ownerview(c)); treenode datatable = node(">viewfocus+",TheTable); treenode clickedcell = selectedobject(TheTable); int startrow = gettableviewselection(TheTable,1); int startcol = gettableviewselection(TheTable,2); int endrow = gettableviewselection(TheTable,3); int endcol = gettableviewselection(TheTable,4); int minrow = min(startrow,endrow); int mincol = min(startcol,endcol); int maxrow = max(startrow,endrow); int maxcol = max(startcol,endcol); if(startcol==0) return 0; for(int col=mincol; col<=maxcol; col++) { if(col==0) continue; for(int n=1;n<=gettablerows(datatable);n++) { destroyobject(gettablecell(datatable,n,max(1,mincol))); } inc(getvarnode(globaltable,"columns"),-1); } applylinks(ownerview(c),1);B Clear Data@,treenode TheTable = ownerobject(c); treenode datatable = node(">viewfocus+",TheTable); treenode clickedcell = selectedobject(TheTable); int startrow = gettableviewselection(TheTable,1); int startcol = gettableviewselection(TheTable,2); int endrow = gettableviewselection(TheTable,3); int endcol = gettableviewselection(TheTable,4); int minrow = min(startrow,endrow); int mincol = min(startcol,endcol); int maxrow = max(startrow,endrow); int maxcol = max(startcol,endcol); for(int row=minrow; row<=maxrow; row++) { for(int col=mincol; col<=maxcol; col++) { if(row==0&&col!=0) setname(gettablecell(datatable,1,col),""); if(col==0&&row!=0) setname(rank(datatable,row),""); if(row!=0&&col!=0) { treenode thenode = gettablecell(datatable,row,col); if(getdatatype(thenode)==DATATYPE_NUMBER) setnodenum(thenode,0); else if(getdatatype(thenode)==DATATYPE_STRING) setnodestr(thenode,""); else if(getdatatype(thenode)==0) nodeadddata(thenode,DATATYPE_STRING); } } } applytoedits(TheTable,clickedcell);@B-@BSort Table by Column...@B-@BAssign Number Data@treenode TheTable = ownerobject(c); treenode datatable = node(">viewfocus+",TheTable); treenode clickedcell = selectedobject(TheTable); int startrow = gettableviewselection(TheTable,1); int startcol = gettableviewselection(TheTable,2); int endrow = gettableviewselection(TheTable,3); int endcol = gettableviewselection(TheTable,4); int minrow = min(startrow,endrow); int mincol = min(startcol,endcol); int maxrow = max(startrow,endrow); int maxcol = max(startcol,endcol); for(int row=minrow; row<=maxrow; row++) { if(row==0) continue; for(int col=mincol; col<=maxcol; col++) { if(col==0) continue; treenode thenode = gettablecell(datatable,row,col); string stringdata = ""; if(getdatatype(thenode)==DATATYPE_STRING) { stringdata = getnodestr(thenode); nodeadddata(thenode,DATATYPE_NUMBER); setnodenum(thenode,stringtonum(stringdata)); } else if(getdatatype(thenode)==0) { nodeadddata(thenode,DATATYPE_NUMBER); } } } applytoedits(TheTable,clickedcell);BAssign String Data@otreenode TheTable = ownerobject(c); treenode datatable = node(">viewfocus+",TheTable); treenode clickedcell = selectedobject(TheTable); int startrow = gettableviewselection(TheTable,1); int startcol = gettableviewselection(TheTable,2); int endrow = gettableviewselection(TheTable,3); int endcol = gettableviewselection(TheTable,4); int minrow = min(startrow,endrow); int mincol = min(startcol,endcol); int maxrow = max(startrow,endrow); int maxcol = max(startcol,endcol); int globalprecision = getnodenum(node("/1/environment/settings/precision",maintree())); for(int row=minrow; row<=maxrow; row++) { if(row==0) continue; for(int col=mincol; col<=maxcol; col++) { if(col==0) continue; treenode thenode = gettablecell(datatable,row,col); double numberdata = 0; if(getdatatype(thenode)==DATATYPE_NUMBER) { numberdata = getnodenum(thenode); nodeadddata(thenode,DATATYPE_STRING); setnodestr(thenode,numtostring(numberdata,0,globalprecision)); } else if(getdatatype(thenode)==0) { nodeadddata(thenode,DATATYPE_STRING); } } } applytoedits(TheTable,clickedcell);B-@BExplore Tree@if (license()) { viewmenucommand("Explore|As Tree",ownerobject(c)); } else{msg("Flexsim","Not available in evaluation mode.");} BExplore Structure@if (license()) { viewmenucommand("View|Structure...|Explore structure",ownerobject(c)); } else{msg("Flexsim","Not available in evaluation mode.");} BAdd Number Label@objectBviewwindowtype@Y@B spatialx@M@B spatialy@Nv@B spatialsx@PX@B spatialsy@Q5@Balignbottomposition@L@B OnPress@setcurrent(node("@>objectfocus+>labels",c)); nodeinsertinto(current); setname(last(current), "newnumberlabel"); nodeadddata(last(current), 1); repaintview(node("../splitterpanel/tablepanel/tableview",c)); repaintview(node("../splitterpanel/treepanel/treeview",c)); @BAdd Text Label@objectBviewwindowtype@Y@B spatialx@M\@B spatialy@Nv@B spatialsx@PX@B spatialsy@Q5@Balignbottomposition@L@B OnPress@setcurrent(node("@>objectfocus+>labels",c)); nodeinsertinto(current); setname(last(current), "newstringlabel"); nodeadddata(last(current), 2); repaintview(node("../splitterpanel/tablepanel/tableview",c)); repaintview(node("../splitterpanel/treepanel/treeview",c)); @BDelete@objectBviewwindowtype@Y@B spatialx@M@B spatialy@N@x@B spatialsx@PX@B spatialsy@Q5@Balignbottomposition@<@B OnPress@ if(msg("Delete","Are you sure you want to delete the selected label(s)?")) { treenode TheTable = node("../splitterpanel/tablepanel/tableview",c); treenode thelabels = node(">viewfocus+",TheTable); int startrow = gettableviewselection(TheTable,1); int endrow = gettableviewselection(TheTable,3); int minrow = min(startrow,endrow); int maxrow = max(startrow,endrow); for(int i=maxrow;i>=minrow;i--) { treenode thelabel = rank(thelabels,i); if(objectexists(thelabel)) destroyobject(thelabel); } repaintview(node("../splitterpanel/tablepanel/tableview",c)); repaintview(node("../splitterpanel/treepanel/treeview",c)); nodefunction(node("../splitterpanel/treepanel/labeltablepanel>refresh",c)); } @B tooltip@Deletes the selected label(s).B Duplicate@objectBviewwindowtype@Y@B spatialx@M\@B spatialy@N@x@B spatialsx@PX@B spatialsy@Q5@Balignbottomposition@<@B OnPress@ treenode TheTable = node("../splitterpanel/tablepanel/tableview",c); treenode thelabels = node(">viewfocus+",TheTable); int startrow = gettableviewselection(TheTable,1); int endrow = gettableviewselection(TheTable,3); int minrow = min(startrow,endrow); int maxrow = max(startrow,endrow); for(int i=minrow;i<=maxrow;i++) { treenode thelabel = rank(thelabels,i); if(objectexists(thelabel)) createcopy(thelabel, up(thelabel),1,0,0,0); } repaintview(node("../splitterpanel/tablepanel/tableview",c));@B tooltip@"Duplicates the selected label(s).B Advanced@@objectBviewwindowtype@Y@B spatialx@Mr@B spatialy@Nv@B spatialsx@P@c@B spatialsy@Q<@Balignbottomposition@L@Balignrightposition@ d@B beveltype@@B Tree View@@objectBviewwindowtype@Z@B spatialx@MB spatialy@NB spatialsx@PQ@B spatialsy@Q5@B OnPress@ treenode splitterpanel = node("../../splitterpanel",c); treenode tablepanel = node("../../splitterpanel/tablepanel",c); treenode treepanel = node("../../splitterpanel/treepanel",c); int size = get(spatialsx(splitterpanel)); if(get(node(">pressed",c))) { setchecked(c,0); set(node(">pressed",c),0); //unclicking set(spatialsx(tablepanel),size-9); set(spatialx(treepanel),size); refreshview(splitterpanel); windowshow(windowfromnode(treepanel),0); return 0; } set(node(">pressed",c),1); set(node("../Label Table>pressed",c),0); //clicking set(spatialsx(tablepanel),size/2); set(spatialx(treepanel),size/2+9); refreshview(splitterpanel); windowshow(windowfromnode(rank(treepanel,1)),1); windowshow(windowfromnode(rank(treepanel,2)),0);@B pressed@Bstyle@@B BS_PUSHLIKE@B Label Table@@objectBviewwindowtype@Z@B spatialx@M@S@B spatialy@NB spatialsx@PQ@B spatialsy@Q5@B OnPress@Ytreenode splitterpanel = node("../../splitterpanel",c); treenode tablepanel = node("../../splitterpanel/tablepanel",c); treenode treepanel = node("../../splitterpanel/treepanel",c); int size = get(spatialsx(splitterpanel)); if(get(node(">pressed",c))) { setchecked(c,0); set(node(">pressed",c),0); //unclicking set(spatialsx(tablepanel),size-9); set(spatialx(treepanel),size); refreshview(splitterpanel); windowshow(windowfromnode(treepanel),0); return 0; } set(node(">pressed",c),1); set(node("../Tree View>pressed",c),0); //clicking set(spatialsx(tablepanel),size/2); set(spatialx(treepanel),size/2+9); refreshview(splitterpanel); nodefunction(node("../../splitterpanel/treepanel/labeltablepanel>refresh",c)); windowshow(windowfromnode(rank(treepanel,1)),0); windowshow(windowfromnode(rank(treepanel,2)),1);@B pressed@Bstyle@@B BS_PUSHLIKE@B General@object B viewfocus@MAIN:/project/modelBviewwindowopen@?Bviewwindowtype@Y@B spatialx@M@B spatialy@N8@B spatialsx@P |@B spatialsy@Qz@Bpicture@cbitmaps\views\panel.bmpB beveltype@@B helptopic@ tab_GeneralB tooltip@B PageOnOpen@otreenode focus = node("@>objectfocus+",c); treenode flags = node("../Flags",c); setchecked(node("/Show Name",flags), !switch_hidelabel(focus)); setchecked(node("/Show Ports",flags), !switch_hideconnectors(focus)); setchecked(node("/Show 2D Shape",flags), !switch_hidebase(focus)); setchecked(node("/Show 3D Shape",flags), !switch_hideshape(focus)); setchecked(node("/Show Contents",flags), !switch_hidecontents(focus)); setchecked(node("/Scale Contents",flags), !switch_variable(focus,"nochildscale")); setchecked(node("/Protected",flags), switch_protected(focus)); sets(node("../Appearance/editShape>original",c), gets(node(">objectfocus+>visual/",c))); setcurrent(node("../Ports/Port Chooser", c)); //set(itemcurrent(current), 1); listboxrefresh(current); nodefunction(node("../Ports/portnames>refresh", c)); repaintview(node("../Appearance/colorwell",c));@Bh_@>objectfocus+etfo..>i../Flags/Show Name/Show Portsvie/Show 2D Shape/Show 3D Shape/Show Contents /Scale Contentsnochildscale /Protectedbles../Appearance/editShape>original>objectfocus+>visual/>las../Ports/Port Chooser../Ports/portnames>refresh../Appearance/colorwellfic?(o?\LoD8 *==xl * ==x *l`=TD=8( *== 8  *,  =   =     *   =x  h =\  H   =   =   u t| l od L < o4 >oAj o \LoD(3fB PageOnApply@Ctreenode focus = node("@>objectfocus+",c); treenode flags = node("../Flags",c); switch_hidelabel(focus, !getchecked(node("/Show Name",flags))); switch_hideconnectors(focus,!getchecked(node("/Show Ports",flags))); switch_hidebase(focus, !getchecked(node("/Show 2D Shape",flags))); switch_hideshape(focus, !getchecked(node("/Show 3D Shape",flags))); switch_hidecontents(focus,!getchecked(node("/Show Contents",flags))); switch_variable(focus,"nochildscale", !getchecked(node("/Scale Contents",flags))); switch_protected(focus,getchecked(node("/Protected",flags))); int reload = 0; treenode edit; edit = node("../Appearance/editShape",c); if(!comparetext(getviewtext(edit), gets(node(">coldlink+", edit)))) reload = 1; edit = node("../Appearance/editImageBase",c); if(!comparetext(getviewtext(edit), gets(node(">coldlink+", edit)))) reload = 1; edit = node("../Appearance/editImageObject",c); if(!comparetext(getviewtext(edit), gets(node(">coldlink+", edit)))) reload = 1; applylinks(up(c)); if(reload) { autoloadallmedia(); applyshapefactors(focus); }@B @>objectfocus+etfo..>i../Flagsme/Show Namerts/Show Ports Sha/Show 2D Shape Sha/Show 3D Shapenten/Show Contents ontenochildscale/Scale Contents ed/Protectede/edorig../Appearance/editShape>objsual>coldlink+ortsr../Appearance/editImageBaseppealorw>coldlink+embet../Appearance/editImageObject>coldlink+../C ?(o?\LoD8 *=x=l * ==x *l`P=D4=( *== 8  *,    =   =    *   =x  d T =H     =   =  6  ? >`PoH, * B t=|=p5 > o * B| tp`=TH<=05 >o  *L B< t0 ==5X |poh "4=c))@B Appearance@object B viewfocus@MAIN:/project/modelBviewwindowopen@?Bviewwindowtype@Z@B spatialx@M@B spatialy@N@B spatialsx@Pr@B spatialsy@Qe@B tooltip@Balignrightmargin@a@@B 3D Shape@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M,@B spatialy@N8@B spatialsx@PL@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmpB tooltip@@B editShape@object Bviewwindowopen@Bviewwindowtype@@Y@B spatialx@MQ@B spatialy@N5@B spatialsx@P f@B spatialsy@Q5@B coldlink@@>objectfocus+>visual/shape@B original@B tooltip@KA 3D solid modeling file used to represent this object in virtual reality.Balignrightmargin@L@@B...@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@Mn@B spatialy@N5@B spatialsx@P5@B spatialsy@Q5@Bpicture@cbitmaps\views\button.bmpB OnPress@treenode openpathnode = node("VIEW:/environment/mediapath"); string filepath; string directory; if(stringlen(gets(openpathnode))>0 && fileexists(gets(openpathnode))) { int index = 0; int nextindex = stringsearch(gets(openpathnode), "\\", index); int i = 1; while(nextindex >= 0) { index = nextindex; nextindex = stringsearch(gets(openpathnode), "\\", index+1); } directory = stringpart(gets(openpathnode), 0, index); } else { directory = modeldir(); if(stringlen(directory) < 3) directory = documentsdir(); } filepath = filebrowse("*.wrl; *.3ds; *.dxf; *.stl","3D shapes",directory); if(stringlen(filepath)>4) { int cdirlen = stringlen(cdir()); sets(openpathnode, filepath); filepath = truncatemediapath(filepath); setviewtext(node("../editShape",c),filepath); applylinks(ownerview(c)); setitem(node("@>objectfocus+",c)); if(getshapeindex(gets(shape(item)))==0) autoloadshapes(); set(shapeindex(item), getshapeindex(gets(shape(item)))); applyshapefactors(item); repaintall(); } @Btemp@B tooltip@Browse directoriesBalignrightposition@L@@Bwww@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@Mp@B spatialy@N5@B spatialsx@P5@B spatialsy@Q5@Bpicture@cbitmaps\views\button.bmpB OnPress@showhelp("media_3D");@Btemp@B tooltip@Search Flexsim DownloadsBbitmap@buttons\internet.bmpBalignrightposition@A@@BShape Factors@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M,@B spatialy@NJ@B spatialsx@PQ@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmpBEdit@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@MX@B spatialy@NH@B spatialsx@PL@B spatialsy@Q5@Bpicture@cbitmaps\views\button.bmpB OnPress@ if(not(objectexists(offsetx(node("@>objectfocus+",c))))) { if(not(objectexists(node("@>objectfocus+>spatial",c)))) { nodeinsertafter(node("@>objectfocus+>1",c)); setname(node("@>objectfocus+>2",c), "spatial"); } nodeinsertinto(node("@>objectfocus+>spatial",c)); setnodename(last(node("@>objectfocus+>spatial",c)),"offsetx"); nodeadddata(last(node("@>objectfocus+>spatial",c)),1); nodeinsertinto(node("@>objectfocus+>spatial",c)); setnodename(last(node("@>objectfocus+>spatial",c)),"offsety"); nodeadddata(last(node("@>objectfocus+>spatial",c)),1); nodeinsertinto(node("@>objectfocus+>spatial",c)); setnodename(last(node("@>objectfocus+>spatial",c)),"offsetz"); nodeadddata(last(node("@>objectfocus+>spatial",c)),1); nodeinsertinto(node("@>objectfocus+>spatial",c)); setnodename(last(node("@>objectfocus+>spatial",c)),"offsetsx"); nodeadddata(last(node("@>objectfocus+>spatial",c)),1); setnodenum(last(node("@>objectfocus+>spatial",c)),1); nodeinsertinto(node("@>objectfocus+>spatial",c)); setnodename(last(node("@>objectfocus+>spatial",c)),"offsetsy"); nodeadddata(last(node("@>objectfocus+>spatial",c)),1); setnodenum(last(node("@>objectfocus+>spatial",c)),1); nodeinsertinto(node("@>objectfocus+>spatial",c)); setnodename(last(node("@>objectfocus+>spatial",c)),"offsetsz"); nodeadddata(last(node("@>objectfocus+>spatial",c)),1); setnodenum(last(node("@>objectfocus+>spatial",c)),1); nodeinsertinto(node("@>objectfocus+>spatial",c)); setnodename(last(node("@>objectfocus+>spatial",c)),"offsetrx"); nodeadddata(last(node("@>objectfocus+>spatial",c)),1); nodeinsertinto(node("@>objectfocus+>spatial",c)); setnodename(last(node("@>objectfocus+>spatial",c)),"offsetry"); nodeadddata(last(node("@>objectfocus+>spatial",c)),1); nodeinsertinto(node("@>objectfocus+>spatial",c)); setnodename(last(node("@>objectfocus+>spatial",c)),"offsetrz"); nodeadddata(last(node("@>objectfocus+>spatial",c)),1); } if(not(comparetext(getname(up(offsetx(node("@>objectfocus+",c)))),"spatial"))) { transfernode(offsetx(node("@>objectfocus+",c)),node("@>objectfocus+>spatial",c)); transfernode(offsety(node("@>objectfocus+",c)),node("@>objectfocus+>spatial",c)); transfernode(offsetz(node("@>objectfocus+",c)),node("@>objectfocus+>spatial",c)); transfernode(offsetrx(node("@>objectfocus+",c)),node("@>objectfocus+>spatial",c)); transfernode(offsetry(node("@>objectfocus+",c)),node("@>objectfocus+>spatial",c)); transfernode(offsetrz(node("@>objectfocus+",c)),node("@>objectfocus+>spatial",c)); transfernode(offsetsx(node("@>objectfocus+",c)),node("@>objectfocus+>spatial",c)); transfernode(offsetsy(node("@>objectfocus+",c)),node("@>objectfocus+>spatial",c)); transfernode(offsetsz(node("@>objectfocus+",c)),node("@>objectfocus+>spatial",c)); } rebindobjectattributes(node("@>objectfocus+",c)); createview( "VIEW:/standardviews/ShapeFactors", gets(node("@>objectfocus",c)), gets(node("@>objectfocus",c)) ); @Btooltip@MUpdate the spatial offsets (position,rotation,size) for the current 3d shapeBReset@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M d@B spatialy@NH@B spatialsx@PL@B spatialsy@Q5@Bpicture@cbitmaps\views\button.bmpB OnPress@4setcurrent(node("@>objectfocus+",c)); set(offsetx(current), 0); set(offsety(current), 0); set(offsetz(current), 0); set(offsetrx(current), 0); set(offsetry(current), 0); set(offsetrz(current), 0); set(offsetsx(current), 1); set(offsetsy(current), 1); set(offsetsz(current), 1); repaintall(); @B tooltip@LReset the spatial offsets (position,rotation,size) for the current 3d shapeB 2D Shape@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M,@B spatialy@NT@B spatialsx@PH@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmp@BeditImageBase@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@MQ@B spatialy@N@S@B spatialsx@P f@B spatialsy@Q5@Bpicture@cbitmaps\views\edit.bmpB coldlink@ @>objectfocus+>visual/imagebaseB tooltip@bA 2D image file used to represent this object when 2D Shapes rather than 3D Shapes are displayed.Balignrightmargin@L@@B...@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@Mn@B spatialy@N@S@B spatialsx@P5@B spatialsy@Q5@Bpicture@cbitmaps\views\button.bmpB OnPress@treenode openpathnode = node("VIEW:/environment/mediapath"); string filepath; string directory; if(stringlen(gets(openpathnode))>0 && fileexists(gets(openpathnode))) { int index = 0; int nextindex = stringsearch(gets(openpathnode), "\\", index); int i = 1; while(nextindex >= 0) { index = nextindex; nextindex = stringsearch(gets(openpathnode), "\\", index+1); } directory = stringpart(gets(openpathnode), 0, index); } else { directory = modeldir(); if(stringlen(directory) < 3) directory = documentsdir(); } filepath = filebrowse("*.bmp;*.jpg","2D images",directory); if(stringlen(filepath)>4) { int cdirlen = stringlen(cdir()); sets(openpathnode, filepath); filepath = truncatemediapath(filepath); setviewtext(node("../editImageBase",c),filepath); applylinks(ownerview(c)); setitem(node("@>objectfocus+",c)); if(gettextureindex(gets(imagebase(item)))==0) autoloadimages(); set(imageindexbase(item), gettextureindex(gets(imagebase(item)))); repaintall(); } @Btemp@B tooltip@Browse directoriesBalignrightposition@L@@Bwww@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@Mp@B spatialy@N@S@B spatialsx@P5@B spatialsy@Q5@Bpicture@cbitmaps\views\button.bmpB OnPress@showhelp("media_2D");@Btemp@B tooltip@Search Flexsim DownloadsBbitmap@buttons\internet.bmpBalignrightposition@A@@B 3D Texture@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M,@B spatialy@N[@B spatialsx@PL@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmpBeditImageObject@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@MQ@B spatialy@N@Z@B spatialsx@P f@B spatialsy@Q5@Bpicture@cbitmaps\views\edit.bmpB coldlink@"@>objectfocus+>visual/imageobjectB tooltip@YA 2D image file used for texturing specially prepared 3D shapes assigned to this object.Balignrightmargin@L@@B...@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@Mn@B spatialy@N@Z@B spatialsx@P5@B spatialsy@Q5@B picture@cbitmaps\views\button.bmpB OnPress@ treenode openpathnode = node("VIEW:/environment/mediapath"); string filepath; string directory; if(stringlen(gets(openpathnode))>0 && fileexists(gets(openpathnode))) { int index = 0; int nextindex = stringsearch(gets(openpathnode), "\\", index); int i = 1; while(nextindex >= 0) { index = nextindex; nextindex = stringsearch(gets(openpathnode), "\\", index+1); } directory = stringpart(gets(openpathnode), 0, index); } else { directory = modeldir(); if(stringlen(directory) < 3) directory = documentsdir(); } filepath = filebrowse("*.bmp;*.jpg","2D images",directory); if(stringlen(filepath)>4) { int cdirlen = stringlen(cdir()); sets(openpathnode, filepath); filepath = truncatemediapath(filepath); setviewtext(node("../editImageObject",c),filepath); applylinks(ownerview(c)); setitem(node("@>objectfocus+",c)); if(gettextureindex(gets(imageobject(item)))==0) autoloadimages(); set(imageindexobject(item), gettextureindex(gets(imageobject(item)))); repaintall(); } @Btemp@B tooltip@Browse directoriesBalignrightposition@L@@Bwww@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@Mp@B spatialy@N@Z@B spatialsx@P5@B spatialsy@Q5@Bpicture@cbitmaps\views\button.bmpB OnPress@showhelp("media_2D");@Btemp@B tooltip@Search Flexsim DownloadsBbitmap@buttons\internet.bmpBalignrightposition@A@@BColor@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M5@B spatialy@Na@B spatialsx@PE@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmpB colorwell@object B viewfocus@@>objectfocus+>visual/colorBviewwindowopen@?Bviewwindowtype@Y@B spatialx@MQ@B spatialy@N`@B spatialsx@P f@B spatialsy@Q5@Bpicture@cbitmaps\views\panel.bmpB beveltype@@Bcolor@aB tooltip@Balignrightmargin@L@@B...@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@Mn@B spatialy@N`@B spatialsx@P5@B spatialsy@Q5@Bpicture@cbitmaps\views\button.bmpB OnPress@spickcolornode(node("@>objectfocus+>visual/color",c)); //pickcolornode(so()) repaintview(node("../colorwell",c));@B tooltip@Balignrightposition@L@@BFlags@@object B viewfocus@MAIN:/project/modelBviewwindowopen@?Bviewwindowtype@Z@B spatialx@M`s@B spatialy@N@B spatialsx@P`@B spatialsy@Qe@Bpicture@cbitmaps\views\groupbox.bmpB beveltype@B tooltip@Balignrightposition@a@@B Show Name@@objectBviewwindowtype@@Z@B spatialx@M5@B spatialy@N,@B spatialsx@P@S@B spatialsy@Q5@B itemcurrent@B tooltip@@B Show Ports@@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Z@B spatialx@M5@B spatialy@NA@B spatialsx@P@S@B spatialsy@Q5@Bpicture@cbitmaps\views\checkbox.bmpB itemcurrent@B tooltip@@BShow 2D Shape@@objectBviewwindowtype@@Z@B spatialx@M5@B spatialy@NL@B spatialsx@PX@B spatialsy@Q5@B itemcurrent@B tooltip@@BShow 3D Shape@@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Z@B spatialx@M5@B spatialy@N@S@B spatialsx@PV@B spatialsy@Q5@Bpicture@cbitmaps\views\checkbox.bmpB itemcurrent@B tooltip@@BShow Contents@@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Z@B spatialx@M5@B spatialy@NX@B spatialsx@PX@B spatialsy@Q5@Bpicture@cbitmaps\views\checkbox.bmpB itemcurrent@B tooltip@@BScale Contents@@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Z@B spatialx@M5@B spatialy@N]@B spatialsx@PV@B spatialsy@Q5@Bpicture@cbitmaps\views\checkbox.bmpB itemcurrent@B tooltip@@B Protected@@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Z@B spatialx@M5@B spatialy@Na@B spatialsx@PO@B spatialsy@Q3@Bpicture@cbitmaps\views\checkbox.bmpB itemcurrent@B tooltip@@BPosition, Rotation, and Size@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Z@B spatialx@M@B spatialy@Ne@B spatialsx@Px@B spatialsy@Q\@Bpicture@cbitmaps\views\groupbox.bmpB tooltip@@BX@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M,@B spatialy@N8@B spatialsx@P,@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmpBY@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M,@B spatialy@NJ@B spatialsx@P,@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmp@BZ@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M,@B spatialy@NT@B spatialsx@P,@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmpBeditX@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@M<@B spatialy@N5@B spatialsx@PV@B spatialsy@Q5@Bpicture@cbitmaps\views\edit.bmpB tooltip@B hotlink@ @>objectfocus+>spatial/spatialxB OnKeyUp@Cint k = lastkeyup(); if(k==13) // enter { applylinks(c); } @B OnKillFocus@applylinks(c);@@BeditY@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@M<@B spatialy@NH@B spatialsx@PV@B spatialsy@Q5@Bpicture@cbitmaps\views\edit.bmpB tooltip@B hotlink@ @>objectfocus+>spatial/spatialyB OnKeyUp@Cint k = lastkeyup(); if(k==13) // enter { applylinks(c); } @B OnKillFocus@applylinks(c);@@BeditZ@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@M<@B spatialy@N@S@B spatialsx@PV@B spatialsy@Q5@Bpicture@cbitmaps\views\edit.bmpB tooltip@B hotlink@ @>objectfocus+>spatial/spatialzB OnKeyUp@Cint k = lastkeyup(); if(k==13) // enter { applylinks(c); } @B OnKillFocus@applylinks(c);@@B Xspinner@objectBviewwindowtype@^@B viewfocus@ ../../editXB spatialx@MY@B spatialy@N5@B spatialsx@P5@B spatialsy@Q5@B tooltip@B beveltype@B itemcurrent@B picture@cbitmaps\views\spinner.bmpBstep@?B coefficient@{Gz?B exponent@333333?B OnClick@$"if(clickcode() == LEFT_PRESS) { set(itemcurrent(c),stringtonum(getviewtext(node(">viewfocus+",c)))); } if(clickcode() == LEFT_RELEASE) { setcursor(1); set(node(">editing",c),0); executefsnode(node(">viewfocus+>OnKillFocus",c),node(">viewfocus+",c)); // for immediate apply } @B@plit>viewfocus+plitlepa../lanelel>editing>viewfocus+>OnKillFocus>viewfocus+../R  #0}l<`TDo<,  o #0|_ }   o  D0  o   o B editing@B lastval@{Gz?Blasty@c@B OnMouseMove@lif(i) // off the spinner { int y = cursorinfo(c, 6, 2, 0); if(get(node(">editing",c))==0) // first time falling off the spinner { setcursor(11); set(node(">lastval",c),get(itemcurrent(c))); set(node(">lasty",c),y); set(node(">editing",c),1); } int monitortop = getsystemmetric(5); int monitorbottom = getsystemmetric(6); if(y <= monitortop+1) { double newy = monitorbottom - 2; cursorinfo(c, 7, 2, newy); inc(node(">lasty",c), newy - y); y = newy; } else if(y >= monitorbottom-1) { double newy = monitortop + 2; cursorinfo(c, 7, 2, newy); inc(node(">lasty", c), newy - y); y = newy; } int dy = -(y - get(node(">lasty",c))); double prevvalue = get(node(">lastval",c)); double newvalue; double coefficient = getnodenum(node(">coefficient",c)); double exponent = getnodenum(node(">exponent",c)); if(dy > 0) newvalue = prevvalue + coefficient*pow(dy,exponent); else newvalue = prevvalue - coefficient*pow(-dy,exponent); if(objectexists(rangemin(c)) && newvalueget(rangemax(c))) newvalue = get(rangemax(c)); set(itemcurrent(c),newvalue); setviewtext(node(">viewfocus+",c), numtostring(newvalue,0,2)); executefsnode(node(">viewfocus+>OnKillFocus",c),node(">viewfocus+",c)); // for immediate apply } @Bplitus+>editingit../l>lastvalting>vie>lastyllFous+>editingitFrom../Ss Re../l>lastydit../Cit../Sblesevie>lastyabl>lasty../Citaria>lastvalsihere>coefficientembe>exponent../C Memembe ../Cbers ick ../Solvejecnvol/tab>viewfocus+>viewfocus+>OnKillFocus>viewfocus+B .p6(<o #h|\LoD8_x }| oo } 4   o  }8  ( o   6T  9H 6p9d "&4494<7oX H4<70 o5t7h " !$4494<7o\ L4@74$o5x7l6  |o49 |o 90 !9p!!~d!T!oL!<"9" "~""o" #%##4#$8< $$, $$ $7$ $4$ $7$$7$ %%8%% % %%7% %p% %4d% %7X%%7L% '')( '''| 'V'o'7'''V'o(8X((|L(V@(o8 H)) )%)|)W)o)7))|)Wp)oh*8**|*W*o+}$+7++  +o,| ,;h,,,7\,,L,oD,4-D--o---o-B Yspinner@objectBviewwindowtype@^@B viewfocus@ ../../editYB spatialx@MY@B spatialy@NH@B spatialsx@P5@B spatialsy@Q5@B tooltip@B beveltype@B itemcurrent@B picture@cbitmaps\views\spinner.bmpBstep@?B coefficient@{Gz?B exponent@333333?B OnClick@$"if(clickcode() == LEFT_PRESS) { set(itemcurrent(c),stringtonum(getviewtext(node(">viewfocus+",c)))); } if(clickcode() == LEFT_RELEASE) { setcursor(1); set(node(">editing",c),0); executefsnode(node(">viewfocus+>OnKillFocus",c),node(">viewfocus+",c)); // for immediate apply } @B@plit>viewfocus+ediit../l>editing>viewfocus+>OnKillFocus>viewfocus+edi  #0}l<`TDo<,  o #0|_ }   o  D0  o   o B editing@B lastval@{Gz?Blasty@c@B OnMouseMove@lif(i) // off the spinner { int y = cursorinfo(c, 6, 2, 0); if(get(node(">editing",c))==0) // first time falling off the spinner { setcursor(11); set(node(">lastval",c),get(itemcurrent(c))); set(node(">lasty",c),y); set(node(">editing",c),1); } int monitortop = getsystemmetric(5); int monitorbottom = getsystemmetric(6); if(y <= monitortop+1) { double newy = monitorbottom - 2; cursorinfo(c, 7, 2, newy); inc(node(">lasty",c), newy - y); y = newy; } else if(y >= monitorbottom-1) { double newy = monitortop + 2; cursorinfo(c, 7, 2, newy); inc(node(">lasty", c), newy - y); y = newy; } int dy = -(y - get(node(">lasty",c))); double prevvalue = get(node(">lastval",c)); double newvalue; double coefficient = getnodenum(node(">coefficient",c)); double exponent = getnodenum(node(">exponent",c)); if(dy > 0) newvalue = prevvalue + coefficient*pow(dy,exponent); else newvalue = prevvalue - coefficient*pow(-dy,exponent); if(objectexists(rangemin(c)) && newvalueget(rangemax(c))) newvalue = get(rangemax(c)); set(itemcurrent(c),newvalue); setviewtext(node(">viewfocus+",c), numtostring(newvalue,0,2)); executefsnode(node(">viewfocus+>OnKillFocus",c),node(">viewfocus+",c)); // for immediate apply } @Bplitus+>editingit../l>lastvalting>vie>lastyllFous+>editingitFrom../Ss Re../l>lastydit../Cit../Sblesevie>lastyabl>lasty../Citaria>lastvalsihere>coefficientembe>exponent../C Memembe ../Cbers ick ../Solvejecnvol/tab>viewfocus+>viewfocus+>OnKillFocus>viewfocus+F . .p6(<o #h|\LoD8_x }| oo } 4   o  }8  ( o   6T  9H 6p9d "&4494<7oX H4<70 o5t7h " !$449 4<7 o\ L4@74$o5x7l6  |o49 |o 90 !9p!!~d!T!oL!<"9" "~""o" #%##4#$8< $$, $$ $7$ $4$ $7$$7$ %%8%% % %%7% %p% %4d% %7X%%7L% '')( '''| 'V'o'7'''V'o(8X((|L(V@(o8 H)) )%)|)W)o)7))|)Wp)oh*8**|*W*o+}$+7++  +o,| ,;h,,,7\,,L,oD,4-D--o---o-B Zspinner@objectBviewwindowtype@^@B viewfocus@ ../../editZB spatialx@MY@B spatialy@N@S@B spatialsx@P5@B spatialsy@Q5@B tooltip@B beveltype@B itemcurrent@B picture@cbitmaps\views\spinner.bmpBstep@?B coefficient@{Gz?B exponent@333333?B OnClick@$"if(clickcode() == LEFT_PRESS) { set(itemcurrent(c),stringtonum(getviewtext(node(">viewfocus+",c)))); } if(clickcode() == LEFT_RELEASE) { setcursor(1); set(node(">editing",c),0); executefsnode(node(">viewfocus+>OnKillFocus",c),node(">viewfocus+",c)); // for immediate apply } @B@plit>viewfocus+ediit../l>editing>viewfocus+>OnKillFocus>viewfocus+edi  #0}l<`TDo<,  o #0|_ }   o  D0  o   o +B editing@B lastval@{Gz?Blasty@c@B OnMouseMove@lif(i) // off the spinner { int y = cursorinfo(c, 6, 2, 0); if(get(node(">editing",c))==0) // first time falling off the spinner { setcursor(11); set(node(">lastval",c),get(itemcurrent(c))); set(node(">lasty",c),y); set(node(">editing",c),1); } int monitortop = getsystemmetric(5); int monitorbottom = getsystemmetric(6); if(y <= monitortop+1) { double newy = monitorbottom - 2; cursorinfo(c, 7, 2, newy); inc(node(">lasty",c), newy - y); y = newy; } else if(y >= monitorbottom-1) { double newy = monitortop + 2; cursorinfo(c, 7, 2, newy); inc(node(">lasty", c), newy - y); y = newy; } int dy = -(y - get(node(">lasty",c))); double prevvalue = get(node(">lastval",c)); double newvalue; double coefficient = getnodenum(node(">coefficient",c)); double exponent = getnodenum(node(">exponent",c)); if(dy > 0) newvalue = prevvalue + coefficient*pow(dy,exponent); else newvalue = prevvalue - coefficient*pow(-dy,exponent); if(objectexists(rangemin(c)) && newvalueget(rangemax(c))) newvalue = get(rangemax(c)); set(itemcurrent(c),newvalue); setviewtext(node(">viewfocus+",c), numtostring(newvalue,0,2)); executefsnode(node(">viewfocus+>OnKillFocus",c),node(">viewfocus+",c)); // for immediate apply } @Bplitus+>editingit../l>lastvalting>vie>lastyllFous+>editingitFrom../Ss Re../l>lastydit../Cit../Sblesevie>lastyabl>lasty../Citaria>lastvalsihere>coefficientembe>exponent../C Memembe ../Cbers ick ../Solvejecnvol/tab>viewfocus+>viewfocus+>OnKillFocus>viewfocus+  .p6(<o #h|\LoD8_x }| oo } 4   o  }8  ( o   6T  9H 6p9d "&4494<7oX H4<70 o5t7h " !$449 4<7 o\ L4@74$o5x7l6  |o49 |o 90 !9p!!~d!T!oL!<"9" "~""o" #%##4#$8< $$, $$ $7$ $4$ $7$$7$ %%8%% % %%7% %p% %4d% %7X%%7L% '')( '''| 'V'o'7'''V'o(8X((|L(V@(o8 H)) )%)|)W)o)7))|)Wp)oh*8**|*W*o+}$+7++  +o,| ,;h,,,7\,,L,oD,4-D--o---o-BRX@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M`@B spatialy@N8@B spatialsx@P,@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmpBRY@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M`@B spatialy@NJ@B spatialsx@P,@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmp@BRZ@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M`@B spatialy@NT@B spatialsx@P,@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmpBeditRX@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@M@c@B spatialy@N5@B spatialsx@PU@B spatialsy@Q5@B picture@cbitmaps\views\edit.bmpB tooltip@B hotlink@!@>objectfocus+>spatial/spatialrxB OnKeyUp@Cint k = lastkeyup(); if(k==13) // enter { applylinks(c); } @B OnKillFocus@applylinks(c);@@BeditRY@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@M@c@B spatialy@NH@B spatialsx@PU@B spatialsy@Q5@Bpicture@cbitmaps\views\edit.bmpB tooltip@B hotlink@!@>objectfocus+>spatial/spatialryB OnKeyUp@Cint k = lastkeyup(); if(k==13) // enter { applylinks(c); } @B OnKillFocus@applylinks(c);@@BeditRZ@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@M@c@B spatialy@N@S@B spatialsx@PU@B spatialsy@Q5@Bpicture@cbitmaps\views\edit.bmpB tooltip@B hotlink@!@>objectfocus+>spatial/spatialrzB OnKeyUp@Cint k = lastkeyup(); if(k==13) // enter { applylinks(c); } @B OnKillFocus@applylinks(c);@@B RXspinner@objectBviewwindowtype@^@B viewfocus@ ../../editRXB spatialx@Mk@B spatialy@N5@B spatialsx@P5@B spatialsy@Q5@B tooltip@B beveltype@B itemcurrent@B picture@cbitmaps\views\spinner.bmpBstep@.@B coefficient@333333?B exponent@?B OnClick@$"if(clickcode() == LEFT_PRESS) { set(itemcurrent(c),stringtonum(getviewtext(node(">viewfocus+",c)))); } if(clickcode() == LEFT_RELEASE) { setcursor(1); set(node(">editing",c),0); executefsnode(node(">viewfocus+>OnKillFocus",c),node(">viewfocus+",c)); // for immediate apply } @B@plit>viewfocus+ediit../l>editing>viewfocus+>OnKillFocus>viewfocus+edi  #0}l<`TDo<,  o #0|_ }   o  D0  o   o B editing@B lastval@{Gz?Blasty@c@B OnMouseMove@lif(i) // off the spinner { int y = cursorinfo(c, 6, 2, 0); if(get(node(">editing",c))==0) // first time falling off the spinner { setcursor(11); set(node(">lastval",c),get(itemcurrent(c))); set(node(">lasty",c),y); set(node(">editing",c),1); } int monitortop = getsystemmetric(5); int monitorbottom = getsystemmetric(6); if(y <= monitortop+1) { double newy = monitorbottom - 2; cursorinfo(c, 7, 2, newy); inc(node(">lasty",c), newy - y); y = newy; } else if(y >= monitorbottom-1) { double newy = monitortop + 2; cursorinfo(c, 7, 2, newy); inc(node(">lasty", c), newy - y); y = newy; } int dy = -(y - get(node(">lasty",c))); double prevvalue = get(node(">lastval",c)); double newvalue; double coefficient = getnodenum(node(">coefficient",c)); double exponent = getnodenum(node(">exponent",c)); if(dy > 0) newvalue = prevvalue + coefficient*pow(dy,exponent); else newvalue = prevvalue - coefficient*pow(-dy,exponent); if(objectexists(rangemin(c)) && newvalueget(rangemax(c))) newvalue = get(rangemax(c)); set(itemcurrent(c),newvalue); setviewtext(node(">viewfocus+",c), numtostring(newvalue,0,2)); executefsnode(node(">viewfocus+>OnKillFocus",c),node(">viewfocus+",c)); // for immediate apply } @Bplitus+>editingit../l>lastvalting>vie>lastyllFous+>editingitFrom../Ss Re../l>lastydit../Cit../Sblesevie>lastyabl>lasty../Citaria>lastvalsihere>coefficientembe>exponent../C Memembe ../Cbers ick ../Solvejecnvol/tab>viewfocus+>viewfocus+>OnKillFocus>viewfocus+en e - .p6(<o #h|\LoD8_x }| oo } 4   o  }8  ( o   6T  9H 6p9d "&4494<7oX H4<70 o5t7h " !$449 4<7 o\ L4@74$o5x7l6  |o49 |o 90 !9p!!~d!T!oL!<"9" "~""o" #%##4#$8< $$, $$ $7$ $4$ $7$$7$ %%8%% % %%7% %p% %4d% %7X%%7L% '')( '''| 'V'o'7'''V'o(8X((|L(V@(o8 H)) )%)|)W)o)7))|)Wp)oh*8**|*W*o+}$+7++  +o,| ,;h,,,7\,,L,oD,4-D--o---o-, lB RYspinner@objectBviewwindowtype@^@B viewfocus@ ../../editRYB spatialx@Mk@B spatialy@NH@B spatialsx@P5@B spatialsy@Q5@B tooltip@B beveltype@B itemcurrent@B picture@cbitmaps\views\spinner.bmpBstep@.@B coefficient@333333?B exponent@?B OnClick@$"if(clickcode() == LEFT_PRESS) { set(itemcurrent(c),stringtonum(getviewtext(node(">viewfocus+",c)))); } if(clickcode() == LEFT_RELEASE) { setcursor(1); set(node(">editing",c),0); executefsnode(node(">viewfocus+>OnKillFocus",c),node(">viewfocus+",c)); // for immediate apply } @B@plit>viewfocus+ediit../l>editing>viewfocus+>OnKillFocus>viewfocus+edi  #0}l<`TDo<,  o #0|_ }   o  D0  o   o XVB editing@B lastval@{Gz?Blasty@c@B OnMouseMove@lif(i) // off the spinner { int y = cursorinfo(c, 6, 2, 0); if(get(node(">editing",c))==0) // first time falling off the spinner { setcursor(11); set(node(">lastval",c),get(itemcurrent(c))); set(node(">lasty",c),y); set(node(">editing",c),1); } int monitortop = getsystemmetric(5); int monitorbottom = getsystemmetric(6); if(y <= monitortop+1) { double newy = monitorbottom - 2; cursorinfo(c, 7, 2, newy); inc(node(">lasty",c), newy - y); y = newy; } else if(y >= monitorbottom-1) { double newy = monitortop + 2; cursorinfo(c, 7, 2, newy); inc(node(">lasty", c), newy - y); y = newy; } int dy = -(y - get(node(">lasty",c))); double prevvalue = get(node(">lastval",c)); double newvalue; double coefficient = getnodenum(node(">coefficient",c)); double exponent = getnodenum(node(">exponent",c)); if(dy > 0) newvalue = prevvalue + coefficient*pow(dy,exponent); else newvalue = prevvalue - coefficient*pow(-dy,exponent); if(objectexists(rangemin(c)) && newvalueget(rangemax(c))) newvalue = get(rangemax(c)); set(itemcurrent(c),newvalue); setviewtext(node(">viewfocus+",c), numtostring(newvalue,0,2)); executefsnode(node(">viewfocus+>OnKillFocus",c),node(">viewfocus+",c)); // for immediate apply } @Bplitus+>editingit../l>lastvalting>vie>lastyllFous+>editingitFrom../Ss Re../l>lastydit../Cit../Sblesevie>lastyabl>lasty../Citaria>lastvalsihere>coefficientembe>exponent../C Memembe ../Cbers ick ../Solvejecnvol/tab>viewfocus+>viewfocus+>OnKillFocus>viewfocus+ .p6(<o #h|\LoD8_x }| oo } 4   o  }8  ( o   6T  9H 6p9d "&4494<7oX H4<70 o5t7h " !$449 4<7 o\ L4@74$o5x7l6  |o49 |o 90 !9p!!~d!T!oL!<"9" "~""o" #%##4#$8< $$, $$ $7$ $4$ $7$$7$ %%8%% % %%7% %p% %4d% %7X%%7L% '')( '''| 'V'o'7'''V'o(8X((|L(V@(o8 H)) )%)|)W)o)7))|)Wp)oh*8**|*W*o+}$+7++  +o,| ,;h,,,7\,,L,oD,4-D--o---o-B RZspinner@objectBviewwindowtype@^@B viewfocus@ ../../editRZB spatialx@Mk@B spatialy@N@S@B spatialsx@P5@B spatialsy@Q5@B tooltip@B beveltype@B itemcurrent@B picture@cbitmaps\views\spinner.bmpBstep@.@B coefficient@333333?B exponent@?B OnClick@$"if(clickcode() == LEFT_PRESS) { set(itemcurrent(c),stringtonum(getviewtext(node(">viewfocus+",c)))); } if(clickcode() == LEFT_RELEASE) { setcursor(1); set(node(">editing",c),0); executefsnode(node(">viewfocus+>OnKillFocus",c),node(">viewfocus+",c)); // for immediate apply } @B@plit>viewfocus+ediit../l>editing>viewfocus+>OnKillFocus>viewfocus+edi  #0}l<`TDo<,  o #0|_ }   o  D0  o   o xB editing@B lastval@{Gz?Blasty@c@B OnMouseMove@lif(i) // off the spinner { int y = cursorinfo(c, 6, 2, 0); if(get(node(">editing",c))==0) // first time falling off the spinner { setcursor(11); set(node(">lastval",c),get(itemcurrent(c))); set(node(">lasty",c),y); set(node(">editing",c),1); } int monitortop = getsystemmetric(5); int monitorbottom = getsystemmetric(6); if(y <= monitortop+1) { double newy = monitorbottom - 2; cursorinfo(c, 7, 2, newy); inc(node(">lasty",c), newy - y); y = newy; } else if(y >= monitorbottom-1) { double newy = monitortop + 2; cursorinfo(c, 7, 2, newy); inc(node(">lasty", c), newy - y); y = newy; } int dy = -(y - get(node(">lasty",c))); double prevvalue = get(node(">lastval",c)); double newvalue; double coefficient = getnodenum(node(">coefficient",c)); double exponent = getnodenum(node(">exponent",c)); if(dy > 0) newvalue = prevvalue + coefficient*pow(dy,exponent); else newvalue = prevvalue - coefficient*pow(-dy,exponent); if(objectexists(rangemin(c)) && newvalueget(rangemax(c))) newvalue = get(rangemax(c)); set(itemcurrent(c),newvalue); setviewtext(node(">viewfocus+",c), numtostring(newvalue,0,2)); executefsnode(node(">viewfocus+>OnKillFocus",c),node(">viewfocus+",c)); // for immediate apply } @Bplitus+>editingit../l>lastvalting>vie>lastyllFous+>editingitFrom../Ss Re../l>lastydit../Cit../Sblesevie>lastyabl>lasty../Citaria>lastvalsihere>coefficientembe>exponent../C Memembe ../Cbers ick ../Solvejecnvol/tab>viewfocus+>viewfocus+>OnKillFocus>viewfocus+  .p6(<o #h|\LoD8_x }| oo } 4   o  }8  ( o   6T  9H 6p9d "&4494<7oX H4<70 o5t7h " !$449 4<7 o\ L4@74$o5x7l6  |o49 |o 90 !9p!!~d!T!oL!<"9" "~""o" #%##4#$8< $$, $$ $7$ $4$ $7$$7$ %%8%% % %%7% %p% %4d% %7X%%7L% '')( '''| 'V'o'7'''V'o(8X((|L(V@(o8 H)) )%)|)W)o)7))|)Wp)oh*8**|*W*o+}$+7++  +o,| ,;h,,,7\,,L,oD,4-D--o---o-BSX@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@Mo@B spatialy@N8@B spatialsx@P,@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmpBSY@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@Mo@B spatialy@NJ@B spatialsx@P,@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmpBSZ@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@Mo@B spatialy@NT@B spatialsx@P,@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmpBeditSX@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@Mq@B spatialy@N5@B spatialsx@PX@B spatialsy@Q5@Bpicture@cbitmaps\views\edit.bmpB tooltip@B hotlink@!@>objectfocus+>spatial/spatialsxB OnKeyUp@Cint k = lastkeyup(); if(k==13) // enter { applylinks(c); } @B OnKillFocus@applylinks(c);@@BeditSY@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@Mq@B spatialy@NH@B spatialsx@PX@B spatialsy@Q5@Bpicture@cbitmaps\views\edit.bmpB tooltip@B hotlink@!@>objectfocus+>spatial/spatialsyB OnKeyUp@Cint k = lastkeyup(); if(k==13) // enter { applylinks(c); } @B OnKillFocus@applylinks(c);@@BeditSZ@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@Mq@B spatialy@N@S@B spatialsx@PX@B spatialsy@Q5@Bpicture@cbitmaps\views\edit.bmpB tooltip@B hotlink@!@>objectfocus+>spatial/spatialszB OnKeyUp@Cint k = lastkeyup(); if(k==13) // enter { applylinks(c); } @B OnKillFocus@applylinks(c);@@B SXspinner@objectBviewwindowtype@^@B viewfocus@ ../../editSXB spatialx@M0v@B spatialy@N5@B spatialsx@P5@B spatialsy@Q5@B tooltip@B beveltype@B itemcurrent@B picture@cbitmaps\views\spinner.bmpBstep@?B coefficient@{Gz?B exponent@333333?B OnClick@$"if(clickcode() == LEFT_PRESS) { set(itemcurrent(c),stringtonum(getviewtext(node(">viewfocus+",c)))); } if(clickcode() == LEFT_RELEASE) { setcursor(1); set(node(">editing",c),0); executefsnode(node(">viewfocus+>OnKillFocus",c),node(">viewfocus+",c)); // for immediate apply } @B@plit>viewfocus+ediit../l>editing>viewfocus+>OnKillFocus>viewfocus+edi  #0}l<`TDo<,  o #0|_ }   o  D0  o   o _B editing@B lastval@{Gz?Blasty@c@B OnMouseMove@lif(i) // off the spinner { int y = cursorinfo(c, 6, 2, 0); if(get(node(">editing",c))==0) // first time falling off the spinner { setcursor(11); set(node(">lastval",c),get(itemcurrent(c))); set(node(">lasty",c),y); set(node(">editing",c),1); } int monitortop = getsystemmetric(5); int monitorbottom = getsystemmetric(6); if(y <= monitortop+1) { double newy = monitorbottom - 2; cursorinfo(c, 7, 2, newy); inc(node(">lasty",c), newy - y); y = newy; } else if(y >= monitorbottom-1) { double newy = monitortop + 2; cursorinfo(c, 7, 2, newy); inc(node(">lasty", c), newy - y); y = newy; } int dy = -(y - get(node(">lasty",c))); double prevvalue = get(node(">lastval",c)); double newvalue; double coefficient = getnodenum(node(">coefficient",c)); double exponent = getnodenum(node(">exponent",c)); if(dy > 0) newvalue = prevvalue + coefficient*pow(dy,exponent); else newvalue = prevvalue - coefficient*pow(-dy,exponent); if(objectexists(rangemin(c)) && newvalueget(rangemax(c))) newvalue = get(rangemax(c)); set(itemcurrent(c),newvalue); setviewtext(node(">viewfocus+",c), numtostring(newvalue,0,2)); executefsnode(node(">viewfocus+>OnKillFocus",c),node(">viewfocus+",c)); // for immediate apply } @Bplitus+>editingit../l>lastvalting>vie>lastyllFous+>editingitFrom../Ss Re../l>lastydit../Cit../Sblesevie>lastyabl>lasty../Citaria>lastvalsihere>coefficientembe>exponent../C Memembe ../Cbers ick ../Solvejecnvol/tab>viewfocus+>viewfocus+>OnKillFocus>viewfocus+  .p6(<o #h|\LoD8_x }| oo } 4   o  }8  ( o   6T  9H 6p9d "&4494<7oX H4<70 o5t7h " !$449 4<7 o\ L4@74$o5x7l6  |o49 |o 90 !9p!!~d!T!oL!<"9" "~""o" #%##4#$8< $$, $$ $7$ $4$ $7$$7$ %%8%% % %%7% %p% %4d% %7X%%7L% '')( '''| 'V'o'7'''V'o(8X((|L(V@(o8 H)) )%)|)W)o)7))|)Wp)oh*8**|*W*o+}$+7++  +o,| ,;h,,,7\,,L,oD,4-D--o---o-B SYspinner@objectBviewwindowtype@^@B viewfocus@ ../../editSYB spatialx@M0v@B spatialy@NH@B spatialsx@P5@B spatialsy@Q5@B tooltip@B beveltype@B itemcurrent@B picture@cbitmaps\views\spinner.bmpBstep@?B coefficient@{Gz?B exponent@333333?B OnClick@$"if(clickcode() == LEFT_PRESS) { set(itemcurrent(c),stringtonum(getviewtext(node(">viewfocus+",c)))); } if(clickcode() == LEFT_RELEASE) { setcursor(1); set(node(">editing",c),0); executefsnode(node(">viewfocus+>OnKillFocus",c),node(">viewfocus+",c)); // for immediate apply } @B@plit>viewfocus+ediit../l>editing>viewfocus+>OnKillFocus>viewfocus+edi  #0}l<`TDo<,  o #0|_ }   o  D0  o   o :gB editing@B lastval@{Gz?Blasty@c@B OnMouseMove@lif(i) // off the spinner { int y = cursorinfo(c, 6, 2, 0); if(get(node(">editing",c))==0) // first time falling off the spinner { setcursor(11); set(node(">lastval",c),get(itemcurrent(c))); set(node(">lasty",c),y); set(node(">editing",c),1); } int monitortop = getsystemmetric(5); int monitorbottom = getsystemmetric(6); if(y <= monitortop+1) { double newy = monitorbottom - 2; cursorinfo(c, 7, 2, newy); inc(node(">lasty",c), newy - y); y = newy; } else if(y >= monitorbottom-1) { double newy = monitortop + 2; cursorinfo(c, 7, 2, newy); inc(node(">lasty", c), newy - y); y = newy; } int dy = -(y - get(node(">lasty",c))); double prevvalue = get(node(">lastval",c)); double newvalue; double coefficient = getnodenum(node(">coefficient",c)); double exponent = getnodenum(node(">exponent",c)); if(dy > 0) newvalue = prevvalue + coefficient*pow(dy,exponent); else newvalue = prevvalue - coefficient*pow(-dy,exponent); if(objectexists(rangemin(c)) && newvalueget(rangemax(c))) newvalue = get(rangemax(c)); set(itemcurrent(c),newvalue); setviewtext(node(">viewfocus+",c), numtostring(newvalue,0,2)); executefsnode(node(">viewfocus+>OnKillFocus",c),node(">viewfocus+",c)); // for immediate apply } @Bplitus+>editingit../l>lastvalting>vie>lastyllFous+>editingitFrom../Ss Re../l>lastydit../Cit../Sblesevie>lastyabl>lasty../Citaria>lastvalsihere>coefficientembe>exponent../C Memembe ../Cbers ick ../Solvejecnvol/tab>viewfocus+>viewfocus+>OnKillFocus>viewfocus+  .p6(<o #h|\LoD8_x }| oo } 4   o  }8  ( o   6T  9H 6p9d "&4494<7oX H4<70 o5t7h " !$449 4<7 o\ L4@74$o5x7l6  |o49 |o 90 !9p!!~d!T!oL!<"9" "~""o" #%##4#$8< $$, $$ $7$ $4$ $7$$7$ %%8%% % %%7% %p% %4d% %7X%%7L% '')( '''| 'V'o'7'''V'o(8X((|L(V@(o8 H)) )%)|)W)o)7))|)Wp)oh*8**|*W*o+}$+7++  +o,| ,;h,,,7\,,L,oD,4-D--o---o-B SZspinner@objectBviewwindowtype@^@B viewfocus@ ../../editSZB spatialx@M0v@B spatialy@N@S@B spatialsx@P5@B spatialsy@Q5@B tooltip@B beveltype@B itemcurrent@B picture@cbitmaps\views\spinner.bmpBstep@?B coefficient@{Gz?B exponent@333333?B OnClick@$"if(clickcode() == LEFT_PRESS) { set(itemcurrent(c),stringtonum(getviewtext(node(">viewfocus+",c)))); } if(clickcode() == LEFT_RELEASE) { setcursor(1); set(node(">editing",c),0); executefsnode(node(">viewfocus+>OnKillFocus",c),node(">viewfocus+",c)); // for immediate apply } @B@plit>viewfocus+ediit../l>editing>viewfocus+>OnKillFocus>viewfocus+edi  #0}l<`TDo<,  o #0|_ }   o  D0  o   o B editing@B lastval@{Gz?Blasty@c@B OnMouseMove@lif(i) // off the spinner { int y = cursorinfo(c, 6, 2, 0); if(get(node(">editing",c))==0) // first time falling off the spinner { setcursor(11); set(node(">lastval",c),get(itemcurrent(c))); set(node(">lasty",c),y); set(node(">editing",c),1); } int monitortop = getsystemmetric(5); int monitorbottom = getsystemmetric(6); if(y <= monitortop+1) { double newy = monitorbottom - 2; cursorinfo(c, 7, 2, newy); inc(node(">lasty",c), newy - y); y = newy; } else if(y >= monitorbottom-1) { double newy = monitortop + 2; cursorinfo(c, 7, 2, newy); inc(node(">lasty", c), newy - y); y = newy; } int dy = -(y - get(node(">lasty",c))); double prevvalue = get(node(">lastval",c)); double newvalue; double coefficient = getnodenum(node(">coefficient",c)); double exponent = getnodenum(node(">exponent",c)); if(dy > 0) newvalue = prevvalue + coefficient*pow(dy,exponent); else newvalue = prevvalue - coefficient*pow(-dy,exponent); if(objectexists(rangemin(c)) && newvalueget(rangemax(c))) newvalue = get(rangemax(c)); set(itemcurrent(c),newvalue); setviewtext(node(">viewfocus+",c), numtostring(newvalue,0,2)); executefsnode(node(">viewfocus+>OnKillFocus",c),node(">viewfocus+",c)); // for immediate apply } @Bplitus+>editingit../l>lastvalting>vie>lastyllFous+>editingitFrom../Ss Re../l>lastydit../Cit../Sblesevie>lastyabl>lasty../Citaria>lastvalsihere>coefficientembe>exponent../C Memembe ../Cbers ick ../Solvejecnvol/tab>viewfocus+>viewfocus+>OnKillFocus>viewfocus+ .p6(<o #h|\LoD8_x }| oo } 4   o  }8  ( o   6T  9H 6p9d "&4494<7oX H4<70 o5t7h " !$449 4<7 o\ L4@74$o5x7l6  |o49 |o 90 !9p!!~d!T!oL!<"9" "~""o" #%##4#$8< $$, $$ $7$ $4$ $7$$7$ %%8%% % %%7% %p% %4d% %7X%%7L% '')( '''| 'V'o'7'''V'o(8X((|L(V@(o8 H)) )%)|)W)o)7))|)Wp)oh*8**|*W*o+}$+7++  +o,| ,;h,,,7\,,L,oD,4-D--o---o-BPorts@@object B viewfocus@MAIN:/project/modelBviewwindowopen@?Bviewwindowtype@Z@B spatialx@M@B spatialy@Nq@B spatialsx@P@{@B spatialsy@Q^@Bpicture@cbitmaps\views\groupbox.bmpB beveltype@B tooltip@Balignrightmargin@@Balignbottommargin@@@BPort Chooser@@object Bviewwindowtype@\@B spatialx@M,@B spatialy@N5@B spatialsx@PU@B spatialsy@QH@Bitems@@B Input Ports@BCentral Ports@BOutput Ports@B itemcurrent@?B getfocus@setcurrent(node("@>objectfocus+",c)); if(eq(get(node("..>itemcurrent",c)), 1)) { return(connectionsin(current)); } if( eq(get(node("..>itemcurrent",c)), 2)) { return(connectionscenter(current)); } return(connectionsout(current)); @BL@>objectfocus+..>itemcurrenttval..>itemcurrent>vie>(o  #h|\LoD4_x\Ax #|o } ^ A ] Am, B OnSelect@.nodefunction(node("../portnames>refresh",c));@B tooltip@@B portnames@@object Bviewwindowtype@\@B spatialx@M@Z@B spatialy@N5@B spatialsx@PPp@B spatialsy@QU@Bitems@@B 1: Queue44@B itemcurrent@B refresh@setitem(nodefunction(node("../../Port Chooser>getfocus",c))); setcurrent(items(up(c))); clearcontents(current); iterate(1, content(item), 1) { nodeinsertinto(current); if( and( gt(get(rank(item, count)), 10000), objectexists(tonode(get(rank(item, count)))), objectexists(ownerobject(tonode(get(rank(item, count))))) )) { setname(last(current), concat(numtostring(content(current), 0, 0), ": ", getname(ownerobject(tonode(get(rank(item, count))))))); } else { setname(last(current), concat(numtostring(content(current), 0, 0), ": ")); } } set(itemcurrent(up(c)), min(get(itemcurrent(up(c))), content(item))); listboxrefresh(up(c)); //repaintallactive();@BLXS../../Port Chooser>getfocus..>int..>iurre>vieus+../S: ty it: bles>las?Dj8(o >pdXoPA| 9B  A ')|pdd|XH/@B8 , d  |  / B % ' |  / BwDA0v$d |/B;AA  w A;|pAh\AT}(  B| o oL@o8EN_B tooltip@Balignrightmargin@Q@Balignbottommargin@,@@BRank ^@@objectBviewwindowtype@Y@B spatialx@MPw@B spatialy@N5@B spatialsx@PH@B spatialsy@Q5@B OnPress@rsetitem(nodefunction(node("../Port Chooser>getfocus",c))); if(not(objectexists(item))) { return(0); } setport(get(itemcurrent(node("../portnames",c)))); if(objectexists(rank(item, port))) { setrank(rank(item, port), max(1, sub(port,1))); } set(node("../portnames>itemcurrent",c), max(1, sub(port,1))); nodefunction(node("../portnames>refresh",c)); @B tooltip@Balignrightposition@O@@BRank v@@objectBviewwindowtype@Y@B spatialx@MPw@B spatialy@NE@B spatialsx@PH@B spatialsy@Q5@B OnPress@setitem(nodefunction(node("../Port Chooser>getfocus",c))); if(not(objectexists(item))) { return(0); } setport(get(itemcurrent(node("../portnames",c)))); if(objectexists(rank(item, port))) { setrank(rank(item, port), min(content(item), add(port,1))); } set(node("../portnames>itemcurrent",c), min(content(item), add(port,1))); nodefunction(node("../portnames>refresh",c)); @B tooltip@Balignrightposition@O@@BDelete@@objectBviewwindowtype@Y@B spatialx@MPw@B spatialy@NQ@B spatialsx@PH@B spatialsy@Q5@B OnPress@setitem(nodefunction(node("../Port Chooser>getfocus",c))); if(not(objectexists(item))) { return(0); } setport(get(itemcurrent(node("../portnames",c)))); if(port == 0) { return(0); } setcurrent(0); if(objectexists(rank(item, port))) { if(lt(get(rank(item, port)), 10000)) { destroyobject(rank(item, port)); setcurrent(1); } else { // In order to delete the connection, it must be a regular old connection // It can't be a network node connection, and it can't be an inside connection // I make sure it's not a netnode connection by the content of the connection // I make sure it's not an inside connection by the name of up of the coupled node. if( and(content(rank(item, port)) == 2, and( objectexists(tonode(get(rank(item, port)))), comparetext("connections", stringcopy(getname(up(tonode(get(rank(item, port))))), 1, 11)) )) ) { destroyobject(rank(item, port)); setcurrent(1); } } } if(current) { nodefunction(node("../portnames>refresh",c)); repaintallactive(); } else { msg( "Unable to Delete Connection", concat( "The connection could not be deleted.", strascii(10), "Try deleting the connection from a 3d model view instead") , 1); } @B tooltip@Balignrightposition@O@@B Properties@@objectBviewwindowtype@Y@B spatialx@M,@B spatialy@N@S@B spatialsx@PU@B spatialsy@Q5@B OnPress@setitem(nodefunction(node("../Port Chooser>getfocus",c))); if(not(objectexists(item))) { return(0); } setport(get(itemcurrent(node("../portnames",c)))); if(port == 0) { return(0); } setcurrent(0); if(objectexists(ownerobject(tonode(get(rank(item, port)))))) { setitem(ownerobject(tonode(get(rank(item, port))))); createview( gets(node(">special/guifocusclass",item)), nodetopath(item, 1), nodetopath(item, 1) ); }@B tooltip@@B Statistics@object B viewfocus@MAIN:/project/modelBviewwindowtype@Y@B spatialx@M@B spatialy@N8@B spatialsx@P |@B spatialsy@Qz@Bpicture@cbitmaps\views\tabcontrol.bmpB beveltype@@B helptopic@tab_StatisticsB tooltip@B PageOnOpen@treenode focus = node("@>objectfocus+",c); setchecked(node("../3",c), switch_enablestats(focus,-1)); nodefunction(node("../3>refresh", c)); treenode throughputpanel = node("../Throughput",c); int show = objectexists(node("@>objectfocus+>variables/totaltraveldist",c)); windowgray(windowfromnode(node("/Total Travel Distance:",throughputpanel)), !show); if(!show) setviewtext(node("/traveldist", throughputpanel), ""); windowgray(windowfromnode(node("/traveldist",throughputpanel)), !show); /* //pt(getname(c));pr(); //pt(getname(node("/tabcontrol/Visual/Custom Draw Code",c)));pr(); //pt(getname(node(">objectfocus+>variables/ondrawtrigger",c)));pr(); setnodestr(windowtitle(c),concat(getname(node(">objectfocus+",c))," Properties Window")); if(objectexists(node(">objectfocus+>variables/ondrawtrigger",c))) { windowshow(windowfromnode(node("/tabcontrol/Visual/Custom Draw Code",c)) , 1); } setcurrent(node("/tabcontrol/Labels/SelectView",c)); executefsnode(OnSelect(current), current); string path = nodetopath(node(">objectfocus+",c),1); setnodestr(windowtitle(c),concat(stringpart(path, 20, stringlen(path)-20)," Properties Window")); repaintview(c);*/ @B$t8@>objectfocus+..>i../3Cot/Coy Sime../3>refresht/ed../Throughputrts@>objectfocus+>variables/totaltraveldist Shaayti/Total Travel Distance: Shaayti/traveldistayti/U/traveldist./Stdit1?(otd=XHo@8jo?o6@4$o   * 4  & x =l  P  * 4     =   d  *X 4L  &@ 0 =$  ));B PageOnApply@ftreenode focus = node("@>objectfocus+",c); switch_enablestats(focus,getchecked(node("../3",c))); @B  @>objectfocus+..>i../3?(opdToLD=8 @B Throughput@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Z@B spatialx@M@B spatialy@N@B spatialsx@Px@B spatialsy@Q@S@Bpicture@cbitmaps\views\groupbox.bmpB tooltip@@BInput:@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M,@B spatialy@N1@B spatialsx@PA@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmp@Binput@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@ML@B spatialy@N,@B spatialsx@P_@B spatialsy@Q5@Bpicture@cbitmaps\views\static.bmpB hotlink@,@>objectfocus+>stats/throughput/stats_inputBstyle@@B ES_READONLY@B Output:@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@Mh@B spatialy@N1@B spatialsx@PE@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmpBoutput@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@Mo@B spatialy@N,@B spatialsx@P_@B spatialsy@Q5@Bpicture@cbitmaps\views\static.bmpB hotlink@-@>objectfocus+>stats/throughput/stats_outputBstyle@@B ES_READONLY@BTotal Travel Distance:@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M,@B spatialy@NF@B spatialsx@P\@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmpB traveldist@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@M`@B spatialy@NE@B spatialsx@P`@B spatialsy@Q5@Bpicture@cbitmaps\views\static.bmpB hotlink@)@>objectfocus+>variables/totaltraveldistBstyle@@B ES_READONLY@BState@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Z@B spatialx@M@B spatialy@NU@B spatialsx@Px@B spatialsy@QH@Bpicture@cbitmaps\views\groupbox.bmpB tooltip@@B Current:@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M5@B spatialy@N1@B spatialsx@PL@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmpB StateVal@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@M@S@B spatialy@N,@B spatialsx@Ph@B spatialsy@Q5@Bpicture@cbitmaps\views\static.bmpB hotlinkx@if(not(objectexists(i))) return (0); sets(node(">value",c),getname(rank(state_profile(i), get(state_current(i))))); return (node(">value", c));@Bvalue@idleBstyle@@B ES_READONLY@B Chart...@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@Ms@B spatialy@N,@B spatialsx@PO@B spatialsy@Q5@Bpicture@cbitmaps\views\button.bmpBOnPress@createview( "VIEW:/standardviews/StateChart", "", concat(gets(objectfocus(ownerview(c))),">stats/state/state_profile") );@B tooltip@@B-Record data for Content and Staytime charts@object Bviewwindowtype@@Z@B spatialx@M,@B spatialy@N`@B spatialsx@P0p@B spatialsy@Q5@Bpicture@cbitmaps\views\checkbox.bmpB coldlink@;@>objectfocus+>stats/staytime/stats_staytimehisto/intervalB tooltip@B OnPress@%nodefunction(node(">refresh", c)); @B refresh@setport(not(getchecked(up(c)))); windowgray(windowfromnode(node("../../Content/Content History Size:",c)) , port); windowgray(windowfromnode(node("../../Content/edit17",c)) , port); windowgray(windowfromnode(node("../../Content/Chart...",c)) , port); windowgray(windowfromnode(node("../../Staytime/Lower Bound:",c)) , port); windowgray(windowfromnode(node("../../Staytime/edit18",c)) , port); windowgray(windowfromnode(node("../../Staytime/Upper Bound:",c)) , port); windowgray(windowfromnode(node("../../Staytime/edit19",c)) , port); windowgray(windowfromnode(node("../../Staytime/Divisions:",c)) , port); windowgray(windowfromnode(node("../../Staytime/edit20",c)) , port); windowgray(windowfromnode(node("../../Staytime/Display Confidence",c)) , port); windowgray(windowfromnode(node("../../Staytime/Interval %",c)) , port); windowgray(windowfromnode(node("../../Staytime/editpercent",c)) , port); windowgray(windowfromnode(node("../../Staytime/Chart...",c)) , port); @BSject..>i../../Content/Content History Size:meme../../Content/edit17/Shorts../../Content/Chart... Shape../../Staytime/Lower Bound: Sha../../Staytime/edit18nten../../Staytime/Upper Bound: ../../Staytime/edit19aonte ../../Staytime/Divisions:ed../../Staytime/edit20origrancitSh>obj../../Staytime/Display Confidence>colortsr../../Staytime/Interval %ppeae/ed../../Staytime/editpercentlorwdlin../../Staytime/Chart...e/ed@,* oC&xho`8C&o4C,& oC&|lodDC&o @ C8 &,  o   C & p oh P  C &  o  @ C8 &,  o   C & | ot PC&oPCH&<,o$C&o|`@B Content@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Z@B spatialx@M@B spatialy@N@c@B spatialsx@Pg@B spatialsy@Qh@Bpicture@cbitmaps\views\groupbox.bmpB tooltip@@ B Current:@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M,@B spatialy@N1@B spatialsx@PL@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmpB static51@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@MQ@B spatialy@N,@B spatialsx@P@Z@B spatialsy@Q5@Bpicture@cbitmaps\views\static.bmpB hotlink@+@>objectfocus+>stats/content/stats_contentBstyle@@B ES_READONLY@B Minimum:@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M,@B spatialy@NC@B spatialsx@PL@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmpB static48@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@MQ@B spatialy@NA@B spatialsx@P@Z@B spatialsy@Q5@Bpicture@cbitmaps\views\static.bmpB hotlink@.@>objectfocus+>stats/content/stats_contentminBstyle@@B ES_READONLY@@B Maximum:@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M,@B spatialy@NM@B spatialsx@PL@B spatialsy@Q,@B viewpointx@Bpicture@cbitmaps\views\static.bmpB static49@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@MQ@B spatialy@NL@B spatialsx@P@Z@B spatialsy@Q5@Bpicture@cbitmaps\views\static.bmpB hotlink@.@>objectfocus+>stats/content/stats_contentmaxBstyle@@B ES_READONLY@B Average:@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M,@B spatialy@NT@B spatialsx@PH@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmpB static50@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@MQ@B spatialy@N@S@B spatialsx@P@Z@B spatialsy@Q5@Bpicture@cbitmaps\views\static.bmpB hotlink@.@>objectfocus+>stats/content/stats_contentavgBstyle@@B ES_READONLY@BContent History Size:@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M,@B spatialy@Na@B spatialsx@P@Z@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmpB itemcurrent@Bedit17@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@M]@B spatialy@N`@B spatialsx@PL@B spatialsy@Q5@B viewpointx@Bpicture@cbitmaps\views\edit.bmpB itemcurrent@B coldlink@9@>objectfocus+>stats/content/stats_contentgraphmaxpointsBtooltip@GThe maximum number of historical graph points stored at any given timeB Chart...@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M\@B spatialy@N d@B spatialsx@PO@B spatialsy@Q5@Bpicture@cbitmaps\views\button.bmpB OnPress@if (!switch_enablestats(node("@>objectfocus+",c))) { msg("Unable to Display Graph",gets(node(">errormsg",c)),1); } else { createview( "VIEW:/standardviews/ContentChart", "", concat(gets(objectfocus(ownerview(c))),">stats/content/stats_contentgraph") ); }@B tooltip@B errormsg@This object is not configured to record data for this graph. The model must be run with the "Record data for Content and Staytime graphs" box checked.@B Staytime@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Z@B spatialx@Mh@B spatialy@N@c@B spatialsx@P`i@B spatialsy@Qm@Bpicture@cbitmaps\views\groupbox.bmpB tooltip@@B Minimum:@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M5@B spatialy@N1@B spatialsx@PL@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmpB static56@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@MU@B spatialy@N,@B spatialsx@P@Z@B spatialsy@Q5@Bpicture@cbitmaps\views\static.bmpB hotlink@0@>objectfocus+>stats/staytime/stats_staytimeminBstyle@@B ES_READONLY@B Maximum:@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M5@B spatialy@NC@B spatialsx@PL@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmpB static57@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@MU@B spatialy@NA@B spatialsx@P@Z@B spatialsy@Q5@Bpicture@cbitmaps\views\static.bmpB hotlink@0@>objectfocus+>stats/staytime/stats_staytimemaxBstyle@@B ES_READONLY@B Average:@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M5@B spatialy@NM@B spatialsx@PH@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmpB static58@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@MU@B spatialy@NL@B spatialsx@P@Z@B spatialsy@Q5@Bpicture@cbitmaps\views\static.bmpB hotlink@0@>objectfocus+>stats/staytime/stats_staytimeavgBstyle@@B ES_READONLY@BLower Bound:@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M5@B spatialy@NW@B spatialsx@PQ@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmpB itemcurrent@Bedit18@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@M@Z@B spatialy@NV@B spatialsx@PU@B spatialsy@Q5@Bpicture@cbitmaps\views\edit.bmpB itemcurrent@B coldlink@6@>objectfocus+>stats/staytime/stats_staytimehisto/1/1Btooltip@(The lower limit for the histogram chartBUpper Bound:@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M5@B spatialy@N\@B spatialsx@PQ@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmpB itemcurrent@Bedit19@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@M@Z@B spatialy@N\@B spatialsx@PU@B spatialsy@Q5@Bpicture@cbitmaps\views\edit.bmpB itemcurrent@B coldlink@6@>objectfocus+>stats/staytime/stats_staytimehisto/1/2Btooltip@'The upper limit of the histogram chartB Divisions:@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M5@B spatialy@Na@B spatialsx@PH@B spatialsy@Q,@Bpicture@cbitmaps\views\static.bmpB itemcurrent@Bedit20@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@M@Z@B spatialy@N`@B spatialsx@PU@B spatialsy@Q5@Bpicture@cbitmaps\views\edit.bmpB itemcurrent@B coldlink@6@>objectfocus+>stats/staytime/stats_staytimehisto/1/3Btooltip@3The number of divisions (buckets) in the histogramBDisplay Confidence@object Bviewwindowtype@@Z@B spatialx@M5@B spatialy@N@c@B spatialsx@P\@B spatialsy@Q5@Bpicture@cbitmaps\views\checkbox.bmpB coldlink@;@>objectfocus+>stats/staytime/stats_staytimehisto/intervalB tooltip@B itemcurrent@@B Interval %@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@MA@B spatialy@N@f@B spatialsx@PL@B spatialsy@Q,@B editpercent@objectBviewwindowtype@@Y@B spatialx@M@Z@B spatialy@Ne@B spatialsx@PU@B spatialsy@Q5@Bpicture@cbitmaps\views\edit.bmpB coldlink@C@>objectfocus+>stats/staytime/stats_staytimehisto/interval/percentB tooltip@@B Chart...@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M_@B spatialy@N`i@B spatialsx@PO@B spatialsy@Q5@Bpicture@cbitmaps\views\button.bmpB OnPress@if (!switch_enablestats(node("@>objectfocus+",c))) { msg("Unable to Display Graph",gets(node(">errormsg",c)),1); } else { createview( "VIEW:/standardviews/StaytimeChart", "", concat(gets(objectfocus(ownerview(c))),">stats/staytime/stats_staytimehisto/2") ); } @B tooltip@B errormsg@This object is not configured to record data for this graph. The model must be run with the "Record data for Content and Staytime graphs" box checked.@BHelp@object Bviewwindowtype@Y@B spatialx@M@B spatialy@N@B spatialsx@P5@B spatialsy@Q5@B picture@cbitmaps\views\button.bmpBbitmap@buttons\codehelp.bmpBalignbottomposition@>@B OnPress@_nodefunction(node("/project/exec/globals/nodefunctions/showguihelp",maintree()),ownerview(c));@BPrev@object Bviewwindowtype@Y@B spatialx@M<@B spatialy@N@B spatialsx@P5@B spatialsy@Q5@Bbitmap@buttons\left_arrow.bmpBalignbottomposition@>@B refreshtip@ntreenode prevobj = getnextparametersobject( node("@>objectfocus+",c), gets(guifocusclass(node("@>objectfocus+",c))), 1,0 ); if(objectexists(prevobj)) { windowgray(windowfromnode(up(c)),0); setnodestr(node("..>tooltip",c),concat("Go to ",getname(prevobj),"'s Properties.")); refreshview(up(c)); } else { windowgray(windowfromnode(up(c)),1); }@B)@>objectfocus+@>objectfocus+pplyeOnA..>tooltiprefrGo to 's Properties.../Neshtext>? h t\P@o8(o =   &  o y@  A,   v =    o  d X oP &xopB tooltip@=Go to Parameters for the object previous to this in the treeB OnPress@Kapplylinks(ownerview(c)); if(objectexists(node("@>OnApply",c))) nodefunction(node("@>OnApply",c)); treenode prevobj = getnextparametersobject( node("@>objectfocus+",c), gets(guifocusclass(node("@>objectfocus+",c))), 1,0 ); if(objectexists(prevobj)) { sets(node("@>objectfocus",c), nodetopath(prevobj)); sets(node("@>viewfocus",c), nodetopath(prevobj)); applylinks(ownerview(c), 1); redirectpicklists(ownerview(c)); executefsnode(node("@>OnOpen",c), ownerview(c)); repaintview(ownerview(c)); } else { msg("End Reached","No previous objects left",1); }@BNext@object Bviewwindowtype@Y@B spatialx@MH@B spatialy@N@B spatialsx@P5@B spatialsy@Q5@Bbitmap@buttons\right_arrow.bmpB refreshtip@ntreenode nextobj = getnextparametersobject( node("@>objectfocus+",c), gets(guifocusclass(node("@>objectfocus+",c))), 1,1 ); if(objectexists(nextobj)) { windowgray(windowfromnode(up(c)),0); setnodestr(node("..>tooltip",c),concat("Go to ",getname(nextobj),"'s Properties.")); refreshview(up(c)); } else { windowgray(windowfromnode(up(c)),1); }@B)@>objectfocus+@>objectfocus+pplyeOnA..>tooltiprefrGo to 's Properties.../Neshtext>? h t\P@o8(o =   &  o y@  A,   v =    o  d X oP &xop3fB tooltip@Go to Apply Lid's Properties.Balignbottomposition@>@B OnPress@Gapplylinks(ownerview(c)); if(objectexists(node("@>OnApply",c))) nodefunction(node("@>OnApply",c)); treenode nextobj = getnextparametersobject( node("@>objectfocus+",c), gets(guifocusclass(node("@>objectfocus+",c))), 1,1 ); if(objectexists(nextobj)) { sets(node("@>objectfocus",c), nodetopath(nextobj)); sets(node("@>viewfocus",c), nodetopath(nextobj)); applylinks(ownerview(c), 1); redirectpicklists(ownerview(c)); executefsnode(node("@>OnOpen",c), ownerview(c)); repaintview(ownerview(c)); } else { msg("End Reached","No next objects left",1); }@B ButtonPanel@object Bviewwindowopen@?Bviewwindowtype@Y@B spatialx@M@e@B spatialy@N@B spatialsx@P`s@B spatialsy@Q<@Bpicture@cbitmaps\views\panel.bmpB beveltype@Balignrightposition@s@Balignbottomposition@>@@BApply@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@MB spatialy@NB spatialsx@PX@B spatialsy@Q5@Bpicture@cbitmaps\views\button.bmpB OnPress@validatename(node("@/editname", c), 1, node("@>objectfocus+",c)); applylinks(ownerview(c)); nodefunction(node("@>OnApply",c));@Bapply@BOK@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@MY@B spatialy@NB spatialsx@PX@B spatialsy@Q5@B picture@cbitmaps\views\button.bmpB OnPress@validatename(node("@/editname", c), 1, node("@>objectfocus+",c)); applylinks(ownerview(c)); nodefunction(node("@>OnApply",c));@Bapply@Bclose@BCancel@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M`i@B spatialy@NB spatialsx@PX@B spatialsy@Q5@Bpicture@cbitmaps\views\button.bmpBclose@BPreferences327409856@object Bviewwindowopen@?Bviewwindowtype@@B spatialx@Mh@B spatialy@NW@B spatialsx@P`@B spatialsy@QЀ@B OnPreOpen@}treenode disablewindowtabbing = node("VIEW:/environment/disablewindowtabbing"); if(!objectexists(disablewindowtabbing)) { nodeinsertinto(node("VIEW:/environment")); disablewindowtabbing = last(node("VIEW:/environment")); setname(disablewindowtabbing,"disablewindowtabbing"); nodeadddata(disablewindowtabbing,DATATYPE_NUMBER); } treenode disabletopmost = node("VIEW:/environment/disabletopmost"); if(!objectexists(disabletopmost)) { nodeinsertinto(node("VIEW:/environment")); disabletopmost = last(node("VIEW:/environment")); setname(disabletopmost,"disabletopmost"); nodeadddata(disabletopmost,DATATYPE_NUMBER); }@BOnOpen@setviewtext(node("/tabs/1/Code Editor/Font Style/pfi/fontinfo",c), concat( gets(node("VIEW:/environment/fonts/codeeditor/name")),", ", numtostring(get(node("VIEW:/environment/fonts/codeeditor/size")),0,0) ) ); setviewtext(node("/tabs/1/Template Editor/Font Style/pfi/fontinfo",c), concat( gets(node("VIEW:/environment/fonts/templateeditor/name")),", ", numtostring(get(node("VIEW:/environment/fonts/templateeditor/size")),0,0) ) ); setviewtext(node("/tabs/1/Unformatted Text/Font Style/pfi/fontinfo",c), concat( gets(node("VIEW:/environment/fonts/texteditor/name")),", ", numtostring(get(node("VIEW:/environment/fonts/texteditor/size")),0,0) ) ); setviewtext(node("/tabs/3/NumLibsEdit",c), numtostring(content(node("VIEW:/environment/userlibraries")),0,0) ); int gridsettings = get(node("VIEW:/environment/gridsettings")); if(gridsettings>=0x4) { setchecked(node("/tabs/Environment/Options/Show origin in ortho views",c),1); gridsettings-=0x4; } if(gridsettings>=0x2) { setchecked(node("/tabs/Environment/Options/Show axes in ortho views",c),1); gridsettings-=0x2; } if(gridsettings>=0x1) { setchecked(node("/tabs/Environment/Options/Automatically expand grid in ortho and perspective views",c),1); gridsettings-=0x1; } // populate the Customize Toolbar tab treenode Combobox = node("/tabs/Customize Toolbar/Combobox",c); createcopy(node("VIEW:/toolbaritems"),items(Combobox),1,0,0,1); setname(node(">toolbaritems",Combobox),"items"); comborefresh(Combobox); treenode FromListbox = node("/tabs/Customize Toolbar/FromListbox",c); createcopy(node(">items/1/1",Combobox),items(FromListbox),1,0,0,1); listboxrefresh(FromListbox); treenode ToListbox = node("/tabs/Customize Toolbar/ToListbox",c); treenode itemlist = items(ToListbox); treenode toolbaritems = node("/1/1/1/userpanel/usertoolbar>items",views()); createcopy(toolbaritems,itemlist,1,0,0,1); set(itemcurrent(ToListbox),content(toolbaritems)); listboxrefresh(ToListbox); @B windowtitle@Global PreferencesB helptopic@gui_preferencesB tempfont@B tempsize@Bviewwindowclean@@B overlay@objectB viewfocus@../..Bviewwindowopen@Bviewwindowtype@@B spatialx@M?B spatialy@N@B spatialsx@P0@B spatialsy@Q`@B viewpointx@B viewpointy@B viewpointz@_|@Bhidden@?Bviewhidealllabels@?B transparent@?Bviewhideallbases@?Bgridx@@Bgridy@@Bviewsnaptogrid@?@Btabs@objectBviewwindowtype@\@B spatialx@M@B spatialy@N@B spatialsx@P@B spatialsy@Q}@B itemcurrent@@@BFonts and Colors@objectBviewwindowtype@Y@B spatialx@M@B spatialy@N8@B spatialsx@P8@B spatialsy@Q{@B tooltip@B beveltype@@B Code Editor@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Z@B spatialx@MB spatialy@NB spatialsx@P@B spatialsy@Ql@Bpicture@cbitmaps\views\groupbox.bmpB beveltype@@B Font Style@objectBviewwindowtype@Y@B spatialx@M r@B spatialy@N.@B spatialsx@P@o@B spatialsy@Q4@B beveltype@B viewfocus@#VIEW:/environment/fonts/codeeditor@B...@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@Mk@B spatialy@NB spatialsx@P4@B spatialsy@Q4@Bpicture@cbitmaps\views\button.bmpB OnPress@mainmenucommand("File|Editor Font..."); //pt(gets(node("VIEW:/environment/fonts/codeeditor/name")));pt(" "); //pf(get(node("VIEW:/environment/fonts/codeeditor/size")));pt(" "); //pt(gets(node("..>viewfocus+/name",c)));pt(" "); //pf(get(node("..>viewfocus+/size",c)));pt(" "); setviewtext(node("../pfi/fontinfo",c), concat( gets(node("..>viewfocus+/name", c)),", ", numtostring(get(node("..>viewfocus+/size",c)),0,0) ) ); @Bpfi@objectBviewwindowtype@Y@B spatialx@MR@B spatialy@NB spatialsx@Pa@B spatialsy@Q4@Bpicture@cbitmaps\views\panel.bmpB beveltype@?@B fontinfo@objectBviewwindowtype@Y@B spatialx@MB spatialy@NB spatialsx@P@`@B spatialsy@Q4@Bpicture@cbitmaps\views\static.bmpBFont@objectBviewwindowtype@Y@B spatialx@M@B spatialy@N@B spatialsx@PD@B spatialsy@Q.@Bpicture@cbitmaps\views\static.bmpBpanel_backgroundcolor@objectBviewwindowtype@Y@B viewfocus@.VIEW:/environment/fonts/codeeditor/backgroundB spatialx@M r@B spatialy@ND@B spatialsx@P b@B spatialsy@Q4@B beveltype@@B Background@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M@B spatialy@N@B spatialsx@P@P@B spatialsy@Q.@Bpicture@cbitmaps\views\static.bmpB itemcurrent@BPreview of background color@object B viewfocus@../..>viewfocus+Bviewwindowopen@Bviewwindowtype@Y@B spatialx@MR@B spatialy@NB spatialsx@PA@B spatialsy@Q4@Bpicture@cbitmaps\views\panel.bmpB beveltype@@Bcolor@aB itemcurrent@B...@object Bviewwindowopen@Bviewwindowtype@Y@B spatialx@M^@B spatialy@NB spatialsx@P4@B spatialsy@Q4@Bpicture@cbitmaps\views\button.bmpB OnPress@fpickcolornode(node("..>viewfocus+",c)); repaintview(node("../Preview of background color",c)); @B itemcurrent@Bpanel_defaultcolor@objectBviewwindowtype@Y@B viewfocus@.VIEW:/environment/fonts/codeeditor/foregroundB spatialx@M$@B spatialy@N.@B spatialsx@P@p@B spatialsy@Q4@B beveltype@@BDefault Text@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M@B spatialy@N@B spatialsx@P@P@B spatialsy@Q.@Bpicture@cbitmaps\views\static.bmpB itemcurrent@BPreview of background color@object B viewfocus@../..>viewfocus+Bviewwindowopen@Bviewwindowtype@Y@B spatialx@MV@B spatialy@NB spatialsx@PA@B spatialsy@Q4@Bpicture@cbitmaps\views\panel.bmpB beveltype@@Bcolor@aB itemcurrent@B...@object Bviewwindowopen@Bviewwindowtype@Y@B spatialx@M`@B spatialy@NB spatialsx@P4@B spatialsy@Q4@Bpicture@cbitmaps\views\button.bmpB OnPress@fpickcolornode(node("..>viewfocus+",c)); repaintview(node("../Preview of background color",c)); @B itemcurrent@BBold@objectBviewwindowtype@@Z@B spatialx@Md@B spatialy@NB spatialsx@PI@B spatialsy@Q4@B tooltip@B coldlink@../..>viewfocus+/4B itemcurrent@BItalic@objectBviewwindowtype@@Z@B spatialx@Mj@B spatialy@NB spatialsx@PN@B spatialsy@Q4@B tooltip@B coldlink@../..>viewfocus+/5B itemcurrent@Bpanel_keywordcolor@objectBviewwindowtype@Y@B viewfocus@2VIEW:/environment/fonts/codeeditor/colors/keywordB spatialx@M$@B spatialy@NA@B spatialsx@P@p@B spatialsy@Q4@B beveltype@@B Keyword@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M@B spatialy@N@B spatialsx@P@P@B spatialsy@Q.@Bpicture@cbitmaps\views\static.bmpB itemcurrent@BPreview of background color@object B viewfocus@../..>viewfocus+Bviewwindowopen@Bviewwindowtype@Y@B spatialx@MV@B spatialy@NB spatialsx@PA@B spatialsy@Q4@Bpicture@cbitmaps\views\panel.bmpB beveltype@@Bcolor@aB itemcurrent@B...@object Bviewwindowopen@Bviewwindowtype@Y@B spatialx@M`@B spatialy@NB spatialsx@P4@B spatialsy@Q4@Bpicture@cbitmaps\views\button.bmpB OnPress@fpickcolornode(node("..>viewfocus+",c)); repaintview(node("../Preview of background color",c)); @B itemcurrent@BBold@objectBviewwindowtype@@Z@B spatialx@Md@B spatialy@NB spatialsx@PI@B spatialsy@Q4@B tooltip@B coldlink@../..>viewfocus+/4B itemcurrent@BItalic@objectBviewwindowtype@@Z@B spatialx@Mj@B spatialy@NB spatialsx@PN@B spatialsy@Q4@B tooltip@B coldlink@../..>viewfocus+/5B itemcurrent@Bpanel_commandcolor@objectBviewwindowtype@Y@B viewfocus@2VIEW:/environment/fonts/codeeditor/colors/commandB spatialx@M$@B spatialy@NK@B spatialsx@P@p@B spatialsy@Q4@B beveltype@@B Command@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M@B spatialy@N@B spatialsx@P@P@B spatialsy@Q.@Bpicture@cbitmaps\views\static.bmpB itemcurrent@BPreview of background color@object B viewfocus@../..>viewfocus+Bviewwindowopen@Bviewwindowtype@Y@B spatialx@MV@B spatialy@NB spatialsx@PA@B spatialsy@Q4@Bpicture@cbitmaps\views\panel.bmpB beveltype@@Bcolor@aB itemcurrent@B...@object Bviewwindowopen@Bviewwindowtype@Y@B spatialx@M`@B spatialy@NB spatialsx@P4@B spatialsy@Q4@Bpicture@cbitmaps\views\button.bmpB OnPress@fpickcolornode(node("..>viewfocus+",c)); repaintview(node("../Preview of background color",c)); @B itemcurrent@BBold@objectBviewwindowtype@@Z@B spatialx@Md@B spatialy@NB spatialsx@PI@B spatialsy@Q4@B tooltip@B coldlink@../..>viewfocus+/4B itemcurrent@BItalic@objectBviewwindowtype@@Z@B spatialx@Mj@B spatialy@NB spatialsx@PN@B spatialsy@Q4@B tooltip@B coldlink@../..>viewfocus+/5B itemcurrent@Bpanel_commentcolor@objectBviewwindowtype@Y@B viewfocus@2VIEW:/environment/fonts/codeeditor/colors/commentB spatialx@M$@B spatialy@NW@B spatialsx@P@p@B spatialsy@Q4@B beveltype@@B Comment@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M@B spatialy@N@B spatialsx@P@P@B spatialsy@Q.@Bpicture@cbitmaps\views\static.bmpB itemcurrent@BPreview of background color@object B viewfocus@../..>viewfocus+Bviewwindowopen@Bviewwindowtype@Y@B spatialx@MV@B spatialy@NB spatialsx@PA@B spatialsy@Q4@Bpicture@cbitmaps\views\panel.bmpB beveltype@@Bcolor@aB itemcurrent@B...@object Bviewwindowopen@Bviewwindowtype@Y@B spatialx@M`@B spatialy@NB spatialsx@P4@B spatialsy@Q4@Bpicture@cbitmaps\views\button.bmpB OnPress@fpickcolornode(node("..>viewfocus+",c)); repaintview(node("../Preview of background color",c)); @B itemcurrent@BBold@objectBviewwindowtype@@Z@B spatialx@Md@B spatialy@NB spatialsx@PI@B spatialsy@Q4@B tooltip@B coldlink@../..>viewfocus+/4B itemcurrent@BItalic@objectBviewwindowtype@@Z@B spatialx@Mj@B spatialy@NB spatialsx@PN@B spatialsy@Q4@B tooltip@B coldlink@../..>viewfocus+/5B itemcurrent@Bpanel_templatecolor@objectBviewwindowtype@Y@B viewfocus@3VIEW:/environment/fonts/codeeditor/colors/templateB spatialx@M$@B spatialy@N\@B spatialsx@P@p@B spatialsy@Q4@B beveltype@@B Template@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M@B spatialy@N@B spatialsx@P@P@B spatialsy@Q.@Bpicture@cbitmaps\views\static.bmpB itemcurrent@BPreview of background color@object B viewfocus@../..>viewfocus+Bviewwindowopen@Bviewwindowtype@Y@B spatialx@MV@B spatialy@NB spatialsx@PA@B spatialsy@Q4@Bpicture@cbitmaps\views\panel.bmpB beveltype@@Bcolor@aB itemcurrent@B...@object Bviewwindowopen@Bviewwindowtype@Y@B spatialx@M`@B spatialy@NB spatialsx@P4@B spatialsy@Q4@Bpicture@cbitmaps\views\button.bmpB OnPress@fpickcolornode(node("..>viewfocus+",c)); repaintview(node("../Preview of background color",c)); @B itemcurrent@BBold@objectBviewwindowtype@@Z@B spatialx@Md@B spatialy@NB spatialsx@PI@B spatialsy@Q4@B tooltip@B coldlink@../..>viewfocus+/4B itemcurrent@BItalic@objectBviewwindowtype@@Z@B spatialx@Mj@B spatialy@NB spatialsx@PN@B spatialsy@Q4@B tooltip@B coldlink@../..>viewfocus+/5B itemcurrent@Bpanel_stringcolor@objectBviewwindowtype@Y@B viewfocus@1VIEW:/environment/fonts/codeeditor/colors/stringB spatialx@M$@B spatialy@NR@B spatialsx@P@p@B spatialsy@Q4@B beveltype@@BString@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M@B spatialy@N@B spatialsx@P@P@B spatialsy@Q.@Bpicture@cbitmaps\views\static.bmpB itemcurrent@BPreview of background color@object B viewfocus@../..>viewfocus+Bviewwindowopen@Bviewwindowtype@Y@B spatialx@MV@B spatialy@NB spatialsx@PA@B spatialsy@Q4@Bpicture@cbitmaps\views\panel.bmpB beveltype@@Bcolor@aB itemcurrent@B...@object Bviewwindowopen@Bviewwindowtype@Y@B spatialx@M`@B spatialy@NB spatialsx@P4@B spatialsy@Q4@Bpicture@cbitmaps\views\button.bmpB OnPress@fpickcolornode(node("..>viewfocus+",c)); repaintview(node("../Preview of background color",c)); @B itemcurrent@BBold@objectBviewwindowtype@@Z@B spatialx@Md@B spatialy@NB spatialsx@PI@B spatialsy@Q4@B tooltip@B coldlink@../..>viewfocus+/4B itemcurrent@BItalic@objectBviewwindowtype@@Z@B spatialx@Mj@B spatialy@NB spatialsx@PN@B spatialsy@Q4@B tooltip@B coldlink@../..>viewfocus+/5B itemcurrent@Bpanel_numbercolor@objectBviewwindowtype@Y@B viewfocus@1VIEW:/environment/fonts/codeeditor/colors/numberB spatialx@M$@B spatialy@N`@B spatialsx@P@p@B spatialsy@Q4@B beveltype@@BNumber@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M@B spatialy@N@B spatialsx@P@P@B spatialsy@Q.@Bpicture@cbitmaps\views\static.bmpB itemcurrent@BPreview of background color@object B viewfocus@../..>viewfocus+Bviewwindowopen@Bviewwindowtype@Y@B spatialx@MV@B spatialy@NB spatialsx@PA@B spatialsy@Q4@Bpicture@cbitmaps\views\panel.bmpB beveltype@@Bcolor@aB itemcurrent@B...@object Bviewwindowopen@Bviewwindowtype@Y@B spatialx@M`@B spatialy@NB spatialsx@P4@B spatialsy@Q4@Bpicture@cbitmaps\views\button.bmpB OnPress@fpickcolornode(node("..>viewfocus+",c)); repaintview(node("../Preview of background color",c)); @B itemcurrent@BBold@objectBviewwindowtype@@Z@B spatialx@Md@B spatialy@NB spatialsx@PI@B spatialsy@Q4@B tooltip@B coldlink@../..>viewfocus+/4B itemcurrent@BItalic@objectBviewwindowtype@@Z@B spatialx@Mj@B spatialy@NB spatialsx@PN@B spatialsy@Q4@B tooltip@B coldlink@../..>viewfocus+/5B itemcurrent@Bpanel_charactercolor@objectBviewwindowtype@Y@B viewfocus@4VIEW:/environment/fonts/codeeditor/colors/characterB spatialx@M$@B spatialy@Ne@B spatialsx@P@p@B spatialsy@Q4@B beveltype@@B Character@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M@B spatialy@N@B spatialsx@P@P@B spatialsy@Q.@Bpicture@cbitmaps\views\static.bmpB itemcurrent@BPreview of background color@object B viewfocus@../..>viewfocus+Bviewwindowopen@Bviewwindowtype@Y@B spatialx@MV@B spatialy@NB spatialsx@PA@B spatialsy@Q4@Bpicture@cbitmaps\views\panel.bmpB beveltype@@Bcolor@aB itemcurrent@B...@object Bviewwindowopen@Bviewwindowtype@Y@B spatialx@M`@B spatialy@NB spatialsx@P4@B spatialsy@Q4@Bpicture@cbitmaps\views\button.bmpB OnPress@fpickcolornode(node("..>viewfocus+",c)); repaintview(node("../Preview of background color",c)); @B itemcurrent@BBold@objectBviewwindowtype@@Z@B spatialx@Md@B spatialy@NB spatialsx@PI@B spatialsy@Q4@B tooltip@B coldlink@../..>viewfocus+/4B itemcurrent@BItalic@objectBviewwindowtype@@Z@B spatialx@Mj@B spatialy@NB spatialsx@PN@B spatialsy@Q4@B tooltip@B coldlink@../..>viewfocus+/5B itemcurrent@Bpanel_bracehighlightcolor@objectBviewwindowtype@Y@B viewfocus@9VIEW:/environment/fonts/codeeditor/colors/bracehighlightB spatialx@M$@B spatialy@N`h@B spatialsx@P@p@B spatialsy@Q4@B beveltype@@BBrace Highlight@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M@B spatialy@N@B spatialsx@PR@B spatialsy@Q.@Bpicture@cbitmaps\views\static.bmpB itemcurrent@BPreview of background color@object B viewfocus@../..>viewfocus+Bviewwindowopen@Bviewwindowtype@Y@B spatialx@MV@B spatialy@NB spatialsx@PA@B spatialsy@Q4@Bpicture@cbitmaps\views\panel.bmpB beveltype@@Bcolor@aB itemcurrent@B...@object Bviewwindowopen@Bviewwindowtype@Y@B spatialx@M`@B spatialy@NB spatialsx@P4@B spatialsy@Q4@Bpicture@cbitmaps\views\button.bmpB OnPress@fpickcolornode(node("..>viewfocus+",c)); repaintview(node("../Preview of background color",c)); @B itemcurrent@BBold@objectBviewwindowtype@@Z@B spatialx@Md@B spatialy@NB spatialsx@PI@B spatialsy@Q4@B tooltip@B coldlink@../..>viewfocus+/4B itemcurrent@BItalic@objectBviewwindowtype@@Z@B spatialx@Mj@B spatialy@NB spatialsx@PN@B spatialsy@Q4@B tooltip@B coldlink@../..>viewfocus+/5B itemcurrent@Bpanel_macrocolor@objectBviewwindowtype@Y@B viewfocus@6VIEW:/environment/fonts/codeeditor/colors/globalmacroB spatialx@M$@B spatialy@N`c@B spatialsx@P@p@B spatialsy@Q4@B beveltype@@BMacro/Attribute@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M@B spatialy@N@B spatialsx@PT@B spatialsy@Q.@Bpicture@cbitmaps\views\static.bmpB itemcurrent@BPreview of background color@object B viewfocus@../..>viewfocus+Bviewwindowopen@Bviewwindowtype@Y@B spatialx@MV@B spatialy@NB spatialsx@PA@B spatialsy@Q4@Bpicture@cbitmaps\views\panel.bmpB beveltype@@Bcolor@aB itemcurrent@B...@object Bviewwindowopen@Bviewwindowtype@Y@B spatialx@M`@B spatialy@NB spatialsx@P4@B spatialsy@Q4@Bpicture@cbitmaps\views\button.bmpB OnPress@fpickcolornode(node("..>viewfocus+",c)); repaintview(node("../Preview of background color",c)); @B itemcurrent@BBold@objectBviewwindowtype@@Z@B spatialx@Md@B spatialy@NB spatialsx@PI@B spatialsy@Q4@B tooltip@B coldlink@../..>viewfocus+/4B itemcurrent@BItalic@objectBviewwindowtype@@Z@B spatialx@Mj@B spatialy@NB spatialsx@PN@B spatialsy@Q4@B tooltip@B coldlink@../..>viewfocus+/5B itemcurrent@BShow Line Numbers@objectBviewwindowtype@@Z@B spatialx@Mpr@B spatialy@N\@B spatialsx@Pa@B spatialsy@Q4@B tooltip@B coldlink@/VIEW:/environment/fonts/codeeditor/linenumbersB itemcurrent@B Tab Width@objectBviewwindowopen@Bviewwindowtype@Y@B spatialx@Mpr@B spatialy@NQ@B spatialsx@PK@B spatialsy@Q.@BEnable Folding@objectBviewwindowtype@@Z@B spatialx@Mpr@B spatialy@NW@B spatialsx@P b@B spatialsy@Q4@B tooltip@B coldlink@+VIEW:/environment/fonts/codeeditor/foldingB itemcurrent@BeditTabWidth@objectBviewwindowtype@@Y@B spatialx@Mv@B spatialy@N@P@B spatialsx@P@P@B spatialsy@Q4@B tooltip@B coldlink@,VIEW:/environment/fonts/codeeditor/tabwidthBShow Command Hints@objectBviewwindowtype@@Z@B spatialx@Mpr@B spatialy@N`@B spatialsx@P b@B spatialsy@Q4@B tooltip@B coldlink@,VIEW:/environment/fonts/codeeditor/calltipsB itemcurrent@BShow Auto-Completion Hints@objectBviewwindowtype@@Z@B spatialx@Mpr@B spatialy@N`c@B spatialsx@Pd@B spatialsy@Q4@B tooltip@B coldlink@2VIEW:/environment/fonts/codeeditor/autocompletionB itemcurrent@BChoose Auto Tabbing@object Bviewwindowtype@@[@B spatialx@Mpr@B spatialy@Nf@B spatialsx@Pe@B spatialsy@Q@U@B picture@cbitmaps\views\combobox.bmpB tooltip@Bitems@@BDo Not Use Auto-Tabbing@BUse Simple Auto-Tabbing@BUse Active Auto-Tabbing@B coldlinkx@treenode autotabbing = node("VIEW:/environment/fonts/codeeditor/autotabbing"); treenode activetabbing = node("VIEW:/environment/fonts/codeeditor/activetabbing"); if(eventdata == 0)// getting { int chooseitem; if(!get(autotabbing)) chooseitem = 1; else if(!get(activetabbing)) chooseitem = 2; else chooseitem = 3; if(chooseitem != get(itemcurrent(c))) { set(itemcurrent(c), chooseitem); comborefresh(c); } } else { if(get(itemcurrent(c))==1) { set(autotabbing, 0); set(activetabbing, 0); } else if(get(itemcurrent(c)) == 2) { set(autotabbing, 1); set(activetabbing, 0); } else { set(autotabbing, 1); set(activetabbing, 1); } }@B itemcurrent@@BTemplate Editor@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Z@B spatialx@MB spatialy@Nl@B spatialsx@P@B spatialsy@QT@Bpicture@cbitmaps\views\groupbox.bmpB beveltype@@B Font Style@objectBviewwindowtype@Y@B spatialx@M$@B spatialy@N.@B spatialsx@P0q@B spatialsy@Q9@B beveltype@B viewfocus@'VIEW:/environment/fonts/templateeditor@B...@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@Mj@B spatialy@NB spatialsx@P4@B spatialsy@Q4@Bpicture@cbitmaps\views\button.bmpB OnPress@sets(node("@>tempfont",c), gets(node("VIEW:/environment/fonts/codeeditor/name"))); set(node("@>tempsize",c), get(node("VIEW:/environment/fonts/codeeditor/size"))); sets(node("VIEW:/environment/fonts/codeeditor/name"), gets(node("..>viewfocus+/name",c))); set(node("VIEW:/environment/fonts/codeeditor/size"), get(node("..>viewfocus+/size",c))); mainmenucommand("File|Editor Font..."); //pt(gets(node("VIEW:/environment/fonts/codeeditor/name")));pt(" "); //pf(get(node("VIEW:/environment/fonts/codeeditor/size")));pt(" "); sets(node("..>viewfocus+/name",c), gets(node("VIEW:/environment/fonts/codeeditor/name"))); set(node("..>viewfocus+/size",c), get(node("VIEW:/environment/fonts/codeeditor/size"))); //pt(gets(node("..>viewfocus+/name",c)));pt(" "); //pf(get(node("..>viewfocus+/size",c)));pt(" "); sets(node("VIEW:/environment/fonts/codeeditor/name"), gets(node("@>tempfont",c))); set(node("VIEW:/environment/fonts/codeeditor/size"), get(node("@>tempsize",c))); setviewtext(node("../pfi/fontinfo",c), concat( gets(node("..>viewfocus+/name", c)),", ", numtostring(get(node("..>viewfocus+/size",c)),0,0) ) ); @Bpfi@objectBviewwindowtype@Y@B spatialx@MR@B spatialy@NB spatialsx@P`@B spatialsy@Q4@Bpicture@cbitmaps\views\panel.bmpB beveltype@?@B fontinfo@objectBviewwindowtype@Y@B spatialx@MB spatialy@NB spatialsx@P@_@B spatialsy@Q4@Bpicture@cbitmaps\views\static.bmpBFont@objectBviewwindowtype@Y@B spatialx@M@B spatialy@N@B spatialsx@PD@B spatialsy@Q.@Bpicture@cbitmaps\views\static.bmpBpanel_backgroundcolor@objectBviewwindowtype@Y@B viewfocus@2VIEW:/environment/fonts/templateeditor/backgroundB spatialx@Mq@B spatialy@N.@B spatialsx@P`c@B spatialsy@Q4@B beveltype@@B Background@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M@B spatialy@N@B spatialsx@P@P@B spatialsy@Q.@Bpicture@cbitmaps\views\static.bmpB itemcurrent@BPreview of background color@object B viewfocus@../..>viewfocus+Bviewwindowopen@Bviewwindowtype@Y@B spatialx@MR@B spatialy@NB spatialsx@PA@B spatialsy@Q4@Bpicture@cbitmaps\views\panel.bmpB beveltype@@Bcolor@aB itemcurrent@B...@object Bviewwindowopen@Bviewwindowtype@Y@B spatialx@M^@B spatialy@NB spatialsx@P4@B spatialsy@Q4@Bpicture@cbitmaps\views\button.bmpB OnPress@fpickcolornode(node("..>viewfocus+",c)); repaintview(node("../Preview of background color",c)); @B itemcurrent@Bpanel_fixedcolor@objectBviewwindowtype@Y@B viewfocus@1VIEW:/environment/fonts/templateeditor/fixedtextB spatialx@M$@B spatialy@NF@B spatialsx@Pp@B spatialsy@Q4@B beveltype@@B Fixed Text@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M@B spatialy@N@B spatialsx@P@P@B spatialsy@Q.@Bpicture@cbitmaps\views\static.bmpB itemcurrent@BPreview of background color@object B viewfocus@../..>viewfocus+Bviewwindowopen@Bviewwindowtype@Y@B spatialx@MR@B spatialy@NB spatialsx@PA@B spatialsy@Q4@Bpicture@cbitmaps\views\panel.bmpB beveltype@@Bcolor@aB itemcurrent@B...@object Bviewwindowopen@Bviewwindowtype@Y@B spatialx@M^@B spatialy@NB spatialsx@P4@B spatialsy@Q4@Bpicture@cbitmaps\views\button.bmpB OnPress@fpickcolornode(node("..>viewfocus+",c)); repaintview(node("../Preview of background color",c)); @B itemcurrent@BBold@objectBviewwindowtype@@Z@B spatialx@M b@B spatialy@NB spatialsx@PI@B spatialsy@Q4@B tooltip@B coldlink@../..>viewfocus+/4B itemcurrent@BItalic@objectBviewwindowtype@@Z@B spatialx@Mi@B spatialy@NB spatialsx@PN@B spatialsy@Q4@B tooltip@B coldlink@../..>viewfocus+/5B itemcurrent@Bpanel_editablecolor@objectBviewwindowtype@Y@B viewfocus@0VIEW:/environment/fonts/templateeditor/edittextB spatialx@Mq@B spatialy@NF@B spatialsx@Pp@B spatialsy@Q4@B beveltype@@BEditable Text@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M@B spatialy@N@B spatialsx@P@P@B spatialsy@Q.@Bpicture@cbitmaps\views\static.bmpB itemcurrent@BPreview of background color@object B viewfocus@../..>viewfocus+Bviewwindowopen@Bviewwindowtype@Y@B spatialx@MR@B spatialy@NB spatialsx@PA@B spatialsy@Q4@Bpicture@cbitmaps\views\panel.bmpB beveltype@@Bcolor@aB itemcurrent@B...@object Bviewwindowopen@Bviewwindowtype@Y@B spatialx@M^@B spatialy@NB spatialsx@P4@B spatialsy@Q4@Bpicture@cbitmaps\views\button.bmpB OnPress@fpickcolornode(node("..>viewfocus+",c)); repaintview(node("../Preview of background color",c)); @B itemcurrent@BBold@objectBviewwindowtype@@Z@B spatialx@M b@B spatialy@NB spatialsx@PI@B spatialsy@Q4@B tooltip@B coldlink@../..>viewfocus+/4B itemcurrent@BItalic@objectBviewwindowtype@@Z@B spatialx@Mi@B spatialy@NB spatialsx@PN@B spatialsy@Q4@B tooltip@B coldlink@../..>viewfocus+/5B itemcurrent@BUnformatted Text@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Z@B spatialx@MB spatialy@N`s@B spatialsx@P@B spatialsy@QT@Bpicture@cbitmaps\views\groupbox.bmpB beveltype@@B Font Style@objectBviewwindowtype@Y@B spatialx@M$@B spatialy@N.@B spatialsx@P0q@B spatialsy@Q9@B beveltype@B viewfocus@#VIEW:/environment/fonts/texteditor@B...@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@Mj@B spatialy@NB spatialsx@P4@B spatialsy@Q4@Bpicture@cbitmaps\views\button.bmpB OnPress@sets(node("@>tempfont",c), gets(node("VIEW:/environment/fonts/codeeditor/name"))); set(node("@>tempsize",c), get(node("VIEW:/environment/fonts/codeeditor/size"))); sets(node("VIEW:/environment/fonts/codeeditor/name"), gets(node("..>viewfocus+/name",c))); set(node("VIEW:/environment/fonts/codeeditor/size"), get(node("..>viewfocus+/size",c))); mainmenucommand("File|Editor Font..."); //pt(gets(node("VIEW:/environment/fonts/codeeditor/name")));pt(" "); //pf(get(node("VIEW:/environment/fonts/codeeditor/size")));pt(" "); sets(node("..>viewfocus+/name",c), gets(node("VIEW:/environment/fonts/codeeditor/name"))); set(node("..>viewfocus+/size",c), get(node("VIEW:/environment/fonts/codeeditor/size"))); //pt(gets(node("..>viewfocus+/name",c)));pt(" "); //pf(get(node("..>viewfocus+/size",c)));pt(" "); sets(node("VIEW:/environment/fonts/codeeditor/name"), gets(node("@>tempfont",c))); set(node("VIEW:/environment/fonts/codeeditor/size"), get(node("@>tempsize",c))); setviewtext(node("../pfi/fontinfo",c), concat( gets(node("..>viewfocus+/name", c)),", ", numtostring(get(node("..>viewfocus+/size",c)),0,0) ) ); @Bpfi@objectBviewwindowtype@Y@B spatialx@MR@B spatialy@NB spatialsx@P`@B spatialsy@Q4@Bpicture@cbitmaps\views\panel.bmpB beveltype@?@B fontinfo@objectBviewwindowtype@Y@B spatialx@MB spatialy@NB spatialsx@P@_@B spatialsy@Q4@Bpicture@cbitmaps\views\static.bmpBFont@objectBviewwindowtype@Y@B spatialx@M@B spatialy@N@B spatialsx@PD@B spatialsy@Q.@Bpicture@cbitmaps\views\static.bmpBpanel_backgroundcolor@objectBviewwindowtype@Y@B viewfocus@.VIEW:/environment/fonts/texteditor/backgroundB spatialx@Mq@B spatialy@N.@B spatialsx@P`c@B spatialsy@Q4@B beveltype@@B Background@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M@B spatialy@N@B spatialsx@P@P@B spatialsy@Q.@Bpicture@cbitmaps\views\static.bmpB itemcurrent@BPreview of background color@object B viewfocus@../..>viewfocus+Bviewwindowopen@Bviewwindowtype@Y@B spatialx@MR@B spatialy@NB spatialsx@PA@B spatialsy@Q4@Bpicture@cbitmaps\views\panel.bmpB beveltype@@Bcolor@aB itemcurrent@B...@object Bviewwindowopen@Bviewwindowtype@Y@B spatialx@M^@B spatialy@NB spatialsx@P4@B spatialsy@Q4@Bpicture@cbitmaps\views\button.bmpB OnPress@fpickcolornode(node("..>viewfocus+",c)); repaintview(node("../Preview of background color",c)); @B itemcurrent@Bpanel_defaultcolor@objectBviewwindowtype@Y@B viewfocus@.VIEW:/environment/fonts/texteditor/foregroundB spatialx@M$@B spatialy@NF@B spatialsx@Pp@B spatialsy@Q4@B beveltype@@BText@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M@B spatialy@N@B spatialsx@P@P@B spatialsy@Q.@Bpicture@cbitmaps\views\static.bmpB itemcurrent@BPreview of background color@object B viewfocus@../..>viewfocus+Bviewwindowopen@Bviewwindowtype@Y@B spatialx@MR@B spatialy@NB spatialsx@PA@B spatialsy@Q4@Bpicture@cbitmaps\views\panel.bmpB beveltype@@Bcolor@aB itemcurrent@B...@object Bviewwindowopen@Bviewwindowtype@Y@B spatialx@M^@B spatialy@NB spatialsx@P4@B spatialsy@Q4@Bpicture@cbitmaps\views\button.bmpB OnPress@fpickcolornode(node("..>viewfocus+",c)); repaintview(node("../Preview of background color",c)); @B itemcurrent@BBold@objectBviewwindowtype@@Z@B spatialx@M b@B spatialy@NB spatialsx@PI@B spatialsy@Q4@B tooltip@B coldlink@../..>viewfocus+/4B itemcurrent@BItalic@objectBviewwindowtype@@Z@B spatialx@Mi@B spatialy@NB spatialsx@PN@B spatialsy@Q4@B tooltip@B coldlink@../..>viewfocus+/5B itemcurrent@B Scintilla@objectBviewwindowopen@Bviewwindowtype@Y@B spatialx@MB spatialy@N`x@B spatialsx@P~@B spatialsy@QF@B coldlink@..>textBtext@Flexsim uses the Scintilla text editor. Information can be found at www.scintilla.org. Copyright 1998-2003 by Neil Hodgson All Rights Reserved B Environment@objectBviewwindowtype@Y@B spatialx@M@B spatialy@N8@B spatialsx@P8@B spatialsy@Q{@B tooltip@B beveltype@@B Options@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Z@B spatialx@MB spatialy@NB spatialsx@PX@B spatialsy@Q@j@Bpicture@cbitmaps\views\groupbox.bmpB beveltype@@ BMake default code C++@objectBviewwindowtype@@Z@B spatialx@M.@B spatialy@N.@B spatialsx@P`h@B spatialsy@Q4@B tooltip@B coldlink@VIEW:/environment/codecppB itemcurrent@B#Enable object sizing and rotating@objectBviewwindowtype@@Z@B spatialx@M.@B spatialy@NA@B spatialsx@Pl@B spatialsy@Q4@B tooltip@B coldlink@ VIEW:/environment/objselectmodeB itemcurrent@B0Initialize random streams based on system time@objectBviewwindowtype@@Z@B spatialx@M.@B spatialy@NK@B spatialsx@Pq@B spatialsy@Q4@B tooltip@B coldlink@#VIEW:/environment/seedbysystemtimeB itemcurrent@?B:Automatically expand grid in ortho and perspective views@objectBviewwindowtype@@Z@B spatialx@M.@B spatialy@NR@B spatialsx@Pt@B spatialsy@Q4@B tooltip@B coldlink@#VIEW:/environment/seedbysystemtimeB itemcurrent@BShow axes in ortho views@objectBviewwindowtype@@Z@B spatialx@M.@B spatialy@NW@B spatialsx@Pq@B spatialsy@Q4@B tooltip@B coldlink@#VIEW:/environment/seedbysystemtimeB itemcurrent@BShow origin in ortho views@objectBviewwindowtype@@Z@B spatialx@M.@B spatialy@N\@B spatialsx@Pq@B spatialsy@Q4@B tooltip@B coldlink@#VIEW:/environment/seedbysystemtimeB itemcurrent@B!Open wizard when Flexsim starts@objectBviewwindowtype@@Z@B spatialx@M.@B spatialy@N`@B spatialsx@Pq@B spatialsy@Q4@B tooltip@B coldlink@$VIEW:/environment/showstartupwizardB itemcurrent@BDisable window tabbing@objectBviewwindowtype@@Z@B spatialx@M.@B spatialy@N`c@B spatialsx@P`h@B spatialsy@Q4@B tooltip@B coldlink@'VIEW:/environment/disablewindowtabbingB itemcurrent@B!Disable tool windows as topmost@objectBviewwindowtype@@Z@B spatialx@M.@B spatialy@Ne@B spatialsx@P`h@B spatialsy@Q4@B tooltip@B coldlink@!VIEW:/environment/disabletopmostB itemcurrent@BSave Workspace as Default@objectBviewwindowtype@Y@B spatialx@M`x@B spatialy@N.@B spatialsx@Pb@B spatialsy@Q5@B picture@cbitmaps\views\button.bmpB OnPress@Wnodefunction(node("MAIN:/project/exec/globals/nodefunctions/saveworkspaceasdefault"));@BReset Default Workspace@objectBviewwindowtype@Y@B spatialx@M`x@B spatialy@ND@B spatialsx@Pb@B spatialsy@Q5@B picture@cbitmaps\views\button.bmpB OnPress@if(msg("Reset Default Workspace","Reset the default workspace?")) { treenode defaultworkspace = node("VIEW:/environment/defaultworkspace"); if(objectexists(defaultworkspace)) destroyobject(defaultworkspace); }@BExcel Settings@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Z@B spatialx@MB spatialy@N@j@B spatialsx@PX@B spatialsy@Q^@Bpicture@cbitmaps\views\groupbox.bmpB beveltype@@B DDE Note@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M.@B spatialy@N4@B spatialsx@Pz@B spatialsy@Q>@B picture@cbitmaps\views\static.bmpB coldlink@..>textBtext@}These settings only apply to DDE communication (maintenance(1000,1)). This is not Flexsim's default communication protocol.BExcel Launch Path@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M.@B spatialy@NN@B spatialsx@PY@B spatialsy@Q.@B picture@cbitmaps\views\static.bmpBeditlaunchpath@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@M\@B spatialy@NK@B spatialsx@PPr@B spatialsy@Q5@B picture@cbitmaps\views\edit.bmpB coldlink@#VIEW:/environment/excel/launchpathB tooltip@SThe complete path to the directory containing the Excel execution file (EXCEL.EXE)@B...@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@My@B spatialy@NK@B spatialsx@P9@B spatialsy@Q4@B picture@cbitmaps\views\button.bmpB OnPress@setnodestr(node(">temp",c),"C:\\Program Files\\Microsoft Office"); setnodestr(node(">temp",c),apchar(filebrowse("*.exe","Excel Launch File",getnodestr(node(">temp",c))))); if(gt(stringlen(getnodestr(node(">temp",c))),10)) { setviewtext(node("../editlaunchpath",c),stringcopy(getnodestr(node(">temp",c)),1,sub(stringlen(getnodestr(node(">temp",c))),10))); applylinks(ownerview(c)); } @Btemp@B tooltip@9Browse for the Excel workbook you want to copy data fromBRow Reference Character@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M.@B spatialy@NV@B spatialsx@P_@B spatialsy@Q,@B picture@cbitmaps\views\static.bmpB editrowchar@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@M b@B spatialy@N@U@B spatialsx@PE@B spatialsy@Q5@B picture@cbitmaps\views\edit.bmpB coldlink@ VIEW:/environment/excel/rowchar@B tooltip@IThe language specific reference character for a row designation in Excel@BColumn Reference Character@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@Mj@B spatialy@NV@B spatialsx@Pa@B spatialsy@Q,@B picture@cbitmaps\views\static.bmpB editcolchar@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@Mv@B spatialy@N@U@B spatialsx@PE@B spatialsy@Q5@B picture@cbitmaps\views\edit.bmpB coldlink@ VIEW:/environment/excel/colchar@B tooltip@LThe language specific reference character for a column designation in Excel@B CSV Files@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Z@B spatialx@MB spatialy@Nt@B spatialsx@PX@B spatialsy@QW@Bpicture@cbitmaps\views\groupbox.bmpB beveltype@@B CSV Note@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M.@B spatialy@N4@B spatialsx@Pz@B spatialsy@Q>@B picture@cbitmaps\views\static.bmpB coldlink@..>textBtext@This setting is used to open Flexsim-generate CSV files (comma-separated values). If it is left blank, the computer's default application will be used (Recommended).BDefault CSV Application@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M.@B spatialy@NN@B spatialsx@P\@B spatialsy@Q.@B picture@cbitmaps\views\static.bmpB editcvspath@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@@Y@B spatialx@M`@B spatialy@NK@B spatialsx@PPr@B spatialsy@Q5@B picture@cbitmaps\views\edit.bmpB coldlink@VIEW:/environment/csvpathB tooltip@=The complete path to the application used to open CSV files\@B...@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M0{@B spatialy@NK@B spatialsx@P9@B spatialsy@Q4@B picture@cbitmaps\views\button.bmpB OnPress@)setnodestr(node(">temp",c),"C:\\"); setnodestr(node(">temp",c),filebrowse("*.exe","Text/CSV editing program",getnodestr(node(">temp",c)))); if(ge(stringlen(getnodestr(node(">temp",c))),4)) { setviewtext(node("../editcvspath",c),getnodestr(node(">temp",c))); applylinks(ownerview(c)); } @Btemp@B tooltip@9Browse for the Excel workbook you want to copy data fromBUserLibraries@objectBviewwindowtype@Y@B spatialx@M@B spatialy@N8@B spatialsx@P8@B spatialsy@Q{@B tooltip@B beveltype@@B)Number of libraries to open at startup:@objectB viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M$@B spatialy@N$@B spatialsx@Pg@B spatialsy@Q.@Bpicture@cbitmaps\views\static.bmpB NumLibsEdit@object B viewfocus@MAIN:/project/modelB coldlink@@>objectfocus+>variables/rowsBviewwindowopen@Bviewwindowtype@@Y@B spatialx@Mi@B spatialy@N$@B spatialsx@PI@B spatialsy@Q4@Bpicture@cbitmaps\views\edit.bmpBtooltip@Number of rows in the tableB LibraryList@objectB viewfocus@ VIEW:/environment/userlibrariesBviewwindowopen@Bviewwindowtype@@B spatialx@M @B spatialy@NB@B spatialsx@PЀ@B spatialsy@Qv@Bpicture@cbitmaps\views\table.bmpB cellwidth@Q@B cellheight@2@@B@ @Balignrightmargin@@Balignbottommargin@>@B dataentry@?Blist@B noformat@BApply@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@Mo@B spatialy@N$@B spatialsx@PD@B spatialsy@Q4@B picture@cbitmaps\views\button.bmpB OnPress@lint numrows = stringtonum(getviewtext(node("../NumLibsEdit",c))); treenode liblist = node("VIEW:/environment/userlibraries"); while (content(liblist) > numrows) { destroyobject(last(liblist)); } while (content(liblist) < numrows) { nodeinsertinto(liblist); setnodename(last(liblist),"myuserlibrary.fsl"); } repaintview(node("../LibraryList",c));@BCustomize Toolbar@objectBviewwindowtype@Y@B spatialx@M@B spatialy@N8@B spatialsx@P8@B spatialsy@Q{@B tooltip@B beveltype@@B Combobox@object Bviewwindowtype@@[@B spatialx@M@B spatialy@N@B spatialsx@P l@B spatialsy@Qn@B tooltip@Bitems@@ BPopular Commands@@Bitems@@BFlowitem Bin@@objectBbitmap@buttons\view_flowitems.bmpB OnPress@Dnodefunction(node("VIEW:/nodefunctions/menucommands/flowitembin"));@B tooltip@ Flowitem BinB@VIEW:/toolbaritems/8/1/8@BModel Control GUI@@objectBbitmap@buttons\_date.bmpB OnPress@Hnodefunction(node("VIEW:/nodefunctions/menucommands/modelcontrolgui"));@B tooltip@Model Control GUIB@VIEW:/toolbaritems/4/1/9@BReload Media@@objectBbitmap@buttons\reload.bmpB OnPress@Dnodefunction(node("VIEW:/nodefunctions/menucommands/reloadmedia"));@B tooltip@ Reload MediaB@VIEW:/toolbaritems/2/1/21@BDisconnect DLLs@@objectBbitmap@buttons\dll.bmpB OnPress@Gnodefunction(node("VIEW:/nodefunctions/menucommands/disconnectdlls"));@B tooltip@Disconnect DLLsB@VIEW:/toolbaritems/2/1/22@BOutput Console@@objectBbitmap@buttons\console.bmpB OnPress@Fnodefunction(node("VIEW:/nodefunctions/menucommands/outputconsole"));@B tooltip@Output ConsoleB@VIEW:/toolbaritems/4/1/2@BBuild Flexscript@@objectBbitmap@buttons\buildflexscript.bmpB OnPress@Hnodefunction(node("VIEW:/nodefunctions/menucommands/buildflexscript"));@B tooltip@Build FlexscriptB@VIEW:/toolbaritems/5/1/1@BCompile Model@@objectBbitmap@buttons\compile.bmpB OnPress@Enodefunction(node("VIEW:/nodefunctions/menucommands/compilemodel"));@B tooltip@Compile ModelB@VIEW:/toolbaritems/5/1/2@BOpen Visual Studio...@@objectBbitmap@buttons\visualstudio.bmpB OnPress@Inodefunction(node("VIEW:/nodefunctions/menucommands/openvisualstudio"));@B tooltip@Open Visual Studio...B@VIEW:/toolbaritems/5/1/4@BExperimenter...@@objectBbitmap@buttons\_test.bmpB OnPress@Enodefunction(node("VIEW:/nodefunctions/menucommands/experimenter"));@B tooltip@Experimenter...B@VIEW:/toolbaritems/7/1/6@BReports and Statistics@@objectBbitmap@buttons\stats.bmpB OnPress@Mnodefunction(node("VIEW:/nodefunctions/menucommands/reportsandstatistics"));@B tooltip@Reports and StatisticsB@VIEW:/toolbaritems/7/1/5@BGlobal Variables@@objectBbitmap@buttons\variables.bmpB OnPress@Hnodefunction(node("VIEW:/nodefunctions/menucommands/globalvariables"));@B tooltip@Global VariablesB@VIEW:/toolbaritems/8/1/9@BUser Commands@@objectBbitmap@buttons\functions.bmpB OnPress@Enodefunction(node("VIEW:/nodefunctions/menucommands/usercommands"));@B tooltip@User CommandsB@VIEW:/toolbaritems/8/1/17@B User Manual@@objectBbitmap@buttons\codehelp.bmpB OnPress@Cnodefunction(node("VIEW:/nodefunctions/menucommands/usermanual"));@B tooltip@ User ManualB@VIEW:/toolbaritems/9/1/2@B Commands@@objectBbitmap@buttons\_hints.bmpB OnPress@Anodefunction(node("VIEW:/nodefunctions/menucommands/commands"));@B tooltip@ CommandsB@VIEW:/toolbaritems/9/1/3@B File Menu@@Bitems@@B New Model@@Bbitmap@buttons\_new.bmpB OnPress@Anodefunction(node("VIEW:/nodefunctions/menucommands/newmodel"));@B tooltip@ New ModelB@VIEW:/toolbaritems/2/1/1@B Open Model@@Bbitmap@buttons\_open.bmpB OnPress@Bnodefunction(node("VIEW:/nodefunctions/menucommands/openmodel"));@B tooltip@ Open ModelB@VIEW:/toolbaritems/2/1/2@B Save...@@Bbitmap@buttons\_saveas.bmpB OnPress@=nodefunction(node("VIEW:/nodefunctions/menucommands/save"));@B tooltip@Save...B@VIEW:/toolbaritems/2/1/3@BSave Model As...@@Bbitmap@buttons\_saveas.bmpB OnPress@Dnodefunction(node("VIEW:/nodefunctions/menucommands/savemodelas"));@B tooltip@Save Model As...B@VIEW:/toolbaritems/2/1/4@B Save State@@objectBbitmap@buttons\_saveas.bmpB OnPress@Bnodefunction(node("VIEW:/nodefunctions/menucommands/savestate"));@B tooltip@ Save StateB@VIEW:/toolbaritems/2/1/5@B Load State@@objectBbitmap@buttons\_open.bmpB OnPress@Bnodefunction(node("VIEW:/nodefunctions/menucommands/loadstate"));@B tooltip@ Load StateB@VIEW:/toolbaritems/2/1/6@BSave XML Model@@objectBbitmap@buttons\_saveas.bmpB OnPress@Enodefunction(node("VIEW:/nodefunctions/menucommands/savexmlmodel"));@B tooltip@Save XML ModelB@VIEW:/toolbaritems/2/1/7@BSave XML Project@@objectBbitmap@buttons\_saveas.bmpB OnPress@Gnodefunction(node("VIEW:/nodefunctions/menucommands/savexmlproject"));@B tooltip@Save XML ProjectB@VIEW:/toolbaritems/2/1/8@BSave XML View Layout@@objectBbitmap@buttons\_saveas.bmpB OnPress@Jnodefunction(node("VIEW:/nodefunctions/menucommands/savexmlviewlayout"));@B tooltip@Save XML View LayoutB@VIEW:/toolbaritems/2/1/9@BSave XML Session@@objectBbitmap@buttons\_saveas.bmpB OnPress@Gnodefunction(node("VIEW:/nodefunctions/menucommands/savexmlsession"));@B tooltip@Save XML SessionB@VIEW:/toolbaritems/2/1/10@BOpen XML Model@@objectBbitmap@buttons\_open.bmpB OnPress@Enodefunction(node("VIEW:/nodefunctions/menucommands/openxmlmodel"));@B tooltip@Open XML ModelB@VIEW:/toolbaritems/2/1/11@BOpen XML Project@@objectBbitmap@buttons\_open.bmpB OnPress@Gnodefunction(node("VIEW:/nodefunctions/menucommands/openxmlproject"));@B tooltip@Open XML ProjectB@VIEW:/toolbaritems/2/1/12@BOpen XML View Layout@@objectBbitmap@buttons\_open.bmpB OnPress@Jnodefunction(node("VIEW:/nodefunctions/menucommands/openxmlviewlayout"));@B tooltip@Open XML View LayoutB@VIEW:/toolbaritems/2/1/13@BOpen XML Session@@objectBbitmap@buttons\_open.bmpB OnPress@Gnodefunction(node("VIEW:/nodefunctions/menucommands/openxmlsession"));@B tooltip@Open XML SessionB@VIEW:/toolbaritems/2/1/14@BOpen View Layout...@@objectBbitmap@buttons\_open.bmpB OnPress@Gnodefunction(node("VIEW:/nodefunctions/menucommands/openviewlayout"));@B tooltip@Open View Layout...B@VIEW:/toolbaritems/2/1/15@BSave View Layout As...@@objectBbitmap@buttons\_saveas.bmpB OnPress@Inodefunction(node("VIEW:/nodefunctions/menucommands/saveviewlayoutas"));@B tooltip@Save View Layout As...B@VIEW:/toolbaritems/2/1/16@BOpen project or session...@@objectBbitmap@buttons\_open.bmpB OnPress@Mnodefunction(node("VIEW:/nodefunctions/menucommands/openprojectorsession"));@B tooltip@Open project or session...B@VIEW:/toolbaritems/2/1/17@BSave Project As...@@objectBbitmap@buttons\_saveas.bmpB OnPress@Fnodefunction(node("VIEW:/nodefunctions/menucommands/saveprojectas"));@B tooltip@Save Project As...B@VIEW:/toolbaritems/2/1/18@BSave Session As...@@objectBbitmap@buttons\_saveas.bmpB OnPress@Fnodefunction(node("VIEW:/nodefunctions/menucommands/savesessionas"));@B tooltip@Save Session As...B@VIEW:/toolbaritems/2/1/19@BGlobal Preferences@@objectBbitmap@buttons\preferences.bmpB OnPress@Jnodefunction(node("VIEW:/nodefunctions/menucommands/globalpreferences"));@B tooltip@Global PreferencesB@VIEW:/toolbaritems/2/1/20@BReload Media@@objectBbitmap@buttons\reload.bmpB OnPress@Dnodefunction(node("VIEW:/nodefunctions/menucommands/reloadmedia"));@B tooltip@ Reload MediaB@VIEW:/toolbaritems/2/1/21@BDisconnect DLLs@@objectBbitmap@buttons\dll.bmpB OnPress@Gnodefunction(node("VIEW:/nodefunctions/menucommands/disconnectdlls"));@B tooltip@Disconnect DLLsB@VIEW:/toolbaritems/2/1/22@BExit@@objectBbitmap@buttons\delete.bmpB OnPress@=nodefunction(node("VIEW:/nodefunctions/menucommands/exit"));@B tooltip@ExitB@VIEW:/toolbaritems/2/1/23@B Edit Menu@@Bitems@@BLock Splines@@objectBbitmap@buttons\spline.bmpB OnPress@Dnodefunction(node("VIEW:/nodefunctions/menucommands/locksplines"));@B tooltip@ Lock SplinesB@VIEW:/toolbaritems/3/1/1@BUnlock Splines@@objectBbitmap@buttons\spline.bmpB OnPress@Fnodefunction(node("VIEW:/nodefunctions/menucommands/unlocksplines"));@B tooltip@Unlock SplinesB@VIEW:/toolbaritems/3/1/2@BSet Spline Tension@@objectBbitmap@buttons\spline.bmpB OnPress@Inodefunction(node("VIEW:/nodefunctions/menucommands/setsplinetension"));@B tooltip@Set Spline TensionB@VIEW:/toolbaritems/3/1/3@BResize and Rotate Objects@@objectBbitmap@buttons\resize.bmpB OnPress@Onodefunction(node("VIEW:/nodefunctions/menucommands/resizeandrotateobjects"));@B tooltip@Resize and Rotate ObjectsB@VIEW:/toolbaritems/3/1/4@BFind/Replace in Tree@@objectBbitmap@buttons\replace.bmpB OnPress@Jnodefunction(node("VIEW:/nodefunctions/menucommands/findreplaceintree"));@B tooltip@Find/Replace in TreeB@VIEW:/toolbaritems/3/1/5@BSet Number Precision@@objectBbitmap@buttons\numberprecision.bmpB OnPress@Knodefunction(node("VIEW:/nodefunctions/menucommands/setnumberprecision"));@B tooltip@Set Number PrecisionB@VIEW:/toolbaritems/3/1/6@B View Menu@@Bitems@@BScript Window@@objectBbitmap@buttons\script.bmpB OnPress@Enodefunction(node("VIEW:/nodefunctions/menucommands/scriptwindow"));@B tooltip@Script WindowB@VIEW:/toolbaritems/4/1/1@BOutput Console@@objectBbitmap@buttons\console.bmpB OnPress@Fnodefunction(node("VIEW:/nodefunctions/menucommands/outputconsole"));@B tooltip@Output ConsoleB@VIEW:/toolbaritems/4/1/2@BSystem Console@@objectBbitmap@buttons\console.bmpB OnPress@Fnodefunction(node("VIEW:/nodefunctions/menucommands/systemconsole"));@B tooltip@System ConsoleB@VIEW:/toolbaritems/4/1/3@BCompiler Console@@objectBbitmap@buttons\console.bmpB OnPress@Hnodefunction(node("VIEW:/nodefunctions/menucommands/compilerconsole"));@B tooltip@Compiler ConsoleB@VIEW:/toolbaritems/4/1/4@B Model Tree@@objectBbitmap@buttons\view_tree.bmpB OnPress@Anodefunction(node("VIEW:/nodefunctions/menucommands/treeview"));@B tooltip@ Model TreeB@VIEW:/toolbaritems/4/1/5@BModel View (Planar)@@objectBbitmap@buttons\view_planar.bmpB OnPress@Cnodefunction(node("VIEW:/nodefunctions/menucommands/planarview"));@B tooltip@Model View (Planar)B@VIEW:/toolbaritems/4/1/6@BModel View (Orthographic)@@objectBbitmap@buttons\view_ortho.bmpB OnPress@Inodefunction(node("VIEW:/nodefunctions/menucommands/orthographicview"));@B tooltip@Model View (Orthographic)B@VIEW:/toolbaritems/4/1/7@BModel View (Perspective)@@objectBbitmap@buttons\view_pers.bmpB OnPress@Hnodefunction(node("VIEW:/nodefunctions/menucommands/perspectiveview"));@B tooltip@Model View (Perspective)B@VIEW:/toolbaritems/4/1/8@BModel Control GUI@@objectBbitmap@buttons\_date.bmpB OnPress@Hnodefunction(node("VIEW:/nodefunctions/menucommands/modelcontrolgui"));@B tooltip@Model Control GUIB@VIEW:/toolbaritems/4/1/9@BCurrent Database Table@@objectBbitmap@buttons\databasetable.bmpB OnPress@Mnodefunction(node("VIEW:/nodefunctions/menucommands/currentdatabasetable"));@B tooltip@Current Database TableB@VIEW:/toolbaritems/4/1/10@BTrace Debugger Settings...@@objectBbitmap@buttons\orb.bmpB OnPress@Fnodefunction(node("VIEW:/nodefunctions/menucommands/tracesettings"));@B tooltip@Trace Debugger Settings...B@VIEW:/toolbaritems/4/1/11@B Trace on@@objectBbitmap@buttons\orb.bmpB OnPress@@nodefunction(node("VIEW:/nodefunctions/menucommands/traceon"));@B tooltip@ Trace onB@VIEW:/toolbaritems/4/1/12@BTrace Console@@objectBbitmap@buttons\console.bmpB OnPress@Enodefunction(node("VIEW:/nodefunctions/menucommands/traceconsole"));@B tooltip@Trace ConsoleB@VIEW:/toolbaritems/4/1/13@BLibrary Icon Grid@@objectBbitmap@buttons\view_library.bmpB OnPress@Hnodefunction(node("VIEW:/nodefunctions/menucommands/libraryicongrid"));@B tooltip@Library Icon GridB@VIEW:/toolbaritems/4/1/14@BView Settings@@objectBbitmap@buttons\view_viewsettings.bmpB OnPress@Enodefunction(node("VIEW:/nodefunctions/menucommands/viewsettings"));@B tooltip@View SettingsB@VIEW:/toolbaritems/4/1/15@BEdit Highlighted Object@@objectBbitmap@'buttons\view_edithighlightedobject.bmpB OnPress@Nnodefunction(node("VIEW:/nodefunctions/menucommands/edithighlightedobject"));@B tooltip@Edit Highlighted ObjectB@VIEW:/toolbaritems/4/1/16@BEdit Selected Objects@@objectBbitmap@%buttons\view_editselectedobjects.bmpB OnPress@Lnodefunction(node("VIEW:/nodefunctions/menucommands/editselectedobjects"));@B tooltip@Edit Selected ObjectsB@VIEW:/toolbaritems/4/1/17@BFind Objects@@objectBbitmap@buttons\view_findobjects.bmpB OnPress@Dnodefunction(node("VIEW:/nodefunctions/menucommands/findobjects"));@B tooltip@ Find ObjectsB@VIEW:/toolbaritems/4/1/18@BTree Navigation@@objectBbitmap@ buttons\view_treenavigation.bmpB OnPress@Gnodefunction(node("VIEW:/nodefunctions/menucommands/treenavigation"));@B tooltip@Tree NavigationB@VIEW:/toolbaritems/4/1/19@BTravel Networks@@objectBbitmap@ buttons\view_travelnetworks.bmpB OnPress@Gnodefunction(node("VIEW:/nodefunctions/menucommands/travelnetworks"));@B tooltip@Travel NetworksB@VIEW:/toolbaritems/4/1/20@BViews@@objectBbitmap@buttons\view_views.bmpB OnPress@>nodefunction(node("VIEW:/nodefunctions/menucommands/views"));@B tooltip@ViewsB@VIEW:/toolbaritems/4/1/21@BGroups@@objectBbitmap@buttons\view_groups.bmpB OnPress@?nodefunction(node("VIEW:/nodefunctions/menucommands/groups"));@B tooltip@GroupsB@VIEW:/toolbaritems/4/1/22@BModel Layouts@@objectBbitmap@buttons\view_modellayouts.bmpB OnPress@Enodefunction(node("VIEW:/nodefunctions/menucommands/modellayouts"));@B tooltip@Model LayoutsB@VIEW:/toolbaritems/4/1/23@B Build Menu@@Bitems@@BBuild Flexscript@@objectBbitmap@buttons\buildflexscript.bmpB OnPress@Hnodefunction(node("VIEW:/nodefunctions/menucommands/buildflexscript"));@B tooltip@Build FlexscriptB@VIEW:/toolbaritems/5/1/1@BCompile Model@@objectBbitmap@buttons\compile.bmpB OnPress@Enodefunction(node("VIEW:/nodefunctions/menucommands/compilemodel"));@B tooltip@Compile ModelB@VIEW:/toolbaritems/5/1/2@BCompile Entire Session@@objectBbitmap@buttons\compile2.bmpB OnPress@Mnodefunction(node("VIEW:/nodefunctions/menucommands/compileentiresession"));@B tooltip@Compile Entire SessionB@VIEW:/toolbaritems/5/1/3@BOpen Visual Studio...@@objectBbitmap@buttons\visualstudio.bmpB OnPress@Inodefunction(node("VIEW:/nodefunctions/menucommands/openvisualstudio"));@B tooltip@Open Visual Studio...B@VIEW:/toolbaritems/5/1/4@BMake All Code C++@@objectBbitmap@buttons\cpp.bmpB OnPress@Gnodefunction(node("VIEW:/nodefunctions/menucommands/makeallcodecpp"));@B tooltip@Make All Code C++B@VIEW:/toolbaritems/5/1/5@BMake All Code Flexscript@@objectBbitmap@buttons\flexscript.bmpB OnPress@Nnodefunction(node("VIEW:/nodefunctions/menucommands/makeallcodeflexscript"));@B tooltip@Make All Code FlexscriptB@VIEW:/toolbaritems/5/1/6@BExecute Menu@@Bitems@@BReset@@objectBbitmap@buttons\_reset.bmpB OnPress@>nodefunction(node("VIEW:/nodefunctions/menucommands/reset"));@B tooltip@ResetB@VIEW:/toolbaritems/6/1/1@BRun@@objectBbitmap@buttons\_go.bmpB OnPress@<nodefunction(node("VIEW:/nodefunctions/menucommands/run"));@B tooltip@RunB@VIEW:/toolbaritems/6/1/2@BPause@@objectBbitmap@buttons\_pause.bmpB OnPress@>nodefunction(node("VIEW:/nodefunctions/menucommands/pause"));@B tooltip@PauseB@VIEW:/toolbaritems/6/1/3@BStop@@objectBbitmap@buttons\_stop.bmpB OnPress@=nodefunction(node("VIEW:/nodefunctions/menucommands/stop"));@B tooltip@StopB@VIEW:/toolbaritems/6/1/4@BStep@@objectBbitmap@buttons\_step.bmpB OnPress@=nodefunction(node("VIEW:/nodefunctions/menucommands/step"));@B tooltip@StepB@VIEW:/toolbaritems/6/1/5@BIncrease Run Speed@@objectBbitmap@buttons\runspeed1.bmpB OnPress@Inodefunction(node("VIEW:/nodefunctions/menucommands/increaserunspeed"));@B tooltip@Increase Run SpeedB@VIEW:/toolbaritems/6/1/6@BDecrease Run Speed@@objectBbitmap@buttons\runspeed2.bmpB OnPress@Inodefunction(node("VIEW:/nodefunctions/menucommands/decreaserunspeed"));@B tooltip@Decrease Run SpeedB@VIEW:/toolbaritems/6/1/7@BStatistics Menu@@Bitems@@ B Selected Objects Graph Data On@@objectBbitmap@buttons\orb.bmpB OnPress@Jnodefunction(node("VIEW:/nodefunctions/menucommands/selectedobjectson"));@B tooltip@Selected Objects Graph Data OnB@VIEW:/toolbaritems/7/1/1@B!Selected Objects Graph Data Off@@objectBbitmap@buttons\orb.bmpB OnPress@Knodefunction(node("VIEW:/nodefunctions/menucommands/selectedobjectsoff"));@B tooltip@ Selected Objects Graph Data OffB@VIEW:/toolbaritems/7/1/2@BHide Green Indicator Boxes@@objectBbitmap@buttons\orb.bmpB OnPress@Pnodefunction(node("VIEW:/nodefunctions/menucommands/hidegreenindicatorboxes"));@B tooltip@Hide Green Indicator BoxesB@VIEW:/toolbaritems/7/1/3@BFull History On@@objectBbitmap@buttons\history.bmpB OnPress@Fnodefunction(node("VIEW:/nodefunctions/menucommands/fullhistoryon"));@B tooltip@Full History OnB@VIEW:/toolbaritems/7/1/4@BReports and Statistics@@objectBbitmap@buttons\stats.bmpB OnPress@Mnodefunction(node("VIEW:/nodefunctions/menucommands/reportsandstatistics"));@B tooltip@Reports and StatisticsB@VIEW:/toolbaritems/7/1/5@BExperimenter...@@objectBbitmap@buttons\_test.bmpB OnPress@Enodefunction(node("VIEW:/nodefunctions/menucommands/experimenter"));@B tooltip@Experimenter...B@VIEW:/toolbaritems/7/1/6@BRepeat Random Streams@@objectBbitmap@buttons\orb.bmpB OnPress@Lnodefunction(node("VIEW:/nodefunctions/menucommands/repeatrandomstreams"));@B tooltip@Repeat Random StreamsB@VIEW:/toolbaritems/7/1/7@B OptQuest@@objectBbitmap@buttons\orb.bmpB OnPress@Anodefunction(node("VIEW:/nodefunctions/menucommands/optquest"));@B tooltip@ OptQuestB@VIEW:/toolbaritems/7/1/8@B ExpertFit@@objectBbitmap@buttons\expertfit.bmpB OnPress@Bnodefunction(node("VIEW:/nodefunctions/menucommands/expertfit"));@B tooltip@ ExpertFitB@VIEW:/toolbaritems/7/1/9@B Tools Menu@@Bitems@@BAdd a Global Table@@objectBbitmap@buttons\view_tables.bmpB OnPress@Gnodefunction(node("VIEW:/nodefunctions/menucommands/addglobaltable"));@B tooltip@Add a Global TableB@VIEW:/toolbaritems/8/1/1@BAdd a Time Table@@objectBbitmap@buttons\orb.bmpB OnPress@Enodefunction(node("VIEW:/nodefunctions/menucommands/addtimetable"));@B tooltip@Add a Time TableB@VIEW:/toolbaritems/8/1/2@BAdd a User Event@@objectBbitmap@buttons\orb.bmpB OnPress@Enodefunction(node("VIEW:/nodefunctions/menucommands/adduserevent"));@B tooltip@Add a User EventB@VIEW:/toolbaritems/8/1/3@BAdd a MTBF MTTR@@objectBbitmap@buttons\orb.bmpB OnPress@Dnodefunction(node("VIEW:/nodefunctions/menucommands/addmtbfmttr"));@B tooltip@Add a MTBF MTTRB@VIEW:/toolbaritems/8/1/4@BAdd a Watch List@@objectBbitmap@buttons\orb.bmpB OnPress@Enodefunction(node("VIEW:/nodefunctions/menucommands/addwatchlist"));@B tooltip@Add a Watch ListB@VIEW:/toolbaritems/8/1/5@B Add a Graphical User Interface@@objectBbitmap@buttons\view_gui.bmpB OnPress@?nodefunction(node("VIEW:/nodefunctions/menucommands/addgui"));@B tooltip@Add a Graphical User InterfaceB@VIEW:/toolbaritems/8/1/6@BAdd a Global Task Sequence@@objectBbitmap@buttons\orb.bmpB OnPress@Nnodefunction(node("VIEW:/nodefunctions/menucommands/addglobaltasksequence"));@B tooltip@Add a Global Task SequenceB@VIEW:/toolbaritems/8/1/7@BFlowitem Bin@@objectBbitmap@buttons\view_flowitems.bmpB OnPress@Dnodefunction(node("VIEW:/nodefunctions/menucommands/flowitembin"));@B tooltip@ Flowitem BinB@VIEW:/toolbaritems/8/1/8@BGlobal Variables@@objectBbitmap@buttons\variables.bmpB OnPress@Hnodefunction(node("VIEW:/nodefunctions/menucommands/globalvariables"));@B tooltip@Global VariablesB@VIEW:/toolbaritems/8/1/9@B AVI Maker@@objectBbitmap@buttons\_avi.bmpB OnPress@Anodefunction(node("VIEW:/nodefunctions/menucommands/avimaker"));@B tooltip@ AVI MakerB@VIEW:/toolbaritems/8/1/10@BPresentation Builder@@objectBbitmap@buttons\camera.bmpB OnPress@Lnodefunction(node("VIEW:/nodefunctions/menucommands/presentationbuilder"));@B tooltip@Presentation BuilderB@VIEW:/toolbaritems/8/1/11@B Media Files@@objectBbitmap@buttons\media.bmpB OnPress@Cnodefunction(node("VIEW:/nodefunctions/menucommands/mediafiles"));@B tooltip@ Media FilesB@VIEW:/toolbaritems/8/1/12@BOn Model Open@@objectBbitmap@buttons\codeedit.bmpB OnPress@Dnodefunction(node("VIEW:/nodefunctions/menucommands/onmodelopen"));@B tooltip@On Model OpenB@VIEW:/toolbaritems/8/1/13@BOn Run Start@@objectBbitmap@buttons\codeedit.bmpB OnPress@Cnodefunction(node("VIEW:/nodefunctions/menucommands/onrunstart"));@B tooltip@ On Run StartB@VIEW:/toolbaritems/8/1/14@B On Run Stop@@objectBbitmap@buttons\codeedit.bmpB OnPress@Bnodefunction(node("VIEW:/nodefunctions/menucommands/onrunstop"));@B tooltip@ On Run StopB@VIEW:/toolbaritems/8/1/15@BOn Post-Compile@@objectBbitmap@buttons\codeedit.bmpB OnPress@Fnodefunction(node("VIEW:/nodefunctions/menucommands/onpostcompile"));@B tooltip@On Post-CompileB@VIEW:/toolbaritems/8/1/16@BUser Commands@@objectBbitmap@buttons\functions.bmpB OnPress@Enodefunction(node("VIEW:/nodefunctions/menucommands/usercommands"));@B tooltip@User CommandsB@VIEW:/toolbaritems/8/1/17@BExcel@@objectBbitmap@buttons\XL.bmpB OnPress@>nodefunction(node("VIEW:/nodefunctions/menucommands/excel"));@B tooltip@ExcelB@VIEW:/toolbaritems/8/1/18@BVisio@@objectBbitmap@buttons\visio.bmpB OnPress@>nodefunction(node("VIEW:/nodefunctions/menucommands/visio"));@B tooltip@VisioB@VIEW:/toolbaritems/8/1/19@B Help Menu@@Bitems@@ BGetting Started@@objectBbitmap@buttons\codehelp.bmpB OnPress@Gnodefunction(node("VIEW:/nodefunctions/menucommands/gettingstarted"));@B tooltip@Getting StartedB@VIEW:/toolbaritems/9/1/1@B User Manual@@objectBbitmap@buttons\codehelp.bmpB OnPress@Cnodefunction(node("VIEW:/nodefunctions/menucommands/usermanual"));@B tooltip@ User ManualB@VIEW:/toolbaritems/9/1/2@B Commands@@objectBbitmap@buttons\_hints.bmpB OnPress@Anodefunction(node("VIEW:/nodefunctions/menucommands/commands"));@B tooltip@ CommandsB@VIEW:/toolbaritems/9/1/3@BAttribute Hints@@objectBbitmap@buttons\_hints.bmpB OnPress@Gnodefunction(node("VIEW:/nodefunctions/menucommands/attributehints"));@B tooltip@Attribute HintsB@VIEW:/toolbaritems/9/1/4@BFlexsim Web Site@@objectBbitmap@buttons\x.bmpB OnPress@Gnodefunction(node("VIEW:/nodefunctions/menucommands/flexsimwebsite"));@B tooltip@Flexsim Web SiteB@VIEW:/toolbaritems/9/1/5@BFlexsim Community Forum@@objectBbitmap@buttons\internet.bmpB OnPress@Nnodefunction(node("VIEW:/nodefunctions/menucommands/flexsimcommunityforum"));@B tooltip@Flexsim Community ForumB@VIEW:/toolbaritems/9/1/6@BFlexsim Downloads@@objectBbitmap@buttons\internet.bmpB OnPress@Inodefunction(node("VIEW:/nodefunctions/menucommands/flexsimdownloads"));@B tooltip@Flexsim DownloadsB@VIEW:/toolbaritems/9/1/7@BSample Models@@objectBbitmap@buttons\internet.bmpB OnPress@Enodefunction(node("VIEW:/nodefunctions/menucommands/samplemodels"));@B tooltip@Sample ModelsB@VIEW:/toolbaritems/9/1/8@BRegister Educational License@@objectBbitmap@buttons\internet.bmpB OnPress@Snodefunction(node("VIEW:/nodefunctions/menucommands/registereducationallicense"));@B tooltip@Register Educational LicenseB@VIEW:/toolbaritems/9/1/9@BAbout Flexsim...@@objectBbitmap@buttons\x.bmpB OnPress@Enodefunction(node("VIEW:/nodefunctions/menucommands/aboutflexsim"));@B tooltip@About Flexsim...B@VIEW:/toolbaritems/9/1/10@B itemcurrent@?B OnSelect@treenode selecteditem = rank(items(c),get(itemcurrent(c))); treenode FromListbox = node("../FromListbox",c); treenode itemlist = items(FromListbox); createcopy(first(selecteditem),itemlist,1,0,0,1); listboxrefresh(FromListbox);@B FromListbox@object Bviewwindowtype@\@B spatialx@M@B spatialy@ND@B spatialsx@P l@B spatialsy@Q@x@B tooltip@Bitems@@BFlowitem Bin@@objectBbitmap@buttons\view_flowitems.bmpB OnPress@Dnodefunction(node("VIEW:/nodefunctions/menucommands/flowitembin"));@B tooltip@ Flowitem BinB@VIEW:/toolbaritems/8/1/8@BModel Control GUI@@objectBbitmap@buttons\_date.bmpB OnPress@Hnodefunction(node("VIEW:/nodefunctions/menucommands/modelcontrolgui"));@B tooltip@Model Control GUIB@VIEW:/toolbaritems/4/1/9@BReload Media@@objectBbitmap@buttons\reload.bmpB OnPress@Dnodefunction(node("VIEW:/nodefunctions/menucommands/reloadmedia"));@B tooltip@ Reload MediaB@VIEW:/toolbaritems/2/1/21@BDisconnect DLLs@@objectBbitmap@buttons\dll.bmpB OnPress@Gnodefunction(node("VIEW:/nodefunctions/menucommands/disconnectdlls"));@B tooltip@Disconnect DLLsB@VIEW:/toolbaritems/2/1/22@BOutput Console@@objectBbitmap@buttons\console.bmpB OnPress@Fnodefunction(node("VIEW:/nodefunctions/menucommands/outputconsole"));@B tooltip@Output ConsoleB@VIEW:/toolbaritems/4/1/2@BBuild Flexscript@@objectBbitmap@buttons\buildflexscript.bmpB OnPress@Hnodefunction(node("VIEW:/nodefunctions/menucommands/buildflexscript"));@B tooltip@Build FlexscriptB@VIEW:/toolbaritems/5/1/1@BCompile Model@@objectBbitmap@buttons\compile.bmpB OnPress@Enodefunction(node("VIEW:/nodefunctions/menucommands/compilemodel"));@B tooltip@Compile ModelB@VIEW:/toolbaritems/5/1/2@BOpen Visual Studio...@@objectBbitmap@buttons\visualstudio.bmpB OnPress@Inodefunction(node("VIEW:/nodefunctions/menucommands/openvisualstudio"));@B tooltip@Open Visual Studio...B@VIEW:/toolbaritems/5/1/4@BExperimenter...@@objectBbitmap@buttons\_test.bmpB OnPress@Enodefunction(node("VIEW:/nodefunctions/menucommands/experimenter"));@B tooltip@Experimenter...B@VIEW:/toolbaritems/7/1/6@BReports and Statistics@@objectBbitmap@buttons\stats.bmpB OnPress@Mnodefunction(node("VIEW:/nodefunctions/menucommands/reportsandstatistics"));@B tooltip@Reports and StatisticsB@VIEW:/toolbaritems/7/1/5@BGlobal Variables@@objectBbitmap@buttons\variables.bmpB OnPress@Hnodefunction(node("VIEW:/nodefunctions/menucommands/globalvariables"));@B tooltip@Global VariablesB@VIEW:/toolbaritems/8/1/9@BUser Commands@@objectBbitmap@buttons\functions.bmpB OnPress@Enodefunction(node("VIEW:/nodefunctions/menucommands/usercommands"));@B tooltip@User CommandsB@VIEW:/toolbaritems/8/1/17@B User Manual@@objectBbitmap@buttons\codehelp.bmpB OnPress@Cnodefunction(node("VIEW:/nodefunctions/menucommands/usermanual"));@B tooltip@ User ManualB@VIEW:/toolbaritems/9/1/2@B Commands@@objectBbitmap@buttons\_hints.bmpB OnPress@Anodefunction(node("VIEW:/nodefunctions/menucommands/commands"));@B tooltip@ CommandsB@VIEW:/toolbaritems/9/1/3@B itemcurrent@?Bstyle@@BLBS_EXTENDEDSEL@Balignbottommargin@@BAdd >>@objectBviewwindowtype@Y@B spatialx@M`m@B spatialy@Ne@B spatialsx@PQ@B spatialsy@Q5@B OnPress@Rtreenode FromListbox = node("../FromListbox",c); treenode ToListbox = node("../ToListbox",c); treenode fromitemlist = items(FromListbox); treenode toitemlist = items(ToListbox); if(content(itemcurrent(FromListbox))) { int newrank = get(itemcurrent(ToListbox)); if(content(itemcurrent(ToListbox))) newrank = get(last(itemcurrent(ToListbox))); clearcontents(itemcurrent(ToListbox)); for(int r=1;r<=content(itemcurrent(FromListbox));r++) { int itemrank = get(rank(itemcurrent(FromListbox),r)); treenode selecteditem = rank(fromitemlist,itemrank); createcopy(selecteditem,toitemlist,1,0,0,0); setrank(last(toitemlist),newrank+r); nodeinsertinto(itemcurrent(ToListbox)); nodeadddata(last(itemcurrent(ToListbox)),DATATYPE_NUMBER); set(last(itemcurrent(ToListbox)),newrank+r); } listboxrefresh(ToListbox); }@Balignbottomposition@@p@BRemove@objectBviewwindowtype@Y@B spatialx@M`m@B spatialy@N`i@B spatialsx@PQ@B spatialsy@Q5@B OnPress@treenode ToListbox = node("../ToListbox",c); treenode itemlist = items(ToListbox); if(content(itemcurrent(ToListbox))) { int newrank = get(first(itemcurrent(ToListbox))); for(int r=content(itemcurrent(ToListbox));r>0;r--) { int itemrank = get(rank(itemcurrent(ToListbox),r)); treenode selecteditem = rank(itemlist,itemrank); destroyobject(selecteditem); } clearcontents(itemcurrent(ToListbox)); nodeinsertinto(itemcurrent(ToListbox)); nodeadddata(last(itemcurrent(ToListbox)),DATATYPE_NUMBER); set(last(itemcurrent(ToListbox)),newrank); if(get(last(itemcurrent(ToListbox)))>content(items(ToListbox))) set(last(itemcurrent(ToListbox)),content(items(ToListbox))); listboxrefresh(ToListbox); }@Balignbottomposition@l@B ToListbox@object Bviewwindowtype@\@B spatialx@M`s@B spatialy@ND@B spatialsx@P i@B spatialsy@Q@x@B tooltip@Bitems@@BFlowitem Bin@@objectBbitmap@buttons\view_flowitems.bmpB OnPress@Dnodefunction(node("VIEW:/nodefunctions/menucommands/flowitembin"));@B tooltip@ Flowitem BinB@VIEW:/toolbaritems/8/1/8@BModel Control GUI@@objectBbitmap@buttons\_date.bmpB OnPress@Hnodefunction(node("VIEW:/nodefunctions/menucommands/modelcontrolgui"));@B tooltip@Model Control GUIB@VIEW:/toolbaritems/4/1/9@BGetting Started@@objectBbitmap@buttons\codehelp.bmpB OnPress@Gnodefunction(node("VIEW:/nodefunctions/menucommands/gettingstarted"));@B tooltip@Getting StartedB@VIEW:/toolbaritems/9/1/1@BSample Models@@objectBbitmap@buttons\internet.bmpB OnPress@Enodefunction(node("VIEW:/nodefunctions/menucommands/samplemodels"));@B tooltip@Sample ModelsB@VIEW:/toolbaritems/9/1/8@B itemcurrent@@Bstyle@@BLBS_EXTENDEDSEL@Balignrightmargin@D@Balignbottommargin@@B^@object Bviewwindowtype@Y@B spatialx@M @B spatialy@Ne@B spatialsx@P>@B spatialsy@Q5@Bbitmap@/buttons/up_arrow.bmpB OnPress@treenode ToListbox = node("../ToListbox",c); treenode itemlist = items(ToListbox); if(content(itemcurrent(ToListbox))) { int stopat = 1; for(int r=1;r<=content(itemcurrent(ToListbox));r++) { int itemrank = get(rank(itemcurrent(ToListbox),r)); treenode selecteditem = rank(itemlist,itemrank); if(itemrank>stopat) { setrank(selecteditem,itemrank-1); set(rank(itemcurrent(ToListbox),r),itemrank-1); } else stopat++; } listboxrefresh(ToListbox); }@Balignrightposition@A@Balignbottomposition@@p@Bv@object Bviewwindowtype@Y@B spatialx@M @B spatialy@N`i@B spatialsx@P>@B spatialsy@Q5@Bbitmap@/buttons/down_arrow.bmpB OnPress@treenode ToListbox = node("../ToListbox",c); treenode itemlist = items(ToListbox); treenode selecteditem = rank(itemlist,get(itemcurrent(ToListbox))); setrank(selecteditem,getrank(selecteditem)+1); set(itemcurrent(ToListbox),getrank(selecteditem)); listboxrefresh(ToListbox); if(content(itemcurrent(ToListbox))) { int stopat = content(itemlist); for(int r=content(itemcurrent(ToListbox));r>0;r--) { int itemrank = get(rank(itemcurrent(ToListbox),r)); treenode selecteditem = rank(itemlist,itemrank); if(itemrank@B OnPress@_nodefunction(node("/project/exec/globals/nodefunctions/showguihelp",maintree()),ownerview(c));@BApply@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@Mv@B spatialy@N}@B spatialsx@PY@B spatialsy@Q5@Bpicture@cbitmaps\views\button.bmpB OnPress@ applylinks(ownerview(c)); int objselectmode = get(node("VIEW:/environment/objselectmode")); set(node("MAIN:/project/environment/settings/objselectmode"),objselectmode); maintenance(27,objselectmode + 1); int gridsettings = 0; if(getchecked(node("@/tabs/Environment/Options/Automatically expand grid in ortho and perspective views",c),1)) gridsettings+=0x1; if(getchecked(node("@/tabs/Environment/Options/Show axes in ortho views",c),1)) gridsettings+=0x2; if(getchecked(node("@/tabs/Environment/Options/Show origin in ortho views",c),1)) gridsettings+=0x4; set(node("VIEW:/environment/gridsettings"), gridsettings); maintenance(32, gridsettings); int disablewindowtabbing = get(node("VIEW:/environment/disablewindowtabbing")); maintenance(44,disablewindowtabbing); int disabletopmost = get(node("VIEW:/environment/disabletopmost")); maintenance(45,disabletopmost); // Update the usertoolbar treenode ToListbox = node("@/tabs/Customize Toolbar/ToListbox",c); treenode itemlist = items(ToListbox); treenode toolbaritems = node("/1/1/1/userpanel/usertoolbar>items",views()); int needtoolbarupdate = !(content(itemlist)==content(toolbaritems)); for(int i=1;i<=content(itemlist)&&!needtoolbarupdate;i++) { if(!comparetext(getname(rank(itemlist,i)),getname(rank(toolbaritems,i)))) { needtoolbarupdate = 1; } } if(needtoolbarupdate) { createcopy(itemlist,toolbaritems,1,0,0,1); // update the toolbar at the top // update the environment node for prefs.t treenode usertoolbarlist = node("VIEW:/environment/usertoolbar"); if(!objectexists(usertoolbarlist)) { nodeinsertinto(node("VIEW:/environment")); usertoolbarlist = last(node("VIEW:/environment")); setname(usertoolbarlist,"usertoolbar"); } clearcontents(usertoolbarlist); for(int r=1;r<=content(toolbaritems);r++) { treenode theobject = rank(toolbaritems,r); nodeinsertinto(usertoolbarlist); nodeadddata(last(usertoolbarlist),DATATYPE_STRING); setnodestr(last(usertoolbarlist),getnodestr(node(">4",theobject))); } refreshview(node("/1/1/1/userpanel/usertoolbar",views())); // this didn't work to set the focus back to the Preferences GUI //sendwindowmessage(windowfromnode(ownerview(c)),0x0007,0,0); // maybe something else would } repaintall(); @BClose@object B viewfocus@MAIN:/project/modelBviewwindowopen@Bviewwindowtype@Y@B spatialx@M`}@B spatialy@N}@B spatialsx@PY@B spatialsy@Q5@Bpicture@cbitmaps\views\button.bmpBclose@Bflypath@BCanister arrival4 @objectBsuperclasses@@BFixedResource@ 0ABFlexsimObject@@oABclasses@@BSource@0ABFixedResource@rABFlexsimObject@@oAB variables@@)B arrivalmode@@Binterarrivaltime@treenode current = ownerobject(c); /**By Expression*/ /** \nExpression: */ double value = /**/10/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B@ :/nonkx>tex?o9$  74. Btimezerocreate@Binterarrivalitemtype@?B itemclass@ @B schedule@@BUK@@B ArrivalTime@u@B ItemName@ProductB ItemType@?B Quantity@@BEU@@B@@@B@ProductB@@B@@BJapan@@B@@@B@ProductB@@B@2@Brepeat@?B sequence@@B Arrival1@@B ItemName@ProductB ItemType@?B Quantity@?Bsequencecurrow@?Bcreationtrigger@treenode item = parnode(1); treenode current = ownerobject(c); int rownumber = parval(2); //row number of the schedule/sequence table @B flowitembin@@BCanister arrivalsubnode@Bcreateparticle@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev/conade?o?0l$6Lk@ ? B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@Bnkx>tex? l?0$o6Lk@6\ u( c  4x  =l ORTBnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@Bcppvariables@@Bfsnode * flowitemtocreate@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@Bcolor@a@Bred@333333?Bgreen@ffffff?Bblue@333333?Bshape@ufs3d\Source.3DSB shapeindex@v;@Bpicture@cbitmaps\sourcepicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB special@@Btitle@dFixed Resource SourceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/SourceParametersB spatial@@B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Boffsetx@VBoffsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^/$@B offsetrx@YB offsetry@ZB offsetrz@[B objectinfo@@B Output: 0@BBlocked: 0.0%@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @Bconnectionsout@ @B@U@B@B@Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BFilling canister$@objectBclasses@@B Processor@"0ABFixedResource@rABFlexsimObject@@oAB superclasses@@BFixedResource@ 0ABFlexsimObject@@oAB variables@@9B cycletime@Ttreenode current = ownerobject(c); treenode item = parnode(1);/**Statistical Distribution: */ return /**/uniform(11.333, 14.583, 0)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@Bl :/nonkx>tex"~&@"~*-@?o?0l$?LXL@B setuptime@8treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2);/**By Expression*/ /** \nExpression: */ double value = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`x:/nonkx>tex?o?0l$?Lk@9\ 7lB maxcontent@?@Buseprocessoperators@Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@Bl:/nonkx>tex"?o?0l$6@9\ cx h 4\  =P ); Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev:/pr?o?0l$6@9\cxh4\=P); Bcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\nkx>tex?o?0l$6Lk@6\ B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@?@Btransportpriority@Bpreempttransport@?Btransportdispatcher@`treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@Bnkx>tex? l?0$o6Lk@6\  c  4x  =l ORTBnroftransportsout@@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BFilling canistersubnode@oBFilling canistersubnode@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@Bcolor@a@Bred@RQ?Bgreen@333333?Bblue@'1Z?Bshape@ufs3d\procsr_color.3dsB shapeindex@v:@Bpicture@c"bitmaps\processorpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB special@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@} VIEW:/pages/ProcessorParametersB spatial@@B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WB offsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@B Output: 0@B %Idle: 0.0@B%Processing: 0.0@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@U@B@?B@Bconnectionsout@ @B@B$@B@B@Bconnectionscenter@ @B@J@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@B Apply Lid$@objectBclasses@@B Processor@"0ABFixedResource@rABFlexsimObject@@oAB superclasses@@BFixedResource@ 0ABFlexsimObject@@oAB variables@@9B cycletime@%treenode current = ownerobject(c); treenode item = parnode(1); /**By Expression*/ /** \nExpression: */ double value = /**/0.5/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B hMAINodev??o?0l$9L@6\7\B setuptime@treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2); /**No Setup Time (return zero)*/ return 0;@B maxcontent@?@Buseprocessoperators@Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev:/pr?o?0l$6@6\ cx h 4\  =P ); Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev:/pr?o?0l$6@6\cxh4\=P); Bcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6\ B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@?@Btransportpriority@Bpreempttransport@?Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev:/prlobaaria? l?0$o6Lk@6\}D c  4x  =l Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@Bcolor@a@Bred@RQ?Bgreen@333333?Bblue@'1Z?Bshape@ufs3d\procsr_color.3dsB shapeindex@v:@Bpicture@c"bitmaps\processorpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB special@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@} VIEW:/pages/ProcessorParametersB spatial@@B spatialx@M@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WB offsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@B Output: 0@B %Idle: 0.0@B%Processing: 0.0@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@#@B@?B@Bconnectionsout@ @B@vA@B@B@Bconnectionscenter@ @B@J@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BWelding$@objectBclasses@@B Processor@"0ABFixedResource@rABFlexsimObject@@oAB superclasses@@BFixedResource@ 0ABFlexsimObject@@oAB variables@@9B cycletime@#treenode current = ownerobject(c); treenode item = parnode(1); /**By Expression*/ /** \nExpression: */ double value = /**/4/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6\7P} B setuptime@8treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2);/**By Expression*/ /** \nExpression: */ double value = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev?o?0l$?Lk@9\}D7l));B maxcontent@?@Buseprocessoperators@Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev:/pr?o?0l$6@9\ cx h 4\  =P ); Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev:/pr?o?0l$6@9\cxh4\=P); Bcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@9\ B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@?@Btransportpriority@Bpreempttransport@?Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev:/prlobaaria? l?0$o6Lk@6\}D c  4x  =l Bnroftransportsout@@Bnroftransportsin@@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BWeldingsubnode@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@Bcolor@a@Bred@RQ?Bgreen@333333?Bblue@'1Z?Bshape@ufs3d\procsr_color.3dsB shapeindex@v:@Bpicture@c"bitmaps\processorpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB special@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@} VIEW:/pages/ProcessorParametersB spatial@@B spatialx@M$@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WB offsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@B Output: 0@B %Idle: 0.0@B%Processing: 0.0@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@|A@B@?B@Bconnectionsout@ @B@&@B@B@Bconnectionscenter@ @B@K@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BTesting$@objectBclasses@@B Processor@"0ABFixedResource@rABFlexsimObject@@oAB superclasses@@BFixedResource@ 0ABFlexsimObject@@oAB variables@@9B cycletime@treenode current = ownerobject(c); treenode item = parnode(1);/**By Expression*/ /** \nExpression: */ double value = /**/4/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\:/nonkx>texy?o?0l$9@9h7P} B setuptime@;treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2);/**By Expression*/ /** \nExpression: */ double value = /**/0.25/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@Bl:/nonkx>texy??o?0l$?Lk@9h\uh7xB maxcontent@?@Buseprocessoperators@Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@Bl:/nonkx>texy?o?0l$6@9h cx h 4\  =P ); Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev:/pr?o?0l$6@9hcxh4\=P); Bcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\nkx>texy?o?0l$6Lk@6\ B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@?@Btransportpriority@Bpreempttransport@?Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@Bnkx>texy? l?0$o6Lk@6\uh c  4x  =l Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BTestingsubnode@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@Bcolor@a@Bred@RQ?Bgreen@333333?Bblue@'1Z?Bshape@ufs3d\procsr_color.3dsB shapeindex@v:@Bpicture@c"bitmaps\processorpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB special@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@} VIEW:/pages/ProcessorParametersB spatial@@B spatialx@M.@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WB offsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@B Output: 0@B %Idle: 0.0@B%Processing: 0.0@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@%@B@?B@Bconnectionsout@ @B@'@B@B@Bconnectionscenter@ @B@K@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BBuffer$@objectB superclasses@@BFixedResource@ 0ABFlexsimObject@@oABclasses@@BQueue@@!0ABFixedResource@rABFlexsimObject@@oAB variables@@,B maxcontent@@@B usebatching@B batchsize@@B maxwaittime@Bflush@Bcurrentbatchsize@Bendcollectingtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @B placemode@?B stackinitz@B curxfringe@Bcuryloc@B curmaxysize@Bcurzloc@B curmaxzsize@Bproductspacing@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6\ B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@?@Btransportpriority@Bpreempttransport@?Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev:/prlobaaria? l?0$o6Lk@6\}D c  4x  =l Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@Bcppvariables@@Bint lastpredrawoutput@Bint lastpredrawinput@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bspecial@@Btitle@dFixed Resource QueueB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/QueueParametersBvisual@@ Bcolor@a@Bred@MbX9?Bgreen@MbX9?Bblue@MbX9?Bshape@ufs3d\queue_n_color.3dsB shapeindex@v<@Bpicture@cbitmaps\queuepicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B spatial@@B spatialx@M2@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@BCurContent: 0@BMaxContent: 0@BAvgStaytime: 0.0@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@&@B@?B@Bconnectionsout@ @B@4@B@B@Bconnectionscenter@ @B@K@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@bDefaultNavigator@object Bclasses@@B Navigator@@0ABFlexsimObject@@oAB superclasses@@BFlexsimObject@ 0AB variables@@Btravelmembers@@Bactivetravelmembers@@Blastupdatetime@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@B networknodes@Btimeoflaststop@B nrofstops@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble* protectlocs@Bunsigned char portinfoflag@Bspatial@@ B spatialsx@P-C6?B spatialsy@Q-C6?B spatialsz@R-C6?B spatialx@MB spatialy@NB spatialz@OB spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Bspecial@@B guifocus@|!VIEW:/standardviews/objecteditorBtitle@dObjectB description@bBlabels@@Bvisual@@B nochildscale@_?B connections@@Bconnectionsin@ @Bconnectionsout@ @Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. TimeBstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@BCharger Loading$@objectBclasses@@B Processor@"0ABFixedResource@rABFlexsimObject@@oAB superclasses@@BFixedResource@ 0ABFlexsimObject@@oAB variables@@9B cycletime@treenode current = ownerobject(c); treenode item = parnode(1);/**By Expression*/ /** \nExpression: */ double value = /**/2/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6\7P} B setuptime@treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2); /**No Setup Time (return zero)*/ return 0;@B maxcontent@?@Buseprocessoperators@?Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev:/pr?o?0l$6@6\ cx h 4\  =P ); Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev:/pr?o?0l$6@6\cxh4\=P); Bcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6\ B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev:/prlobaaria? l?0$o6Lk@6\}D c  4x  =l Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BCharger Loadingsubnode@BCharger Loadingsubnode@JB MTBFMTTR8@B networknodes@@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@Bcolor@a@Bred@Bgreen@?Bblue@?Bshape@ufs3d\comb_color.3dsB shapeindex@v>@Bpicture@c"bitmaps\processorpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB special@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@} VIEW:/pages/ProcessorParametersB spatial@@B spatialx@M:@B spatialy@N@B spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WB offsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@B Output: 0@B %Idle: 0.0@B%Processing: 0.0@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@eT@B@?B@Bconnectionsout@ @B@5@B@B@Bconnectionscenter@ @B@B@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BPit$@objectB superclasses@@BFixedResource@ 0ABFlexsimObject@-XABclasses@@BRack@10ABFixedResource@`/XABFlexsimObject@-XAB variables@@,B placeinbay@treenode item = parnode(1); treenode current = ownerobject(c); /**Random Bay if Available*/ /** \nMaximum items per cell: */ int cellcap = /**/1/**/; /** \n\nNote: If all cells are full, it will be placed in the originally chosen random bay.*/ int nrofbays = rackgetnrofbays(current); int firstguess = duniform(1, nrofbays); int curguess = firstguess; while(curguess <= nrofbays) { if( rackgetbaycontent(current, curguess) < (cellcap * rackgetnroflevels(current, curguess))) return curguess; curguess++; } curguess = firstguess - 1; while(curguess >= 1) { if( rackgetbaycontent(current, curguess) < (cellcap * rackgetnroflevels(current, curguess))) return curguess; curguess--; } return firstguess;@Bt\..>tnkx>texyeChartayt cus ? l?0$o6@ 6h  \ =P  6   4x   6  4   'TD44(= 44=4d5p &4454  '8(4 =44= 4H5T $44hathBplaceinlevel@8treenode item = parnode(1); treenode current = ownerobject(c); double baynumber = parval(2); /**Random Level if Available*/ /** \nMaximum items per cell: */ int cellcap = /**/1/**/; /** \n\nNote: If the randomly chosen level is occupied, then search higher numbered levels first, then lower numbered levels. If all cells are full, it will placed in the originally chosen random level.*/ int nroflevels = rackgetnroflevels(current,baynumber); int firstguess = duniform(1, nroflevels ); int curguess = firstguess; while(curguess <= nroflevels ) { if( rackgetcellcontent(current, baynumber, curguess) < cellcap ) return curguess; curguess++; } curguess = firstguess - 1; while(curguess >= 1) { if( rackgetcellcontent(current, baynumber, curguess) < cellcap ) return curguess; curguess--; } return firstguess; @BPZ..>tnkx>texyeChar? l?0$o9Lk@6\ 6   7x  =l  6   4   6  4   'X 4L84,7 =4h5t &4454  ' 447=4$ 50 $4 4DBminimumstaytime@/**Custom Code - UK stays in for 3 years*/ treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); if (time>26280) { int value = getitemtype(item); switch(value) { case 1: return 0; case 2: return 0; case 3: return 0; default: return 0; } } else { int value = getitemtype(item); switch(value) { case 1: return 26280; case 2: return 0; case 3: return 0; default: return 0; } }@B`;..>tnkx>texye Char   hedNo next ? l?0$o6Lk@ %df\ 6   =t  4   6   5t  ! 6=(4 f   !"$# H$  ) vieBenddwelltimetrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @B maxcontent@i@Bcontenttable@@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@Blocationtable@@B@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@?@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@?@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@?@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@ @@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@ @@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@!@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@"@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@#@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B sizetable@@BBay1@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay2@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay3@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay4@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay5@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay6@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay7@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay8@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay9@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay10@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay11@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay12@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay13@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay14@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay15@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay16@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay17@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay18@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay19@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay20@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?B rackdrawmode@?Bpickplaceyoffset@B tiltvalue@B tiltangle@Bmarkreadytogo@B floorstorage@?Bopacity@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@B@ ..>tnkx>tex? l?0$o6Lel.Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\nkx>texye?o?0l$6Lk@6\ydoB entrytrigger@ treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); { //************* PickOption Start *************\\ /**Set Color */ /** \nColor: */ /**/coloryellow/**/ ( /** \nObject: */ /**/item/**/ ); /** \n\nAvailable colors are: coloraqua, colorblack, colorblue, colorbrown, colorgray, colorgreen, colorlightblue, colorlime, colororange, colorpink, colorpurple, colorrandom, colorred, colorsilver, colorteal, colorwhite, coloryellow*/ /**\n\n*/ } //******* PickOption End *******\\ @B8tdefugercinkxye? l?0$o6Lk@ h =\ B exittrigger@treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); { //************* PickOption Start *************\\ /**Set Color by Value*/ /** \nValue: */ int value = /**/getitemtype(item)/**/; switch(value) { /** \nCases: */ /**/ case 1: colorred(item);break; case 2: colorgreen(item);break; case 3: colorblue(item);break; default: colorarray(item, value);break; /**/ } /**\n\n*/ } //******* PickOption End *******\\ @B+defugercinkxye Chartayt cus? l?0$o6Lk@ 6t  h =\  4  =  z=  w=  u4=  [B usetransport@?@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@B..>tnkx>texye? l?0$o6Lk@6\  c  4x  =l ; Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@@Bcppfunctions@@Bcppvariables@@Bint lastpredrawoutput@Bint lastpredrawinput@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bcolor@a@Bred@Bgreen@Bblue@Bshape@u***B shapeindex@vBpicture@c&bitmaps\WarehouseRackpicturesmall.bmpB imageobject@qbitmaps\rackshelf.bmpBimageindexobject@rD@B imagebase@s***Bimageindexbase@tB nochildscale@_?B spatial@@ B spatialsx@P$@B spatialsy@Q@B spatialsz@R?@B centroid@e?B spatialx@M=@B spatialy@N@B spatialz@OB spatialrx@SB spatialry@TB spatialrz@UB special@@Btitle@dFixed Resource SinkB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/RackParametersB objectinfo@@BCurContent: 0@BMaxContent: 0@BAvgContent: 0.0@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@5@B@?B@B@UO@B@?B@B@P@B@?B@Bconnectionsout@ @B@-@@B@B@Bconnectionscenter@ @B@1@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,>@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BCrane$ @objectBclasses@@BCrane@>0AB TaskExecuter@XXAB Dispatcher@`VXABFlexsimObject@-XAB superclasses@@B TaskExecuter@`60AB Dispatcher@`VXABFlexsimObject@-XAB variables@@HB shellxloc@7@B shellyloc@@B shellzloc@B shellsizex@9@B shellsizey@@B shellsizez@@Bmoving@B liftheight@@Btravelsequence@L>XY>DB cranespeeds@@BGantry@@B Max_Speed@.@BAcceleration@?BDeceleration@?B Trolley@@B@.@B@?B@?B Hoist_Lift@@B@.@B@?B@?B Hoist_Drop@@B@.@B@?B@?BcranekinematicsA8 do not touchu???HM A]z AHM AB@? D@п?== 0]z AG' A?Hr?~?Hr?~?Hr?~?333333?333333?333333?nk(iG' AY A?/_ee?/_ee@/_ee@ @ @ @ngtoG' A՟s A?S[:XL?S[:XL?S[:XL????dit"Y AHM A?Hr?~?Hr?~?Hr?~?333333333333?333333",c))), 1, 0 );*/ I{Py OJ.antent(holder) == v_nroftransportsout) setstate(holder, STATE_WAITING_FOR_TRANSPORT)ty>coeientonen ick ?4$o?p`XD?o?=@4=( ?  | ot L   =      *  |  / =    / =  ! !h8=, 4t|hX/P=D -# =|/==, B liftradius@Bactivetasksequence@@B maxcontent@?B loadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\  7l  B loadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B unloadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\  7l Bunloadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B maxspeed@@B acceleration@?B deceleration@?B navigator@Boldbreakrequirement@Bbreakto@treenode activets = parnode(1); treenode current = ownerobject(c); /**New Tasksequences Only*/ /** \nOnly break to task sequences that have not been started already.*/ treenode tsqueue = gettasksequencequeue(current); treenode returnts = NULL; for(int index = 1; index <= content(tsqueue) && ! returnts; index++) { treenode curts = rank(tsqueue, index); if(gettotalnroftasks(curts) == getnroftasks(curts)) returnts = curts; } return tonum(returnts);@Bl:MAINodev  ? l?0$o?XL=@?h 6x    ?    4  =   #` T =H  < =0  >|  =p   5      )  * =  &  =  4 c=B travelinfo@@B travelstartx@B travelstarty@B travelstartz@Btraveldistance@Btraveldirection@B travelendx@B travelendy@B travelendz@B travelacc@B traveldec@Btravelstarttime@~Btravelendtime@Btraveltimealpha@Btraveltimebeta@B travelvpeak@B travelvmax@B travelvstart@B travelvend@Bmodifyrotation@B useoffsets@?Boffsettingnow@Boffsetbegintime@]z ABoffsettotaltime@)r&@B offsetlocx@ @B offsetlocy@?B offsetlocz@B offsetbeginx@B@B offsetbeginy@B offsetbeginz@?Boffsetbeginxrot@Boffsetbeginyrot@Boffsetbeginzrot@B loadedspeed@@B emptyspeed@@Bcurloadunloadtime@Blastupdatedspeed@B travelvstart@B travelvend@Blastspeedupdatetime@HM ABcollisiontrigger@treenode thisobject=ownerobject(c); treenode otherobject=parnode(1); treenode thissphere=parnode(2); treenode othersphere=parnode(3); Bcollcheckinterval@?Bdrawcollspheres@B incollision@Bcollcheckstate@Btotaltraveldist@B kinematics@Bflipthreshold@f@Bpassimmediately@@Bpassto@"treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**First Available*/ /** \nIf there are no objects currently available, then queue the tasksequence up using the Queue Strategy and wait until someone connected to its output ports becomes available.*/ return 0;@Btasksequencequeue@@Bqueuestrategy@treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**Sort by TaskSequence Priority*/ return getpriority(tasksequence);@BX MAINodev? l?0$o?XL=@l.Bcoordinatedtasks@@Bonresourceavailable@treenode current = ownerobject(c); int port = parval(1); treenode resource = parnode(2); treenode nextts = parnode(3); treenode lastts = parnode(4); Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B Cranesubnode@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble lastxloc@Bdouble lastyloc@Bdouble lastzloc@Bdouble justcreated@Bdouble offsetloc[3] @Bfsnode* activetask@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bshape@ufs3d\texturebox.wrlB shapeindex@v@Bpicture@cbitmaps\Cranepicturesmall.bmpB imageobject@qfs3d\concrete.bmpBimageindexobject@rE@B imagebase@s***Bimageindexbase@tBcolor@a@Bred@ffffff?Bgreen@ffffff?Bblue@?B nochildscale@_?Bspecial@@Btitle@dObjectB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/CraneParametersBspatial@@B spatialx@M D@B spatialy@NпB spatialz@O?B spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UBoffsetx@VBoffsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@B objectinfo@@B Output: 0@B Status: idle@?Blabels@@B connections@@Bconnectionsin@ @Bconnectionsout@ @Bconnectionscenter@ @B@P@B@B@B@cO@B@B@B@ 6@B@B@B@/@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BCharger Source @objectBsuperclasses@@BFixedResource@ 0ABFlexsimObject@-XABclasses@@BSource@0ABFixedResource@`/XABFlexsimObject@-XAB variables@@)B arrivalmode@@Binterarrivaltime@2treenode current = ownerobject(c); /**Statistical Distribution: */ return /**/exponential(0,10,1)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@B8 MAIN?o?0$ t(cBtimezerocreate@Binterarrivalitemtype@?B itemclass@,@B schedule@@B Arrival1@@B ArrivalTime@?B ItemName@ChargerB ItemType@?B Quantity@@Brepeat@B sequence@@B Arrival1@@B ItemName@ProductB ItemType@?B Quantity@?Bsequencecurrow@?Bcreationtrigger@treenode item = parnode(1); treenode current = ownerobject(c); int rownumber = parval(2); //row number of the schedule/sequence table @B flowitembin@@BCharger Sourcesubnode@Bcreateparticle@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@?h B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\ ?  c  4x  =l ; Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@Bcppvariables@@Bfsnode * flowitemtocreate@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bcolor@a@Bred@333333?Bgreen@ffffff?Bblue@333333?Bshape@ufs3d\Source.3DSB shapeindex@v;@Bpicture@cbitmaps\sourcepicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B special@@Btitle@dFixed Resource SourceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/SourceParametersB spatial@@B spatialx@M@@B spatialy@N@B spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Boffsetx@VBoffsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^/$@B offsetrx@YB offsetry@ZB offsetrz@[B objectinfo@@B Output: 0@BBlocked: 0.0%@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @Bconnectionsout@ @B@H3@B@B@Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. TimeBstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BIdle Chargers$@objectB superclasses@@BFixedResource@ 0ABFlexsimObject@-XABclasses@@BQueue@@!0ABFixedResource@`/XABFlexsimObject@-XAB variables@@,B maxcontent@$@@B usebatching@B batchsize@@B maxwaittime@Bflush@Bcurrentbatchsize@Bendcollectingtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @B placemode@?B stackinitz@B curxfringe@Bcuryloc@B curmaxysize@Bcurzloc@B curmaxzsize@Bproductspacing@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\nkx>tex?o?0l$6Lk@6\ B entrytrigger@ treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); { //************* PickOption Start *************\\ /**Set Color */ /** \nColor: */ /**/colorblack/**/ ( /** \nObject: */ /**/item/**/ ); /** \n\nAvailable colors are: coloraqua, colorblack, colorblue, colorbrown, colorgray, colorgreen, colorlightblue, colorlime, colororange, colorpink, colorpurple, colorrandom, colorred, colorsilver, colorteal, colorwhite, coloryellow*/ /**\n\n*/ } //******* PickOption End *******\\ @B8tdefugercinkx? l?0$o6Lk@ vh =\ tnoB exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@B..>tnkx>tex? l?0$o6Lk@6\ u( c  4x  =l ); Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@B@B@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@Bcppvariables@@Bint lastpredrawoutput@Bint lastpredrawinput@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bspecial@@Btitle@dFixed Resource QueueB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/QueueParametersBvisual@@ Bcolor@a@Bred@MbX9?Bgreen@MbX9?Bblue@MbX9?Bshape@ufs3d\queue_n_color.3dsB shapeindex@v<@Bpicture@cbitmaps\queuepicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B spatial@@B spatialx@MB@B spatialy@N@B spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@BCurContent: 0@BMaxContent: 0@BAvgStaytime: 0.0@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@*2@B@?B@B@Q7@B@?B@B@8@B@?B@B@9@B@?B@B@6@B@?B@B@YO@B@?B@B@P@B@?B@Bconnectionsout@ @B@4@B@B@B@d<@B@B@B@=@B@B@B@?@B@B@Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BCharger Preperation$@objectBclasses@@B Combiner@ &0AB Processor@DXABFixedResource@`/XABFlexsimObject@-XAB superclasses@@B Processor@"0ABFixedResource@`/XABFlexsimObject@-XAB variables@@ABcollectingcontainer@?Bcomponentlist@@BFrom Input Port 2@@BTarget Quantity@?BCurrent Quantity@?Bcurrentcomponentsum@?Btargetcomponentsum@?Bpack@?Boverriddenreceivefromport@%// This code isn't used any more @Boverriddenpullrequirement@%// This code isn't used any more. @B recycle@B cycletime@treenode current = ownerobject(c); treenode item = parnode(1);/**By Expression*/ /** \nExpression: */ double value = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6\7P0; B setuptime@treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2); /**No Setup Time (return zero)*/ return 0;@B maxcontent@?@Buseprocessoperators@Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\ cx h 4\  =P ); Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\cxh4\=P); Bcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6\} B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\ ?  c  4x  =l e; Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@Bvisual@@Bcolor@a@Bred@?Bgreen@?Bblue@TTTTTT?Bshape@ufs3d\procsr_color.3dsB shapeindex@v:@Bpicture@c!bitmaps\combinerpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB special@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/CombinerParametersB spatial@@B spatialx@M5@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WB offsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@B objectinfo@@B Output: 0@B %Idle: 0.0@B%Processing: 0.0@Blabels@@B connections@@Bconnectionsin@ @B@'@B@?B@B@f3@B@B@Bconnectionsout@ @B@_T@B@B@Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BCharger Unloading$@objectBclasses@@B Separator@'0AB Processor@DXABFixedResource@`/XABFlexsimObject@-XAB superclasses@@B Processor@"0ABFixedResource@`/XABFlexsimObject@-XAB variables@@=Bunpack@?Bsplitquantity@treenode item = parnode(1); treenode current = ownerobject(c); /**Entire Contents*/ /** \nUnpack the entire content of the flowitem which entered port 1.*/ return content(item); @BX MAINodev? l?0$o6LL=@l.Boverriddensendtoport@treenode item = parnode(1); treenode current = ownerobject(c); /**Default Separator Option*/ /** \nPort for container: */ int containerport = /**/1/**/; /** \nPort for contents: */ int contentport = /**/2/**/; /** \n\nNote: If not unpacking, just send to first available.*/ if(getvarnum(current,"unpack")) { if(getrank(parnode(1)) == 1) return containerport; else return contentport; } else return 0; B recycle@B cycletime@treenode current = ownerobject(c); treenode item = parnode(1);/**By Expression*/ /** \nExpression: */ double value = /**/2/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6\7P} B setuptime@treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2); /**No Setup Time (return zero)*/ return 0;@B maxcontent@?@Buseprocessoperators@?Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\ cx h 4\  =P =@Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\cxh4\=PBcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@treenode item = parnode(1); treenode current = ownerobject(c); /**Default Separator Option*/ /** \nPort for container: */ int containerport = /**/1/**/; /** \nPort for contents: */ int contentport = /**/2/**/; /** \n\nNote: If not unpacking, just send to first available.*/ if(getvarnum(current,"unpack")) { if(getrank(parnode(1)) == 1) return containerport; else return contentport; } else return 0; @Bx#MAINodevunpack? l?0$o6@6P  t l =`   #   l  ? 4  >|4  5allBreceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6P B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@?@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\ ?  c  4x  =l v_Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BCharger Unloadingsubnode@BCharger Unloadingsubnode@YB MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@Bvisual@@Bcolor@a@Bred@Bgreen@Mb?Bblue@jt?Bshape@ufs3d\separate_color.3dsB shapeindex@v?@Bpicture@c"bitmaps\separatorpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tBspecial@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@} VIEW:/pages/SeparatorParametersB spatial@@B spatialx@M;@B spatialy@N@B spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B spatialrz@UB ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@B objectinfo@@B Output: 0@B %Idle: 0.0@B%Processing: 0.0@Blabels@@B connections@@Bconnectionsin@ @B@)@B@?B@Bconnectionsout@ @B@~/@B@B@B@X3@B@B@Bconnectionscenter@ @B@B@B@B@B@1@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BCharger Unloading$@objectBclasses@@B Separator@'0AB Processor@DXABFixedResource@`/XABFlexsimObject@-XAB superclasses@@B Processor@"0ABFixedResource@`/XABFlexsimObject@-XAB variables@@=Bunpack@?Bsplitquantity@treenode item = parnode(1); treenode current = ownerobject(c); /**Entire Contents*/ /** \nUnpack the entire content of the flowitem which entered port 1.*/ return content(item); @BX MAINodev? l?0$o6LL=@Boverriddensendtoport@treenode item = parnode(1); treenode current = ownerobject(c); /**Default Separator Option*/ /** \nPort for container: */ int containerport = /**/1/**/; /** \nPort for contents: */ int contentport = /**/2/**/; /** \n\nNote: If not unpacking, just send to first available.*/ if(getvarnum(current,"unpack")) { if(getrank(parnode(1)) == 1) return containerport; else return contentport; } else return 0; B recycle@B cycletime@treenode current = ownerobject(c); treenode item = parnode(1);/**By Expression*/ /** \nExpression: */ double value = /**/2/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6\7P} B setuptime@treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2); /**No Setup Time (return zero)*/ return 0;@B maxcontent@?@Buseprocessoperators@?Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\ cx h 4\  =P us+Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\cxh4\=PBcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@treenode item = parnode(1); treenode current = ownerobject(c); /**Default Separator Option*/ /** \nPort for container: */ int containerport = /**/1/**/; /** \nPort for contents: */ int contentport = /**/2/**/; /** \n\nNote: If not unpacking, just send to first available.*/ if(getvarnum(current,"unpack")) { if(getrank(parnode(1)) == 1) return containerport; else return contentport; } else return 0; @Bx#MAINodevunpack? l?0$o6@6P  t l =`   #   l  ? 4  >|4  5llBreceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6P B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\ ?  c  4x  =l Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BCharger Unloadingsubnode@BCharger Unloadingsubnode@GB MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@Bvisual@@Bcolor@a@Bred@Bgreen@Mb?Bblue@jt?Bshape@ufs3d\separate_color.3dsB shapeindex@v?@Bpicture@c"bitmaps\separatorpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tBspecial@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@} VIEW:/pages/SeparatorParametersB spatial@@B spatialx@ME@B spatialy@N@B spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B spatialrz@UB ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@B objectinfo@@B Output: 0@B %Idle: 0.0@B%Processing: 0.0@Blabels@@B connections@@Bconnectionsin@ @B@j<@B@?B@Bconnectionsout@ @B@;@B@B@B@L3@B@B@Bconnectionscenter@ @B@D@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BCharger Unloading$@objectBclasses@@B Separator@'0AB Processor@DXABFixedResource@`/XABFlexsimObject@-XAB superclasses@@B Processor@"0ABFixedResource@`/XABFlexsimObject@-XAB variables@@=Bunpack@?Bsplitquantity@treenode item = parnode(1); treenode current = ownerobject(c); /**Entire Contents*/ /** \nUnpack the entire content of the flowitem which entered port 1.*/ return content(item); @BX MAINodev? l?0$o6LL=@l.Boverriddensendtoport@treenode item = parnode(1); treenode current = ownerobject(c); /**Default Separator Option*/ /** \nPort for container: */ int containerport = /**/1/**/; /** \nPort for contents: */ int contentport = /**/2/**/; /** \n\nNote: If not unpacking, just send to first available.*/ if(getvarnum(current,"unpack")) { if(getrank(parnode(1)) == 1) return containerport; else return contentport; } else return 0; B recycle@B cycletime@treenode current = ownerobject(c); treenode item = parnode(1);/**By Expression*/ /** \nExpression: */ double value = /**/2/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6\7P} B setuptime@treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2); /**No Setup Time (return zero)*/ return 0;@B maxcontent@?@Buseprocessoperators@?Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\ cx h 4\  =P ); Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\cxh4\=P=@Bcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@treenode item = parnode(1); treenode current = ownerobject(c); /**Default Separator Option*/ /** \nPort for container: */ int containerport = /**/1/**/; /** \nPort for contents: */ int contentport = /**/2/**/; /** \n\nNote: If not unpacking, just send to first available.*/ if(getvarnum(current,"unpack")) { if(getrank(parnode(1)) == 1) return containerport; else return contentport; } else return 0; @Bx#MAINodevunpack? l?0$o6@6P  t l =`   #   l  ? 4  >|4  5Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6P B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\ ?  c  4x  =l ); Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BCharger Unloadingsubnode@BCharger Unloadingsubnode@DB MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@Bvisual@@Bcolor@a@Bred@Bgreen@Mb?Bblue@jt?Bshape@ufs3d\separate_color.3dsB shapeindex@v?@Bpicture@c"bitmaps\separatorpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tBspecial@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@} VIEW:/pages/SeparatorParametersB spatial@@B spatialx@ME@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B spatialrz@UB ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@B objectinfo@@B Output: 0@B %Idle: 0.0@B%Processing: 0.0@Blabels@@B connections@@Bconnectionsin@ @B@=@B@?B@Bconnectionsout@ @B@ ;@B@B@B@P3@B@B@Bconnectionscenter@ @B@\E@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BCharger Unloading$@objectBclasses@@B Separator@'0AB Processor@DXABFixedResource@`/XABFlexsimObject@-XAB superclasses@@B Processor@"0ABFixedResource@`/XABFlexsimObject@-XAB variables@@=Bunpack@?Bsplitquantity@treenode item = parnode(1); treenode current = ownerobject(c); /**Entire Contents*/ /** \nUnpack the entire content of the flowitem which entered port 1.*/ return content(item); @BX MAINodev? l?0$o6LL=@l.Boverriddensendtoport@treenode item = parnode(1); treenode current = ownerobject(c); /**Default Separator Option*/ /** \nPort for container: */ int containerport = /**/1/**/; /** \nPort for contents: */ int contentport = /**/2/**/; /** \n\nNote: If not unpacking, just send to first available.*/ if(getvarnum(current,"unpack")) { if(getrank(parnode(1)) == 1) return containerport; else return contentport; } else return 0; B recycle@B cycletime@treenode current = ownerobject(c); treenode item = parnode(1);/**By Expression*/ /** \nExpression: */ double value = /**/2/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6\7P} B setuptime@treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2); /**No Setup Time (return zero)*/ return 0;@B maxcontent@?@Buseprocessoperators@?Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\ cx h 4\  =P Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\cxh4\=P a Bcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@treenode item = parnode(1); treenode current = ownerobject(c); /**Default Separator Option*/ /** \nPort for container: */ int containerport = /**/1/**/; /** \nPort for contents: */ int contentport = /**/2/**/; /** \n\nNote: If not unpacking, just send to first available.*/ if(getvarnum(current,"unpack")) { if(getrank(parnode(1)) == 1) return containerport; else return contentport; } else return 0; @Bx#MAINodevunpack? l?0$o6@6P  t l =`   #   l  ? 4  >|4  5allBreceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6P B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\ ?  c  4x  =l ws/Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BCharger Unloadingsubnode@BCharger Unloadingsubnode@AB MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@Bvisual@@Bcolor@a@Bred@Bgreen@Mb?Bblue@jt?Bshape@ufs3d\separate_color.3dsB shapeindex@v?@Bpicture@c"bitmaps\separatorpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tBspecial@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@} VIEW:/pages/SeparatorParametersB spatial@@B spatialx@ME@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B spatialrz@UB ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@B objectinfo@@B Output: 0@B %Idle: 0.0@B%Processing: 0.0@Blabels@@B connections@@Bconnectionsin@ @B@ ?@B@?B@Bconnectionsout@ @B@;@B@B@B@T3@B@B@Bconnectionscenter@ @B@F@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BBatching21ForTransport$@objectB superclasses@@BFixedResource@ 0ABFlexsimObject@-XABclasses@@BQueue@@!0ABFixedResource@`/XABFlexsimObject@-XAB variables@@,B maxcontent@?@B usebatching@B batchsize@5@B maxwaittime@@@Bflush@?Bcurrentbatchsize@Bendcollectingtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @B placemode@?B stackinitz@B curxfringe@Bcuryloc@B curmaxysize@Bcurzloc@B curmaxzsize@Bproductspacing@B nrreleased@Bpull@B sendtoport@0treenode item = parnode(1); treenode current = ownerobject(c); /**By Expression*/ /** \nOutput Port: */ double value = /**/getitemtype(item)/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value; @BDt..>tnkx>tex? l?0$o9XL=@   7h 8Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\nkx>tex?o?0l$6Lk@6\ B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@B..>tnkx>tex? l?0$o6Lk@6\  c  4x  =l  cBnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@B@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@Bcppvariables@@Bint lastpredrawoutput@Bint lastpredrawinput@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bspecial@@Btitle@dFixed Resource QueueB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/QueueParametersBvisual@@ Bcolor@a@Bred@MbX9?Bgreen@MbX9?Bblue@MbX9?Bshape@ufs3d\queue_n_color.3dsB shapeindex@v<@Bpicture@cbitmaps\queuepicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B spatial@@B spatialx@MF@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@BCurContent: 0@BMaxContent: 0@BAvgStaytime: 0.0@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@M7@B@?B@B@8@B@?B@B@9@B@?B@Bconnectionsout@ @B@V@B@B@B@W@B@B@B@X@B@B@Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BCharger Loading$@objectBclasses@@B Combiner@ &0AB Processor@DXABFixedResource@`/XABFlexsimObject@-XAB superclasses@@B Processor@"0ABFixedResource@`/XABFlexsimObject@-XAB variables@@ABcollectingcontainer@?Bcomponentlist@@BFrom Input Port 2@@BTarget Quantity@?BCurrent Quantity@?Bcurrentcomponentsum@?Btargetcomponentsum@?Bpack@?Boverriddenreceivefromport@%// This code isn't used any more @Boverriddenpullrequirement@%// This code isn't used any more. @B recycle@B cycletime@treenode current = ownerobject(c); treenode item = parnode(1);/**By Expression*/ /** \nExpression: */ double value = /**/2/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6\7P0; B setuptime@treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2); /**No Setup Time (return zero)*/ return 0;@B maxcontent@?@Buseprocessoperators@?Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\ cx h 4\  =P Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\cxh4\=P); Bcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6\} B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\ ?  c  4x  =l v_Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BCharger Loadingsubnode@BCharger Loadingsubnode@bB MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@Bvisual@@Bcolor@a@Bred@Bgreen@Mb?Bblue@jt?Bshape@ufs3d\comb_color.3dsB shapeindex@v>@Bpicture@c!bitmaps\combinerpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB special@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/CombinerParametersB spatial@@B spatialx@ME@B spatialy@N@B spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WB offsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@B objectinfo@@B Output: 0@B %Idle: 0.0@B%Processing: 0.0@Blabels@@B connections@@Bconnectionsin@ @B@3@@B@?B@B@j3@B@B@Bconnectionsout@ @B@G7@B@B@Bconnectionscenter@ @B@D@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BCharger Loading$@objectBclasses@@B Combiner@ &0AB Processor@DXABFixedResource@`/XABFlexsimObject@-XAB superclasses@@B Processor@"0ABFixedResource@`/XABFlexsimObject@-XAB variables@@ABcollectingcontainer@?Bcomponentlist@@BFrom Input Port 2@@BTarget Quantity@?BCurrent Quantity@?Bcurrentcomponentsum@?Btargetcomponentsum@?Bpack@?Boverriddenreceivefromport@%// This code isn't used any more @Boverriddenpullrequirement@%// This code isn't used any more. @B recycle@B cycletime@treenode current = ownerobject(c); treenode item = parnode(1);/**By Expression*/ /** \nExpression: */ double value = /**/2/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6\7P0; B setuptime@treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2); /**No Setup Time (return zero)*/ return 0;@B maxcontent@?@Buseprocessoperators@?Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\ cx h 4\  =P Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\cxh4\=P*/Bcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6\} B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\ ?  c  4x  =l v_Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BCharger Loadingsubnode@BCharger Loadingsubnode@SB MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@Bvisual@@Bcolor@a@Bred@Bgreen@Mb?Bblue@jt?Bshape@ufs3d\comb_color.3dsB shapeindex@v>@Bpicture@c!bitmaps\combinerpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB special@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/CombinerParametersB spatial@@B spatialx@ME@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WB offsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@B objectinfo@@B Output: 0@B %Idle: 0.0@B%Processing: 0.0@Blabels@@B connections@@Bconnectionsin@ @B@7@@B@?B@B@n3@B@B@Bconnectionsout@ @B@8@B@B@Bconnectionscenter@ @B@XE@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BCharger Loading$@objectBclasses@@B Combiner@ &0AB Processor@DXABFixedResource@`/XABFlexsimObject@-XAB superclasses@@B Processor@"0ABFixedResource@`/XABFlexsimObject@-XAB variables@@ABcollectingcontainer@?Bcomponentlist@@BFrom Input Port 2@@BTarget Quantity@?BCurrent Quantity@?Bcurrentcomponentsum@?Btargetcomponentsum@?Bpack@?Boverriddenreceivefromport@%// This code isn't used any more @Boverriddenpullrequirement@%// This code isn't used any more. @B recycle@B cycletime@treenode current = ownerobject(c); treenode item = parnode(1);/**By Expression*/ /** \nExpression: */ double value = /**/2/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6\7P0; B setuptime@treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2); /**No Setup Time (return zero)*/ return 0;@B maxcontent@?@Buseprocessoperators@?Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\ cx h 4\  =P ); Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\cxh4\=PBcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6\} B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\ ?  c  4x  =l $Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BCharger Loadingsubnode@BCharger Loadingsubnode@VB MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@Bvisual@@Bcolor@a@Bred@Bgreen@Mb?Bblue@jt?Bshape@ufs3d\comb_color.3dsB shapeindex@v>@Bpicture@c!bitmaps\combinerpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB special@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/CombinerParametersB spatial@@B spatialx@ME@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WB offsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@B objectinfo@@B Output: 0@B %Idle: 0.0@B%Processing: 0.0@Blabels@@B connections@@Bconnectionsin@ @B@;@@B@?B@B@r3@B@B@Bconnectionsout@ @B@9@B@B@Bconnectionscenter@ @B@F@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BQueue29$@objectB superclasses@@BFixedResource@ 0ABFlexsimObject@-XABclasses@@BQueue@@!0ABFixedResource@`/XABFlexsimObject@-XAB variables@@,B maxcontent@$@@B usebatching@B batchsize@@B maxwaittime@Bflush@Bcurrentbatchsize@Bendcollectingtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @B placemode@?B stackinitz@B curxfringe@Bcuryloc@B curmaxysize@Bcurzloc@B curmaxzsize@Bproductspacing@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6\ B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\ ?  c  4x  =l  } Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@B@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@Bcppvariables@@Bint lastpredrawoutput@Bint lastpredrawinput@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bspecial@@Btitle@dFixed Resource QueueB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/QueueParametersBvisual@@ Bcolor@a@Bred@MbX9?Bgreen@MbX9?Bblue@MbX9?Bshape@ufs3d\queue_n_color.3dsB shapeindex@v<@Bpicture@cbitmaps\queuepicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B spatial@@B spatialx@MD@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@BCurContent: 0@BMaxContent: 0@BAvgStaytime: 0.0@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@/@B@?B@Bconnectionsout@ @B@`<@B@B@B@=@B@B@B@?@B@B@Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BCooling Buffer$@objectB superclasses@@BFixedResource@ 0ABFlexsimObject@-XABclasses@@BRack@10ABFixedResource@`/XABFlexsimObject@-XAB variables@@,B placeinbay@treenode item = parnode(1); treenode current = ownerobject(c); /**Random Bay if Available*/ /** \nMaximum items per cell: */ int cellcap = /**/1/**/; /** \n\nNote: If all cells are full, it will be placed in the originally chosen random bay.*/ int nrofbays = rackgetnrofbays(current); int firstguess = duniform(1, nrofbays); int curguess = firstguess; while(curguess <= nrofbays) { if( rackgetbaycontent(current, curguess) < (cellcap * rackgetnroflevels(current, curguess))) return curguess; curguess++; } curguess = firstguess - 1; while(curguess >= 1) { if( rackgetbaycontent(current, curguess) < (cellcap * rackgetnroflevels(current, curguess))) return curguess; curguess--; } return firstguess;@Bt\..>tnkx>tex>valChartaytayti2  ? l?0$o6@ 6h  \ =P  6   4x   6  4   'TD44( =44= 4d5p &4454  '8(4 =44=4H5T $44h\Bplaceinlevel@8treenode item = parnode(1); treenode current = ownerobject(c); double baynumber = parval(2); /**Random Level if Available*/ /** \nMaximum items per cell: */ int cellcap = /**/1/**/; /** \n\nNote: If the randomly chosen level is occupied, then search higher numbered levels first, then lower numbered levels. If all cells are full, it will placed in the originally chosen random level.*/ int nroflevels = rackgetnroflevels(current,baynumber); int firstguess = duniform(1, nroflevels ); int curguess = firstguess; while(curguess <= nroflevels ) { if( rackgetcellcontent(current, baynumber, curguess) < cellcap ) return curguess; curguess++; } curguess = firstguess - 1; while(curguess >= 1) { if( rackgetcellcontent(current, baynumber, curguess) < cellcap ) return curguess; curguess--; } return firstguess; @BPZ..>tnkx>tex>valChar? l?0$o9Lk@6\ 6   7x  =l  6   4   6  4   'X 4L84,7 =4h5t &4454  ' 447=4$ 50 $4 4DdBminimumstaytime@ftreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Statistical Distribution: */ return /**/uniform(96, 144, 0)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@BLp..>tnkx>tex? l?0$o6Lk@6\\`(Benddwelltimetrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @B maxcontent@@Bcontenttable@@B@@B@@B@B@@B@B@@B@B@@B@B@@B@Blocationtable@@B@@B@B@?B@@B@@B@@B sizetable@@BBay1@?@BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?B rackdrawmode@?Bpickplaceyoffset@B tiltvalue@B tiltangle@Bmarkreadytogo@B floorstorage@?Bopacity@?B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\nkx>tex?o?0l$6Lk@6\ydoB entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@?@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@B..>tnkx>tex? l?0$o6Lk@6\ 6 c  4x  =l ORTBnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@@Bcppfunctions@@Bcppvariables@@Bint lastpredrawoutput@Bint lastpredrawinput@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bcolor@a@Bred@?Bgreen@?Bblue@?Bshape@u***B shapeindex@vBpicture@c&bitmaps\WarehouseRackpicturesmall.bmpB imageobject@qbitmaps\rackshelf.bmpBimageindexobject@rD@B imagebase@s***Bimageindexbase@tB nochildscale@_?B spatial@@ B spatialsx@P?B spatialsy@Q@B spatialsz@R?@B centroid@e?B spatialx@M @B spatialy@N@B spatialz@OB spatialrx@SB spatialry@TB spatialrz@UB special@@Btitle@dFixed Resource SinkB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/RackParametersB objectinfo@@BCurContent: 0@BMaxContent: 0@BAvgContent: 0.0@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@H$@B@?B@Bconnectionsout@ @B@%@B@B@Bconnectionscenter@ @B@J@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,>@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@B BasicTE26:@objectB classes@@B BasicTE@h0AB TaskExecuter@`6AB Dispatcher@4ABFlexsimObject@ ABsuperclasses@@B TaskExecuter@`60AB Dispatcher@4ABFlexsimObject@ AB variables@@EBonbeginoffset@treenode current = ownerobject(c); // the following x, y, and z values are requested x, y, and z offsets from this object's x/y center and z base. double x = parval(1); double y = parval(2); double z = parval(3); treenode item = parnode(4); double endspeed = parval(5); double maxspeed = parval(6); double acceleration = parval(7); double deceleration = parval(8); double lastupdatedspeed = parval(9); double rotatewhiletraveling = parval(10); Bonupdateoffset@Ftreenode current = ownerobject(c); double offsettingnow = parval(1); double offsettotaltime = parval(2); double maxspeed = parval(3); double acceleration = parval(4); double deceleration = parval(5); double lastupdatedspeed = parval(6); double rotatewhiletraveling = parval(7); double curloadunloadtime = parval(8); Bonfinishoffset@Ftreenode current = ownerobject(c); double offsettingnow = parval(1); double offsettotaltime = parval(2); double maxspeed = parval(3); double acceleration = parval(4); double deceleration = parval(5); double lastupdatedspeed = parval(6); double rotatewhiletraveling = parval(7); double curloadunloadtime = parval(8); Bpickplaceoffset@treenode current = ownerobject(c); int pickoperation = parval(1); treenode item = parnode(2); treenode otherobject = parnode(3); treenode xvalnode = parnode(4); treenode yvalnode = parnode(5); treenode zvalnode = parnode(6); B stopresume@treenode current = ownerobject(c); int stopoperation = parval(1); int stopstate = parval(2); treenode nrofstopsnode = parnode(3); treenode timeoflaststopnode = parnode(4); treenode statebeforestopnode = parnode(5); Badvancedfunctions@?treenode current = ownerobject(c); int msgtype = parval(1); B poffsetx@B poffsety@B poffsetz@Bactivetasksequence@@B maxcontent@?B loadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ 6 7l B loadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B unloadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ 6 7l t. Bunloadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B maxspeed@@B acceleration@?B deceleration@?B navigator@Boldbreakrequirement@Bbreakto@treenode activets = parnode(1); treenode current = ownerobject(c); /**New Tasksequences Only*/ /** \nOnly break to task sequences that have not been started already.*/ treenode tsqueue = gettasksequencequeue(current); treenode returnts = NULL; for(int index = 1; index <= content(tsqueue) && ! returnts; index++) { treenode curts = rank(tsqueue, index); if(gettotalnroftasks(curts) == getnroftasks(curts)) returnts = curts; } return tonum(returnts);@Bl:MAINodev? l?0$o?XL=@?h 6x    ?    4  =   #` T =H  < =0  >|  =p   5      )  * =  &  =  4 5tc=B travelinfo@@B travelstartx@B travelstarty@B travelstartz@Btraveldistance@Btraveldirection@B travelendx@B travelendy@B travelendz@B travelacc@B traveldec@Btravelstarttime@~Btravelendtime@Btraveltimealpha@Btraveltimebeta@B travelvpeak@B travelvmax@B travelvstart@B travelvend@Bmodifyrotation@?B useoffsets@?Boffsettingnow@Boffsetbegintime@ ABoffsettotaltime@B offsetlocx@ffffff$@B offsetlocy@B offsetlocz@B offsetbeginx@;@B offsetbeginy@?B offsetbeginz@Boffsetbeginxrot@Boffsetbeginyrot@Boffsetbeginzrot@B loadedspeed@@B emptyspeed@@Bcurloadunloadtime@Blastupdatedspeed@B travelvstart@B travelvend@Blastspeedupdatetime@ ABcollisiontrigger@treenode thisobject=ownerobject(c); treenode otherobject=parnode(1); treenode thissphere=parnode(2); treenode othersphere=parnode(3); Bcollcheckinterval@?Bdrawcollspheres@B incollision@Bcollcheckstate@Btotaltraveldist@B kinematics@Bflipthreshold@f@Bpassimmediately@@Bpassto@"treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**First Available*/ /** \nIf there are no objects currently available, then queue the tasksequence up using the Queue Strategy and wait until someone connected to its output ports becomes available.*/ return 0;@Btasksequencequeue@@Bqueuestrategy@treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**Sort by TaskSequence Priority*/ return getpriority(tasksequence);@BX MAINodev? l?0$o?XL=@Bcoordinatedtasks@@Bonresourceavailable@treenode current = ownerobject(c); int port = parval(1); treenode resource = parnode(2); treenode nextts = parnode(3); treenode lastts = parnode(4); Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble offsetloc[3] @Bfsnode* activetask@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bcolor@a@Bred@?Bgreen@?Bblue@?Bshape@ufs3d\texturesphere.wrlB shapeindex@v@B picture@cbitmaps\spheresmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B special@@Btitle@dObjectB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/BasicTEParametersB objectinfo@B ignoredraw@fBdisplaygroup@ standardBspatial@@B spatialx@M;@B spatialy@N?B spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UBoffsetx@VBoffsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?Bdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @Bconnectionsout@ @Bconnectionscenter@ @B@*@B@B@B@ 6@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. TimeBstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@B BasicTE27:@objectB classes@@B BasicTE@h0AB TaskExecuter@`6AB Dispatcher@4ABFlexsimObject@ ABsuperclasses@@B TaskExecuter@`60AB Dispatcher@4ABFlexsimObject@ AB variables@@EBonbeginoffset@treenode current = ownerobject(c); // the following x, y, and z values are requested x, y, and z offsets from this object's x/y center and z base. double x = parval(1); double y = parval(2); double z = parval(3); treenode item = parnode(4); double endspeed = parval(5); double maxspeed = parval(6); double acceleration = parval(7); double deceleration = parval(8); double lastupdatedspeed = parval(9); double rotatewhiletraveling = parval(10); Bonupdateoffset@Ftreenode current = ownerobject(c); double offsettingnow = parval(1); double offsettotaltime = parval(2); double maxspeed = parval(3); double acceleration = parval(4); double deceleration = parval(5); double lastupdatedspeed = parval(6); double rotatewhiletraveling = parval(7); double curloadunloadtime = parval(8); Bonfinishoffset@Ftreenode current = ownerobject(c); double offsettingnow = parval(1); double offsettotaltime = parval(2); double maxspeed = parval(3); double acceleration = parval(4); double deceleration = parval(5); double lastupdatedspeed = parval(6); double rotatewhiletraveling = parval(7); double curloadunloadtime = parval(8); Bpickplaceoffset@treenode current = ownerobject(c); int pickoperation = parval(1); treenode item = parnode(2); treenode otherobject = parnode(3); treenode xvalnode = parnode(4); treenode yvalnode = parnode(5); treenode zvalnode = parnode(6); B stopresume@treenode current = ownerobject(c); int stopoperation = parval(1); int stopstate = parval(2); treenode nrofstopsnode = parnode(3); treenode timeoflaststopnode = parnode(4); treenode statebeforestopnode = parnode(5); Badvancedfunctions@?treenode current = ownerobject(c); int msgtype = parval(1); B poffsetx@B poffsety@B poffsetz@Bactivetasksequence@@B maxcontent@?B loadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ ?  7l B loadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B unloadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ ?  7l t. Bunloadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B maxspeed@@B acceleration@?B deceleration@?B navigator@Boldbreakrequirement@Bbreakto@treenode activets = parnode(1); treenode current = ownerobject(c); /**New Tasksequences Only*/ /** \nOnly break to task sequences that have not been started already.*/ treenode tsqueue = gettasksequencequeue(current); treenode returnts = NULL; for(int index = 1; index <= content(tsqueue) && ! returnts; index++) { treenode curts = rank(tsqueue, index); if(gettotalnroftasks(curts) == getnroftasks(curts)) returnts = curts; } return tonum(returnts);@Bl:MAINodev? l?0$o?XL=@?h 6x    ?    4  =   #` T =H  < =0  >|  =p   5      )  * =  &  =  4 5tc=B travelinfo@@B travelstartx@B travelstarty@B travelstartz@Btraveldistance@Btraveldirection@B travelendx@B travelendy@B travelendz@B travelacc@B traveldec@Btravelstarttime@~Btravelendtime@Btraveltimealpha@Btraveltimebeta@B travelvpeak@B travelvmax@B travelvstart@B travelvend@Bmodifyrotation@?B useoffsets@?Boffsettingnow@Boffsetbegintime@Boffsettotaltime@B offsetlocx@B offsetlocy@B offsetlocz@B offsetbeginx@B offsetbeginy@B offsetbeginz@Boffsetbeginxrot@Boffsetbeginyrot@Boffsetbeginzrot@B loadedspeed@@B emptyspeed@@Bcurloadunloadtime@Blastupdatedspeed@B travelvstart@B travelvend@Blastspeedupdatetime@HM ABcollisiontrigger@treenode thisobject=ownerobject(c); treenode otherobject=parnode(1); treenode thissphere=parnode(2); treenode othersphere=parnode(3); Bcollcheckinterval@?Bdrawcollspheres@B incollision@Bcollcheckstate@Btotaltraveldist@B kinematics@Bflipthreshold@f@Bpassimmediately@@Bpassto@"treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**First Available*/ /** \nIf there are no objects currently available, then queue the tasksequence up using the Queue Strategy and wait until someone connected to its output ports becomes available.*/ return 0;@Btasksequencequeue@@Bqueuestrategy@treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**Sort by TaskSequence Priority*/ return getpriority(tasksequence);@BX MAINodev? l?0$o?XL=@Bcoordinatedtasks@@Bonresourceavailable@treenode current = ownerobject(c); int port = parval(1); treenode resource = parnode(2); treenode nextts = parnode(3); treenode lastts = parnode(4); Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble offsetloc[3] @Bfsnode* activetask@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bcolor@a@Bred@?Bgreen@?Bblue@?Bshape@ufs3d\texturesphere.wrlB shapeindex@v@B picture@cbitmaps\spheresmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B special@@Btitle@dObjectB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/BasicTEParametersB objectinfo@B ignoredraw@fBdisplaygroup@ standardBspatial@@B spatialx@ME@B spatialy@N?B spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UBoffsetx@VBoffsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?Bdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @Bconnectionsout@ @Bconnectionscenter@ @B@p<@B@B@B@W7@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. TimeBstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@B BasicTE28:@objectB classes@@B BasicTE@h0AB TaskExecuter@`6AB Dispatcher@4ABFlexsimObject@ ABsuperclasses@@B TaskExecuter@`60AB Dispatcher@4ABFlexsimObject@ AB variables@@EBonbeginoffset@treenode current = ownerobject(c); // the following x, y, and z values are requested x, y, and z offsets from this object's x/y center and z base. double x = parval(1); double y = parval(2); double z = parval(3); treenode item = parnode(4); double endspeed = parval(5); double maxspeed = parval(6); double acceleration = parval(7); double deceleration = parval(8); double lastupdatedspeed = parval(9); double rotatewhiletraveling = parval(10); Bonupdateoffset@Ftreenode current = ownerobject(c); double offsettingnow = parval(1); double offsettotaltime = parval(2); double maxspeed = parval(3); double acceleration = parval(4); double deceleration = parval(5); double lastupdatedspeed = parval(6); double rotatewhiletraveling = parval(7); double curloadunloadtime = parval(8); Bonfinishoffset@Ftreenode current = ownerobject(c); double offsettingnow = parval(1); double offsettotaltime = parval(2); double maxspeed = parval(3); double acceleration = parval(4); double deceleration = parval(5); double lastupdatedspeed = parval(6); double rotatewhiletraveling = parval(7); double curloadunloadtime = parval(8); Bpickplaceoffset@treenode current = ownerobject(c); int pickoperation = parval(1); treenode item = parnode(2); treenode otherobject = parnode(3); treenode xvalnode = parnode(4); treenode yvalnode = parnode(5); treenode zvalnode = parnode(6); B stopresume@treenode current = ownerobject(c); int stopoperation = parval(1); int stopstate = parval(2); treenode nrofstopsnode = parnode(3); treenode timeoflaststopnode = parnode(4); treenode statebeforestopnode = parnode(5); Badvancedfunctions@?treenode current = ownerobject(c); int msgtype = parval(1); B poffsetx@B poffsety@B poffsetz@Bactivetasksequence@@B maxcontent@?B loadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ ?  7l B loadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B unloadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ ?  7l tecBunloadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B maxspeed@@B acceleration@?B deceleration@?B navigator@Boldbreakrequirement@Bbreakto@treenode activets = parnode(1); treenode current = ownerobject(c); /**New Tasksequences Only*/ /** \nOnly break to task sequences that have not been started already.*/ treenode tsqueue = gettasksequencequeue(current); treenode returnts = NULL; for(int index = 1; index <= content(tsqueue) && ! returnts; index++) { treenode curts = rank(tsqueue, index); if(gettotalnroftasks(curts) == getnroftasks(curts)) returnts = curts; } return tonum(returnts);@Bl:MAINodev? l?0$o?XL=@?h 6x    ?    4  =   #` T =H  < =0  >|  =p   5      )  * =  &  =  4 5tc=B travelinfo@@B travelstartx@B travelstarty@B travelstartz@Btraveldistance@Btraveldirection@B travelendx@B travelendy@B travelendz@B travelacc@B traveldec@Btravelstarttime@~Btravelendtime@Btraveltimealpha@Btraveltimebeta@B travelvpeak@B travelvmax@B travelvstart@B travelvend@Bmodifyrotation@?B useoffsets@?Boffsettingnow@Boffsetbegintime@Boffsettotaltime@B offsetlocx@B offsetlocy@B offsetlocz@B offsetbeginx@B offsetbeginy@B offsetbeginz@Boffsetbeginxrot@Boffsetbeginyrot@Boffsetbeginzrot@B loadedspeed@@B emptyspeed@@Bcurloadunloadtime@Blastupdatedspeed@B travelvstart@B travelvend@Blastspeedupdatetime@MmwgABcollisiontrigger@treenode thisobject=ownerobject(c); treenode otherobject=parnode(1); treenode thissphere=parnode(2); treenode othersphere=parnode(3); Bcollcheckinterval@?Bdrawcollspheres@B incollision@Bcollcheckstate@Btotaltraveldist@B kinematics@Bflipthreshold@f@Bpassimmediately@@Bpassto@"treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**First Available*/ /** \nIf there are no objects currently available, then queue the tasksequence up using the Queue Strategy and wait until someone connected to its output ports becomes available.*/ return 0;@Btasksequencequeue@@Bqueuestrategy@treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**Sort by TaskSequence Priority*/ return getpriority(tasksequence);@BX MAINodev? l?0$o?XL=@Bcoordinatedtasks@@Bonresourceavailable@treenode current = ownerobject(c); int port = parval(1); treenode resource = parnode(2); treenode nextts = parnode(3); treenode lastts = parnode(4); Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble offsetloc[3] @Bfsnode* activetask@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bcolor@a@Bred@?Bgreen@?Bblue@?Bshape@ufs3d\texturesphere.wrlB shapeindex@v@B picture@cbitmaps\spheresmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B special@@Btitle@dObjectB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/BasicTEParametersB objectinfo@B ignoredraw@fBdisplaygroup@ standardBspatial@@B spatialx@ME@B spatialy@NB spatialz@OQ?B spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UBoffsetx@VBoffsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?Bdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @Bconnectionsout@ @Bconnectionscenter@ @B@=@B@B@B@8@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. TimeBstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@B BasicTE29:@objectB classes@@B BasicTE@h0AB TaskExecuter@`6AB Dispatcher@4ABFlexsimObject@ ABsuperclasses@@B TaskExecuter@`60AB Dispatcher@4ABFlexsimObject@ AB variables@@EBonbeginoffset@treenode current = ownerobject(c); // the following x, y, and z values are requested x, y, and z offsets from this object's x/y center and z base. double x = parval(1); double y = parval(2); double z = parval(3); treenode item = parnode(4); double endspeed = parval(5); double maxspeed = parval(6); double acceleration = parval(7); double deceleration = parval(8); double lastupdatedspeed = parval(9); double rotatewhiletraveling = parval(10); Bonupdateoffset@Ftreenode current = ownerobject(c); double offsettingnow = parval(1); double offsettotaltime = parval(2); double maxspeed = parval(3); double acceleration = parval(4); double deceleration = parval(5); double lastupdatedspeed = parval(6); double rotatewhiletraveling = parval(7); double curloadunloadtime = parval(8); Bonfinishoffset@Ftreenode current = ownerobject(c); double offsettingnow = parval(1); double offsettotaltime = parval(2); double maxspeed = parval(3); double acceleration = parval(4); double deceleration = parval(5); double lastupdatedspeed = parval(6); double rotatewhiletraveling = parval(7); double curloadunloadtime = parval(8); Bpickplaceoffset@treenode current = ownerobject(c); int pickoperation = parval(1); treenode item = parnode(2); treenode otherobject = parnode(3); treenode xvalnode = parnode(4); treenode yvalnode = parnode(5); treenode zvalnode = parnode(6); B stopresume@treenode current = ownerobject(c); int stopoperation = parval(1); int stopstate = parval(2); treenode nrofstopsnode = parnode(3); treenode timeoflaststopnode = parnode(4); treenode statebeforestopnode = parnode(5); Badvancedfunctions@?treenode current = ownerobject(c); int msgtype = parval(1); B poffsetx@B poffsety@B poffsetz@Bactivetasksequence@@B maxcontent@?B loadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ ?  7l orB loadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B unloadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ ?  7l xBunloadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B maxspeed@@B acceleration@?B deceleration@?B navigator@Boldbreakrequirement@Bbreakto@treenode activets = parnode(1); treenode current = ownerobject(c); /**New Tasksequences Only*/ /** \nOnly break to task sequences that have not been started already.*/ treenode tsqueue = gettasksequencequeue(current); treenode returnts = NULL; for(int index = 1; index <= content(tsqueue) && ! returnts; index++) { treenode curts = rank(tsqueue, index); if(gettotalnroftasks(curts) == getnroftasks(curts)) returnts = curts; } return tonum(returnts);@Bl:MAINodev? l?0$o?XL=@?h 6x    ?    4  =   #` T =H  < =0  >|  =p   5      )  * =  &  =  4 5tc=B travelinfo@@B travelstartx@B travelstarty@B travelstartz@Btraveldistance@Btraveldirection@B travelendx@B travelendy@B travelendz@B travelacc@B traveldec@Btravelstarttime@~Btravelendtime@Btraveltimealpha@Btraveltimebeta@B travelvpeak@B travelvmax@B travelvstart@B travelvend@Bmodifyrotation@?B useoffsets@?Boffsettingnow@Boffsetbegintime@Boffsettotaltime@B offsetlocx@B offsetlocy@B offsetlocz@B offsetbeginx@B offsetbeginy@B offsetbeginz@Boffsetbeginxrot@Boffsetbeginyrot@Boffsetbeginzrot@B loadedspeed@@B emptyspeed@@Bcurloadunloadtime@Blastupdatedspeed@B travelvstart@B travelvend@Blastspeedupdatetime@lmb@Bcollisiontrigger@treenode thisobject=ownerobject(c); treenode otherobject=parnode(1); treenode thissphere=parnode(2); treenode othersphere=parnode(3); Bcollcheckinterval@?Bdrawcollspheres@B incollision@Bcollcheckstate@Btotaltraveldist@B kinematics@Bflipthreshold@f@Bpassimmediately@@Bpassto@"treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**First Available*/ /** \nIf there are no objects currently available, then queue the tasksequence up using the Queue Strategy and wait until someone connected to its output ports becomes available.*/ return 0;@Btasksequencequeue@@Bqueuestrategy@treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**Sort by TaskSequence Priority*/ return getpriority(tasksequence);@BX MAINodev? l?0$o?XL=@Bcoordinatedtasks@@Bonresourceavailable@treenode current = ownerobject(c); int port = parval(1); treenode resource = parnode(2); treenode nextts = parnode(3); treenode lastts = parnode(4); Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble offsetloc[3] @Bfsnode* activetask@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bcolor@a@Bred@?Bgreen@?Bblue@?Bshape@ufs3d\texturesphere.wrlB shapeindex@v@B picture@cbitmaps\spheresmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B special@@Btitle@dObjectB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/BasicTEParametersB objectinfo@B ignoredraw@fBdisplaygroup@ standardBspatial@@B spatialx@ME@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UBoffsetx@VBoffsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?Bdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @Bconnectionsout@ @Bconnectionscenter@ @B@?@B@B@B@9@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. TimeBstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@B Late Crane$ @objectBclasses@@BCrane@>0AB TaskExecuter@`6AB Dispatcher@4ABFlexsimObject@ AB superclasses@@B TaskExecuter@`60AB Dispatcher@4ABFlexsimObject@ AB variables@@HB shellxloc@B shellyloc@@B shellzloc@B shellsizex@9@B shellsizey@@B shellsizez@@Bmoving@B liftheight@@Btravelsequence@L>XY>DB cranespeeds@@BGantry@@B Max_Speed@.@BAcceleration@?BDeceleration@?B Trolley@@B@.@B@?B@?B Hoist_Lift@@B@.@B@?B@?B Hoist_Drop@@B@.@B@?B@?BcranekinematicsA8 do not touch???@#A9#APGz#A-@п?Uwڊ&@п@>val9#AS("#A?Ws?Ws?Ws?ffffff?ffffff?ffffff?|hS("#A2Xg#A?࿖\Q"L@\Q"L@\Q"L@33333"33333"@ɫ" ets(S("#AS("#A??.@),">2Xg#APGz#A?Ws?Ws?Ws?ffffffffffff?This object is not configured to record data for this graph. The model must be run with the "Record data for Content and Staytime gr P (( 0   @ 0 h 8 pж 8 ȧ x 0 P h  X  x H  8 @  H H 0  P   X x ( x  @ h$  H @   `  0(0  D H D PE +F XG 9 (H H `I  /H K     P 3X X ( P7 ` x H   X (   p > ؗ @ x  ;0 8 h Е X BH  P ( `+ 8J8. . / p/ H2 @0 / h + 0 5 1 x1 1 2 4 3 - 7 N3 3 P4 0, 5 X6 (7 `8 5 6 pF * (* * p h- > > U@= ȓ @ ? H? : PA @ @ Q09 9 , 7 8 : <  8   p  h XYh: A B B B P C `  Pؤ ]HL xK K p< k l D O O XP Q P PN `R N (Q = ; Q O G D `l 0m L XC < 0S R M hn n c n f g 8H 8o o m p pp q p @q r hG U `E x> S 8U ^  T F (^ `_ _ ] xr ^ V 0` K hT @d t u i Xw (x x w d r E y x `y 0z z 8| { | } @~ x I v pV   H H g Pu ` a ha 8b xe e a b 8; T P c { g h Ph  M j (D i V X i ( h{ (k X ` p G k h Я p t pI Xj Hf ( J  pc ؾ 0 d P  `  p @ v X  I @lHYB liftradius@Bactivetasksequence@@B maxcontent@?B loadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ ?  7l  B loadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B unloadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ ?  7l Bunloadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B maxspeed@@B acceleration@?B deceleration@?B navigator@Boldbreakrequirement@Bbreakto@treenode activets = parnode(1); treenode current = ownerobject(c); /**New Tasksequences Only*/ /** \nOnly break to task sequences that have not been started already.*/ treenode tsqueue = gettasksequencequeue(current); treenode returnts = NULL; for(int index = 1; index <= content(tsqueue) && ! returnts; index++) { treenode curts = rank(tsqueue, index); if(gettotalnroftasks(curts) == getnroftasks(curts)) returnts = curts; } return tonum(returnts);@Bl:MAINodev? l?0$o?XL=@?h 6x    ?    4  =   #` T =H  < =0  >|  =p   5      )  * =  &  =  4 5tc=B travelinfo@@B travelstartx@B travelstarty@B travelstartz@Btraveldistance@Btraveldirection@B travelendx@B travelendy@B travelendz@B travelacc@B traveldec@Btravelstarttime@~Btravelendtime@Btraveltimealpha@Btraveltimebeta@B travelvpeak@B travelvmax@B travelvstart@B travelvend@Bmodifyrotation@B useoffsets@?Boffsettingnow@Boffsetbegintime@9#ABoffsettotaltime@>\*@B offsetlocx@33333"B offsetlocy@B offsetlocz@B offsetbeginx@-@B offsetbeginy@пB offsetbeginz@?Boffsetbeginxrot@Boffsetbeginyrot@Boffsetbeginzrot@B loadedspeed@@B emptyspeed@@Bcurloadunloadtime@Blastupdatedspeed@B travelvstart@B travelvend@Blastspeedupdatetime@9#ABcollisiontrigger@otreenode thisobject=ownerobject(c); treenode otherobject=parnode(1); treenode thissphere=parnode(2); treenode othersphere=parnode(3); /**Crane Logic: */ /** Cranes must not cross paths along the */ #define X 1 #define Y 2 #define Z 3 int axis = /**/X/**list:X~Y~Z*/; /**- axis. If a collision is detected, then priority of tasks is determined first by priority of the task sequence being executed. If the priorities are equal, then the crane with the highest label named */ string labelname = /**/"cranepriority"/**/; /** takes precedence. Create a preempting task sequence for the other crane to move out of the way */ double traveldist = /**/5/**/; /** units of length along the axis specified, then wait for */ double delaytime = /**/2/**/; /** units of time before trying again.*/ // Here I find out which way I'm supposed to travel. int donothingflag = 0; doublearray travelloc = makearray(3); fillarray(travelloc, 0,0,0); int delayflag = 0; switch(axis) { case X: if(xloc(otherobject) > xloc(thisobject)) travelloc[1] = -traveldist; else travelloc[1] = traveldist; break; case Y: if(yloc(otherobject) > yloc(thisobject)) travelloc[2] = -traveldist; else travelloc[2] = traveldist; break; case Z: if(zloc(otherobject) > zloc(thisobject)) travelloc[3] = -traveldist; else travelloc[3] = traveldist; break; } /* Here's the real complicated part, namely figuring out when I should and when I should not preempt myself to get out of the other guy's way. Realize that this is happening on both colliding objects, so each object will decide for itself whether it needs to preempt its own active task. If this works correctly, exactly one of the two objects should preempt. Note: whenever I create a task sequence to get out of someone's way, I give that task sequence a special tag so that I can know later on (within this same field, but on the next collision detection event) that it is a task sequence created within this field. The way that I do this is I give my preemting task sequence a TASKTYPE_TAG task as its first task. This tag task does nothing as far as execution. But, as the first and second involved objects for this tag task, I set the first to point to myself, and the second to point to the guy I'm getting out of the way of. Then, next time this field fires, I can know the state of the situation, whether I'm already getting out of the way of the other guy, or whether he's getting out of my way, etc. */ treenode otheractivets = gettasksequence(otherobject, 0); treenode activets = gettasksequence(thisobject, 0); // Here are the cases in which I preempt myself if( // 1. If I am not doing anything right now !objectexists(activets) // 2. Either I'm currently already being preempted to get out of the way of the other object || (objectexists(activets) && gettasktype(activets, 1) == TASKTYPE_TAG && gettaskinvolved(activets, 1, 2) == otherobject) || ( // or the other guy is working on a task that is not a task to get out of my way, and his task takes priority over my task. objectexists(otheractivets) && (gettasktype(otheractivets, 1) != TASKTYPE_TAG || gettaskinvolved(otheractivets, 1, 2) != thisobject) && ( getpriority(otheractivets) > getpriority(activets) || ( getpriority(otheractivets) == getpriority(activets) && getlabelnum(otherobject, labelname) > getlabelnum(thisobject, labelname) ) ) ) ) { int preempttype = PREEMPT_ONLY; // If I'm already working on a task to get out of his way, then I want to abort that task // because this task will basically do the same thinge, except go a further distance further. if(objectexists(activets) && gettasktype(activets, 1) == TASKTYPE_TAG && gettaskinvolved(activets, 1, 1) == thisobject) { setpreempt(activets, PREEMPT_NOT); preempttype = PREEMPT_AND_ABORT_ACTIVE; } double priority = 0; if(objectexists(otheractivets)) priority = getpriority(otheractivets); treenode newts = createemptytasksequence(thisobject, priority, preempttype); // this is the tag task inserttask(newts, TASKTYPE_TAG, thisobject, otherobject); inserttask(newts, TASKTYPE_TRAVELRELATIVE, NULL, NULL, travelloc[1], travelloc[2], travelloc[3], 2); inserttask(newts, TASKTYPE_DELAY, NULL, NULL, delaytime, STATE_IDLE); dispatchtasksequence(newts); } @B "MAINodevcraneprioritytiveteningwindowI2repe dardtive  0rolrol Libr ary >dran?o?0l$?Ll@?hl\ 6x  <996E OPC 6 34(  "%d"X"=L""@"=4"#D# ## #7t## *$D$ $7$$ 00 2 =(%("(=(("(=()D ) )) )7)) 1*D@* *74** 8 8 8.%.&x.=l..&`.=T./D/ // /7// 90D0 0700 3 HD?D DDD=DE?E EEE=E kY+HX)/W+xV)hV%X UHU:<UU=0UU U:UU=UT#TT=T TT=T S%RR=R RR=R Q)xP+hP(XP=LP P8PPP=,P P(PP PP=P OO=O M+L)L#L=LLLLL=L L)| L#lLL\LL=PL LDL=8L J*,J J=J [6[ [ Z_)H_#8_=,___ __= _ _) _#____=_ __=_ adaa=Xa b5tb be9ee J ff=f f8fff=f g?  ggg4g g7gg=gi@i=4ii=(iii=ijjjCj jjCtj j jCdj jjjj j=Xjk kk7kkkk k=km m=m Bcollcheckinterval@?Bdrawcollspheres@B incollision@Bcollcheckstate@@B@?B@B@B@Btotaltraveldist@B kinematics@Bflipthreshold@f@Bpassimmediately@@Bpassto@treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**Pass to the object that is closest to the destination (if the object is on a network, then network travel is calculated; otherwise centroid-to-centroid distance is used).*/ /** \nConsider available objects only: */ int yes = 1; int no = 0; int onlyavailable =/**/yes/**/;/** (yes, no) */ /** \nIf none are found, then the tasksequence will be queued up using the Queue Strategy, and will be sent to the first available.*/ double curmin = GLOBAL_UNREACHABLE; int minindex = 0; treenode destination = NULL; for(int taskrank = 1; taskrank <= gettotalnroftasks(tasksequence) && destination == NULL; taskrank++) // this finds the first task in the tasksequence that is a travel task. { if(gettasktype(tasksequence,taskrank) == TASKTYPE_TRAVEL) destination = gettaskinvolved(tasksequence,taskrank,1); } if(destination==NULL) // first available if there is no travel task return 0; for(int index = 1; index <= nrop(current); index++) { treenode curobj = outobject(current, index); if(curobj && isclasstype(curobj, CLASSTYPE_TASKEXECUTER)) { int validcheck=1; if(onlyavailable && !(ipopen(curobj, opipno(current, index)) && inputopen(curobj)) ) validcheck=0; if(validcheck) { double curdist = distancetotravel(curobj, destination); if(curdist != GLOBAL_UNREACHABLE && (curmin == GLOBAL_UNREACHABLE || curmin > curdist)) { curmin = curdist; minindex = index; } } } } return minindex;@B DMAINodevcranngwirepe to t",c? l?0$o6@6P6l4` 9|   6  ?6  #XH4<=0>4t=h5 )  #=&=4 ##=6  8M ?@ 04$ = 8A)xh=\ =P 6  0)* ) = 4 == 45,  1"4< !9p! !`!=T!!=H!  =")"+ "%"7" "7""#""7""(""7" $8 $$7$ %5(%%4% 5  /&=4 0D*48*Btasksequencequeue@@Bqueuestrategy@treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**Prioritize by distance: \nSort the task sequences based on the closest involved object.*/ /** \n\nTask Rank: */ int taskrank = /**/4/**/; /** \nInvolved Object Number: */ int involvednum = /**/1/**/; /** \nConsider only partially completed tasksequences: */ int yes = 1; int no = 0; int onlypartial =/**/yes/**list:yes~no*/; /** \nCondition: */ int condition = /**/true/**/; /**\n\n*/ if(condition) { treenode station = gettaskinvolved(tasksequence,taskrank,involvednum); double dist = distancetotravel(current, station); double inversedist = 0; if((getnroftasks(tasksequence) < gettotalnroftasks(tasksequence) || !onlypartial) && dist != GLOBAL_UNREACHABLE) { if(dist > 0) { inversedist = 0.1 / dist; } else { inversedist = 0.1; } } //pt(getname(station));pr(); //pf(time());pt(" : ");pf(inversedist);pr(); return inversedist; } else return getpriority(tasksequence); /**Hints:*/ /**\nFor standard transport task sequences, use 4 / 1 / yes. */ /**\nFor standard request operators task sequences, use 4 / 2 / no. */ /**\nAs a Condition you can write getpriority(tasksequence)==0 such that task sequences with a specified priority are still handled first.*/ @BpZMAINodevcran??tr g? l?0$o6@6P 6`   6p   6  4 6 !:4? 44=9( = =98   )(7 + *4'xl=`T=H # %7 8  7  8< 05,"7L"  $0%d%=X%icaBcoordinatedtasks@@Bonresourceavailable@treenode current = ownerobject(c); int port = parval(1); treenode resource = parnode(2); treenode nextts = parnode(3); treenode lastts = parnode(4); Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BLate Cranesubnode@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@@B@@Bx@?By@пBz@Bradius@@Bcollisionobjects@@B Early Crane@EIB resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble lastxloc@Bdouble lastyloc@Bdouble lastzloc@Bdouble justcreated@Bdouble offsetloc[3] @Bfsnode* activetask@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bshape@ufs3d\texturebox.wrlB shapeindex@v@Bpicture@cbitmaps\Cranepicturesmall.bmpB imageobject@qfs3d\concrete.bmpBimageindexobject@rE@B imagebase@s***Bimageindexbase@tBcolor@a@Bred@?Bgreen@Bblue@B nochildscale@_?Bspecial@@Btitle@dObjectB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/CraneParametersBspatial@@B spatialx@MUwڊ&@B spatialy@NпB spatialz@O@B spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UBoffsetx@VBoffsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@B objectinfo@@B Output: 0@B Status: idle@?Blabels@@B connections@@Bconnectionsin@ @B@|K@B@?B@B@J@B@?B@Bconnectionsout@ @Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@B Early Crane$ @objectBclasses@@BCrane@>0AB TaskExecuter@`6AB Dispatcher@4ABFlexsimObject@ AB superclasses@@B TaskExecuter@`60AB Dispatcher@4ABFlexsimObject@ AB variables@@HB shellxloc@B shellyloc@@B shellzloc@B shellsizex@9@B shellsizey@@B shellsizez@@Bmoving@B liftheight@@Btravelsequence@L>XY>DB cranespeeds@@BGantry@@B Max_Speed@.@BAcceleration@?BDeceleration@?B Trolley@@B@.@B@?B@?B Hoist_Lift@@B@.@B@?B@?B Hoist_Drop@@B@.@B@?B@?BcranekinematicsA8 do not touch???@#A愸a#An[#A@п?Lr @@>val愸a#A_,P#A?Ws?Ws?Ws?ffffff?ffffff?ffffff?|h_,P#Ah+B#A?ҩ*?ҩ*@ҩ*@ @ @3 @ets(_,P#A_,P8#A??@@@),">h+B#An[#A?Hr?~?Hr?~?Hr?~?333333333333?This object is not configured to record data for this graph. The model must be run with the "Record data for Content and Staytime gr@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@  =     *   =x  h =\  H   =   =   u t| l od L < o4 >oAj o \LoD(3f<=i={7 focus = node("@>objectfocus+",c); treenode flags = node("../Flags",c); switch_hidelabel(focus, !getchecked(node("/Show Name",flags))); switch_hideconnectors(focus,!getchecked(node("/Show Ports",flags))); switch_hidebase(focus, !getchecked(node("/Show 2D Shape",flags))); switch_hideshape(focus, !getcB liftradius@Bactivetasksequence@@B maxcontent@?B loadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ 6` 7l  B loadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B unloadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ 6` 7l Bunloadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B maxspeed@@B acceleration@?B deceleration@?B navigator@Boldbreakrequirement@Bbreakto@treenode activets = parnode(1); treenode current = ownerobject(c); /**New Tasksequences Only*/ /** \nOnly break to task sequences that have not been started already.*/ treenode tsqueue = gettasksequencequeue(current); treenode returnts = NULL; for(int index = 1; index <= content(tsqueue) && ! returnts; index++) { treenode curts = rank(tsqueue, index); if(gettotalnroftasks(curts) == getnroftasks(curts)) returnts = curts; } return tonum(returnts);@Bl:MAINodev? l?0$o?XL=@?h 6x    ?    4  =   #` T =H  < =0  >|  =p  5     )  * =  &  =  4 9(c=B travelinfo@@B travelstartx@B travelstarty@B travelstartz@Btraveldistance@Btraveldirection@B travelendx@B travelendy@B travelendz@B travelacc@B traveldec@Btravelstarttime@~Btravelendtime@Btraveltimealpha@Btraveltimebeta@B travelvpeak@B travelvmax@B travelvstart@B travelvend@Bmodifyrotation@B useoffsets@?Boffsettingnow@Boffsetbegintime@愸a#ABoffsettotaltime@<%@B offsetlocx@ @B offsetlocy@B offsetlocz@B offsetbeginx@@B offsetbeginy@пB offsetbeginz@?Boffsetbeginxrot@Boffsetbeginyrot@Boffsetbeginzrot@B loadedspeed@@B emptyspeed@@Bcurloadunloadtime@Blastupdatedspeed@B travelvstart@B travelvend@Blastspeedupdatetime@愸a#ABcollisiontrigger@otreenode thisobject=ownerobject(c); treenode otherobject=parnode(1); treenode thissphere=parnode(2); treenode othersphere=parnode(3); /**Crane Logic: */ /** Cranes must not cross paths along the */ #define X 1 #define Y 2 #define Z 3 int axis = /**/X/**list:X~Y~Z*/; /**- axis. If a collision is detected, then priority of tasks is determined first by priority of the task sequence being executed. If the priorities are equal, then the crane with the highest label named */ string labelname = /**/"cranepriority"/**/; /** takes precedence. Create a preempting task sequence for the other crane to move out of the way */ double traveldist = /**/5/**/; /** units of length along the axis specified, then wait for */ double delaytime = /**/2/**/; /** units of time before trying again.*/ // Here I find out which way I'm supposed to travel. int donothingflag = 0; doublearray travelloc = makearray(3); fillarray(travelloc, 0,0,0); int delayflag = 0; switch(axis) { case X: if(xloc(otherobject) > xloc(thisobject)) travelloc[1] = -traveldist; else travelloc[1] = traveldist; break; case Y: if(yloc(otherobject) > yloc(thisobject)) travelloc[2] = -traveldist; else travelloc[2] = traveldist; break; case Z: if(zloc(otherobject) > zloc(thisobject)) travelloc[3] = -traveldist; else travelloc[3] = traveldist; break; } /* Here's the real complicated part, namely figuring out when I should and when I should not preempt myself to get out of the other guy's way. Realize that this is happening on both colliding objects, so each object will decide for itself whether it needs to preempt its own active task. If this works correctly, exactly one of the two objects should preempt. Note: whenever I create a task sequence to get out of someone's way, I give that task sequence a special tag so that I can know later on (within this same field, but on the next collision detection event) that it is a task sequence created within this field. The way that I do this is I give my preemting task sequence a TASKTYPE_TAG task as its first task. This tag task does nothing as far as execution. But, as the first and second involved objects for this tag task, I set the first to point to myself, and the second to point to the guy I'm getting out of the way of. Then, next time this field fires, I can know the state of the situation, whether I'm already getting out of the way of the other guy, or whether he's getting out of my way, etc. */ treenode otheractivets = gettasksequence(otherobject, 0); treenode activets = gettasksequence(thisobject, 0); // Here are the cases in which I preempt myself if( // 1. If I am not doing anything right now !objectexists(activets) // 2. Either I'm currently already being preempted to get out of the way of the other object || (objectexists(activets) && gettasktype(activets, 1) == TASKTYPE_TAG && gettaskinvolved(activets, 1, 2) == otherobject) || ( // or the other guy is working on a task that is not a task to get out of my way, and his task takes priority over my task. objectexists(otheractivets) && (gettasktype(otheractivets, 1) != TASKTYPE_TAG || gettaskinvolved(otheractivets, 1, 2) != thisobject) && ( getpriority(otheractivets) > getpriority(activets) || ( getpriority(otheractivets) == getpriority(activets) && getlabelnum(otherobject, labelname) > getlabelnum(thisobject, labelname) ) ) ) ) { int preempttype = PREEMPT_ONLY; // If I'm already working on a task to get out of his way, then I want to abort that task // because this task will basically do the same thinge, except go a further distance further. if(objectexists(activets) && gettasktype(activets, 1) == TASKTYPE_TAG && gettaskinvolved(activets, 1, 1) == thisobject) { setpreempt(activets, PREEMPT_NOT); preempttype = PREEMPT_AND_ABORT_ACTIVE; } double priority = 0; if(objectexists(otheractivets)) priority = getpriority(otheractivets); treenode newts = createemptytasksequence(thisobject, priority, preempttype); // this is the tag task inserttask(newts, TASKTYPE_TAG, thisobject, otherobject); inserttask(newts, TASKTYPE_TRAVELRELATIVE, NULL, NULL, travelloc[1], travelloc[2], travelloc[3], 2); inserttask(newts, TASKTYPE_DELAY, NULL, NULL, delaytime, STATE_IDLE); dispatchtasksequence(newts); } @B "MAINodevcranepriorityngwiI2repe dardtive  0rolrol Libr ary >dran f); ?o?0l$?Ll@?hl\ 6x  <996E OPC 6 34(  "%d"X"=L""@"=4"#D# ## #7t## $D$ $7$$ 00 ! =(%("(=(("(=()D ) )) )7)) 1*D@* *74** 8  8.%.&x.=l..&`.=T./D/ // /7// 90D0 0700 3 HD?D DDD=DE?E EEE=E kY+HX)/W+xV)hV%X UHU:<UU=0UU U:UU=UT#TT=T TT=T S%RR=R RR=R Q)xP+hP(XP=LPP8PP P=,P P(PP PP=P OO=O M+L)L#L=LLLLL=L L)| L#lLL\LL=PL LDL=8L J*,J J=J [6[ [ Z_)H_#8_=,_____= _ _) _#____=_ __=_ adaa=Xa b5tb be9ee J ff=f f8fff=f g?  ggg4g g7gg=gi@i=4ii=(iii=ijjjCj jjCtj j jCdj jjjj j=Xjk kk7kkkk k=km m=mBcollcheckinterval@?Bdrawcollspheres@B incollision@Bcollcheckstate@@B@?B@B@B@Btotaltraveldist@B kinematics@Bflipthreshold@f@Bpassimmediately@@Bpassto@treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**Pass to the object that is closest to the destination (if the object is on a network, then network travel is calculated; otherwise centroid-to-centroid distance is used).*/ /** \nConsider available objects only: */ int yes = 1; int no = 0; int onlyavailable =/**/yes/**/;/** (yes, no) */ /** \nIf none are found, then the tasksequence will be queued up using the Queue Strategy, and will be sent to the first available.*/ double curmin = GLOBAL_UNREACHABLE; int minindex = 0; treenode destination = NULL; for(int taskrank = 1; taskrank <= gettotalnroftasks(tasksequence) && destination == NULL; taskrank++) // this finds the first task in the tasksequence that is a travel task. { if(gettasktype(tasksequence,taskrank) == TASKTYPE_TRAVEL) destination = gettaskinvolved(tasksequence,taskrank,1); } if(destination==NULL) // first available if there is no travel task return 0; for(int index = 1; index <= nrop(current); index++) { treenode curobj = outobject(current, index); if(curobj && isclasstype(curobj, CLASSTYPE_TASKEXECUTER)) { int validcheck=1; if(onlyavailable && !(ipopen(curobj, opipno(current, index)) && inputopen(curobj)) ) validcheck=0; if(validcheck) { double curdist = distancetotravel(curobj, destination); if(curdist != GLOBAL_UNREACHABLE && (curmin == GLOBAL_UNREACHABLE || curmin > curdist)) { curmin = curdist; minindex = index; } } } } return minindex;@B DMAINodevcranngwirepe *" keni? l?0$o6@6P6l4` 9|   6  ?6  #XH4<=0>4t=h5 )  #=&=4 ##=6  8M ?@ 04$ = 8A)xh=\ =P 6  0)* ) = 4 == 45,  1"4< !9p! !`!=T!!=H!  =")"+ "%"7" "7""#""7""(""7" $8 $$7$ %5(%%4% 5  /&=4 0D*48*athBtasksequencequeue@@Bqueuestrategy@treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**Prioritize by distance: \nSort the task sequences based on the closest involved object.*/ /** \n\nTask Rank: */ int taskrank = /**/4/**/; /** \nInvolved Object Number: */ int involvednum = /**/1/**/; /** \nConsider only partially completed tasksequences: */ int yes = 1; int no = 0; int onlypartial =/**/yes/**list:yes~no*/; /** \nCondition: */ int condition = /**/true/**/; /**\n\n*/ if(condition) { treenode station = gettaskinvolved(tasksequence,taskrank,involvednum); double dist = distancetotravel(current, station); double inversedist = 0; if((getnroftasks(tasksequence) < gettotalnroftasks(tasksequence) || !onlypartial) && dist != GLOBAL_UNREACHABLE) { if(dist > 0) { inversedist = 0.1 / dist; } else { inversedist = 0.1; } } //pt(getname(station));pr(); //pf(time());pt(" : ");pf(inversedist);pr(); return inversedist; } else return getpriority(tasksequence); /**Hints:*/ /**\nFor standard transport task sequences, use 4 / 1 / yes. */ /**\nFor standard request operators task sequences, use 4 / 2 / no. */ /**\nAs a Condition you can write getpriority(tasksequence)==0 such that task sequences with a specified priority are still handled first.*/ @BpZMAINodevcran?? ? l?0$o6@6P 6`   6p   6  4 6 !:4? 44=9( = =98   )(7 + *4'xl=`T=H # %7 8  7  8< 05,"7L"  $0%d%=X%Bcoordinatedtasks@@Bonresourceavailable@treenode current = ownerobject(c); int port = parval(1); treenode resource = parnode(2); treenode nextts = parnode(3); treenode lastts = parnode(4); Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BEarly Cranesubnode@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@@B@@Bx@?By@пBz@Bradius@@Bcollisionobjects@@B Late Crane@GB resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble lastxloc@Bdouble lastyloc@Bdouble lastzloc@Bdouble justcreated@Bdouble offsetloc[3] @Bfsnode* activetask@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bshape@ufs3d\texturebox.wrlB shapeindex@v@Bpicture@cbitmaps\Cranepicturesmall.bmpB imageobject@qfs3d\concrete.bmpBimageindexobject@rE@B imagebase@s***Bimageindexbase@tBcolor@a@Bred@?Bgreen@?Bblue@?B nochildscale@_?Bspecial@@Btitle@dObjectB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/CraneParametersBspatial@@B spatialx@MLr @B spatialy@NB spatialz@O@B spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UBoffsetx@VBoffsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@B objectinfo@@B Output: 0@B Status: idle@?Blabels@@B connections@@Bconnectionsin@ @B@J@B@?B@B@K@B@?B@Bconnectionsout@ @Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BEarly Dispatcher$@objectB classes@@B Dispatcher@40ABFlexsimObject@ `AB superclasses@@BFlexsimObject@ 0AB variables@@Bpassimmediately@@Bpassto@"treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**First Available*/ /** \nIf there are no objects currently available, then queue the tasksequence up using the Queue Strategy and wait until someone connected to its output ports becomes available.*/ return 0;@Btasksequencequeue@@Bqueuestrategy@treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**Prioritize by distance: \nSort the task sequences based on the closest involved object.*/ /** \n\nTask Rank: */ int taskrank = /**/4/**/; /** \nInvolved Object Number: */ int involvednum = /**/1/**/; /** \nConsider only partially completed tasksequences: */ int yes = 1; int no = 0; int onlypartial =/**/yes/**list:yes~no*/; /** \nCondition: */ int condition = /**/true/**/; /**\n\n*/ if(condition) { treenode station = gettaskinvolved(tasksequence,taskrank,involvednum); double dist = distancetotravel(current, station); double inversedist = 0; if((getnroftasks(tasksequence) < gettotalnroftasks(tasksequence) || !onlypartial) && dist != GLOBAL_UNREACHABLE) { if(dist > 0) { inversedist = 0.1 / dist; } else { inversedist = 0.1; } } //pt(getname(station));pr(); //pf(time());pt(" : ");pf(inversedist);pr(); return inversedist; } else return getpriority(tasksequence); /**Hints:*/ /**\nFor standard transport task sequences, use 4 / 1 / yes. */ /**\nFor standard request operators task sequences, use 4 / 2 / no. */ /**\nAs a Condition you can write getpriority(tasksequence)==0 such that task sequences with a specified priority are still handled first.*/ @BpZMAINodevcran??tr g? l?0$o6@6P 6`   6p   6  4 6 !:4? 44=9( = =98   )(7 + *4'xl=`T=H # %7 8  7  8< 05,"7L"  $0%d%=X%Bcoordinatedtasks@Bonresourceavailable@treenode current = ownerobject(c); int port = parval(1); treenode resource = parnode(2); treenode nextts = parnode(3); treenode lastts = parnode(4); Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@Bvisual@@ Bcolor@a@Bred@?Bgreen@?Bblue@?Bshape@ufs3d\dispatch.3dsB shapeindex@vA@Bpicture@c$bitmaps\taskmanagerpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?Bspecial@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}!VIEW:/pages/DispatcherParametersBspatial@@B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R@B spatialrx@SB spatialry@TB spatialrz@UBoffsetx@V?Boffsety@W?Boffsetz@XB offsetsx@\(\?B offsetsy@](\?B offsetsz@^(\?B offsetrx@YB offsetry@ZB offsetrz@[V@B centroid@e?B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @Bconnectionsout@ @B@I@B@?B@B@H@B@?B@Bconnectionscenter@ @B@#@B@B@B@N$@B@B@B@A@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,>@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. TimeBstats_contentgraphmaxpoints@:@@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@?@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@BLate Dispatcher$@objectB classes@@B Dispatcher@40ABFlexsimObject@ `AB superclasses@@BFlexsimObject@ 0AB variables@@Bpassimmediately@@Bpassto@"treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**First Available*/ /** \nIf there are no objects currently available, then queue the tasksequence up using the Queue Strategy and wait until someone connected to its output ports becomes available.*/ return 0;@Btasksequencequeue@@Bqueuestrategy@treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**Prioritize by distance: \nSort the task sequences based on the closest involved object.*/ /** \n\nTask Rank: */ int taskrank = /**/4/**/; /** \nInvolved Object Number: */ int involvednum = /**/1/**/; /** \nConsider only partially completed tasksequences: */ int yes = 1; int no = 0; int onlypartial =/**/yes/**list:yes~no*/; /** \nCondition: */ int condition = /**/true/**/; /**\n\n*/ if(condition) { treenode station = gettaskinvolved(tasksequence,taskrank,involvednum); double dist = distancetotravel(current, station); double inversedist = 0; if((getnroftasks(tasksequence) < gettotalnroftasks(tasksequence) || !onlypartial) && dist != GLOBAL_UNREACHABLE) { if(dist > 0) { inversedist = 0.1 / dist; } else { inversedist = 0.1; } } //pt(getname(station));pr(); //pf(time());pt(" : ");pf(inversedist);pr(); return inversedist; } else return getpriority(tasksequence); /**Hints:*/ /**\nFor standard transport task sequences, use 4 / 1 / yes. */ /**\nFor standard request operators task sequences, use 4 / 2 / no. */ /**\nAs a Condition you can write getpriority(tasksequence)==0 such that task sequences with a specified priority are still handled first.*/ @BpZMAINodevcran?? ? l?0$o6@6P 6`   6p   6  4 6 !:4? 44=9( = =98   )(7 + *4'xl=`T=H # %7 8  7  8< 05,"7L"  $0%d%=X%Bcoordinatedtasks@Bonresourceavailable@treenode current = ownerobject(c); int port = parval(1); treenode resource = parnode(2); treenode nextts = parnode(3); treenode lastts = parnode(4); Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@Bvisual@@ Bcolor@a@Bred@?Bgreen@?Bblue@?Bshape@ufs3d\dispatch.3dsB shapeindex@vA@Bpicture@c$bitmaps\taskmanagerpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?Bspecial@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}!VIEW:/pages/DispatcherParametersBspatial@@B spatialx@M$@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R@B spatialrx@SB spatialry@TB spatialrz@UBoffsetx@V?Boffsety@W?Boffsetz@XB offsetsx@\(\?B offsetsy@](\?B offsetsz@^(\?B offsetrx@YB offsetry@ZB offsetrz@[V@B centroid@e?B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @Bconnectionsout@ @B@H@B@?B@B@I@B@?B@Bconnectionscenter@ @B@%@B@B@B@&@B@B@B@'@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,>@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. TimeBstats_contentgraphmaxpoints@:@@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@?@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@BCharger Loading$@objectBclasses@@B Processor@"0ABFixedResource@ `ABFlexsimObject@ `AB superclasses@@BFixedResource@ 0ABFlexsimObject@ `AB variables@@9B cycletime@treenode current = ownerobject(c); treenode item = parnode(1);/**By Expression*/ /** \nExpression: */ double value = /**/2/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6P7P} B setuptime@treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2); /**No Setup Time (return zero)*/ return 0;@B maxcontent@?@Buseprocessoperators@?Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6P cx h 4\  =P ); Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6Pcxh4\=P); Bcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6P B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\ 6` c  4x  =l ); Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BCharger Loadingsubnode@BCharger Loadingsubnode@MB MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bcolor@a@Bred@Bgreen@?Bblue@?Bshape@ufs3d\comb_color.3dsB shapeindex@v>@Bpicture@c"bitmaps\processorpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B special@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@} VIEW:/pages/ProcessorParametersB spatial@@B spatialx@M:@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WB offsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@B Output: 0@B %Idle: 0.0@B%Processing: 0.0@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@iT@B@?B@Bconnectionsout@ @B@OO@B@B@Bconnectionscenter@ @B@Q@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BCharger Loading$@objectBclasses@@B Processor@"0ABFixedResource@ `ABFlexsimObject@ `AB superclasses@@BFixedResource@ 0ABFlexsimObject@ `AB variables@@9B cycletime@treenode current = ownerobject(c); treenode item = parnode(1);/**By Expression*/ /** \nExpression: */ double value = /**/2/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6\7P} B setuptime@treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2); /**No Setup Time (return zero)*/ return 0;@B maxcontent@?@Buseprocessoperators@?Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\ cx h 4\  =P ); Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\cxh4\=P); Bcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6\ B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\ 6` c  4x  =l ); Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BCharger Loadingsubnode@BCharger Loadingsubnode@PB MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bcolor@a@Bred@Bgreen@?Bblue@?Bshape@ufs3d\comb_color.3dsB shapeindex@v>@Bpicture@c"bitmaps\processorpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B special@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@} VIEW:/pages/ProcessorParametersB spatial@@B spatialx@M:@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WB offsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@B Output: 0@B %Idle: 0.0@B%Processing: 0.0@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@mT@B@?B@Bconnectionsout@ @B@P@B@B@Bconnectionscenter@ @B@AS@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BCharger Unloading$@objectBclasses@@B Separator@'0AB Processor@"`ABFixedResource@ `ABFlexsimObject@ `AB superclasses@@B Processor@"0ABFixedResource@ `ABFlexsimObject@ `AB variables@@=Bunpack@?Bsplitquantity@treenode item = parnode(1); treenode current = ownerobject(c); /**Entire Contents*/ /** \nUnpack the entire content of the flowitem which entered port 1.*/ return content(item); @BX MAINodev? l?0$o6LL=@Boverriddensendtoport@treenode item = parnode(1); treenode current = ownerobject(c); /**Default Separator Option*/ /** \nPort for container: */ int containerport = /**/1/**/; /** \nPort for contents: */ int contentport = /**/2/**/; /** \n\nNote: If not unpacking, just send to first available.*/ if(getvarnum(current,"unpack")) { if(getrank(parnode(1)) == 1) return containerport; else return contentport; } else return 0; B recycle@B cycletime@treenode current = ownerobject(c); treenode item = parnode(1);/**By Expression*/ /** \nExpression: */ double value = /**/2/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6\7P} B setuptime@treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2); /**No Setup Time (return zero)*/ return 0;@B maxcontent@?@Buseprocessoperators@?Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\ cx h 4\  =P ); Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\cxh4\=PBcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@treenode item = parnode(1); treenode current = ownerobject(c); /**Default Separator Option*/ /** \nPort for container: */ int containerport = /**/1/**/; /** \nPort for contents: */ int contentport = /**/2/**/; /** \n\nNote: If not unpacking, just send to first available.*/ if(getvarnum(current,"unpack")) { if(getrank(parnode(1)) == 1) return containerport; else return contentport; } else return 0; @Bx#MAINodevunpack? l?0$o6@6P  t l =`   #   l  6`4  6p4 ? t hBreceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6P B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@?@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\ 6` c  4x  =l ); Bnroftransportsout@@Bnroftransportsin@B outwaitinfo@@B@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BCharger Unloadingsubnode@BCharger Unloadingsubnode@\B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@Bvisual@@ Bcolor@a@Bred@Bgreen@Mb?Bblue@jt?Bshape@ufs3d\separate_color.3dsB shapeindex@v?@Bpicture@c"bitmaps\separatorpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?Bspecial@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@} VIEW:/pages/SeparatorParametersB spatial@@B spatialx@M;@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B spatialrz@UB ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@B objectinfo@@B Output: 0@B %Idle: 0.0@B%Processing: 0.0@Blabels@@B connections@@Bconnectionsin@ @B@L@B@?B@Bconnectionsout@ @B@/@B@B@B@\3@B@B@Bconnectionscenter@ @B@Q@B@B@B@0@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BCharger Unloading$@objectBclasses@@B Separator@'0AB Processor@"`ABFixedResource@ `ABFlexsimObject@ `AB superclasses@@B Processor@"0ABFixedResource@ `ABFlexsimObject@ `AB variables@@=Bunpack@?Bsplitquantity@treenode item = parnode(1); treenode current = ownerobject(c); /**Entire Contents*/ /** \nUnpack the entire content of the flowitem which entered port 1.*/ return content(item); @BX MAINodev? l?0$o6LL=@Boverriddensendtoport@treenode item = parnode(1); treenode current = ownerobject(c); /**Default Separator Option*/ /** \nPort for container: */ int containerport = /**/1/**/; /** \nPort for contents: */ int contentport = /**/2/**/; /** \n\nNote: If not unpacking, just send to first available.*/ if(getvarnum(current,"unpack")) { if(getrank(parnode(1)) == 1) return containerport; else return contentport; } else return 0; B recycle@B cycletime@treenode current = ownerobject(c); treenode item = parnode(1);/**By Expression*/ /** \nExpression: */ double value = /**/2/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6\7P} B setuptime@treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2); /**No Setup Time (return zero)*/ return 0;@B maxcontent@?@Buseprocessoperators@?Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\ cx h 4\  =P ); Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\cxh4\=Pup(Bcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@treenode item = parnode(1); treenode current = ownerobject(c); /**Default Separator Option*/ /** \nPort for container: */ int containerport = /**/1/**/; /** \nPort for contents: */ int contentport = /**/2/**/; /** \n\nNote: If not unpacking, just send to first available.*/ if(getvarnum(current,"unpack")) { if(getrank(parnode(1)) == 1) return containerport; else return contentport; } else return 0; @Bx#MAINodevunpack? l?0$o6@6P  t l =`   #   l  6`4  6p4 ? t hBreceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6P B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@?@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\ 6` c  4x  =l e aBnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BCharger Unloadingsubnode@BCharger Unloadingsubnode@_B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@Bvisual@@ Bcolor@a@Bred@Bgreen@Mb?Bblue@jt?Bshape@ufs3d\separate_color.3dsB shapeindex@v?@Bpicture@c"bitmaps\separatorpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?Bspecial@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@} VIEW:/pages/SeparatorParametersB spatial@@B spatialx@M;@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B spatialrz@UB ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@B objectinfo@@B Output: 0@B %Idle: 0.0@B%Processing: 0.0@Blabels@@B connections@@Bconnectionsin@ @B@ N@B@?B@Bconnectionsout@ @B@/@B@B@B@`3@B@B@Bconnectionscenter@ @B@ES@B@B@B@0@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@B BasicTE41:@objectB classes@@B BasicTE@h0AB TaskExecuter@`6`AB Dispatcher@4`ABFlexsimObject@ `ABsuperclasses@@B TaskExecuter@`60AB Dispatcher@4`ABFlexsimObject@ `AB variables@@EBonbeginoffset@treenode current = ownerobject(c); // the following x, y, and z values are requested x, y, and z offsets from this object's x/y center and z base. double x = parval(1); double y = parval(2); double z = parval(3); treenode item = parnode(4); double endspeed = parval(5); double maxspeed = parval(6); double acceleration = parval(7); double deceleration = parval(8); double lastupdatedspeed = parval(9); double rotatewhiletraveling = parval(10); Bonupdateoffset@Ftreenode current = ownerobject(c); double offsettingnow = parval(1); double offsettotaltime = parval(2); double maxspeed = parval(3); double acceleration = parval(4); double deceleration = parval(5); double lastupdatedspeed = parval(6); double rotatewhiletraveling = parval(7); double curloadunloadtime = parval(8); Bonfinishoffset@Ftreenode current = ownerobject(c); double offsettingnow = parval(1); double offsettotaltime = parval(2); double maxspeed = parval(3); double acceleration = parval(4); double deceleration = parval(5); double lastupdatedspeed = parval(6); double rotatewhiletraveling = parval(7); double curloadunloadtime = parval(8); Bpickplaceoffset@treenode current = ownerobject(c); int pickoperation = parval(1); treenode item = parnode(2); treenode otherobject = parnode(3); treenode xvalnode = parnode(4); treenode yvalnode = parnode(5); treenode zvalnode = parnode(6); B stopresume@treenode current = ownerobject(c); int stopoperation = parval(1); int stopstate = parval(2); treenode nrofstopsnode = parnode(3); treenode timeoflaststopnode = parnode(4); treenode statebeforestopnode = parnode(5); Badvancedfunctions@?treenode current = ownerobject(c); int msgtype = parval(1); B poffsetx@B poffsety@B poffsetz@Bactivetasksequence@@B maxcontent@?B loadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ 6` 7l B loadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B unloadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ 6` 7l Bunloadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B maxspeed@@B acceleration@?B deceleration@?B navigator@Boldbreakrequirement@Bbreakto@treenode activets = parnode(1); treenode current = ownerobject(c); /**New Tasksequences Only*/ /** \nOnly break to task sequences that have not been started already.*/ treenode tsqueue = gettasksequencequeue(current); treenode returnts = NULL; for(int index = 1; index <= content(tsqueue) && ! returnts; index++) { treenode curts = rank(tsqueue, index); if(gettotalnroftasks(curts) == getnroftasks(curts)) returnts = curts; } return tonum(returnts);@Bl:MAINodev? l?0$o?XL=@?h 6x    ?    4  =   #` T =H  < =0  >|  =p  5     )  * =  &  =  4 c=B travelinfo@@B travelstartx@B travelstarty@B travelstartz@Btraveldistance@Btraveldirection@B travelendx@B travelendy@B travelendz@B travelacc@B traveldec@Btravelstarttime@~Btravelendtime@Btraveltimealpha@Btraveltimebeta@B travelvpeak@B travelvmax@B travelvstart@B travelvend@Bmodifyrotation@?B useoffsets@?Boffsettingnow@Boffsetbegintime@ gABoffsettotaltime@B offsetlocx@ @B offsetlocy@ɿB offsetlocz@B offsetbeginx@;@B offsetbeginy@B offsetbeginz@Boffsetbeginxrot@Boffsetbeginyrot@Boffsetbeginzrot@B loadedspeed@@B emptyspeed@@Bcurloadunloadtime@Blastupdatedspeed@B travelvstart@B travelvend@Blastspeedupdatetime@ gABcollisiontrigger@treenode thisobject=ownerobject(c); treenode otherobject=parnode(1); treenode thissphere=parnode(2); treenode othersphere=parnode(3); Bcollcheckinterval@?Bdrawcollspheres@B incollision@Bcollcheckstate@Btotaltraveldist@B kinematics@Bflipthreshold@f@Bpassimmediately@@Bpassto@"treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**First Available*/ /** \nIf there are no objects currently available, then queue the tasksequence up using the Queue Strategy and wait until someone connected to its output ports becomes available.*/ return 0;@Btasksequencequeue@@Bqueuestrategy@treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**Sort by TaskSequence Priority*/ return getpriority(tasksequence);@BX MAINodev? l?0$o?XL=@Bcoordinatedtasks@@Bonresourceavailable@treenode current = ownerobject(c); int port = parval(1); treenode resource = parnode(2); treenode nextts = parnode(3); treenode lastts = parnode(4); Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble offsetloc[3] @Bfsnode* activetask@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bcolor@a@Bred@?Bgreen@?Bblue@?Bshape@ufs3d\texturesphere.wrlB shapeindex@v@B picture@cbitmaps\spheresmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B special@@Btitle@dObjectB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/BasicTEParametersB objectinfo@B ignoredraw@fBdisplaygroup@ standardBspatial@@B spatialx@M;@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UBoffsetx@VBoffsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?Bdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @Bconnectionsout@ @Bconnectionscenter@ @B@L@B@B@B@_O@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. TimeBstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@B BasicTE42:@objectB classes@@B BasicTE@h0AB TaskExecuter@`6`AB Dispatcher@4`ABFlexsimObject@ `ABsuperclasses@@B TaskExecuter@`60AB Dispatcher@4`ABFlexsimObject@ `AB variables@@EBonbeginoffset@treenode current = ownerobject(c); // the following x, y, and z values are requested x, y, and z offsets from this object's x/y center and z base. double x = parval(1); double y = parval(2); double z = parval(3); treenode item = parnode(4); double endspeed = parval(5); double maxspeed = parval(6); double acceleration = parval(7); double deceleration = parval(8); double lastupdatedspeed = parval(9); double rotatewhiletraveling = parval(10); Bonupdateoffset@Ftreenode current = ownerobject(c); double offsettingnow = parval(1); double offsettotaltime = parval(2); double maxspeed = parval(3); double acceleration = parval(4); double deceleration = parval(5); double lastupdatedspeed = parval(6); double rotatewhiletraveling = parval(7); double curloadunloadtime = parval(8); Bonfinishoffset@Ftreenode current = ownerobject(c); double offsettingnow = parval(1); double offsettotaltime = parval(2); double maxspeed = parval(3); double acceleration = parval(4); double deceleration = parval(5); double lastupdatedspeed = parval(6); double rotatewhiletraveling = parval(7); double curloadunloadtime = parval(8); Bpickplaceoffset@treenode current = ownerobject(c); int pickoperation = parval(1); treenode item = parnode(2); treenode otherobject = parnode(3); treenode xvalnode = parnode(4); treenode yvalnode = parnode(5); treenode zvalnode = parnode(6); B stopresume@treenode current = ownerobject(c); int stopoperation = parval(1); int stopstate = parval(2); treenode nrofstopsnode = parnode(3); treenode timeoflaststopnode = parnode(4); treenode statebeforestopnode = parnode(5); Badvancedfunctions@?treenode current = ownerobject(c); int msgtype = parval(1); B poffsetx@B poffsety@B poffsetz@Bactivetasksequence@@B maxcontent@?B loadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ ?  7l B loadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B unloadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ ?  7l lorBunloadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B maxspeed@@B acceleration@?B deceleration@?B navigator@Boldbreakrequirement@Bbreakto@treenode activets = parnode(1); treenode current = ownerobject(c); /**New Tasksequences Only*/ /** \nOnly break to task sequences that have not been started already.*/ treenode tsqueue = gettasksequencequeue(current); treenode returnts = NULL; for(int index = 1; index <= content(tsqueue) && ! returnts; index++) { treenode curts = rank(tsqueue, index); if(gettotalnroftasks(curts) == getnroftasks(curts)) returnts = curts; } return tonum(returnts);@Bl:MAINodev? l?0$o?XL=@?h 6x    ?    4  =   #` T =H  < =0  >|  =p  5     )  * =  &  =  4 c=B travelinfo@@B travelstartx@B travelstarty@B travelstartz@Btraveldistance@Btraveldirection@B travelendx@B travelendy@B travelendz@B travelacc@B traveldec@Btravelstarttime@~Btravelendtime@Btraveltimealpha@Btraveltimebeta@B travelvpeak@B travelvmax@B travelvstart@B travelvend@Bmodifyrotation@?B useoffsets@?Boffsettingnow@Boffsetbegintime@w2ABoffsettotaltime@B offsetlocx@ @B offsetlocy@333333@B offsetlocz@B offsetbeginx@;@B offsetbeginy@B offsetbeginz@Boffsetbeginxrot@Boffsetbeginyrot@Boffsetbeginzrot@B loadedspeed@@B emptyspeed@@Bcurloadunloadtime@Blastupdatedspeed@B travelvstart@B travelvend@Blastspeedupdatetime@w2ABcollisiontrigger@treenode thisobject=ownerobject(c); treenode otherobject=parnode(1); treenode thissphere=parnode(2); treenode othersphere=parnode(3); Bcollcheckinterval@?Bdrawcollspheres@B incollision@Bcollcheckstate@Btotaltraveldist@B kinematics@Bflipthreshold@f@Bpassimmediately@@Bpassto@"treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**First Available*/ /** \nIf there are no objects currently available, then queue the tasksequence up using the Queue Strategy and wait until someone connected to its output ports becomes available.*/ return 0;@Btasksequencequeue@@Bqueuestrategy@treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**Sort by TaskSequence Priority*/ return getpriority(tasksequence);@BX MAINodev? l?0$o?XL=@Bcoordinatedtasks@@Bonresourceavailable@treenode current = ownerobject(c); int port = parval(1); treenode resource = parnode(2); treenode nextts = parnode(3); treenode lastts = parnode(4); Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble offsetloc[3] @Bfsnode* activetask@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bcolor@a@Bred@?Bgreen@?Bblue@?Bshape@ufs3d\texturesphere.wrlB shapeindex@v@B picture@cbitmaps\spheresmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B special@@Btitle@dObjectB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/BasicTEParametersB objectinfo@B ignoredraw@fBdisplaygroup@ standardBspatial@@B spatialx@M;@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UBoffsetx@VBoffsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?Bdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @Bconnectionsout@ @Bconnectionscenter@ @B@N@B@B@B@P@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. TimeBstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BQueue43$@objectB superclasses@@BFixedResource@ 0ABFlexsimObject@ `ABclasses@@BQueue@@!0ABFixedResource@ `ABFlexsimObject@ `AB variables@@,B maxcontent@?@B usebatching@B batchsize@@B maxwaittime@Bflush@Bcurrentbatchsize@Bendcollectingtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @B placemode@?B stackinitz@B curxfringe@Bcuryloc@B curmaxysize@Bcurzloc@B curmaxzsize@Bproductspacing@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@?h B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\ ?  c  4x  =l  } Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@B@B@Bsendtocontinuous@?Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@Bcppvariables@@Bint lastpredrawoutput@Bint lastpredrawinput@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bspecial@@Btitle@dFixed Resource QueueB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/QueueParametersBvisual@@ Bcolor@a@Bred@MbX9?Bgreen@MbX9?Bblue@MbX9?Bshape@ufs3d\queue_n_color.3dsB shapeindex@v<@Bpicture@cbitmaps\queuepicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B spatial@@B spatialx@M8@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@BCurContent: 0@BMaxContent: 0@BAvgStaytime: 0.0@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@4@B@?B@Bconnectionsout@ @B@)@B@B@B@L@B@B@B@N@B@B@Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BQueue44$@objectB superclasses@@BFixedResource@ 0ABFlexsimObject@ `ABclasses@@BQueue@@!0ABFixedResource@ `ABFlexsimObject@ `AB variables@@,B maxcontent@~.A@B usebatching@B batchsize@@B maxwaittime@Bflush@Bcurrentbatchsize@Bendcollectingtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @B placemode@?B stackinitz@B curxfringe@Bcuryloc@B curmaxysize@Bcurzloc@B curmaxzsize@Bproductspacing@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\nkx>tex?o?0l$6Lk@6\ B entrytrigger@treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); { //************* PickOption Start *************\\ /**Set Color by Value*/ /** \nValue: */ int value = /**/getitemtype(item)/**/; switch(value) { /** \nCases: */ /**/ case 1: colorred(item);break; case 2: colorgreen(item);break; case 3: colorblue(item);break; default: colorarray(item, value);break; /**/ } /**\n\n*/ } //******* PickOption End *******\\ @B+defugercinkx  mpcoe? l?0$o6Lk@ 6t  h =\  4  =  z=  w=  u4=   B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@B..>tnkx>tex? l?0$o6Lk@6\  c  4x  =l  } Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@Bcppvariables@@Bint lastpredrawoutput@Bint lastpredrawinput@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bspecial@@Btitle@dFixed Resource QueueB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/QueueParametersBvisual@@ Bcolor@a@Bred@MbX9?Bgreen@MbX9?Bblue@MbX9?Bshape@ufs3d\queue_n_color.3dsB shapeindex@v<@Bpicture@cbitmaps\queuepicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B spatial@@B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@BCurContent: 0@BMaxContent: 0@BAvgStaytime: 0.0@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@!@B@?B@Bconnectionsout@ @B@#@B@B@Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BTo UK Repository$@objectB superclasses@@BFixedResource@ 0ABFlexsimObject@ 0ABclasses@@BQueue@@!0ABFixedResource@ 0ABFlexsimObject@ 0AB variables@@,B maxcontent@5@@B usebatching@?B batchsize@5@B maxwaittime@u@Bflush@?Bcurrentbatchsize@Bendcollectingtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @B placemode@?B stackinitz@B curxfringe@Bcuryloc@B curmaxysize@Bcurzloc@B curmaxzsize@Bproductspacing@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\nkx>texy?o?0l$6Lk@6\ B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@B..>tnkx>texy? l?0$o6Lk@6\uh c  4x  =l s Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@Bcppvariables@@Bint lastpredrawoutput@Bint lastpredrawinput@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bspecial@@Btitle@dFixed Resource QueueB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/QueueParametersBvisual@@ Bcolor@a@Bred@MbX9?Bgreen@MbX9?Bblue@MbX9?Bshape@ufs3d\queue_n_color.3dsB shapeindex@v<@Bpicture@cbitmaps\queuepicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B spatial@@B spatialx@MH@B spatialy@N@B spatialz@OB spatialsx@P@B spatialsy@Q@B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@BCurContent: 0@BMaxContent: 0@BAvgStaytime: 0.0@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@;@B@?B@Bconnectionsout@ @B@Y@B@B@Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BTo EU By Rail$@objectB superclasses@@BFixedResource@ 0ABFlexsimObject@ 0ABclasses@@BQueue@@!0ABFixedResource@ 0ABFlexsimObject@ 0AB variables@@,B maxcontent@5@@B usebatching@?B batchsize@5@B maxwaittime@@@Bflush@?Bcurrentbatchsize@Bendcollectingtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @B placemode@?B stackinitz@B curxfringe@Bcuryloc@B curmaxysize@Bcurzloc@B curmaxzsize@Bproductspacing@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\nkx>texy?o?0l$6Lk@6\ B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@B..>tnkx>texy? l?0$o6Lk@6\uh c  4x  =l Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@Bcppvariables@@Bint lastpredrawoutput@Bint lastpredrawinput@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bspecial@@Btitle@dFixed Resource QueueB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/QueueParametersBvisual@@ Bcolor@a@Bred@MbX9?Bgreen@MbX9?Bblue@MbX9?Bshape@ufs3d\queue_n_color.3dsB shapeindex@v<@Bpicture@cbitmaps\queuepicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B spatial@@B spatialx@MH@B spatialy@NB spatialz@OB spatialsx@P@B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@BCurContent: 0@BMaxContent: 0@BAvgStaytime: 0.0@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@;@B@?B@Bconnectionsout@ @B@Y@B@B@Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BTo Japan by Sea$@objectB superclasses@@BFixedResource@ 0ABFlexsimObject@ 0ABclasses@@BQueue@@!0ABFixedResource@ 0ABFlexsimObject@ 0AB variables@@,B maxcontent@5@@B usebatching@?B batchsize@5@B maxwaittime@@@Bflush@?Bcurrentbatchsize@Bendcollectingtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @B placemode@?B stackinitz@B curxfringe@Bcuryloc@B curmaxysize@Bcurzloc@B curmaxzsize@Bproductspacing@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\nkx>tex?o?0l$6Lk@6\ B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@B..>tnkx>tex? l?0$o6Lk@6\ u( c  4x  =l Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@Bcppvariables@@Bint lastpredrawoutput@Bint lastpredrawinput@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bspecial@@Btitle@dFixed Resource QueueB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/QueueParametersBvisual@@ Bcolor@a@Bred@MbX9?Bgreen@MbX9?Bblue@MbX9?Bshape@ufs3d\queue_n_color.3dsB shapeindex@v<@Bpicture@cbitmaps\queuepicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B spatial@@B spatialx@MH@B spatialy@NB spatialz@OB spatialsx@P@B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@BCurContent: 0@BMaxContent: 0@BAvgStaytime: 0.0@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@;@B@?B@Bconnectionsout@ @B@Y@B@B@Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BSink43@objectB superclasses@@BFixedResource@ 0ABFlexsimObject@ 0ABclasses@@BSink@$0ABFixedResource@ 0ABFlexsimObject@ 0AB variables@@B recycle@?B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\ragf?o?0l$6Lk@ ;l B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BS? l?0$o6Lk@6\ c  4x  =l Bnroftransportsout@Bnroftransportsin@B outwaitinfo@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@Bvisual@@ Bcolor@a@Bred@333333?Bgreen@?Bblue@333333?Bshape@ufs3d\Sink.3DSB shapeindex@v=@Bpicture@cbitmaps\sinkpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B special@@Btitle@dFixed Resource SinkB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/SinkParametersB spatial@@B spatialx@MJ@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UBoffsetx@VBoffsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^1Zd?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@B Input: 0@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@V@B@?B@B@W@B@?B@B@X@B@?B@Bconnectionsout@ @Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. TimeBstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@