Files
Shrlalgo.RvKits/ShrlAlgoToolkit.RevitAddins/RvCommon/ModelByCurveCreatorView.xaml
2026-01-02 17:30:41 +08:00

149 lines
8.2 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<ui:MelWindow
x:Class="ShrlAlgoToolkit.RevitAddins.RvCommon.ModelByCurveCreatorView"
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:ShrlAlgoToolkit.RevitAddins.RvCommon"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:rvCommon="clr-namespace:ShrlAlgoToolkit.RevitAddins.RvCommon"
xmlns:ui="https://github.com/ShrlAlgo/Melskin"
Title="曲线布置"
Width="500"
Height="400"
d:DataContext="{d:DesignInstance Type=local:ModelByCurveCreatorViewModel}"
Icon="{DynamicResource RevitIcon}"
mc:Ignorable="d">
<Window.Resources>
<ResourceDictionary Source="pack://application:,,,/ShrlAlgoToolkit.RevitAddins;component/WPFUI.xaml" />
</Window.Resources>
<ui:Grid Columns="*" Rows="*,Auto,Auto">
<ui:Grid
Grid.Row="0"
ChildMargin="5"
Columns="*,*"
Rows="*">
<GroupBox
Grid.Row="0"
Grid.Column="0"
VerticalAlignment="Stretch"
Header="沿线放样">
<ui:StackPanel Spacing="5">
<ComboBox
ui:InputAssist.PlaceholderText="请选择轮廓类型"
ItemTemplate="{StaticResource MultiDisplayMemberPath}"
ItemsSource="{Binding ProfileFamilyTypes, Mode=OneWay}"
SelectedItem="{Binding SelectedProfileFamilyType, UpdateSourceTrigger=PropertyChanged}"
ToolTip="选择轮廓类型,未选择则不创建,&#xA;右键点击清除选择">
<b:Interaction.Triggers>
<b:EventTrigger EventName="MouseRightButtonUp">
<b:InvokeCommandAction Command="{Binding ClearProfilesSelectionCommand}" />
</b:EventTrigger>
</b:Interaction.Triggers>
</ComboBox>
<ComboBox
ui:InputAssist.PlaceholderText="请选择放样的材质"
DisplayMemberPath="Name"
ItemsSource="{Binding Materials, Mode=OneWay}"
SelectedItem="{Binding SelectedMaterial, UpdateSourceTrigger=PropertyChanged}"
ToolTip="选择放样模型材质,未选择则为默认材质,&#xA;右键点击清除选择">
<b:Interaction.Triggers>
<b:EventTrigger EventName="MouseRightButtonUp">
<b:InvokeCommandAction Command="{Binding ClearMaterialSelectionCommand}" />
</b:EventTrigger>
</b:Interaction.Triggers>
</ComboBox>
<TextBox
ui:InputAssist.Prefix="偏移距离X"
ui:InputAssist.Suffix="mm"
InputMethod.IsInputMethodEnabled="False"
Text="{Binding OffsetX, StringFormat={}{0:N2}, UpdateSourceTrigger=PropertyChanged}"
ToolTip="向右偏移设置为正值,&#xA;向左偏移为负值" />
<TextBox
ui:InputAssist.Prefix="偏移距离Y"
ui:InputAssist.Suffix="mm"
InputMethod.IsInputMethodEnabled="False"
Text="{Binding OffsetY, StringFormat={}{0:N2}, UpdateSourceTrigger=PropertyChanged}"
ToolTip="向上偏移设置为正值,&#xA;向下偏移为负值" />
</ui:StackPanel>
</GroupBox>
<GroupBox
Grid.Row="0"
Grid.Column="1"
VerticalAlignment="Stretch"
Header="沿线布置">
<ui:StackPanel Spacing="5">
<ComboBox
ui:InputAssist.PlaceholderText="请选择实例类型"
ItemTemplate="{StaticResource MultiDisplayMemberPath}"
ItemsSource="{Binding FamilyTypes, Mode=OneWay}"
SelectedItem="{Binding SelectedFamilyType, UpdateSourceTrigger=PropertyChanged}"
ToolTip="选择需要布置的族实例,未选择则不创建,&#xA;右键点击清除选择">
<b:Interaction.Triggers>
<b:EventTrigger EventName="MouseRightButtonUp">
<b:InvokeCommandAction Command="{Binding ClearFmailyTypeSelectionCommand}" />
</b:EventTrigger>
</b:Interaction.Triggers>
</ComboBox>
<TextBox
ui:InputAssist.Prefix="水平间距:"
ui:InputAssist.Suffix="mm"
InputMethod.IsInputMethodEnabled="False"
Text="{Binding Spacing, StringFormat={}{0:N2}, UpdateSourceTrigger=PropertyChanged}" />
<TextBox
ui:InputAssist.Prefix="偏移距离X"
ui:InputAssist.Suffix="mm"
InputMethod.IsInputMethodEnabled="False"
Text="{Binding InstanceOffsetX, StringFormat={}{0:N2}, UpdateSourceTrigger=PropertyChanged}"
ToolTip="向右偏移设置为正值,&#xA;向左偏移为负值" />
<TextBox
ui:InputAssist.Prefix="偏移距离Y"
ui:InputAssist.Suffix="mm"
InputMethod.IsInputMethodEnabled="False"
Text="{Binding InstanceOffsetY, StringFormat={}{0:N2}, UpdateSourceTrigger=PropertyChanged}"
ToolTip="向上偏移设置为正值,&#xA;向下偏移为负值" />
</ui:StackPanel>
</GroupBox>
</ui:Grid>
<GroupBox
Grid.Row="1"
Margin="5"
Header="中心线类型">
<UniformGrid VerticalAlignment="Center" Rows="1">
<RadioButton
Content="模型线"
IsChecked="{Binding CenterCurveType, ConverterParameter={x:Static rvCommon:CenterCurveType.ModelCurve}, Converter={StaticResource ComparisonConverter}}"
ToolTip="模型线的定位平面为绘制时的工作平面,&#xA;如在楼层楼层平面为该楼层高度" />
<RadioButton
Content="体量族"
IsChecked="{Binding CenterCurveType, ConverterParameter={x:Static rvCommon:CenterCurveType.MassCurve}, Converter={StaticResource ComparisonConverter}}"
ToolTip="体量族中仅包含有一条连续的三维曲线" />
<RadioButton
Content="dwg链接"
IsChecked="{Binding CenterCurveType, ConverterParameter={x:Static rvCommon:CenterCurveType.DWGCurve}, Converter={StaticResource ComparisonConverter}}"
ToolTip="dwg中仅有一条连续的三维曲线" />
</UniformGrid>
</GroupBox>
<UniformGrid
Grid.Row="2"
Margin="5"
Rows="1">
<TextBox
ui:InputAssist.Prefix="最小细分长度:"
ui:InputAssist.Suffix="m"
InputMethod.IsInputMethodEnabled="False"
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:Grid>
</ui:MelWindow>