多项功能优化
This commit is contained in:
@@ -3,18 +3,24 @@ using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Management.Instrumentation;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
|
||||
using Autodesk.Revit.Attributes;
|
||||
using Autodesk.Revit.DB;
|
||||
using Autodesk.Revit.DB.Mechanical;
|
||||
using Autodesk.Revit.DB.Plumbing;
|
||||
using Autodesk.Revit.UI;
|
||||
using Autodesk.Revit.UI.Selection;
|
||||
|
||||
using eTransmitForRevitDB;
|
||||
|
||||
using Microsoft.Win32;
|
||||
|
||||
using Nice3point.Revit.Toolkit.External;
|
||||
using Nice3point.Revit.Toolkit.Utils;
|
||||
|
||||
using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
|
||||
|
||||
using Sai.Toolkit.Revit.Assist;
|
||||
using Sai.Toolkit.Revit.Helpers;
|
||||
|
||||
@@ -24,8 +30,86 @@ namespace RvAddinTest;
|
||||
[Regeneration(RegenerationOption.Manual)]
|
||||
internal class FluentAddin : ExternalCommand
|
||||
{
|
||||
public static bool Purge(Document doc)
|
||||
{
|
||||
var eTransmitUpgradeOMatic = new eTransmitUpgradeOMatic(doc.Application);
|
||||
|
||||
var result = eTransmitUpgradeOMatic.purgeUnused(doc);
|
||||
|
||||
return result == UpgradeFailureType.UpgradeSucceeded;
|
||||
}
|
||||
public override void Execute()
|
||||
{
|
||||
//var elemIds = Document.OfAllModelElements().Select(e=>e.Id).ToList();
|
||||
//UiDocument.Selection.SetElementIds(elemIds);
|
||||
var refer=UiDocument.Selection.PickObject(ObjectType.Element);
|
||||
var elem=Document.GetElement(refer);
|
||||
var conn=elem.GetConnectors().Cast<Connector>().Where(c=>c.IsConnected).FirstOrDefault();
|
||||
var connto = conn.GetConnectedConnector();
|
||||
Debug.WriteLine("管线:");
|
||||
Debug.WriteLine(conn.CoordinateSystem.BasisX);
|
||||
Debug.WriteLine(conn.CoordinateSystem.BasisY);
|
||||
Debug.WriteLine(conn.CoordinateSystem.BasisZ);
|
||||
Debug.WriteLine("管件:");
|
||||
Debug.WriteLine(connto.CoordinateSystem.BasisX);
|
||||
Debug.WriteLine(connto.CoordinateSystem.BasisY);
|
||||
Debug.WriteLine(connto.CoordinateSystem.BasisZ);
|
||||
//StringBuilder sb = new StringBuilder();
|
||||
//var n = 1;
|
||||
//foreach (var item in elems)
|
||||
//{
|
||||
// sb.Append(n +":"+ item.Name + item.Id.ToString()+"new");
|
||||
// n++;
|
||||
//}
|
||||
//MessageBox.Show(sb.ToString());
|
||||
//StringBuilder sb = new();
|
||||
//var regions = Document.OfCollector().OfCategory(BuiltInCategory.OST_DetailComponents).WhereElementIsNotElementType().ToList();
|
||||
//sb.AppendLine(regions.Count.ToString());
|
||||
//regions.ToList().ForEach(f => sb.AppendLine($"{f.Id}"));
|
||||
//MessageBox.Show(sb.ToString());
|
||||
|
||||
//UiDocument.Selection.SetElementIds(elements);
|
||||
#region MyRegion
|
||||
//OpenFileDialog openFileDialog = new OpenFileDialog() { Multiselect = true, Filter = "Revit文件|*.rvt" };
|
||||
//if (openFileDialog.ShowDialog() == false)
|
||||
//{
|
||||
// return;
|
||||
//};
|
||||
|
||||
//foreach (var file in openFileDialog.FileNames)
|
||||
//{
|
||||
// var doc = UiApplication.Application.OpenDocumentFile(file);
|
||||
// var options = new SaveAsOptions()
|
||||
// {
|
||||
// Compact = true,
|
||||
// OverwriteExistingFile = true,
|
||||
// MaximumBackups = 3,
|
||||
// };
|
||||
// try
|
||||
// {
|
||||
// var ids = doc.OfCollector().OfCategory(BuiltInCategory.OST_Lines).Select(e => e.Id).ToList();
|
||||
// doc.Modify(set => set.Transaction)
|
||||
// .Commit(
|
||||
// (doc, t) =>
|
||||
// {
|
||||
// doc.Delete(ids);
|
||||
// });
|
||||
// for (var i = 0; i < 5; i++)
|
||||
// {
|
||||
// Purge(doc);
|
||||
// }
|
||||
// //doc.SaveAs(file, options);
|
||||
// doc.Close(true);
|
||||
// }
|
||||
// catch (Exception)
|
||||
// {
|
||||
// doc.Close();
|
||||
// }
|
||||
|
||||
//}
|
||||
//MessageBox.Show("处理完成");
|
||||
#endregion
|
||||
|
||||
//var b = Document.ActiveView.ViewTemplateId == null;
|
||||
//MessageExtensions.ShowMessage(b.ToString());
|
||||
//var h = Document.ActiveView
|
||||
@@ -38,23 +122,25 @@ internal class FluentAddin : ExternalCommand
|
||||
// )
|
||||
// .Max(d => d.Height);
|
||||
//Document.Invoke
|
||||
OpenFileDialog dialog = new() { Filter = "Revit(*.rvt)|*.rvt", Multiselect = true };
|
||||
dialog.ShowDialog();
|
||||
foreach (var item in dialog.FileNames)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
sb.AppendLine($"元素ID,族名称,类型名称,标记,");
|
||||
var doc = Application.OpenDocumentFile(item);
|
||||
var instances = doc.OfCollector().OfClass(typeof(FamilyInstance)).Cast<FamilyInstance>().Where(e => e.Symbol.FamilyName.Contains("摄像头"));
|
||||
foreach (var instance in instances)
|
||||
{
|
||||
var number = instance.get_Parameter(BuiltInParameter.DOOR_NUMBER);
|
||||
sb.AppendLine($"{instance.Id},{instance.Symbol.FamilyName},{instance.Name},{number.AsString()},");
|
||||
}
|
||||
var filePath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + $"\\{doc.Title}.txt";
|
||||
File.WriteAllText(filePath, sb.ToString(), Encoding.UTF8);
|
||||
doc.Close(false);
|
||||
}
|
||||
#region RegionName
|
||||
//OpenFileDialog dialog = new() { Filter = "Revit(*.rvt)|*.rvt", Multiselect = true };
|
||||
//dialog.ShowDialog();
|
||||
//foreach (var item in dialog.FileNames)
|
||||
//{
|
||||
// var sb = new StringBuilder();
|
||||
// sb.AppendLine($"元素ID,族名称,类型名称,标记,");
|
||||
// var doc = Application.OpenDocumentFile(item);
|
||||
// var instances = doc.OfCollector().OfClass(typeof(FamilyInstance)).Cast<FamilyInstance>().Where(e => e.Symbol.FamilyName.Contains("摄像头"));
|
||||
// foreach (var instance in instances)
|
||||
// {
|
||||
// var number = instance.get_Parameter(BuiltInParameter.DOOR_NUMBER);
|
||||
// sb.AppendLine($"{instance.Id},{instance.Symbol.FamilyName},{instance.Name},{number.AsString()},");
|
||||
// }
|
||||
// var filePath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + $"\\{doc.Title}.txt";
|
||||
// File.WriteAllText(filePath, sb.ToString(), Encoding.UTF8);
|
||||
// doc.Close(false);
|
||||
//}
|
||||
#endregion
|
||||
//Document.Modify(set => set.Transaction)
|
||||
// .Commit(
|
||||
// (doc, t) =>
|
||||
|
||||
Reference in New Issue
Block a user