Files
ShrlAlgoToolkit/ShrlAlgo.RvKits/RvCommon/ModelByCurveCreatorView.xaml

147 lines
7.9 KiB
Plaintext
Raw Normal View History

<ui:FluentWindowEx
x:Class="ShrlAlgo.RvKits.RvCommon.ModelByCurveCreatorView"
2024-09-22 11:05:41 +08:00
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:ShrlAlgo.RvKits.RvCommon"
2024-09-22 11:05:41 +08:00
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:ui="https://github.com/ShrlAlgo/WPFluent"
2024-09-22 11:05:41 +08:00
Title="曲线布置"
Width="500"
d:DataContext="{d:DesignInstance Type=local:ModelByCurveCreatorViewModel}"
mc:Ignorable="d">
<Window.Resources>
<ResourceDictionary Source="pack://application:,,,/ShrlAlgo.RvKits;component/WPFUI.xaml" />
2024-09-22 11:05:41 +08:00
</Window.Resources>
<ui:AutoGridEx Columns="*" Rows="*,Auto,Auto">
<ui:AutoGridEx
2024-09-22 11:05:41 +08:00
Grid.Row="0"
ChildMargin="5"
Columns="*,*"
Rows="*">
<GroupBox
Grid.Row="0"
Grid.Column="0"
VerticalAlignment="Stretch"
Header="沿线放样">
<ui:StackPanelEx Spacing="5">
<ui:ComboBoxEx
2024-09-22 11:05:41 +08:00
ItemTemplate="{StaticResource MultiDisplayMemberPath}"
ItemsSource="{Binding ProfileFamilyTypes, Mode=OneWay}"
PlaceholderText="请选择轮廓类型"
SelectedItem="{Binding SelectedProfileFamilyType, UpdateSourceTrigger=PropertyChanged}"
ToolTip="选择轮廓类型,未选择则不创建,&#xA;右键点击清除选择">
<b:Interaction.Triggers>
<b:EventTrigger EventName="MouseRightButtonUp">
<b:InvokeCommandAction Command="{Binding ClearProfilesSelectionCommand}" />
</b:EventTrigger>
</b:Interaction.Triggers>
</ui:ComboBoxEx>
<ui:ComboBoxEx
2024-09-22 11:05:41 +08:00
DisplayMemberPath="Name"
ItemsSource="{Binding Materials, Mode=OneWay}"
PlaceholderText="请选择放样的材质"
SelectedItem="{Binding SelectedMaterial, UpdateSourceTrigger=PropertyChanged}"
ToolTip="选择放样模型材质,未选择则为默认材质,&#xA;右键点击清除选择">
<b:Interaction.Triggers>
<b:EventTrigger EventName="MouseRightButtonUp">
<b:InvokeCommandAction Command="{Binding ClearMaterialSelectionCommand}" />
</b:EventTrigger>
</b:Interaction.Triggers>
</ui:ComboBoxEx>
<ui:TextBoxEx
2024-09-22 11:05:41 +08:00
InputMethod.IsInputMethodEnabled="False"
Prefix="偏移距离X"
Suffix="mm"
Text="{Binding OffsetX, StringFormat={}{0:N2}, UpdateSourceTrigger=PropertyChanged}"
ToolTip="向右偏移设置为正值,&#xA;向左偏移为负值" />
<ui:TextBoxEx
2024-09-22 11:05:41 +08:00
InputMethod.IsInputMethodEnabled="False"
Prefix="偏移距离Y"
Suffix="mm"
Text="{Binding OffsetY, StringFormat={}{0:N2}, UpdateSourceTrigger=PropertyChanged}"
ToolTip="向上偏移设置为正值,&#xA;向下偏移为负值" />
</ui:StackPanelEx>
2024-09-22 11:05:41 +08:00
</GroupBox>
<GroupBox
Grid.Row="0"
Grid.Column="1"
VerticalAlignment="Stretch"
Header="沿线布置">
<ui:StackPanelEx Spacing="5">
<ui:ComboBoxEx
2024-09-22 11:05:41 +08:00
ItemTemplate="{StaticResource MultiDisplayMemberPath}"
ItemsSource="{Binding FamilyTypes, Mode=OneWay}"
PlaceholderText="请选择实例类型"
SelectedItem="{Binding SelectedFamilyType, UpdateSourceTrigger=PropertyChanged}"
ToolTip="选择需要布置的族实例,未选择则不创建,&#xA;右键点击清除选择">
<b:Interaction.Triggers>
<b:EventTrigger EventName="MouseRightButtonUp">
<b:InvokeCommandAction Command="{Binding ClearFmailyTypeSelectionCommand}" />
</b:EventTrigger>
</b:Interaction.Triggers>
</ui:ComboBoxEx>
<ui:TextBoxEx
2024-09-22 11:05:41 +08:00
InputMethod.IsInputMethodEnabled="False"
Prefix="水平间距:"
Suffix="mm"
Text="{Binding Spacing, StringFormat={}{0:N2}, UpdateSourceTrigger=PropertyChanged}" />
<ui:TextBoxEx
2024-09-22 11:05:41 +08:00
InputMethod.IsInputMethodEnabled="False"
Prefix="偏移距离X"
Suffix="mm"
Text="{Binding InstanceOffsetX, StringFormat={}{0:N2}, UpdateSourceTrigger=PropertyChanged}"
ToolTip="向右偏移设置为正值,&#xA;向左偏移为负值" />
<ui:TextBoxEx
2024-09-22 11:05:41 +08:00
InputMethod.IsInputMethodEnabled="False"
Prefix="偏移距离Y"
Suffix="mm"
Text="{Binding InstanceOffsetY, StringFormat={}{0:N2}, UpdateSourceTrigger=PropertyChanged}"
ToolTip="向上偏移设置为正值,&#xA;向下偏移为负值" />
</ui:StackPanelEx>
2024-09-22 11:05:41 +08:00
</GroupBox>
</ui:AutoGridEx>
2024-09-22 11:05:41 +08:00
<GroupBox
Grid.Row="1"
Margin="5"
Header="中心线类型">
<UniformGrid VerticalAlignment="Center" Rows="1">
<RadioButton
Content="模型线"
IsChecked="{Binding CenterCurveType, ConverterParameter={x:Static local:CenterCurveType.ModelCurve}, Converter={StaticResource ComparisonConverter}}"
ToolTip="模型线的定位平面为绘制时的工作平面,&#xA;如在楼层楼层平面为该楼层高度" />
<RadioButton
Content="体量族"
IsChecked="{Binding CenterCurveType, ConverterParameter={x:Static local:CenterCurveType.MassCurve}, Converter={StaticResource ComparisonConverter}}"
ToolTip="体量族中仅包含有一条连续的三维曲线" />
<RadioButton
Content="dwg链接"
IsChecked="{Binding CenterCurveType, ConverterParameter={x:Static local:CenterCurveType.DWGCurve}, Converter={StaticResource ComparisonConverter}}"
ToolTip="dwg中仅有一条连续的三维曲线" />
</UniformGrid>
</GroupBox>
<UniformGrid
Grid.Row="2"
Margin="5"
Rows="1">
<ui:TextBoxEx
2024-09-22 11:05:41 +08:00
InputMethod.IsInputMethodEnabled="False"
Prefix="最小细分长度:"
Suffix="m"
Text="{Binding Precision, UpdateSourceTrigger=PropertyChanged}"
ToolTip="数值越小,越拟合原曲线,&#xA;建议模型线由于单条曲线较长取值小一些dwg的曲线由于单条曲线较短取值大一些" />
<CheckBox
HorizontalAlignment="Center"
Content="两侧布置"
IsChecked="{Binding IsTwoSides}"
ToolTip="在中心线两侧布置放样(会合并)和实例" />
<Button
HorizontalAlignment="Stretch"
Command="{Binding CreateTrackCommand}"
Content="创建" />
</UniformGrid>
</ui:AutoGridEx>
</ui:FluentWindowEx>