SERobot.xaml 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277
  1. <UserControl x:Class="Venus_Themes.UserControls.SERobot"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:userControls="clr-namespace:Venus_Themes.UserControls"
  7. mc:Ignorable="d"
  8. d:DesignHeight="250" d:DesignWidth="200">
  9. <Grid>
  10. <Viewbox x:Name="viewbox" Stretch="Fill">
  11. <VisualStateManager.VisualStateGroups>
  12. <VisualStateGroup Name="RobotXActions">
  13. <VisualStateGroup.Transitions>
  14. <VisualTransition To="Extend">
  15. <Storyboard FillBehavior="HoldEnd" Timeline.SpeedRatio="13">
  16. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT1RotateAct" Storyboard.TargetProperty="Angle">
  17. <LinearDoubleKeyFrame Value="90" KeyTime="0:0:0"/>
  18. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:9"/>
  19. </DoubleAnimationUsingKeyFrames>
  20. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2ArmRotateAct" Storyboard.TargetProperty="Angle">
  21. <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:0"/>
  22. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:9"/>
  23. </DoubleAnimationUsingKeyFrames>
  24. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2Act" Storyboard.TargetProperty="X">
  25. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:9"/>
  26. <LinearDoubleKeyFrame Value="2.126" KeyTime="0:0:8"/>
  27. <LinearDoubleKeyFrame Value="8.443" KeyTime="0:0:7"/>
  28. <LinearDoubleKeyFrame Value="18.756" KeyTime="0:0:6"/>
  29. <LinearDoubleKeyFrame Value="32.753" KeyTime="0:0:5"/>
  30. <LinearDoubleKeyFrame Value="50.009" KeyTime="0:0:4"/>
  31. <LinearDoubleKeyFrame Value="70" KeyTime="0:0:3"/>
  32. <LinearDoubleKeyFrame Value="92.117" KeyTime="0:0:2"/>
  33. <LinearDoubleKeyFrame Value="115.689" KeyTime="0:0:1"/>
  34. <LinearDoubleKeyFrame Value="140" KeyTime="0:0:0"/>
  35. </DoubleAnimationUsingKeyFrames>
  36. </Storyboard>
  37. </VisualTransition>
  38. <VisualTransition To="Retract">
  39. <Storyboard FillBehavior="HoldEnd" SpeedRatio="14">
  40. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT1RotateAct" Storyboard.TargetProperty="Angle">
  41. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  42. <LinearDoubleKeyFrame Value="90" KeyTime="0:0:9"/>
  43. </DoubleAnimationUsingKeyFrames>
  44. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2ArmRotateAct" Storyboard.TargetProperty="Angle">
  45. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  46. <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:9"/>
  47. </DoubleAnimationUsingKeyFrames>
  48. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2Act" Storyboard.TargetProperty="X">
  49. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  50. <LinearDoubleKeyFrame Value="2.126" KeyTime="0:0:1"/>
  51. <LinearDoubleKeyFrame Value="8.443" KeyTime="0:0:2"/>
  52. <LinearDoubleKeyFrame Value="18.756" KeyTime="0:0:3"/>
  53. <LinearDoubleKeyFrame Value="32.753" KeyTime="0:0:4"/>
  54. <LinearDoubleKeyFrame Value="50.009" KeyTime="0:0:5"/>
  55. <LinearDoubleKeyFrame Value="70" KeyTime="0:0:6"/>
  56. <LinearDoubleKeyFrame Value="92.117" KeyTime="0:0:7"/>
  57. <LinearDoubleKeyFrame Value="115.689" KeyTime="0:0:8"/>
  58. <LinearDoubleKeyFrame Value="140" KeyTime="0:0:9"/>
  59. </DoubleAnimationUsingKeyFrames>
  60. </Storyboard>
  61. </VisualTransition>
  62. </VisualStateGroup.Transitions>
  63. <VisualState Name="X_Origin">
  64. <Storyboard FillBehavior="HoldEnd">
  65. <!--后臂+底座-->
  66. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT1RotateAct" Storyboard.TargetProperty="Angle">
  67. <LinearDoubleKeyFrame Value="-30" KeyTime="0:0:0"/>
  68. </DoubleAnimationUsingKeyFrames>
  69. <!--中臂+前臂-->
  70. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2Act" Storyboard.TargetProperty="Y">
  71. <LinearDoubleKeyFrame Value="35" KeyTime="0:0:0"/>
  72. </DoubleAnimationUsingKeyFrames>
  73. <!--中臂-->
  74. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2ArmRotateAct" Storyboard.TargetProperty="Angle">
  75. <LinearDoubleKeyFrame Value="30" KeyTime="0:0:0"/>
  76. </DoubleAnimationUsingKeyFrames>
  77. <!--前臂-->
  78. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT3ArmTranslateAct" Storyboard.TargetProperty="Y">
  79. <LinearDoubleKeyFrame Value="30" KeyTime="0:0:0"/>
  80. </DoubleAnimationUsingKeyFrames>
  81. </Storyboard>
  82. </VisualState>
  83. <VisualState Name="Extend">
  84. <Storyboard FillBehavior="HoldEnd">
  85. <!--后臂+底座-->
  86. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT1RotateAct" Storyboard.TargetProperty="Angle">
  87. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  88. </DoubleAnimationUsingKeyFrames>
  89. <!--中臂+前臂-->
  90. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2Act" Storyboard.TargetProperty="Y">
  91. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  92. </DoubleAnimationUsingKeyFrames>
  93. <!--中臂-->
  94. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2ArmRotateAct" Storyboard.TargetProperty="Angle">
  95. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  96. </DoubleAnimationUsingKeyFrames>
  97. <!--前臂-->
  98. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT3ArmTranslateAct" Storyboard.TargetProperty="Y">
  99. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  100. </DoubleAnimationUsingKeyFrames>
  101. </Storyboard>
  102. </VisualState>
  103. <VisualState Name="Retract">
  104. <Storyboard FillBehavior="HoldEnd">
  105. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT1RotateAct" Storyboard.TargetProperty="Angle">
  106. <LinearDoubleKeyFrame Value="90" KeyTime="0:0:0"/>
  107. </DoubleAnimationUsingKeyFrames>
  108. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2ArmRotateAct" Storyboard.TargetProperty="Angle">
  109. <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:0"/>
  110. </DoubleAnimationUsingKeyFrames>
  111. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2Act" Storyboard.TargetProperty="X">
  112. <LinearDoubleKeyFrame Value="140" KeyTime="0:0:0"/>
  113. </DoubleAnimationUsingKeyFrames>
  114. </Storyboard>
  115. </VisualState>
  116. </VisualStateGroup>
  117. <VisualStateGroup Name="RobotTActions">
  118. <VisualStateGroup.Transitions>
  119. <VisualTransition To="T_Origin">
  120. <Storyboard FillBehavior="HoldEnd">
  121. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  122. <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:1"/>
  123. </DoubleAnimationUsingKeyFrames>
  124. </Storyboard>
  125. </VisualTransition>
  126. <VisualTransition To="PMA">
  127. <Storyboard FillBehavior="HoldEnd">
  128. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  129. <LinearDoubleKeyFrame Value="90" KeyTime="0:0:0.5"/>
  130. </DoubleAnimationUsingKeyFrames>
  131. </Storyboard>
  132. </VisualTransition>
  133. <VisualTransition To="PMB">
  134. <Storyboard FillBehavior="HoldEnd">
  135. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  136. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0.5"/>
  137. </DoubleAnimationUsingKeyFrames>
  138. </Storyboard>
  139. </VisualTransition>
  140. <VisualTransition To="PMC">
  141. <Storyboard FillBehavior="HoldEnd">
  142. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  143. <LinearDoubleKeyFrame Value="120" KeyTime="0:0:0.5"/>
  144. </DoubleAnimationUsingKeyFrames>
  145. </Storyboard>
  146. </VisualTransition>
  147. <VisualTransition To="Aligner1">
  148. <Storyboard FillBehavior="HoldEnd">
  149. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  150. <LinearDoubleKeyFrame Value="180" KeyTime="0:0:0.5"/>
  151. </DoubleAnimationUsingKeyFrames>
  152. </Storyboard>
  153. </VisualTransition>
  154. </VisualStateGroup.Transitions>
  155. <VisualState Name="T_Origin">
  156. <Storyboard FillBehavior="HoldEnd">
  157. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  158. <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:0"/>
  159. </DoubleAnimationUsingKeyFrames>
  160. </Storyboard>
  161. </VisualState>
  162. <VisualState Name="PMA">
  163. <Storyboard FillBehavior="HoldEnd">
  164. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  165. <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:0"/>
  166. </DoubleAnimationUsingKeyFrames>
  167. </Storyboard>
  168. </VisualState>
  169. <VisualState Name="PMB">
  170. <Storyboard FillBehavior="HoldEnd">
  171. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  172. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  173. </DoubleAnimationUsingKeyFrames>
  174. </Storyboard>
  175. </VisualState>
  176. <VisualState Name="PMC">
  177. <Storyboard FillBehavior="HoldEnd">
  178. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  179. <LinearDoubleKeyFrame Value="90" KeyTime="0:0:0"/>
  180. </DoubleAnimationUsingKeyFrames>
  181. </Storyboard>
  182. </VisualState>
  183. <VisualState Name="Aligner1">
  184. <Storyboard FillBehavior="HoldEnd">
  185. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  186. <LinearDoubleKeyFrame Value="180" KeyTime="0:0:0"/>
  187. </DoubleAnimationUsingKeyFrames>
  188. </Storyboard>
  189. </VisualState>
  190. </VisualStateGroup>
  191. </VisualStateManager.VisualStateGroups>
  192. <Canvas Width="200" Height="300" >
  193. <Canvas x:Name="robot" Width="100" Height="150" RenderTransformOrigin="1 1" >
  194. <!--robot总动作-->
  195. <Canvas.RenderTransform>
  196. <TransformGroup>
  197. <RotateTransform Angle="180"/>
  198. <!--<RotateTransform x:Name="robotRotateAct"/>-->
  199. <!--<TranslateTransform x:Name="robotUpDownAct"></TranslateTransform>-->
  200. </TransformGroup>
  201. </Canvas.RenderTransform>
  202. <Canvas x:Name="armXT1" Width="200" Height="100" Canvas.Top="100" RenderTransformOrigin="0.5 0.5">
  203. <!--后臂+底座动作-->
  204. <Canvas.RenderTransform>
  205. <RotateTransform Angle="90"/>
  206. <!--<RotateTransform x:Name="armXT1RotateAct"/>-->
  207. </Canvas.RenderTransform>
  208. <Canvas x:Name="armXT1Center" Width="60" Height="60" Canvas.Left="70" Canvas.Top="20" ToolTip="底座">
  209. <Viewbox Canvas.Left="0" Canvas.Top="0" Width="60" Height="60">
  210. <userControls:SERobot4 IsEnabled="False" Height="60"/>
  211. </Viewbox>
  212. </Canvas>
  213. <Canvas x:Name="armXT1Arm" Width="120" Height="40" Canvas.Left="10" Canvas.Top="30" ToolTip="后臂" >
  214. <Viewbox Canvas.Left="0" Canvas.Top="-40" Width="120" Height="120" >
  215. <userControls:SERobot3 IsEnabled="False" Height="150"/>
  216. </Viewbox>
  217. </Canvas>
  218. </Canvas>
  219. <Canvas x:Name="armXT2" Width="270" Height="50" Canvas.Left="0" Canvas.Top="180" RenderTransformOrigin="1 0.5">
  220. <!--中臂加前臂动作-->
  221. <Canvas.RenderTransform>
  222. <TransformGroup>
  223. <TranslateTransform x:Name="armXT2Act"></TranslateTransform>
  224. <RotateTransform x:Name="armXT2RotateAct"/>
  225. </TransformGroup>
  226. </Canvas.RenderTransform>
  227. <Canvas x:Name="armXT2Arm" Width="120" Height="40" Canvas.Left="10" Canvas.Top="-50" ToolTip="中臂" RenderTransformOrigin="0 0.5">
  228. <!--中臂动作-->
  229. <Canvas.RenderTransform>
  230. <TransformGroup>
  231. <RotateTransform Angle="-90"/>
  232. <TranslateTransform X="70"/>
  233. <TranslateTransform Y="-25"/>
  234. <RotateTransform x:Name="armXT2ArmRotateAct"/>
  235. </TransformGroup>
  236. </Canvas.RenderTransform>
  237. <Viewbox Canvas.Left="0" Canvas.Top="-40" Width="120" Height="120" >
  238. <userControls:SERobot2 IsEnabled="False" Height="150"/>
  239. </Viewbox>
  240. </Canvas>
  241. <!--前臂动作-->
  242. <Canvas x:Name="armGripper" Height="160" Width="45" Canvas.Left="77" Canvas.Top="-170" ToolTip="前臂" RenderTransformOrigin="1 0.5">
  243. <Canvas.RenderTransform>
  244. <TransformGroup>
  245. <TranslateTransform Y="-155"/>
  246. <!--<TranslateTransform x:Name="armXT3ArmTranslateAct"/>-->
  247. <RotateTransform x:Name="armXT3ArmRotateAct"/>
  248. </TransformGroup>
  249. </Canvas.RenderTransform>
  250. <Viewbox Canvas.Left="0" Canvas.Top="0" Width="45" Height="160">
  251. <userControls:SERobot1 IsEnabled="False" Height="190"/>
  252. </Viewbox>
  253. <Viewbox Canvas.Left="-17" Canvas.Top="-90" Width="85" Height="85">
  254. <userControls:WaferCtrl WaferData="{Binding RobotWafer,RelativeSource={RelativeSource TemplatedParent}}" IsEnabled="False"/>
  255. </Viewbox>
  256. </Canvas>
  257. </Canvas>
  258. </Canvas>
  259. </Canvas>
  260. </Viewbox>
  261. </Grid>
  262. </UserControl>