优化更新
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user