调整代码

This commit is contained in:
GG Z
2026-02-22 20:03:42 +08:00
parent 2ad3d0fde0
commit 7e2d5be3cd
258 changed files with 2916 additions and 5013 deletions

View File

@@ -0,0 +1,148 @@
<ui:MelWindow
x:Class="ShrlAlgoToolkit.RevitAddins.FamMaster.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:rvCommon1="clr-namespace:ShrlAlgoToolkit.RevitAddins.General"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
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 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">
<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>