279 lines
21 KiB
XML
279 lines
21 KiB
XML
<UserControl x:Class="WeldingCommon.Views.UCConvEdgeObject"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:local="clr-namespace:WeldingCommon.Views"
|
|
d:DataContext="{d:DesignInstance Type=local:UCConvEdgeObjectViewModel}"
|
|
xmlns:usercontrols="clr-namespace:AuroraUIComponent.UserControls;assembly=AuroraUIComponent"
|
|
xmlns:auroracontrols="clr-namespace:Aurora.Api.Control;assembly=Aurora"
|
|
mc:Ignorable="d"
|
|
d:DesignHeight="800" d:DesignWidth="1700">
|
|
<UserControl.Resources>
|
|
<ResourceDictionary>
|
|
<Style x:Key="styleRbJogUnit" TargetType="RadioButton">
|
|
<Setter Property="MinWidth" Value="{Binding RelativeSource={x:Static RelativeSource.Self}, Path=ActualHeight}"/>
|
|
<!--<Setter Property="FontWeight" Value="Bold"/>-->
|
|
<Setter Property="FontSize" Value="14"/>
|
|
<Setter Property="Foreground" Value="White"/>
|
|
<Setter Property="Height" Value="40"/>
|
|
<Setter Property="OverridesDefaultStyle" Value="True"/>
|
|
<Setter Property="Margin" Value="2 0"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type RadioButton}">
|
|
<Border Name="border" BorderThickness="1" Background="#1A2242" BorderBrush="#1A2242">
|
|
<ContentPresenter Margin="0,0,0,4" HorizontalAlignment="Center" VerticalAlignment="Center" />
|
|
</Border>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter Property="Opacity" Value="0.8" />
|
|
</Trigger>
|
|
<Trigger Property="IsChecked" Value="True">
|
|
<Setter TargetName="border" Property="Background" Value="#A50034" />
|
|
<Setter TargetName="border" Property="BorderThickness" Value="1" />
|
|
<Setter Property="FontWeight" Value="Bold" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
</ResourceDictionary>
|
|
</UserControl.Resources>
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Grid Grid.Column="0">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="3*"/>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="10*"/>
|
|
</Grid.RowDefinitions>
|
|
<StackPanel Grid.Row="0" Orientation="Horizontal">
|
|
<TextBlock Margin="10 0 10 0" FontSize="20" FontWeight="Bold" Text="Load Image"></TextBlock>
|
|
<Button Margin="10" Width="100" FontSize="15" Command="{Binding CMD_LoadImg}">Load</Button>
|
|
</StackPanel>
|
|
<StackPanel Grid.Row="1" Orientation="Horizontal">
|
|
<Border Margin="10" Width="400" BorderBrush="Gray" BorderThickness="1" HorizontalAlignment="Left">
|
|
<Image Source="{Binding OriginImage}"></Image>
|
|
</Border>
|
|
<!-- Masked Image 미사용-->
|
|
<!--<Border Margin="10" Width="400" BorderBrush="Gray" BorderThickness="1" HorizontalAlignment="Left">
|
|
<Image Source="{Binding MaskedImage}"></Image>
|
|
</Border>-->
|
|
</StackPanel>
|
|
<StackPanel Grid.Row="2" Orientation="Horizontal">
|
|
<TextBlock Margin="10 0 10 0" FontSize="20" FontWeight="Bold" Text="Result Image"></TextBlock>
|
|
<Button Margin="3" Width="100" FontSize="15" Command="{Binding CMD_SaveImg}">Save Img</Button>
|
|
<Button Margin="3" Width="100" FontSize="15" Command="{Binding CMD_SaveCSV}">Save CSV</Button>
|
|
</StackPanel>
|
|
<Border Grid.Row="3" Margin="10" BorderBrush="Gray" BorderThickness="1" ClipToBounds="True">
|
|
<Image x:Name="ImageControl" Source="{Binding ResultImage}" RenderTransformOrigin="0.5,0.5" Stretch="Uniform">
|
|
<Image.RenderTransform>
|
|
<TransformGroup>
|
|
<ScaleTransform x:Name="ImageScaleTransform" />
|
|
<TranslateTransform x:Name="ImageTranslateTransform" />
|
|
</TransformGroup>
|
|
</Image.RenderTransform>
|
|
</Image>
|
|
</Border>
|
|
</Grid>
|
|
<Grid Grid.Column="1">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="1.2*"/>
|
|
<ColumnDefinition Width="1.2*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<StackPanel Grid.Column="0" Orientation="Vertical">
|
|
<!--<GroupBox Header="Vision Type" Margin="3">
|
|
<StackPanel Orientation="Vertical">
|
|
<RadioButton Command="{Binding CMD_VisionTypeChanged}" CommandParameter="OpenCV"
|
|
Style="{StaticResource styleRbJogUnit}" Content="OpenCV" Margin="3" IsChecked="True"/>
|
|
<RadioButton Command="{Binding CMD_VisionTypeChanged}" CommandParameter="MIL"
|
|
Style="{StaticResource styleRbJogUnit}" Content="MIL" Margin="3"/>
|
|
</StackPanel>
|
|
</GroupBox>-->
|
|
<GroupBox Header="Machine Type" Margin="3">
|
|
<StackPanel>
|
|
<ComboBox ItemsSource="{Binding Options}"
|
|
SelectedItem="{Binding SelectedOption}"
|
|
Height="30" Margin="10" />
|
|
<GroupBox Header="RCC Manual Operation" Margin="3">
|
|
<StackPanel Orientation="Vertical">
|
|
<ItemsControl ItemsSource="{Binding CurrentButtons}">
|
|
<ItemsControl.ItemTemplate>
|
|
<DataTemplate>
|
|
<Button Content="{Binding Name}"
|
|
Command="{Binding Command}"
|
|
Margin="3" FontSize="15" />
|
|
</DataTemplate>
|
|
</ItemsControl.ItemTemplate>
|
|
</ItemsControl>
|
|
</StackPanel>
|
|
</GroupBox>
|
|
</StackPanel>
|
|
</GroupBox>
|
|
<GroupBox Header="EdgeDetect Offset Type" Margin="3">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<RadioButton Grid.Column="0" Command="{Binding CMD_OffsetTypeChanged}" CommandParameter="Manual"
|
|
Style="{StaticResource styleRbJogUnit}" Content="Manual" Margin="3" IsChecked="True"/>
|
|
<RadioButton Grid.Column="1" Command="{Binding CMD_OffsetTypeChanged}" CommandParameter="CSV"
|
|
Style="{StaticResource styleRbJogUnit}" Content="Table" Margin="3"/>
|
|
</Grid>
|
|
</GroupBox>
|
|
<GroupBox Header="EdgeDetect Param" Margin="3">
|
|
<StackPanel Orientation="Vertical">
|
|
<StackPanel Orientation="Vertical">
|
|
<usercontrols:UCKeyValue KeyText="Threshold : " Value="{Binding CVThreshold}" DecimalPlaces="0" ShowKeypad="False" />
|
|
<GroupBox Header="4 Shrink Distance" Margin="1">
|
|
<!--<WrapPanel Height="80">
|
|
<usercontrols:UCKeyValue KeyText="2 :" Value="{Binding CVShrinkPixel2}" Unit="pixel" DecimalPlaces="0" ShowKeypad="False" Width="110" Height="35" KeyHorizontalAlignment="Center"/>
|
|
<usercontrols:UCKeyValue KeyText="1 :" Value="{Binding CVShrinkPixel}" Unit="pixel" DecimalPlaces="0" ShowKeypad="False" Width="110" Height="35" KeyHorizontalAlignment="Center"/>
|
|
<usercontrols:UCKeyValue KeyText="3 :" Value="{Binding CVShrinkPixel3}" Unit="pixel" DecimalPlaces="0" ShowKeypad="False" Width="110" Height="35" KeyHorizontalAlignment="Center"/>
|
|
<usercontrols:UCKeyValue KeyText="4 :" Value="{Binding CVShrinkPixel4}" Unit="pixel" DecimalPlaces="0" ShowKeypad="False" Width="110" Height="35" KeyHorizontalAlignment="Center"/>
|
|
</WrapPanel>-->
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="*"/>
|
|
</Grid.RowDefinitions>
|
|
<usercontrols:UCKeyValue Grid.Column="0" Grid.Row="0" KeyText="Quad2 :" Value="{Binding CVShrinkPixel2}" Unit="px" DecimalPlaces="0" ShowKeypad="False" KeyHorizontalAlignment="Center"/>
|
|
<usercontrols:UCKeyValue Grid.Column="1" Grid.Row="0" KeyText="Quad1 :" Value="{Binding CVShrinkPixel}" Unit="px" DecimalPlaces="0" ShowKeypad="False" KeyHorizontalAlignment="Center"/>
|
|
<usercontrols:UCKeyValue Grid.Column="0" Grid.Row="1" KeyText="Quad3 :" Value="{Binding CVShrinkPixel3}" Unit="px" DecimalPlaces="0" ShowKeypad="False" KeyHorizontalAlignment="Center"/>
|
|
<usercontrols:UCKeyValue Grid.Column="1" Grid.Row="1" KeyText="Quad4 :" Value="{Binding CVShrinkPixel4}" Unit="px" DecimalPlaces="0" ShowKeypad="False" KeyHorizontalAlignment="Center"/>
|
|
</Grid>
|
|
</GroupBox>
|
|
<!--<usercontrols:UCKeyValue KeyText="MorpIterations : " Value="{Binding CVMorpIterations}" DecimalPlaces="0" ShowKeypad="False" />
|
|
<usercontrols:UCKeyValue KeyText="MorpMaskSize : " Value="{Binding CVMorpMaskSize}" DecimalPlaces="0" ShowKeypad="False" />-->
|
|
<usercontrols:UCKeyValue KeyText="Radius : " Value="{Binding Radius}" Unit="mm" DecimalPlaces="2" ShowKeypad="False" />
|
|
<usercontrols:UCKeyValue KeyText="Margin : " Value="{Binding Margin}" Unit="pixel" DecimalPlaces="0" ShowKeypad="False" />
|
|
<usercontrols:UCKeyValue KeyText="DividePointNum : " Value="{Binding PointNum}" Unit="count" DecimalPlaces="0" ShowKeypad="False" />
|
|
<usercontrols:UCKeyValue KeyText="DetectPoint : " Value="{Binding DetectPointPercent}" Unit="%" DecimalPlaces="2" ShowKeypad="False" />
|
|
|
|
</StackPanel>
|
|
<!--MiL은 현재 미사용으로 주석-->
|
|
<!--<GroupBox Header="MIL Param" Margin="3">
|
|
<StackPanel Orientation="Vertical">
|
|
<usercontrols:UCKeyValue KeyText="Threshold : " Value="{Binding MILThreshold}" DecimalPlaces="0" ShowKeypad="False" />
|
|
<usercontrols:UCKeyValue KeyText="FillGapDist : " Value="{Binding MILFillGapDist}" DecimalPlaces="0" ShowKeypad="False" />
|
|
<usercontrols:UCKeyValue KeyText="ShrinkDist : " Value="{Binding MILShrinkDist}" DecimalPlaces="0" Unit="res" ShowKeypad="False" />
|
|
</StackPanel>
|
|
</GroupBox>-->
|
|
</StackPanel>
|
|
</GroupBox>
|
|
<GroupBox Header="EdgeDetect Result Data" Margin="3">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="*"/>
|
|
</Grid.RowDefinitions>
|
|
<usercontrols:UCKeyValue Grid.Column="0" Grid.Row="0" KeyText="Ref X : " Value="{Binding ReferenceX}" Unit="mm" DecimalPlaces="1" ShowKeypad="False" IsReadOnly="True"/>
|
|
<usercontrols:UCKeyValue Grid.Column="0" Grid.Row="1" KeyText="Ref Y : " Value="{Binding ReferenceY}" Unit="mm" DecimalPlaces="1" ShowKeypad="False" IsReadOnly="True"/>
|
|
<usercontrols:UCKeyValue Grid.Column="0" Grid.Row="2" KeyText="Refe Th : " Value="{Binding ReferenceTh}" Unit="deg" DecimalPlaces="1" ShowKeypad="False" IsReadOnly="True"/>
|
|
<usercontrols:UCKeyValue Grid.Column="1" Grid.Row="0" KeyText="Offset X : " Value="{Binding OffsetX}" Unit="mm" DecimalPlaces="1" ShowKeypad="False" IsReadOnly="True"/>
|
|
<usercontrols:UCKeyValue Grid.Column="1" Grid.Row="1" KeyText="Offset Y : " Value="{Binding OffsetY}" Unit="mm" DecimalPlaces="1" ShowKeypad="False" IsReadOnly="True"/>
|
|
<usercontrols:UCKeyValue Grid.Column="1" Grid.Row="2" KeyText="Offset Th : " Value="{Binding OffsetTh}" Unit="deg" DecimalPlaces="1" ShowKeypad="False" IsReadOnly="True"/>
|
|
</Grid>
|
|
</GroupBox>
|
|
<!-- 이미지 Masking 미사용으로 주석처리 -->
|
|
<!--<GroupBox Header="Masking Param" Margin="3">
|
|
<StackPanel Orientation="Vertical">
|
|
<usercontrols:UCKeyValue KeyText="Inner Circle Size : " Value="{Binding CVInnerCircleSize}" Unit="mm" DecimalPlaces="0" ShowKeypad="False" />
|
|
<usercontrols:UCKeyValue KeyText="Outer Circle Size : " Value="{Binding CVOuterCircleSize}" Unit="mm" DecimalPlaces="0" ShowKeypad="False" />
|
|
</StackPanel>
|
|
</GroupBox>-->
|
|
|
|
</StackPanel>
|
|
<StackPanel Grid.Column="1">
|
|
<GroupBox Header="Object Gen Type" Margin="3">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<RadioButton Grid.Column="0" Command="{Binding CMD_ObjectGenTypeChanged}" CommandParameter="ArcByAngle"
|
|
Style="{StaticResource styleRbJogUnit}" Content="ArcByAngle" Margin="3" IsChecked="True"/>
|
|
<RadioButton Grid.Column="1" Command="{Binding CMD_ObjectGenTypeChanged}" CommandParameter="FitArcsAndLines"
|
|
Style="{StaticResource styleRbJogUnit}" Content="FitArcsAndLines" Margin="3"/>
|
|
</Grid>
|
|
</GroupBox>
|
|
<GroupBox Header="GenObject Param" Margin="3">
|
|
<StackPanel Orientation="Vertical">
|
|
<GroupBox Header="ArcByAngle" Margin="3">
|
|
<usercontrols:UCKeyValue KeyText="ObjectNumber : " Value="{Binding ObjectNumber}" DecimalPlaces="0" ShowKeypad="False" />
|
|
</GroupBox>
|
|
<GroupBox Header="FitArcsAndLines" Margin="3">
|
|
<StackPanel>
|
|
<usercontrols:UCKeyValue KeyText="MergeDist : " Value="{Binding dMergeDist}" Unit="pixel" DecimalPlaces="1" ShowKeypad="False" />
|
|
<usercontrols:UCKeyValue KeyText="MaxArcRadius : " Value="{Binding nMaxArcRadius}" DecimalPlaces="0" ShowKeypad="False" />
|
|
<usercontrols:UCKeyValue KeyText="LineTolerance : " Value="{Binding nLineTolerance}" DecimalPlaces="0" ShowKeypad="False" />
|
|
<usercontrols:UCKeyValue KeyText="ArcTolerance : " Value="{Binding nArcTolerance}" DecimalPlaces="0" ShowKeypad="False" />
|
|
<usercontrols:UCKeyValue KeyText="LineDefualtWidth : " Value="{Binding fLineDefualtWidth}" DecimalPlaces="2" ShowKeypad="False" />
|
|
</StackPanel>
|
|
</GroupBox>
|
|
</StackPanel>
|
|
</GroupBox>
|
|
<GroupBox Header="DrawObject Interlock Param" Margin="3">
|
|
<StackPanel Orientation="Vertical">
|
|
<usercontrols:UCKeyValue KeyText="Points Distance Range : " Value="{Binding DrawObjectDistanceRange}" Unit="mm" DecimalPlaces="2" ShowKeypad="False" />
|
|
<usercontrols:UCKeyValue KeyText="Path Length Diff Range : " Value="{Binding DrawObjectLengthSumDiffRange}" Unit="mm" DecimalPlaces="2" ShowKeypad="False" />
|
|
<usercontrols:UCKeyValue KeyText="Arc Length Max : " Value="{Binding DrawObjectArcLengthMax}" Unit="mm" DecimalPlaces="0" ShowKeypad="False" />
|
|
<usercontrols:UCKeyValue KeyText="CenterXY Diff Range : " Value="{Binding DrawObjectCenterXYDiffRange}" Unit="mm" DecimalPlaces="2" ShowKeypad="False" />
|
|
</StackPanel>
|
|
</GroupBox>
|
|
<!--<GroupBox Header="Object Detection" Margin="3">
|
|
<StackPanel Orientation="Vertical">
|
|
<Button Margin="3" FontSize="15" Command="{Binding CMD_FindReference}">Find Reference</Button>
|
|
<Button Margin="3" FontSize="15" Command="{Binding CMD_FindObject}">Find</Button>
|
|
<Button Margin="3" FontSize="15" Command="{Binding CMD_RecipeUpdateObject}">Recipe Update</Button>
|
|
</StackPanel>
|
|
</GroupBox>-->
|
|
</StackPanel>
|
|
<Grid Grid.Column="2">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="2*"/>
|
|
</Grid.RowDefinitions>
|
|
<StackPanel Grid.Row="0">
|
|
<GroupBox Header="RCC Sequence" Margin="3">
|
|
<StackPanel Orientation="Vertical">
|
|
<Button Margin="5" FontSize="15" Command="{Binding CMD_FlyingSeqStart}">Start</Button>
|
|
<!--<Button Margin="5" Height="50" FontSize="30" Command="{Binding CMD_FlyingSeqRun}">Run</Button>-->
|
|
<Button Margin="5" FontSize="15" Command="{Binding CMD_FlyingSeqStop}">Stop</Button>
|
|
</StackPanel>
|
|
</GroupBox>
|
|
<GroupBox Header="Etc Operation">
|
|
<StackPanel Orientation="Vertical" Margin="3">
|
|
<Button Margin="3" FontSize="15" Command="{Binding CMD_RecommendDetectParam}">Recommend Edge Params</Button>
|
|
<Button Margin="3" FontSize="15" Command="{Binding CMD_CenterDetectTest}">Center Detect</Button>
|
|
<Button Margin="3" FontSize="15" Command="{Binding CMD_SystemParamSave}">SystemParameter Save</Button>
|
|
</StackPanel>
|
|
</GroupBox>
|
|
</StackPanel>
|
|
<DataGrid Grid.Row="1" Background="Black" BorderThickness="1" ColumnHeaderHeight="18" HorizontalGridLinesBrush="#FFA0A0A0" VerticalGridLinesBrush="#FFA0A0A0" RowHeight="27" IsReadOnly="True"
|
|
ItemsSource="{Binding ContourCorrection}" AutoGenerateColumns="True" ColumnWidth="100" GridLinesVisibility="All">
|
|
</DataGrid>
|
|
</Grid>
|
|
</Grid>
|
|
</Grid>
|
|
</Grid>
|
|
</UserControl>
|