Merge remote-tracking branch 'origin/master'

master
sunhonglei 7 months ago
commit 2c2044e1b0
  1. 18
      Language/zh_CN.xaml
  2. 90
      Views/Configuration/CutConfigPage.xaml
  3. 5
      Views/Grading/DiamondSelect.xaml
  4. 1
      Views/Grading/GradingResult.xaml
  5. 24
      Views/UserControl/ViewportData/Helper/ViewportHelperPro.cs

@ -17,7 +17,7 @@
<sys:String x:Key="ImportModel">导入模板</sys:String>
<sys:String x:Key="Save">更新保存</sys:String>
<sys:String x:Key="AddRow">添加{0}行</sys:String>
<sys:String x:Key="AddRow">添加5行</sys:String>
<sys:String x:Key="AlgorithmConfig">算法配置</sys:String>
<sys:String x:Key="LevelConfig">定级配置</sys:String>
@ -29,22 +29,6 @@
<sys:String x:Key="BeautifyJson">美化Json</sys:String>
<sys:String x:Key="UglifyJson">压缩Json</sys:String>
<!-- 检测结果 -->
<sys:String x:Key="Standard">标准</sys:String>
<sys:String x:Key="Shape">形状</sys:String>
<sys:String x:Key="Crown">冠部</sys:String>
<sys:String x:Key="Pav">亭部</sys:String>
<sys:String x:Key="Wight">重量(ct)</sys:String>
<sys:String x:Key="CutLevel">切工等级</sys:String>
<sys:String x:Key="SymLevel">对称等级</sys:String>
<sys:String x:Key="resAvg">平均</sys:String>
<sys:String x:Key="resYuan">圆度</sys:String>
<sys:String x:Key="resShen">深度</sys:String>
<sys:String x:Key="resDev">偏差值</sys:String>
<sys:String x:Key="resMin">最小值</sys:String>
<sys:String x:Key="resMax">最大值</sys:String>
<sys:String x:Key="resLevel">SYM等级</sys:String>
<sys:String x:Key="Export">导出</sys:String>
<sys:String x:Key="ExitAsk">是否退出程序?</sys:String>
<sys:String x:Key="ExitAskTitle">是否退出</sys:String>

@ -5,31 +5,75 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:SparkClient.Views"
mc:Ignorable="d">
<Grid Background="#BBBBBB">
<Grid Background="Transparent">
<Grid.RowDefinitions>
<!-- 第一排 -->
<RowDefinition Height="51" />
<!-- 第二排 -->
<RowDefinition Height="5*" />
<RowDefinition Height="50" />
</Grid.RowDefinitions>
<Button Grid.Row="0" Height="40" HorizontalAlignment="Right" Background="Transparent" BorderBrush="Transparent"
Command="{Binding AddRowsCommand}">
<Grid>
<Grid Grid.Row="0" >
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="添加 5 行" FontSize="14" FontFamily="PingFangSC-regular" TextAlignment="Left"
VerticalAlignment="Center" Width="70" />
<Image Grid.Column="1" Source="pack://application:,,,/Resource/Images/ze-add-o 1@3x.·· png" Width="24" Height="24"/>
</Grid>
<Button Grid.Column="0" Width="100" Margin="10 5 " Padding="0" Height="50"
BorderThickness="0" Background="Transparent" FocusVisualStyle="{x:Null}" Command="{Binding SaveCutConfigDataCommand}">
<Border HorizontalAlignment="Center"
VerticalAlignment="Center"
Margin="0 0 0 0"
Padding="10, 10"
Width="100"
BorderThickness="0"
CornerRadius="20">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#29c4ba" Offset="0"/>
<GradientStop Color="#13b1a8" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
<TextBlock Text="{ DynamicResource Save}" TextAlignment="Center" Foreground="#ffffff" FontSize="16"></TextBlock>
</Border>
</Button>
<Button Grid.Column="2" Width="100" Margin="10 5 " Padding="0" Height="50"
BorderThickness="0" Background="Transparent" FocusVisualStyle="{x:Null}" Command="{Binding AddRowsCommand}">
<Border HorizontalAlignment="Center"
VerticalAlignment="Center"
Margin="0 0 0 0"
Padding="10, 10"
Width="100"
BorderThickness="0"
CornerRadius="20">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#29c4ba" Offset="0"/>
<GradientStop Color="#13b1a8" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
<TextBlock Text="{ DynamicResource AddRow}" TextAlignment="Center" Foreground="#ffffff" FontSize="16"></TextBlock>
</Border>
</Button>
<DataGrid Grid.Row="1" ItemsSource="{Binding CutterInfos}" AutoGenerateColumns="False" CanUserAddRows="False">
</Grid>
<DataGrid Grid.Row="1" ItemsSource="{Binding CutterInfos}"
AutoGenerateColumns="False"
CanUserAddRows="False">
<DataGrid.Resources>
<Style x:Key="CenteredTextBlockStyle" TargetType="TextBlock">
<Setter Property="TextAlignment" Value="Center"/>
<Setter Property="HorizontalAlignment" Value="Stretch"/>
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
</DataGrid.Resources>
<DataGrid.ColumnHeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="Background" Value="#efefefef" />
<Setter Property="FontSize" Value="14px" />
<Setter Property="FontSize" Value="18px" />
<Setter Property="Height" Value="39" />
<Setter Property="HorizontalAlignment" Value="Center" />
</Style>
@ -38,12 +82,12 @@
<Style TargetType="DataGrid">
<Setter Property="HorizontalGridLinesBrush">
<Setter.Value>
<SolidColorBrush Color="#03ffea"/>
<SolidColorBrush Color="#efefefef"/>
</Setter.Value>
</Setter>
<Setter Property="VerticalGridLinesBrush">
<Setter.Value>
<SolidColorBrush Color="#03ffea"/>
<SolidColorBrush Color="#efefefef"/>
</Setter.Value>
</Setter>
</Style>
@ -52,21 +96,23 @@
<Style TargetType="DataGridRow">
<Setter Property="Height" Value="39" />
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="FontSize" Value="14px" />
<Setter Property="FontSize" Value="18px" />
</Style>
</DataGrid.RowStyle>
<DataGrid.Columns>
<DataGridTextColumn Header="项目名称" Width="355"
<DataGridTextColumn Header="项目名称" Width="2*" ElementStyle="{StaticResource CenteredTextBlockStyle}"
Binding="{Binding ItemName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
/>
<DataGridTextColumn Header="Key" Width="355"
<DataGridTextColumn Header="Key" Width="*" ElementStyle="{StaticResource CenteredTextBlockStyle}"
Binding="{Binding Key, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
<DataGridTextColumn Header="Value" Width="355"
<DataGridTextColumn Header="Value" Width="*" ElementStyle="{StaticResource CenteredTextBlockStyle}"
Binding="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
<DataGridTemplateColumn Header="操作" Width="136">
<DataGridTemplateColumn Header="操作" Width="*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Content="删除" Command="{Binding DataContext.DelCutRowCommand,RelativeSource={RelativeSource AncestorType=DataGrid}}" CommandParameter="{Binding}"></Button>
<Button Content="删除" Style="{StaticResource ButtonDanger}" Command="{Binding DataContext.DelCutRowCommand,RelativeSource={RelativeSource AncestorType=DataGrid}}" CommandParameter="{Binding}">
</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
@ -76,6 +122,6 @@
Binding="{Binding GUID}" />
</DataGrid.Columns>
</DataGrid>
<Button Grid.Row="2" Content="保存更新" Command="{Binding SaveCutConfigDataCommand}"/>
</Grid>
</Border>

@ -7,10 +7,12 @@
xmlns:hc="https://handyorg.github.io/handycontrol"
d:DesignWidth="1000"
d:DesignHeight="600"
mc:Ignorable="d">
<Border.Resources>
<BooleanToVisibilityConverter x:Key="BoolToVisibilityConverter"/>
</Border.Resources>
<Border CornerRadius="15" Padding="15" Background="#F7F7F7">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition MinWidth="350" Width="1*" />
@ -101,4 +103,7 @@
</ItemsControl>
</Border>
</Grid>
</Border>
</Border>

@ -259,6 +259,7 @@
Background="Transparent"
BorderThickness="0"
CanUserSortColumns="False"
CanUserResizeColumns="False"
GridLinesVisibility="None"
HorizontalScrollBarVisibility="Hidden"
VerticalScrollBarVisibility="Hidden"

@ -346,6 +346,7 @@ public class ViewportHelperPro
List<Vector3> selFaceVector = new List<Vector3>();
if (waistList.Count > 0)
{
//顶线和底线
foreach (var entity in waistList)
{
selFaceVector.Add(entity.Point1);
@ -367,8 +368,20 @@ public class ViewportHelperPro
}
result.Add(DisplayLineModel3D( VectorClockwiseSort(ViewportManager.GirdleBottomLines), color??ViewportManager.LineColor, thickness));
result.Add(DisplayLineModel3D( VectorClockwiseSort(ViewportManager.GirdleTopLines), color??ViewportManager.LineColor, thickness));
//找到所有平行于Y轴的线
for (int i = 0; i < uniqueVectors.ToList().Count - 1; i++)
{
var nowItem = uniqueVectors.ToList()[i];
var nextItem = uniqueVectors.ToList()[i + 1];
var line = new Tuple<Vector3, Vector3>(nowItem, nextItem);
if (IsLineSegmentParallelToYAxis(line))
{
result.Add(DisplayLineModel3D(new List<Vector3>(){nowItem,nextItem }, color??ViewportManager.LineColor, thickness));
}
}
}
return result;
}
@ -1009,6 +1022,17 @@ public class ViewportHelperPro
var v = p2 - p0;
return Vector3.Cross(u, v);
}
private static bool IsLineSegmentParallelToYAxis(Tuple<Vector3, Vector3> lineSegment,float epsilon = 1e-6f)
{
Vector3 nowItem = lineSegment.Item1;
Vector3 nextItem = lineSegment.Item2;
if (Math.Abs(nowItem.X - nextItem.X) < epsilon && Math.Abs(nowItem.Z - nextItem.Z) < epsilon)
{
return true; // 平行于 Y 轴
}
return false; // 不平行于 Y 轴
}
#endregion
}
Loading…
Cancel
Save