优化更新

This commit is contained in:
GG Z
2025-02-10 20:53:40 +08:00
parent 83b846f15f
commit 9696128f03
62 changed files with 2567 additions and 1608 deletions

View File

@@ -1,57 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Data;
using Autodesk.Revit.Attributes;
using Autodesk.Revit.Attributes;
using Autodesk.Revit.DB;
using Autodesk.Revit.DB.Plumbing;
using Autodesk.Revit.UI;
using Sai.Toolkit.Revit.Assist;
namespace RvAddinTest;
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
internal class ModifySystemTypeCmd : IExternalCommand
{
/// <summary>
/// 获取标高
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public ElementId GetLevelId(Element model)
{
// 定义需要检查的参数列表
var parametersToCheck = new BuiltInParameter[]
{
BuiltInParameter.WALL_BASE_CONSTRAINT, // 墙
BuiltInParameter.SCHEDULE_BASE_LEVEL_PARAM, // 柱子标高
BuiltInParameter.INSTANCE_REFERENCE_LEVEL_PARAM, // 梁标高
BuiltInParameter.STAIRS_BASE_LEVEL_PARAM, // 楼梯标高
BuiltInParameter.INSTANCE_ELEVATION_PARAM, // 族实例明细表标高
BuiltInParameter.ROOF_CONSTRAINT_LEVEL_PARAM,//屋顶
BuiltInParameter.INSTANCE_SCHEDULE_ONLY_LEVEL_PARAM,// 族实例明细表标高
BuiltInParameter.RBS_START_LEVEL_PARAM// 管线标高
};
// 依次检查每个参数
foreach (var param in parametersToCheck)
{
var baseLevelId = model.get_Parameter(param)?.AsElementId();
if (baseLevelId != ElementId.InvalidElementId && baseLevelId != null)
{
return baseLevelId;
}
}
//最后检查楼板或族基准标高
return model.LevelId;
}
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
//程序UI界面
@@ -178,21 +134,6 @@ internal class ModifySystemTypeCmd : IExternalCommand
//}
#region RegionName
//var templates = doc.OfClass<LinePatternElement>()
// .Cast<LinePatternElement>()
// .Where(e => e.Name.StartsWith("IMPORT"))
// .Select(e => e.Id).ToList();
//using (var trans = new Transaction(doc, nameof(ModifySystemTypeCmd)))
//{
// trans.Start();
// doc.Delete(templates);
// //foreach (var id in uidoc.Selection.GetElementIds())
// //{
// // var elem = doc.GetElement(id);
// // elem.ChangeTypeId(systemType.Id);
// //}
// trans.Commit();
//}
#endregion
try
{
@@ -230,4 +171,5 @@ internal class ModifySystemTypeCmd : IExternalCommand
}
return Result.Succeeded;
}
}