>Basic3D, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null ZMicrosoft.Xna.Framework, Version=2.0.0.0, Culture=neutral, PublicKeyToken=6d5c3888ef60e27dBasic3D.InstalacionBinstallationNameitemsroom floorTextupText frontTextbackTextleftText rightText altoPared anchoPared skyBoxParamstiletiletech landScaperoomTypevisibversioncamPosiccamTargcamViewcamViewY logicName DescriptionAuthortotalInputNumbertotalOutputNumberCharacteristicsgenListwSystem.Collections.Generic.List`1[[Basic3D.BasicUnitB, Basic3D, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null]] System.Collections.ArrayList !Microsoft.Xna.Framework.Vector3[]!Microsoft.Xna.Framework.Vector3[] System.Collections.ArrayList Gantry System Floor/floor1.jpgFloor/floor7.jpgdefault   AHC @@ 1.3.0  MovingTexture mv1,mv2,mv3,mv4; public void Init() { mv1 = new MovingTexture(MachSim, new Vector3(-5.9f,0.84f,0), 0.5f, 3.77f); mv1.SetTexture(Editor.GetTexture(@"Floor\asfalt.jpg")); mv1.Speed = 0.5f; MachSim.Components.Add(mv1); mv2 = new MovingTexture(MachSim, new Vector3(-2.1f,0.84f,0), 0.5f, 3.77f); mv2.SetTexture(Editor.GetTexture(@"Floor\asfalt.jpg")); mv2.Speed = 0.5f; MachSim.Components.Add(mv2); mv3 = new MovingTexture(MachSim, new Vector3(-4.0f,0.84f,2.1f),0.5f, 4.6f); mv3.SetTexture(Editor.GetTexture(@"Floor\asfalt.jpg")); mv3.Speed = 0.5f; mv3.Rotate= 90; MachSim.Components.Add(mv3); mv4 = new MovingTexture(MachSim, new Vector3(-4.0f,0.84f,-2.1f),0.5f, 4.6f); mv4.SetTexture(Editor.GetTexture(@"Floor\asfalt.jpg")); mv4.Speed = 0.5f; mv4.Rotate= 90; MachSim.Components.Add(mv4); } public void Main(GameTime gameTime) { if(IO.GetOutput(1)) { Editor.PlaySound("ConveyON"); mv2.Reverse = false; mv2.Advance = true; mv1.Reverse = true; mv1.Advance = false; mv3.Reverse = true; mv3.Advance = false; mv4.Reverse = false; mv4.Advance = true; } else { Editor.StopSound(); mv1.Reverse = false; mv1.Advance = false; mv2.Reverse = false; mv2.Advance = false; mv3.Reverse = false; mv3.Advance = false; mv4.Reverse = false; mv4.Advance = false; } } public void Draw(GameTime gameTime) { } public void Finish() { MachSim.Components.Remove(mv1); MachSim.Components.Remove(mv2); MachSim.Components.Remove(mv3); MachSim.Components.Remove(mv4); } eThe objective is to take the camshaft parts of the loaded pallets and unload it in the conveyor belt. R.Izquierdoh1 Gantry of 2 Axis. 1 Line with two pallets of camshaft parts. 2 Inductive switches. 1 Conveyor Belt. wSystem.Collections.Generic.List`1[[Basic3D.BasicUnitB, Basic3D, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null]]_items_size_versionBasic3D.BasicUnitB[]  System.Collections.ArrayList_items_size_version    Microsoft.Xna.Framework.Vector3Microsoft.Xna.Framework.Vector3XYZ E ɰL@s@ C?@]Aُl@i@W@O@ZZ@?uR)]@\o-s@( 5yY@z`y@DO A  Microsoft.Xna.Framework.Vector3'C9>@@5 0?@QA [@@@Tc<@>@?XAu[@kj`eln@]nQ.dQA@ݾIm'\@@ ӬCѬCYBsBC&EOCvC,C?C GpA|O(œ•Q! ( Basic3D.BasicUnitB ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B  ? w? C C @@ D E F G A ( H )Basic3D.BasicUnitBpositionscaleRotYname descriptionid inputList outputListparamsFt paramsStrgenList unionListEelemList textureNametextureEnabled modelNameversionAmbientLightColor DiffuseColor EmissiveColor SpecularColor SpecularPowerMicrosoft.Xna.Framework.Vector3Microsoft.Xna.Framework.Vector3 System.Collections.Generic.Dictionary`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]System.Collections.Generic.Dictionary`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]System.Collections.Generic.Dictionary`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]System.Collections.Generic.Dictionary`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]System.Collections.ArrayListySystem.Collections.Generic.List`1[[Basic3D.UnionJointEB, Basic3D, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null]]wSystem.Collections.Generic.List`1[[Basic3D.BasicUnitB, Basic3D, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null]]Microsoft.Xna.Framework.Vector3Microsoft.Xna.Framework.Vector3Microsoft.Xna.Framework.Vector3Microsoft.Xna.Framework.Vector3 L?@)\=@K StaticElementLStatic Element1 M N O P Q R STFloor/floor1.jpgUdefaultVY=W=5^:>???HB*)>33s@?33s@] StaticElement^StaticElement2 _ ` a b c d efFloor/floor1.jpggdefault VY=W=5^:>???HB+) c?@@=>o StaticElementpStaticElement3 q r s t u v wxPlastic/plastic7.jpgydefault VY=W=5^:>???HB,) c?@=> StaticElementStaticElement4 Plastic/plastic7.jpgdefault VsY=W=5^:>r???qpHB-)o c?n>=ff@ StaticElementStaticElement5 Plastic/plastic7.jpgdefault VaY=W=5^:>`???_^HB.)]Cۿ c?\>=ff@ StaticElementStaticElement6 Plastic/plastic7.jpgdefault VOY=W=5^:>N???MLHB/)KR@v?kJ>@@L> StaticElementStatic Element8 Structures/Support1 V=Y=W=5^:><???;:???A0)9R?k8>@@L> StaticElementStaticElement7 Structures/Support1 V+Y=W=5^:>*???)(???A1)'?&???PalletPallet1 VY=W=5^:>??????A2)????PalletPallet2 V Y=W=5^:> ??? ???A3)$@d?X?L>L>CWorkPart WorkPart1     Parts/CamShaft VY=W=5^:>??????A4)3^?Q???4C InductiveSwitchInductive Switch1       default  VY=W=5^:>??????A5)k=gx?c=== #=B StaticModel Static Model1  ! " # $ % & (Structures/Support2 VY=W=5^:>??????A6)KG????0WorkPartCreator1WorkPart Creator1 2 3 4 5 6 7 8 VY=W=5^:>??????A7)=????4C@InductiveSwitchAInductiveSwitch2 B C D E F G HIdefault I VY=W=5^:>??????A8)+?t֣;=L> #=BQ StaticModelR StaticModel2 S T U V W X Y [Structures/Support2 VY=W=5^:>??????A9)@\/???c ConveyorBeltdConveyor Belt1 e f g h i j k VY=W=5^:>??????A:)K?L>=>Cs StaticModelt Static Model3 u v w x y z { }Machines/Mach4 VY=W=5^:>???~HB;)}?*?|> #<>PlanePlane1       Misc/misc12.jpg VpY=W=5^:>o???nm???A<)l? k> #<>PlanePlane2       Misc/misc12.jpg V_Y=W=5^:>^???]\???A=)[@a?UZff@??4C StaticModel Static Model4        Machines/Mach2 VMY=W=5^:>L???KJ???A>)IJb@O7i?}Hfff?L>L>WorkPartDestructorWorkPart Destructor1        V=Y=W=5^:><???;:???A?)9@?x8L> #+???*)???A@)(B@??????AA)=N????4CInductiveSwitchInductiveSwitch3       default  V Y=W=5^:> ??? ???AB)?.??? Gantry_2_AxisGantry_2_Axis1        VY=W=5^:>??????AC&Microsoft.Xna.Framework.Graphics.Color packedValueDY=W=5^:>E???FGH{System.Collections.Generic.List`1[[Basic3D.IOUserDefinedB, Basic3D, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null]]_items_size_versionBasic3D.IOUserDefinedB[] MSystem.Collections.Generic.Dictionary`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]VersionComparerHashSizeSystem.Collections.Generic.GenericEqualityComparer`1[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] NM OSystem.Collections.Generic.Dictionary`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]VersionComparerHashSize KeyValuePairsSystem.Collections.Generic.GenericEqualityComparer`1[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]][]s  PSystem.Collections.Generic.Dictionary`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]VersionComparerHashSizeSystem.Collections.Generic.GenericEqualityComparer`1[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] Q RySystem.Collections.Generic.List`1[[Basic3D.UnionJointEB, Basic3D, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null]]_items_size_versionBasic3D.UnionJointEB[] S _M `M aO  bP c dR e qM rM sO  tP u vR w M M O  P  R  !M "M "O " #P " %R & 'M (M (O ( )P ( +R , -M .M .O . /P . 1R 2 3M 4M 4O 4 5P 4 7R 8 9M :M :O, : ;System.Collections.Generic.Dictionary`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]VersionComparerHashSize KeyValuePairsSystem.Collections.Generic.GenericEqualityComparer`1[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]][] : = >R ?] @M AM AO. A BSystem.Collections.Generic.Dictionary`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]VersionComparerHashSize KeyValuePairsSystem.Collections.Generic.GenericEqualityComparer`1[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]][] A D ER F] GM HM HO H IP H KR L MSystem.Collections.Generic.Dictionary`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]VersionComparerHashSize KeyValuePairsSystem.Collections.Generic.GenericEqualityComparer`1[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]][] N OM NO N QP N SR T U M V!M V"O V W#P V$ Y%R Z& [2System.Collections.Generic.Dictionary`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]VersionComparerHashSize KeyValuePairsSystem.Collections.Generic.GenericEqualityComparer`1[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]][] V ]3System.Collections.Generic.Dictionary`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]VersionComparerHashSize KeyValuePairsSystem.Collections.Generic.GenericEqualityComparer`1[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]][] V _4O& V a5P V6 cT7R Z8 [BSystem.Collections.Generic.Dictionary`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]VersionComparerHashSize KeyValuePairsSystem.Collections.Generic.GenericEqualityComparer`1[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]][] f gCM fDO f iEP fF kGR lH mSM nTM nUO n oVP nW qXR rY seM tfSystem.Collections.Generic.Dictionary`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]VersionComparerHashSize KeyValuePairsSystem.Collections.Generic.GenericEqualityComparer`1[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]][] t ugOv t whP ti yjR zk {uM |vM |wO | }xP |y zR { M |M |O | System.Collections.Generic.Dictionary`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]VersionComparerHashSize KeyValuePairsSystem.Collections.Generic.GenericEqualityComparer`1[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]][]! |  R  M M O  System.Collections.Generic.Dictionary`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]VersionComparerHashSize KeyValuePairsSystem.Collections.Generic.GenericEqualityComparer`1[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]][]#   R  M M O  P  R  M System.Collections.Generic.Dictionary`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]VersionComparerHashSize KeyValuePairsSystem.Collections.Generic.GenericEqualityComparer`1[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]][]  System.Collections.Generic.Dictionary`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]VersionComparerHashSizeSystem.Collections.Generic.GenericEqualityComparer`1[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] P  R  M M O  System.Collections.Generic.Dictionary`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]VersionComparerHashSize KeyValuePairsSystem.Collections.Generic.GenericEqualityComparer`1[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]][]%   R  System.Collections.Generic.Dictionary`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]VersionComparerHashSize KeyValuePairsSystem.Collections.Generic.GenericEqualityComparer`1[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]][]  M O  P  R  System.Collections.Generic.Dictionary`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]VersionComparerHashSize KeyValuePairsSystem.Collections.Generic.GenericEqualityComparer`1[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]][]  M O  P  R  M M O  System.Collections.Generic.Dictionary`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]VersionComparerHashSize KeyValuePairsSystem.Collections.Generic.GenericEqualityComparer`1[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]][]   SR   Basic3D.IOUserDefinedB System.Collections.Generic.GenericEqualityComparer`1[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]FSystem.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]keyvalue ?EF?DF?CFBFAF@F?F>F ?=F Fk>F #>FFFFFF ?F F F ?F ?F?F12Basic3D.UnionJointEB3Basic3D.BasicUnitB4 5System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]F>Fk>F #>FFFFFF ?F F F ?F ?F?F78Basic3D.UnionJointEB9Basic3D.BasicUnitB: ;System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]FFF?F=System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]keyvalue7float v1,v2,v3,v4; Vector3 pos, scal; float speed,rot; int route; bool loaded = false; BoxObject searchPart; public void Init() { v1 = IO.Parameter("Limit_Right"); v2 = IO.Parameter("Limit_Bck"); v3 = IO.Parameter("Limit_Left"); v4 = IO.Parameter("Limit_Fw"); route = (int)IO.Parameter("Route"); speed = IO.Parameter("Speed"); pos.X = IO.Parameter("X_Pos"); pos.Z = IO.Parameter("Z_Pos"); pos.Y = Editor.ComponentPosition().Y; scal = Editor.ComponentScale(); if(route == 1) { rot = 0; } else if(route == 2) { rot = 90; } else if(route == 3) { rot = 180; } else if(route == 4) { rot = 270; } } public void Main(GameTime gameTime) { if(IO.GetOutput("Run")) { float fTimeScale = (float)gameTime.ElapsedGameTime.Milliseconds/1000; switch(route){ case 1: pos.X += speed * fTimeScale; if(pos.X >= v1) { pos.X=v1; route = 2; } break; case 2: rot += speed * 50 * fTimeScale; if(rot > 90) { rot=90; route = 3; } break; case 3: pos.Z -= speed * fTimeScale; if(pos.Z <= v2) { pos.Z=v2; route = 4; } break; case 4: rot += speed * 50f * fTimeScale; if(rot > 180) { rot= 180; route = 5; } break; case 5: pos.X -= speed * fTimeScale; if(pos.X <= v3) { pos.X=v3; route = 6; } break; case 6: rot += speed * 50f * fTimeScale; if(rot > 270) { rot= 270; route = 7; } break; case 7: pos.Z += speed * fTimeScale; if(pos.Z >= v4) { pos.Z=v4; route = 8; } break; case 8: rot += speed * 50f * fTimeScale; if(rot > 360) { rot=0; route = 1; } break; } } Editor.Move(0, pos, Matrix.CreateRotationY(MathHelper.ToRadians(rot))); Editor.Move(1, new Vector3(pos.X, pos.Y - (0.1f * scal.Y), pos.Z), Matrix.CreateRotationY(MathHelper.ToRadians(rot))); box[2].body.MoveTo(new Vector3(pos.X, pos.Y + (0.2f * scal.Y), pos.Z), box[0].body.Orientation); if(!loaded) { searchPart = box[2].WorkPartCollision(); if(searchPart != null && searchPart.Id == 0) { searchPart.Id = 1; loaded = true; } } if(loaded) { if(searchPart.Id == 1) { searchPart.body.MoveTo(box[2].body.Position, box[2].body.Orientation); } else { searchPart = null; loaded = false; } } } public void Draw(GameTime gameTime) { } public void Finish() { } V> : ; < = > ? ?Basic3D.UnionJointEB @Basic3D.BasicUnitB @ A B A BSystem.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]FFF?FDSystem.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]Hfloat v1,v2,v3,v4; Vector3 pos, scal; float speed,rot; int route; bool loaded = false; BoxObject searchPart; public void Init() { v1 = IO.Parameter("Limit_Right"); v2 = IO.Parameter("Limit_Bck"); v3 = IO.Parameter("Limit_Left"); v4 = IO.Parameter("Limit_Fw"); route = (int)IO.Parameter("Route"); speed = IO.Parameter("Speed"); pos.X = IO.Parameter("X_Pos"); pos.Z = IO.Parameter("Z_Pos"); pos.Y = Editor.ComponentPosition().Y; scal = Editor.ComponentScale(); if(route == 1) { rot = 0; } else if(route == 2) { rot = 90; } else if(route == 3) { rot = 180; } else if(route == 4) { rot = 270; } } public void Main(GameTime gameTime) { if(IO.GetOutput("Run")) { float fTimeScale = (float)gameTime.ElapsedGameTime.Milliseconds/1000; switch(route){ case 1: pos.X += speed * fTimeScale; if(pos.X >= v1) { pos.X=v1; route = 2; } break; case 2: rot += speed * 50 * fTimeScale; if(rot > 90) { rot=90; route = 3; } break; case 3: pos.Z -= speed * fTimeScale; if(pos.Z <= v2) { pos.Z=v2; route = 4; } break; case 4: rot += speed * 50f * fTimeScale; if(rot > 180) { rot= 180; route = 5; } break; case 5: pos.X -= speed * fTimeScale; if(pos.X <= v3) { pos.X=v3; route = 6; } break; case 6: rot += speed * 50f * fTimeScale; if(rot > 270) { rot= 270; route = 7; } break; case 7: pos.Z += speed * fTimeScale; if(pos.Z >= v4) { pos.Z=v4; route = 8; } break; case 8: rot += speed * 50f * fTimeScale; if(rot > 360) { rot=0; route = 1; } break; } } Editor.Move(0, pos, Matrix.CreateRotationY(MathHelper.ToRadians(rot))); Editor.Move(1, new Vector3(pos.X, pos.Y - (0.1f * scal.Y), pos.Z), Matrix.CreateRotationY(MathHelper.ToRadians(rot))); box[2].body.MoveTo(new Vector3(pos.X, pos.Y + (0.2f * scal.Y), pos.Z), box[0].body.Orientation); if(!loaded) { searchPart = box[2].WorkPartCollision(); if(searchPart != null && searchPart.Id == 0) { searchPart.Id = 1; loaded = true; } } if(loaded) { if(searchPart.Id == 1) { searchPart.body.MoveTo(box[2].body.Position, box[2].body.Orientation); } else { searchPart = null; loaded = false; } } } public void Draw(GameTime gameTime) { } public void Finish() { } VE K L M N O P FBasic3D.UnionJointEB GBasic3D.BasicUnitB Q R S H I System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]FQ8>F>F>Fo;F=FL?FL?FF F F KLBasic3D.UnionJointEBMBasic3D.BasicUnitBN OSystem.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]keyvalueQSystem.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]Ffff?F?F #=F #=F #=F?FSTBasic3D.UnionJointEBUBasic3D.BasicUnitBV WSystem.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]FFFCFL>FL?FL?YZBasic3D.UnionJointEB[Basic3D.BasicUnitB]System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]_System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]aSystem.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]FFc q f gSystem.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]iSystem.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]F333?F?F #=F #=F #=FFklBasic3D.UnionJointEBmBasic3D.BasicUnitBn oSystem.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]FFF4CFL>FL?FL?qrBasic3D.UnionJointEBsBasic3D.BasicUnitBt uSystem.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]wSystem.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]F33?~F@}F @|F?yzBasic3D.UnionJointEB{Basic3D.BasicUnitB| }System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]{FzFyFxFL>wFL?vFL?Basic3D.UnionJointEBBasic3D.BasicUnitBSystem.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]uFBtFBsF@rF?qFSystem.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]p  System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]nFBmFBlF@kF?jFSystem.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]i Basic3D.UnionJointEBBasic3D.BasicUnitB System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]gFfFeFdFL>cFL?bFL?Basic3D.UnionJointEBBasic3D.BasicUnitBSystem.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]a System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]`FB_FB^F@]F?\FSystem.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]][ Basic3D.UnionJointEBBasic3D.BasicUnitB System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]YSystem.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]XFff?Basic3D.UnionJointEBBasic3D.BasicUnitB System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]WSystem.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]VF333?UF?TF #=SF #=RF #=QFPFBasic3D.UnionJointEBBasic3D.BasicUnitB System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]OFNFMF?LFSystem.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]K0float X_Pos, Y_Pos; float X_Dest, Y_Dest; float limXR, limYR; float limXL, limYL; bool startX = false, startY = false; bool soundX, soundY, taked, search; int OpX, OpY; BoxObject part; float top; float r,g; float opened, closed, speed; bool rot = false; bool close = false; Matrix rotation = Matrix.Identity, partOri = Matrix.Identity; Vector3 scal, pos, partPos; public void Init() { opened = IO.Parameter("OpenedGrips"); closed = IO.Parameter("ClosedGrips"); speed = IO.Parameter("Speed"); g = opened; scal = Editor.ComponentScale(); pos = Editor.ComponentPosition(); X_Pos = 0; limXR = 2.6f * scal.X; limXL = -2.6f * scal.X; Y_Pos = 1.89f; limYR = 2.3f * scal.Y; limYL = 1.4f * scal.Y; } public void Main(GameTime gameTime) { ///////////////// X AXIS ///////////////////////////////// if(IO.GetOutput("Move_X_Axis")) { if(!startX) { X_Dest = IO.GetAnalogOut("Axis_X_Pos"); if(X_Dest > limXR) X_Dest = limXR; if(X_Dest < limXL) X_Dest = limXL; if(X_Pos > X_Dest) { OpX = 1; } else if(X_Pos < X_Dest) { OpX = 2; } startX = true; } if(OpX == 1) { float fTimeScale = (float)gameTime.ElapsedGameTime.Milliseconds/1000; X_Pos -= speed * fTimeScale; if(X_Pos <= X_Dest) { startX = false; X_Pos = X_Dest; soundX = false; IO.SetAnalogInp("Curr_X_Pos", X_Pos); } else soundX = true; } else if(OpX == 2) { float fTimeScale = (float)gameTime.ElapsedGameTime.Milliseconds/1000; X_Pos += speed * fTimeScale; if(X_Pos >= X_Dest) { startX = false; X_Pos = X_Dest; soundX = false; IO.SetAnalogInp("Curr_X_Pos", X_Pos); } else soundX = true; } MoveAxis(); IO.SetAnalogInp("Curr_X_Pos", X_Pos); } else { startX = false; soundX = false; } ///////////////// Y AXIS ///////////////////////////////// if(IO.GetOutput("Move_Y_Axis")) { if(!startY) { Y_Dest = IO.GetAnalogOut("Axis_Y_Pos"); if(Y_Dest > limYR) Y_Dest = limYR; if(Y_Dest < limYL) Y_Dest = limYL; if(Y_Pos > Y_Dest) { OpY = 1; } else if(Y_Pos < Y_Dest) { OpY = 2; } startY = true; } if(OpY == 1) { float fTimeScale = (float)gameTime.ElapsedGameTime.Milliseconds/1000; Y_Pos -= speed * fTimeScale; if(Y_Pos <= Y_Dest) { startY = false; Y_Pos = Y_Dest; soundY = false; IO.SetAnalogInp("Curr_Y_Pos", Y_Pos); } else soundY = true; } else if(OpY == 2) { float fTimeScale = (float)gameTime.ElapsedGameTime.Milliseconds/1000; Y_Pos += speed * fTimeScale; if(Y_Pos >= Y_Dest) { startY = false; Y_Pos = Y_Dest; soundY = false; IO.SetAnalogInp("Curr_Y_Pos", Y_Pos); } else soundY = true; } MoveAxis(); IO.SetAnalogInp("Curr_Y_Pos", Y_Pos); } else { startY = false; soundY = false; } ///////////////// ROTATE GRIPS ///////////////////////////////// if(IO.GetOutput("RotateGrips")) { if(r == 0) box[5].PlaySound("fillwater"); r += 1f; if(r>90) { r=90; box[5].StopSound(); IO.SetInput("Grips_Turn", true); } rot = true; MoveAxis(); } else { if(rot) { if(r == 90) box[5].PlaySound("fillwater"); r -= 1f; if(r<=0) { r=0; rot = false; box[5].StopSound(); IO.SetInput("Grips_Turn", false); } MoveAxis(); } } ///////////////// OPEN & CLOSE GRIPS ///////////////////////////////// if(IO.GetOutput("CloseGrips")) { if(!close) box[7].PlaySingleSound("PneumaticCyl"); g -= 0.01f * scal.X; if(g <= closed) { g = closed; box[7].StopSound(); search = true; IO.SetInput("Grips_Closed", true); } close = true; MoveAxis(); } else { if(close) { if(g == closed) box[7].PlaySingleSound("PneumaticCyl"); g += 0.01f * scal.X; if(g >= opened) { g = opened; close=false; box[7].StopSound(); IO.SetInput("Grips_Closed", false); } MoveAxis(); search = false; taked = false; if(part != null) part.body.EnableBody(); part = null; } } ///////////////////// Manage Sounds ////////////////////////////////// if(soundX || soundY) box[0].PlaySound("scanner"); else box[0].StopSound(); ///////////////////// WorkParts catching Management ////////////////////////////////// if(search) { search = false; BoxObject searchPartR = box[6].WorkPartCollision(); BoxObject searchPartL = box[7].WorkPartCollision(); if(searchPartR != null && searchPartL != null && searchPartR == searchPartL) { part = searchPartR; part.body.DisableBody(); part.Id = 2; taked = true; top = box[5].body.Position.Y - part.body.Position.Y; partOri = part.body.Orientation; } } if(taked) { partPos = box[5].body.Position; partPos.Y = box[5].body.Position.Y - top; part.body.Position = partPos; part.body.Orientation = partOri * box[5].body.Orientation; } } private void MoveAxis() { Editor.Translate(2, new Vector3(X_Pos, 1.438f * scal.Y, 0.133f * scal.Z)); Editor.Translate(3, new Vector3(X_Pos, Y_Pos, 0.406f * scal.Z)); Editor.Translate(4, new Vector3(X_Pos, Y_Pos - 0.19f * scal.Y, 0.68f * scal.Z)); rotation = Matrix.CreateRotationY(MathHelper.ToRadians(r)); Editor.Move(5, new Vector3(X_Pos + pos.X, pos.Y + Y_Pos - 1.44f * scal.Y, pos.Z + 0.673f * scal.Z), rotation); Matrix w = Matrix.Identity * Matrix.CreateScale(box[6].Scale) * Matrix.CreateRotationY(MathHelper.ToRadians(180)) * Matrix.CreateTranslation(g, 0, 0) * rotation * Matrix.CreateTranslation(X_Pos + pos.X, pos.Y + Y_Pos - 1.732f * scal.Y, pos.Z + 0.68f * scal.Z); Editor.Move(6, w.Translation, rotation * Matrix.CreateRotationY(MathHelper.ToRadians(180))); w = Matrix.Identity * Matrix.CreateScale(box[7].Scale) * Matrix.CreateTranslation(g * -1, 0, 0) * rotation * Matrix.CreateTranslation(X_Pos + pos.X, pos.Y + Y_Pos - 1.732f * scal.Y, pos.Z + 0.68f * scal.Z); Editor.Move(7, w.Translation, rotation); } public void Draw(GameTime gameTime) { } public void Finish() { } IGantry with two axis. Axis X (left-right) goes form coordinates -2.6 to 2.6 values (Home is 0) Axis Y (up-down) goes form coordinates 1.4 to 2.3 values (Home is 1.89) To move the axis you must to set the axis value on the selected PLC data and you must to active the PLC output for the desired axis. The grippers can be rotated on the Y axis form 0 to 90 degress. The PLC input Grips_Turn is active when the grips are on 90º and off when are on 0º. Also the gripper can be opened & closed. The PLC input Grips_Closed indicates the Gips status. The open & closed grips position can be ajusted on the component parameters to allow to take parts of different sizes. When the grippers are in the closed position and a WorkPart is touching the two grippers, the WorkPart will be transportated by the grippers.       Basic3D.UnionJointEBBasic3D.BasicUnitB         :{System.Collections.Generic.List`1[[Basic3D.IOUserCreatedB, Basic3D, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null]]_items_size_versionBasic3D.IOUserCreatedB[] ;: <: =ySystem.Collections.Generic.List`1[[Basic3D.ParamClass2B, Basic3D, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null]]_items_size_versionBasic3D.ParamClass2B[]  2>H ?: @)32L?=?BoxUnitPallet       Metal/metal4.jpgTransporters/PartPallet V%Y=W=5^:>$???#"???AA)!̽ ===BoxUnitAxe       Plastic/plastic7.jpgButtons/Button_7_Button VY=W=5^:>??????AB)L>L?u=u=BoxUnitPart       Solid\SolidBlue.jpgBox VY=W=5^:>??????AK: L:  M: N=  FOH P: Q)L?=? BoxUnit Pallet       Metal/metal4.jpgTransporters/PartPallet VY=W=5^:>??????AR)̽===BoxUnitAxe   ! " # $ %&Plastic/plastic7.jpg'Buttons/Button_7_Button VY=W=5^:>??????AS)L>L?u=u=/BoxUnit0Part 1 2 3 4 5 6 78Solid\SolidBlue.jpg9Box VY=W=5^:>??????AqBasic3D.PartListBpieza : @: A-: B= C$H : E)Q?@ff&?>HBoxUnitIGuide J K L M N O PQSolid\SolidBlue.jpgRMechanical/BaseGuide VY=W=5^:>??????A)?q@?L> H[Sup1 \ ] ^ _ ` a bcMetal/metal4.jpgdBox VY=W=5^:>??????A)b?'1>??=lBoxUnitmArm1 n o p q r s tuSolid\SolidBlue.jpgvMechanical/GantryArm1 VY=W=5^:>??????A)?;>? ?L>~BoxUnitArm2       Solid\SolidBlue.jpgMechanical/GantryArm2 VvY=W=5^:>u???ts???A)r?{.?qL>@L> ~Arm3       Metal/metal4.jpgBox VdY=W=5^:>c???ba???A)`ff>I,?_?>>BoxUnitBaseGrip       Solid\SolidBlue.jpgMechanical/BaseClamp VRY=W=5^:>Q???PO???A)N>!>+?M=>L>4C GripR        Mechanical/Clamp V@Y=W=5^:>????>=???A)<̾!>+?;=>L>BoxUnitGripL       Solid\SolidBlue.jpgMechanical/Clamp V.Y=W=5^:>-???,+???ABasic3D.IOUserCreatedBBasic3D.IOUserCreatedB  Basic3D.ParamClass2B          Basic3D.IOUserDefinedBBasic3D.IOUserCreatedBM M O  P  R  M M OD  P  R  M M Or  P  R  Basic3D.IOUserCreatedBBasic3D.IOUserCreatedB  Basic3D.ParamClass2B           M M O  P  R  M  M !O`  "P # $R % 1M 2M 3O  4P 5 6R 7 @Basic3D.IOUserCreatedB   ABasic3D.IOUserCreatedB    BBasic3D.IOUserCreatedB   CBasic3D.ParamClass2B    EBasic3D.IOUserCreatedB   JM KM LO  MP N OR P \M ]M ^O  "_P ` aR b nM 'oM 'pO ' (qP 'r *sR +t ,M -M -O - .P - 0R 1 2M -M -Oz - 4P - 0R 1 2M 9M 9O 9 :P 9 <R = >M 9M 9O 9 @P 9 <R = >M EM EO  E FP E HR I JBasic3D.IOUserCreatedBdescnumKRunBasic3D.ParamClass2Bdescval L Limit_RightM Limit_BckN Limit_LeftOLimit_Fw@PSpeed?QRoute?RX_PosSZ_Pos@TY_Pos System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]FL?FL?Ffff?F?F?F?F?FF F =F F ?F FFF?Basic3D.UnionJointEBBasic3D.BasicUnitB System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]FQ8=F>FQ8=Fo:F?F?F?FF F F F ?F FFFBasic3D.UnionJointEBBasic3D.BasicUnitB System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]FL?Fu=Fu=F?F?F?F?FF F F F F ?~F}F|F?Basic3D.UnionJointEBBasic3D.BasicUnitBRun Limit_Right Limit_Bck Limit_LeftLimit_Fw@Speed?Route@@X_Pos@Z_PosY_Pos System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]qFL?pFL?oFfff?nF?mF?lF?kF?jFiF hF =gF fF ?eF dFcFbF?Basic3D.UnionJointEBBasic3D.BasicUnitB System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]aFQ8=`F>_FQ8=^Fo:]F?\F?[F?ZFYF XF WF VF ?UF TFSFRFBasic3D.UnionJointEBBasic3D.BasicUnitB  System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]QFL?PFu=OFu=NF?MF?LF?KF?JFIF HF GF FF EF ?DFCFBF?  Basic3D.UnionJointEB Basic3D.BasicUnitB Grips_Turn Grips_Closed RotateGrips CloseGrips Move_X_Axis Move_Y_Axis Curr_X_Pos Curr_Y_PosSpeed@ ClosedGrips-= OpenedGrips> Axis_X_Pos Axis_Y_Pos System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]4F@@3F@@2F@@1F?0F?/F?.F?-F,F +F *F )F (F 'F&F%F? Basic3D.BasicUnitB"System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]$F@#F?"FL>!F? F?F?F?FF F F F F FFF?' (System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]F@@F@@F@@F?F?F?F? F F  F  F  F F FFF?*+Basic3D.UnionJointEB,Basic3D.BasicUnitB- .System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]F@@F@@F@@F?F?F?F?FF F F F F FFF?01Basic3D.UnionJointEB2Basic3D.BasicUnitB4System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]FL>F@FL>F?F?F?F?FF F F F F FFF?9 :System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]F*>FL>FL>F?F?F?F?FF F F F F FFF?<=Basic3D.UnionJointEB>Basic3D.BasicUnitB@System.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]F=F=FL>F?F?F?F?FF F F F F FFF?E FSystem.Collections.Generic.KeyValuePair`2[[System.Int16, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]F=F=FL>F?F?F?F?FF F F F F FFF?HIBasic3D.UnionJointEBJBasic3D.BasicUnitB