|
@@ -19,10 +19,10 @@
|
|
|
prism:ViewModelLocator.AutoWireViewModel="True"
|
|
prism:ViewModelLocator.AutoWireViewModel="True"
|
|
|
mc:Ignorable="d"
|
|
mc:Ignorable="d"
|
|
|
d:DataContext="{d:DesignInstance Type=vm:VisionDynamicAccuracyAnalyzerViewModel}"
|
|
d:DataContext="{d:DesignInstance Type=vm:VisionDynamicAccuracyAnalyzerViewModel}"
|
|
|
- d:Height="700"
|
|
|
|
|
- d:Width="1100"
|
|
|
|
|
- MinHeight="750"
|
|
|
|
|
- MinWidth="1000"
|
|
|
|
|
|
|
+ d:Height="1080"
|
|
|
|
|
+ d:Width="1920"
|
|
|
|
|
+ MinHeight="768"
|
|
|
|
|
+ MinWidth="1024"
|
|
|
d:Background="White"
|
|
d:Background="White"
|
|
|
HorizontalAlignment="Stretch"
|
|
HorizontalAlignment="Stretch"
|
|
|
VerticalAlignment="Stretch"
|
|
VerticalAlignment="Stretch"
|
|
@@ -104,8 +104,8 @@
|
|
|
|
|
|
|
|
<Grid>
|
|
<Grid>
|
|
|
<Grid.ColumnDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
|
- <ColumnDefinition Width="2.5*" />
|
|
|
|
|
- <ColumnDefinition Width="3.5*" />
|
|
|
|
|
|
|
+ <ColumnDefinition Width="45*" />
|
|
|
|
|
+ <ColumnDefinition Width="55*" />
|
|
|
</Grid.ColumnDefinitions>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
|
|
|
|
<!-- 左侧控制面板 -->
|
|
<!-- 左侧控制面板 -->
|
|
@@ -117,7 +117,9 @@
|
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
|
- <RowDefinition Height="*" />
|
|
|
|
|
|
|
+ <RowDefinition Height="Auto" />
|
|
|
|
|
+ <RowDefinition Height="*"
|
|
|
|
|
+ MinHeight="100" />
|
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
|
</Grid.RowDefinitions>
|
|
</Grid.RowDefinitions>
|
|
|
|
|
|
|
@@ -150,7 +152,7 @@
|
|
|
VerticalAlignment="Center" />
|
|
VerticalAlignment="Center" />
|
|
|
<TextBox Grid.Column="1"
|
|
<TextBox Grid.Column="1"
|
|
|
Text="{Binding PointA, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
|
|
Text="{Binding PointA, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
|
|
|
- d:Text="X:0.000 Y:0.000 Z:0.000 RX:0.000 RY:0.000 RZ:0.000"
|
|
|
|
|
|
|
+ d:Text="X:0.000 Y:0.000 Z:0.000 U:0.000 V:0.000 W:0.000"
|
|
|
ToolTip="机器人A点位置坐标"
|
|
ToolTip="机器人A点位置坐标"
|
|
|
IsReadOnly="True"
|
|
IsReadOnly="True"
|
|
|
Background="#F8F9FA" />
|
|
Background="#F8F9FA" />
|
|
@@ -177,7 +179,7 @@
|
|
|
VerticalAlignment="Center" />
|
|
VerticalAlignment="Center" />
|
|
|
<TextBox Grid.Column="1"
|
|
<TextBox Grid.Column="1"
|
|
|
Text="{Binding PointB, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
|
|
Text="{Binding PointB, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
|
|
|
- d:Text="X:100.000 Y:50.000 Z:0.000 RX:0.000 RY:0.000 RZ:0.000"
|
|
|
|
|
|
|
+ d:Text="X:100.000 Y:50.000 Z:0.000 U:0.000 V:0.000 W:0.000"
|
|
|
ToolTip="机器人B点拍照位置坐标"
|
|
ToolTip="机器人B点拍照位置坐标"
|
|
|
IsReadOnly="True"
|
|
IsReadOnly="True"
|
|
|
Background="#F8F9FA" />
|
|
Background="#F8F9FA" />
|
|
@@ -209,6 +211,11 @@
|
|
|
<TextBlock Text="{Binding Name}" />
|
|
<TextBlock Text="{Binding Name}" />
|
|
|
</DataTemplate>
|
|
</DataTemplate>
|
|
|
</ComboBox.ItemTemplate>
|
|
</ComboBox.ItemTemplate>
|
|
|
|
|
+ <b:Interaction.Triggers>
|
|
|
|
|
+ <b:EventTrigger EventName="SelectionChanged">
|
|
|
|
|
+ <b:InvokeCommandAction Command="{Binding ProcedureSelectionChangedCommand}" />
|
|
|
|
|
+ </b:EventTrigger>
|
|
|
|
|
+ </b:Interaction.Triggers>
|
|
|
</ComboBox>
|
|
</ComboBox>
|
|
|
</Grid>
|
|
</Grid>
|
|
|
</Grid>
|
|
</Grid>
|
|
@@ -257,7 +264,7 @@
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
</Grid>
|
|
</Grid>
|
|
|
|
|
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
</Border>
|
|
</Border>
|
|
|
|
|
|
|
@@ -348,7 +355,7 @@
|
|
|
<TextBlock Text="当前循环"
|
|
<TextBlock Text="当前循环"
|
|
|
Foreground="White"
|
|
Foreground="White"
|
|
|
FontSize="11" />
|
|
FontSize="11" />
|
|
|
- <TextBlock Text="{Binding CurrentCycle}"
|
|
|
|
|
|
|
+ <TextBlock Text="{Binding CurrentProgress}"
|
|
|
d:Text="1"
|
|
d:Text="1"
|
|
|
Foreground="White"
|
|
Foreground="White"
|
|
|
FontSize="16"
|
|
FontSize="16"
|
|
@@ -425,38 +432,31 @@
|
|
|
<DataGrid.Columns>
|
|
<DataGrid.Columns>
|
|
|
<DataGridTextColumn Header="序号"
|
|
<DataGridTextColumn Header="序号"
|
|
|
Binding="{Binding Index}"
|
|
Binding="{Binding Index}"
|
|
|
- Width="50" />
|
|
|
|
|
|
|
+ MinWidth="50" />
|
|
|
<DataGridTextColumn Header="状态"
|
|
<DataGridTextColumn Header="状态"
|
|
|
- Binding="{Binding Status}"
|
|
|
|
|
- Width="60">
|
|
|
|
|
- <DataGridTextColumn.CellStyle>
|
|
|
|
|
- <Style TargetType="DataGridCell">
|
|
|
|
|
- <Setter Property="Foreground"
|
|
|
|
|
- Value="{Binding StatusColor}" />
|
|
|
|
|
- </Style>
|
|
|
|
|
- </DataGridTextColumn.CellStyle>
|
|
|
|
|
- </DataGridTextColumn>
|
|
|
|
|
- <DataGridTextColumn Header="X坐标"
|
|
|
|
|
- Binding="{Binding X, StringFormat={}{0:F3}}"
|
|
|
|
|
- Width="70" />
|
|
|
|
|
- <DataGridTextColumn Header="Y坐标"
|
|
|
|
|
- Binding="{Binding Y, StringFormat={}{0:F3}}"
|
|
|
|
|
- Width="70" />
|
|
|
|
|
|
|
+ Binding="{Binding IsPhotoSuccess}"
|
|
|
|
|
+ MinWidth="60" />
|
|
|
|
|
+ <DataGridTextColumn Header="像素X"
|
|
|
|
|
+ Binding="{Binding PixelX, StringFormat={}{0:F3}}"
|
|
|
|
|
+ MinWidth="70" />
|
|
|
|
|
+ <DataGridTextColumn Header="像素Y"
|
|
|
|
|
+ Binding="{Binding PixelY, StringFormat={}{0:F3}}"
|
|
|
|
|
+ MinWidth="70" />
|
|
|
<DataGridTextColumn Header="角度"
|
|
<DataGridTextColumn Header="角度"
|
|
|
- Binding="{Binding Angle, StringFormat={}{0:F2}}"
|
|
|
|
|
- Width="60" />
|
|
|
|
|
- <DataGridTextColumn Header="偏差X"
|
|
|
|
|
- Binding="{Binding DeviationX, StringFormat={}{0:F3}}"
|
|
|
|
|
- Width="70" />
|
|
|
|
|
- <DataGridTextColumn Header="偏差Y"
|
|
|
|
|
- Binding="{Binding DeviationY, StringFormat={}{0:F3}}"
|
|
|
|
|
- Width="70" />
|
|
|
|
|
|
|
+ Binding="{Binding AngleU, StringFormat={}{0:F2}}"
|
|
|
|
|
+ MinWidth="60" />
|
|
|
|
|
+ <DataGridTextColumn Header="绝对X"
|
|
|
|
|
+ Binding="{Binding TransformX, StringFormat={}{0:F3}}"
|
|
|
|
|
+ MinWidth="70" />
|
|
|
|
|
+ <DataGridTextColumn Header="绝对Y"
|
|
|
|
|
+ Binding="{Binding TransformY, StringFormat={}{0:F3}}"
|
|
|
|
|
+ MinWidth="70" />
|
|
|
<DataGridTextColumn Header="循环时间"
|
|
<DataGridTextColumn Header="循环时间"
|
|
|
Binding="{Binding CycleTime, StringFormat={}{0:F2}s}"
|
|
Binding="{Binding CycleTime, StringFormat={}{0:F2}s}"
|
|
|
- Width="80" />
|
|
|
|
|
|
|
+ MinWidth="80" />
|
|
|
<DataGridTextColumn Header="时间戳"
|
|
<DataGridTextColumn Header="时间戳"
|
|
|
Binding="{Binding Timestamp}"
|
|
Binding="{Binding Timestamp}"
|
|
|
- Width="120" />
|
|
|
|
|
|
|
+ MinWidth="120" />
|
|
|
</DataGrid.Columns>
|
|
</DataGrid.Columns>
|
|
|
</DataGrid>
|
|
</DataGrid>
|
|
|
</Grid>
|
|
</Grid>
|
|
@@ -507,21 +507,21 @@
|
|
|
<StackPanel Grid.Column="0">
|
|
<StackPanel Grid.Column="0">
|
|
|
<TextBlock>
|
|
<TextBlock>
|
|
|
<Run Text="X方向精度: " />
|
|
<Run Text="X方向精度: " />
|
|
|
- <Run Text="{Binding XPrecision, StringFormat={}{0:F3}mm}"
|
|
|
|
|
|
|
+ <Run Text="{Binding PrecisionResult.XPrecision, StringFormat={}{0:F3}mm}"
|
|
|
d:Text="0.023mm"
|
|
d:Text="0.023mm"
|
|
|
Foreground="#2C3E50"
|
|
Foreground="#2C3E50"
|
|
|
FontWeight="Bold" />
|
|
FontWeight="Bold" />
|
|
|
</TextBlock>
|
|
</TextBlock>
|
|
|
<TextBlock>
|
|
<TextBlock>
|
|
|
<Run Text="Y方向精度: " />
|
|
<Run Text="Y方向精度: " />
|
|
|
- <Run Text="{Binding YPrecision, StringFormat={}{0:F3}mm}"
|
|
|
|
|
|
|
+ <Run Text="{Binding PrecisionResult.YPrecision, StringFormat={}{0:F3}mm}"
|
|
|
d:Text="0.018mm"
|
|
d:Text="0.018mm"
|
|
|
Foreground="#2C3E50"
|
|
Foreground="#2C3E50"
|
|
|
FontWeight="Bold" />
|
|
FontWeight="Bold" />
|
|
|
</TextBlock>
|
|
</TextBlock>
|
|
|
<TextBlock>
|
|
<TextBlock>
|
|
|
<Run Text="角度精度: " />
|
|
<Run Text="角度精度: " />
|
|
|
- <Run Text="{Binding AnglePrecision, StringFormat={}{0:F2}°}"
|
|
|
|
|
|
|
+ <Run Text="{Binding PrecisionResult.AnglePrecision, StringFormat={}{0:F2}°}"
|
|
|
d:Text="0.12°"
|
|
d:Text="0.12°"
|
|
|
Foreground="#2C3E50"
|
|
Foreground="#2C3E50"
|
|
|
FontWeight="Bold" />
|
|
FontWeight="Bold" />
|
|
@@ -531,14 +531,14 @@
|
|
|
<StackPanel Grid.Column="1">
|
|
<StackPanel Grid.Column="1">
|
|
|
<TextBlock>
|
|
<TextBlock>
|
|
|
<Run Text="3σ范围: " />
|
|
<Run Text="3σ范围: " />
|
|
|
- <Run Text="{Binding ThreeSigmaRange, StringFormat={}±{0:F3}mm}"
|
|
|
|
|
|
|
+ <Run Text="{Binding PrecisionResult.OverallThreeSigmaRange, StringFormat={}±{0:F3}mm}"
|
|
|
d:Text="±0.065mm"
|
|
d:Text="±0.065mm"
|
|
|
Foreground="#2C3E50"
|
|
Foreground="#2C3E50"
|
|
|
FontWeight="Bold" />
|
|
FontWeight="Bold" />
|
|
|
</TextBlock>
|
|
</TextBlock>
|
|
|
<TextBlock>
|
|
<TextBlock>
|
|
|
<Run Text="CPK: " />
|
|
<Run Text="CPK: " />
|
|
|
- <Run Text="{Binding ProcessCpk, StringFormat={}{0:F2}}"
|
|
|
|
|
|
|
+ <Run Text="{Binding PrecisionResult.OverallPrecision, StringFormat={}{0:F2}}"
|
|
|
d:Text="1.85"
|
|
d:Text="1.85"
|
|
|
Foreground="#2C3E50"
|
|
Foreground="#2C3E50"
|
|
|
FontWeight="Bold" />
|
|
FontWeight="Bold" />
|
|
@@ -591,7 +591,7 @@
|
|
|
</wf:WindowsFormsHost>
|
|
</wf:WindowsFormsHost>
|
|
|
|
|
|
|
|
<!-- 图像信息栏 -->
|
|
<!-- 图像信息栏 -->
|
|
|
- <Border Grid.Row="1"
|
|
|
|
|
|
|
+ <!--<Border Grid.Row="1"
|
|
|
Background="#34495E"
|
|
Background="#34495E"
|
|
|
Padding="10">
|
|
Padding="10">
|
|
|
<Grid>
|
|
<Grid>
|
|
@@ -621,12 +621,12 @@
|
|
|
Width="60" />
|
|
Width="60" />
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
</Grid>
|
|
</Grid>
|
|
|
- </Border>
|
|
|
|
|
|
|
+ </Border>-->
|
|
|
</Grid>
|
|
</Grid>
|
|
|
</Border>
|
|
</Border>
|
|
|
|
|
|
|
|
<!-- 轨迹可视化区域 -->
|
|
<!-- 轨迹可视化区域 -->
|
|
|
- <Border Grid.Row="1"
|
|
|
|
|
|
|
+ <!--<Border Grid.Row="1"
|
|
|
Background="#ECF0F1"
|
|
Background="#ECF0F1"
|
|
|
Padding="10"
|
|
Padding="10"
|
|
|
BorderBrush="#BDC3C7"
|
|
BorderBrush="#BDC3C7"
|
|
@@ -642,12 +642,16 @@
|
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
|
</Grid.ColumnDefinitions>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
|
|
|
|
- <!-- 简化轨迹图 -->
|
|
|
|
|
|
|
+ -->
|
|
|
|
|
+ <!-- 简化轨迹图 -->
|
|
|
|
|
+ <!--
|
|
|
<Canvas x:Name="trajectoryCanvas"
|
|
<Canvas x:Name="trajectoryCanvas"
|
|
|
Height="100"
|
|
Height="100"
|
|
|
Background="White"
|
|
Background="White"
|
|
|
Margin="0 5 0 0">
|
|
Margin="0 5 0 0">
|
|
|
- <!-- A点标记 -->
|
|
|
|
|
|
|
+ -->
|
|
|
|
|
+ <!-- A点标记 -->
|
|
|
|
|
+ <!--
|
|
|
<Ellipse Canvas.Left="50"
|
|
<Ellipse Canvas.Left="50"
|
|
|
Canvas.Top="50"
|
|
Canvas.Top="50"
|
|
|
Width="12"
|
|
Width="12"
|
|
@@ -671,7 +675,9 @@
|
|
|
FontWeight="Bold"
|
|
FontWeight="Bold"
|
|
|
Foreground="#2C3E50" />
|
|
Foreground="#2C3E50" />
|
|
|
|
|
|
|
|
- <!-- B点标记 -->
|
|
|
|
|
|
|
+ -->
|
|
|
|
|
+ <!-- B点标记 -->
|
|
|
|
|
+ <!--
|
|
|
<Ellipse Canvas.Left="200"
|
|
<Ellipse Canvas.Left="200"
|
|
|
Canvas.Top="50"
|
|
Canvas.Top="50"
|
|
|
Width="12"
|
|
Width="12"
|
|
@@ -695,7 +701,9 @@
|
|
|
FontWeight="Bold"
|
|
FontWeight="Bold"
|
|
|
Foreground="#2C3E50" />
|
|
Foreground="#2C3E50" />
|
|
|
|
|
|
|
|
- <!-- 移动轨迹线 -->
|
|
|
|
|
|
|
+ -->
|
|
|
|
|
+ <!-- 移动轨迹线 -->
|
|
|
|
|
+ <!--
|
|
|
<Line x:Name="trajectoryLine"
|
|
<Line x:Name="trajectoryLine"
|
|
|
X1="56"
|
|
X1="56"
|
|
|
Y1="56"
|
|
Y1="56"
|
|
@@ -705,7 +713,9 @@
|
|
|
StrokeThickness="2"
|
|
StrokeThickness="2"
|
|
|
StrokeDashArray="5,3" />
|
|
StrokeDashArray="5,3" />
|
|
|
|
|
|
|
|
- <!-- 当前位置标记 -->
|
|
|
|
|
|
|
+ -->
|
|
|
|
|
+ <!-- 当前位置标记 -->
|
|
|
|
|
+ <!--
|
|
|
<Ellipse x:Name="currentPositionMarker"
|
|
<Ellipse x:Name="currentPositionMarker"
|
|
|
Canvas.Left="125"
|
|
Canvas.Left="125"
|
|
|
Canvas.Top="50"
|
|
Canvas.Top="50"
|
|
@@ -727,7 +737,9 @@
|
|
|
</Ellipse>
|
|
</Ellipse>
|
|
|
</Canvas>
|
|
</Canvas>
|
|
|
|
|
|
|
|
- <!-- 轨迹控制 -->
|
|
|
|
|
|
|
+ -->
|
|
|
|
|
+ <!-- 轨迹控制 -->
|
|
|
|
|
+ <!--
|
|
|
<StackPanel Grid.Column="1"
|
|
<StackPanel Grid.Column="1"
|
|
|
Orientation="Vertical"
|
|
Orientation="Vertical"
|
|
|
Margin="10 0 0 0">
|
|
Margin="10 0 0 0">
|
|
@@ -744,7 +756,7 @@
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
</Grid>
|
|
</Grid>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
- </Border>
|
|
|
|
|
|
|
+ </Border>-->
|
|
|
|
|
|
|
|
<!-- 底部按钮 -->
|
|
<!-- 底部按钮 -->
|
|
|
<StackPanel Grid.Row="2"
|
|
<StackPanel Grid.Row="2"
|