大量更新
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user