添加项目文件。
This commit is contained in:
59
CDMUtil/Utility/Utility.cs
Normal file
59
CDMUtil/Utility/Utility.cs
Normal file
@@ -0,0 +1,59 @@
|
||||
using Autodesk.Revit.DB;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CDM.Interop.Revit.Utility
|
||||
{
|
||||
class Utility
|
||||
{
|
||||
public static Dictionary<ElementId, string> GetDictLevelId_LevelCodes(Document doc)
|
||||
{
|
||||
var levelCol = new FilteredElementCollector(doc).OfClass(typeof(Level)).Cast<Level>();
|
||||
var groundLevel = from l in levelCol
|
||||
where l.get_Parameter(BuiltInParameter.LEVEL_ELEV).AsDouble() >= 0
|
||||
select l;
|
||||
var undergroundLevel = from l in levelCol
|
||||
where l.get_Parameter(BuiltInParameter.LEVEL_ELEV).AsDouble() < 0
|
||||
select l;
|
||||
|
||||
var groundLevelOrdered = levelCol.OrderBy(l => l.ProjectElevation).ToList();
|
||||
var undergroundLevelOrdered = undergroundLevel.OrderByDescending(l => l.ProjectElevation).ToList();
|
||||
Dictionary<ElementId, string> LevelId_LevelCodes = new Dictionary<ElementId, string>();
|
||||
int groundLevelCode = 1;
|
||||
int undergroundLevelCode = 901;
|
||||
for (int i = 0; i < groundLevelOrdered.Count; i++)
|
||||
{
|
||||
ElementId levelid = groundLevelOrdered[i].Id;
|
||||
string str;
|
||||
if (groundLevelCode > 9)
|
||||
{
|
||||
if (groundLevelCode > 99)
|
||||
{
|
||||
str = string.Format("{0}", groundLevelCode);
|
||||
}
|
||||
else
|
||||
{
|
||||
str = string.Format("0{0}", groundLevelCode);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
str = string.Format("00{0}", groundLevelCode);
|
||||
}
|
||||
LevelId_LevelCodes.Add(levelid, str);
|
||||
groundLevelCode += 1;
|
||||
}
|
||||
for (int i = 0; i < undergroundLevelOrdered.Count; i++)
|
||||
{
|
||||
ElementId levelid = undergroundLevelOrdered[i].Id;
|
||||
|
||||
LevelId_LevelCodes.Add(levelid, string.Format("{0}", undergroundLevelCode));
|
||||
undergroundLevelCode += 1;
|
||||
}
|
||||
return LevelId_LevelCodes;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user