大量更新

This commit is contained in:
GG Z
2025-12-23 21:35:54 +08:00
parent cd4733ee01
commit ceccab9abb
211 changed files with 9439 additions and 6578 deletions

View File

@@ -6,7 +6,6 @@ using Nice3point.Revit.Toolkit.External;
namespace ShrlAlgoToolkit.RevitAddins.RvView;
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
public class AdaptiveMEPTagCmd : ExternalCommand
{
public override void Execute()

View File

@@ -7,7 +7,6 @@ using Nice3point.Revit.Toolkit.External;
namespace ShrlAlgoToolkit.RevitAddins.RvView;
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
public class ArrangeTagsCmd : ExternalCommand
{
public override void Execute()

View File

@@ -10,7 +10,6 @@ using ShrlAlgoToolkit.Core.Assists;
namespace ShrlAlgoToolkit.RevitAddins.RvView;
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
public class CivilViewFilterCmd : ExternalCommand
{
public override void Execute()

View File

@@ -17,12 +17,12 @@
Spacing="5">
<Button
x:Name="HideElements"
ui:ButtonAssist.Icon="{ui:Icon SymbolValue=VisibilityOff}"
ui:ControlAssist.Icon="{ui:Icon SymbolValue=VisibilityOff}"
Click="Btn_Click"
Content="隐藏元素" />
<Button
x:Name="HideElementsAll"
ui:ButtonAssist.Icon="{ui:Icon SymbolValue=HideSource}"
ui:ControlAssist.Icon="{ui:Icon SymbolValue=HideSource}"
Click="Btn_Click"
Content="隐藏所有"
ToolTip="在所有视图中隐藏该元素" />
@@ -35,42 +35,42 @@
FontSize="18" />-->
<Button
x:Name="HideCategories"
ui:ButtonAssist.Icon="{ui:Icon SymbolValue=Category}"
ui:ControlAssist.Icon="{ui:Icon SymbolValue=Category}"
Click="Btn_Click"
Content="隐藏类别" />
<Button
x:Name="PinElements"
ui:ButtonAssist.Icon="{ui:Icon SymbolValue=Lock}"
ui:ControlAssist.Icon="{ui:Icon SymbolValue=Lock}"
Click="Btn_Click"
Content="锁定元素" />
<Button
x:Name="PinCategories"
ui:ButtonAssist.Icon="{ui:Icon SymbolValue=Lock}"
ui:ControlAssist.Icon="{ui:Icon SymbolValue=Lock}"
Click="Btn_Click"
Content="锁定类别" />
<Button
x:Name="UnpinCategories"
ui:ButtonAssist.Icon="{ui:Icon SymbolValue=LockOpen}"
ui:ControlAssist.Icon="{ui:Icon SymbolValue=LockOpen}"
Click="Btn_Click"
Content="解锁类别" />
<Button
x:Name="UnpinAllElements"
ui:ButtonAssist.Icon="{ui:Icon SymbolValue=LockOpenRight}"
ui:ControlAssist.Icon="{ui:Icon SymbolValue=LockOpenRight}"
Click="Btn_Click"
Content="解锁全部" />
<Button
x:Name="IsolateElements"
ui:ButtonAssist.Icon="{ui:Icon SymbolValue=Search}"
ui:ControlAssist.Icon="{ui:Icon SymbolValue=Search}"
Click="Btn_Click"
Content="隔离元素" />
<Button
x:Name="IsolateCategories"
ui:ButtonAssist.Icon="{ui:Icon SymbolValue=CategorySearch}"
ui:ControlAssist.Icon="{ui:Icon SymbolValue=CategorySearch}"
Click="Btn_Click"
Content="隔离类别" />
<Button
x:Name="RevealHiddenElements"
ui:ButtonAssist.Icon="{ui:Icon SymbolValue=Visibility}"
ui:ControlAssist.Icon="{ui:Icon SymbolValue=Visibility}"
Click="Btn_Click"
Content="显示隐藏" />
</ui:StackPanel>

View File

@@ -1,7 +1,9 @@
using System.Windows;
using System.Windows.Controls;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using Nice3point.Revit.Toolkit.External.Handlers;
@@ -74,19 +76,52 @@ public partial class ElementsControlDock : IDockablePaneProvider
//显示隐藏
else if (RevealHiddenElements == btn)
{
//if (doc.IsFamilyDocument)
//{
// ElementClassFilter formFilter = new(typeof(GenericForm));
// ElementClassFilter combineFilter = new(typeof(GeomCombination));
// orFilter = new(
// [instanceFilter, formFilter, combineFilter]);
//}
//var hiddenElemsIds = doc.OfCollector()
// .WherePasses(orFilter)
// .Where(e => e.IsHidden(view))
// .Select(e => e.Id).ToList();
//doc.Invoke(_ => view.UnhideElements(hiddenElemsIds), $"{btn.Content}");
if (doc.IsFamilyDocument)
{
ElementClassFilter formFilter = new(typeof(GenericForm));
ElementClassFilter combineFilter = new(typeof(GeomCombination));
orFilter = new(
[instanceFilter, formFilter, combineFilter]);
var col = new FilteredElementCollector(doc).WhereElementIsNotElementType();
var views = new FilteredElementCollector(doc).OfClass(typeof(View)).WhereElementIsNotElementType().Cast<View>().ToList();
Transaction transaction = new Transaction(doc, $"{btn.Content}");
transaction.Start();
foreach (var v in views)
{
foreach (Element item in col)
{
if (item.IsHidden(v))
{
v.UnhideElements([item.Id]);
}
}
}
transaction.Commit();
}
var hiddenElemsIds = doc.OfCollector()
.WherePasses(orFilter)
.Where(e => e.IsHidden(view))
.Select(e => e.Id).ToList();
doc.Invoke(_ => view.UnhideElements(hiddenElemsIds), $"{btn.Content}");
else
{
var col = new FilteredElementCollector(doc).WhereElementIsNotElementType();
Transaction transaction = new Transaction(doc, $"{btn.Content}");
transaction.Start();
foreach (Element item in col)
{
if (item.IsHidden(doc.ActiveView))
{
doc.ActiveView.UnhideElements([item.Id]);
}
}
transaction.Commit();
}
return;
}
//锁定元素
else if (PinElements == btn)

View File

@@ -1,29 +1,41 @@
using Autodesk.Revit.Attributes;
using Autodesk.Revit.Attributes;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using Nice3point.Revit.Toolkit.External;
using ShrlAlgoToolkit.Core.Assists;
namespace ShrlAlgoToolkit.RevitAddins.RvView;
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
[Journaling(JournalingMode.NoCommandData)]
//打开ElementsControlDock窗口
public class ElementsControlCmd : ExternalCommand
{
public override void Execute()
{
var isExist = DockablePane.PaneExists(Variables.PaneId);
var isRegistered = DockablePane.PaneIsRegistered(Variables.PaneId);
if (isRegistered && isExist)
try
{
var pane = UiApplication.GetDockablePane(Variables.PaneId);
if (pane.IsShown())
if (DockablePane.PaneExists(Variables.PaneId))
{
pane.Hide();
}
else
{
pane.Show();
var pane = UiApplication.GetDockablePane(Variables.PaneId);
if (pane.IsShown())
{
pane.Hide();
}
else
{
pane.Show();
}
}
}
catch (Exception e)
{
ErrorMessage = e.Message;
e.StackTrace.ToLog();
Result = Result.Failed;
}
}
}
}

View File

@@ -6,7 +6,6 @@ using Autodesk.Revit.UI;
namespace ShrlAlgoToolkit.RevitAddins.RvView
{
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
internal class PanelScheduleCmd : IExternalCommand
{
public Result Execute(

View File

@@ -70,7 +70,7 @@
Grid.Row="2"
Grid.Column="0"
HorizontalAlignment="Stretch"
ui:ButtonAssist.Icon="{ui:Icon SymbolValue=Add}"
ui:ControlAssist.Icon="{ui:Icon SymbolValue=Add}"
Command="{Binding RecordSectionBoxCommand}"
Content="临时记录"
ToolTip="记录剖面框,以便复用" />
@@ -78,7 +78,7 @@
Grid.Row="2"
Grid.Column="1"
HorizontalAlignment="Stretch"
ui:ButtonAssist.Icon="{ui:Icon SymbolValue=Delete}"
ui:ControlAssist.Icon="{ui:Icon SymbolValue=Delete}"
Command="{Binding RemoveSectionBoxCommand}"
CommandParameter="{Binding SelectedItem, ElementName=HistoryListBox}"
Content="删除记录"
@@ -87,7 +87,7 @@
Grid.Row="3"
Grid.Column="0"
HorizontalAlignment="Stretch"
ui:ButtonAssist.Icon="{ui:Icon SymbolValue=KeyboardReturn}"
ui:ControlAssist.Icon="{ui:Icon SymbolValue=KeyboardReturn}"
Command="{Binding UpdateSectionBoxCommand}"
CommandParameter="{Binding SelectedValue, ElementName=HistoryListBox}"
Content="恢复剖面框"
@@ -96,7 +96,7 @@
Grid.Row="3"
Grid.Column="1"
HorizontalAlignment="Stretch"
ui:ButtonAssist.Icon="{ui:Icon SymbolValue=Box}"
ui:ControlAssist.Icon="{ui:Icon SymbolValue=Box}"
Command="{Binding ResetSectionBoxCommand}"
Content="设置剖面框"
ToolTip="重新设置新的剖面框" />

View File

@@ -7,7 +7,6 @@ namespace ShrlAlgoToolkit.RevitAddins.RvView;
/// Revit执行命令
/// </summary>
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
public class SystemDisplayCmd : ExternalCommand
{
public override void Execute()

View File

@@ -8,7 +8,6 @@ namespace ShrlAlgoToolkit.RevitAddins.RvView;
/// Revit执行命令
/// </summary>
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
public class ViewManagerCmd : ExternalCommand
{
public override void Execute()

View File

@@ -1,12 +1,7 @@
<ui:NeoWindow
Height="450"
Icon="{DynamicResource RevitIcon}"
Title="视图管理"
Width="800"
d:DataContext="{d:DesignInstance Type=local:ViewManagerViewModel}"
mc:Ignorable="d"
x:Class="ShrlAlgoToolkit.RevitAddins.RvView.ViewManagerView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:assists="clr-namespace:ShrlAlgoToolkit.Mvvm.Assists;assembly=ShrlAlgoToolkit.Mvvm"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
xmlns:converters="clr-namespace:ShrlAlgoToolkit.Mvvm.Converters;assembly=ShrlAlgoToolkit.Mvvm"
@@ -15,18 +10,23 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:rvView="clr-namespace:ShrlAlgoToolkit.RevitAddins.RvView"
xmlns:ui="https://github.com/ShrlAlgo/NeoUI"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
Title="视图管理"
Width="800"
Height="450"
d:DataContext="{d:DesignInstance Type=local:ViewManagerViewModel}"
Icon="{DynamicResource RevitIcon}"
mc:Ignorable="d">
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/ShrlAlgoToolkit.RevitAddins;component/WPFUI.xaml" />
</ResourceDictionary.MergedDictionaries>
<converters:SearchValueConverter x:Key="SearchValueConverter" />
<converters:EnumItemsSourceAndConverter Type="{x:Type rvView:UserViewDetailLevel}" x:Key="DetailLevelConverter" />
<converters:EnumItemsSourceAndConverter Type="{x:Type rvView:UserViewType}" x:Key="ViewTypeConverter" />
<converters:EnumItemsSourceAndConverter Type="{x:Type rvView:UserDisplayStyle}" x:Key="DisplayStyleConverter" />
<converters:EnumItemsSourceAndConverter Type="{x:Type rvView:UserViewDiscipline}" x:Key="ViewDisciplineConverter" />
<assists:BindingProxy Data="{Binding ElementName=ViewDataGrid}" x:Key="ViewDataGridProxy" />
<converters:EnumItemsSourceAndConverter x:Key="DetailLevelConverter" Type="{x:Type rvView:UserViewDetailLevel}" />
<converters:EnumItemsSourceAndConverter x:Key="ViewTypeConverter" Type="{x:Type rvView:UserViewType}" />
<converters:EnumItemsSourceAndConverter x:Key="DisplayStyleConverter" Type="{x:Type rvView:UserDisplayStyle}" />
<converters:EnumItemsSourceAndConverter x:Key="ViewDisciplineConverter" Type="{x:Type rvView:UserViewDiscipline}" />
<assists:BindingProxy x:Key="ViewDataGridProxy" Data="{Binding ElementName=ViewDataGrid}" />
</ResourceDictionary>
</Window.Resources>
@@ -35,19 +35,19 @@
Columns="*,Auto,Auto"
Rows="*,Auto">
<DataGrid
x:Name="ViewDataGrid"
Grid.Row="0"
Grid.Column="0"
Grid.ColumnSpan="3"
Height="380"
d:ItemsSource="{d:SampleData}"
AutoGenerateColumns="False"
CanUserAddRows="False"
EnableRowVirtualization="False"
FrozenColumnCount="2"
Grid.Column="0"
Grid.ColumnSpan="3"
Grid.Row="0"
GridLinesVisibility="All"
Height="380"
ItemsSource="{Binding FilteredList}"
SelectionMode="Extended"
d:ItemsSource="{d:SampleData}"
x:Name="ViewDataGrid">
SelectionMode="Extended">
<b:Interaction.Triggers>
<b:EventTrigger EventName="SelectionChanged">
<!--<b:InvokeCommandAction Command="{Binding DataContext.UpdateExecuteCommand, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}" CommandParameter="{Binding SelectedItems, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGrid}}" />-->
@@ -135,9 +135,9 @@
<StackPanel Orientation="Horizontal">
<TextBlock
HorizontalAlignment="Center"
VerticalAlignment="Center"
IsEnabled="{Binding IsScaleEditable}"
Text="1:"
VerticalAlignment="Center" />
Text="1:" />
<!--<TextBox IsEnabled="{Binding IsScaleEditable}" Text="{Binding Scale, StringFormat={}1{0}}" />-->
<TextBox IsEnabled="{Binding IsScaleEditable}" Text="{Binding Scale, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
</StackPanel>
@@ -235,25 +235,25 @@
</DataGrid.Columns>
</DataGrid>
<TextBox
Cursor="IBeam"
Grid.Column="0"
x:Name="TbSearch"
Grid.Row="1"
Text="{Binding SearchText, UpdateSourceTrigger=PropertyChanged}"
ui:InputAssist.Placeholder="搜索视图"
x:Name="TbSearch" />
Grid.Column="0"
ui:InputAssist.PlaceholderText="搜索视图"
Cursor="IBeam"
Text="{Binding SearchText, UpdateSourceTrigger=PropertyChanged}" />
<Button
Grid.Row="1"
Grid.Column="1"
ui:ControlAssist.Icon="{ui:Icon SymbolValue=Search}"
Command="{Binding SearchCommand}"
Content="搜索"
Grid.Column="1"
Grid.Row="1"
IsDefault="True"
ui:ButtonAssist.Icon="{ui:Icon SymbolValue=Search}" />
IsDefault="True" />
<Button
Command="{Binding ConfirmCommand}"
Content="应用"
Grid.Column="2"
Grid.Row="1"
ui:ButtonAssist.Icon="{ui:Icon SymbolValue=Edit}" />
Grid.Column="2"
ui:ControlAssist.Icon="{ui:Icon SymbolValue=Edit}"
Command="{Binding ConfirmCommand}"
Content="应用" />
</ui:Grid>
</ui:NeoWindow>

View File

@@ -10,7 +10,6 @@ namespace ShrlAlgoToolkit.RevitAddins.RvView;
/// Revit执行命令
/// </summary>
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
public class VisibilityControlCmd : ExternalCommand
{
public override void Execute()