123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- /*-------------------------------------------------------------------------
- * 功能描述:SystemComputerContext
- * 作者:xulisong
- * 创建时间: 2019/1/4 17:52:22
- * 版本号:v1.0
- * -------------------------------------------------------------------------*/
- using System;
- using System.Collections.Generic;
- using Autodesk.Revit.DB.Mechanical;
- using SAGA.DotNetUtils.Cache;
- using SAGA.Models;
- using SAGA.RevitUtils;
- using MBIEquipItem = SAGA.Models.EquipmentItem;
- namespace SAGA.GplotRelationComputerManage
- {
- public class SystemComputerContext
- {
- public SystemComputerContext()
- {
- #region 初始化
- FloorItems = SystemCalcUtil.CreateFloorItems();
- Rooms = SystemCalcUtil.CreateRoomItems();
- RelationShells = SystemCalcUtil.CreateRelationShellItems();
- EquipmentItems = SystemCalcUtil.CreateEquipmentItems();
- VerticalPipes = new List<VerticalPipe>();
- Levels = new List<LevelData>();
- Relations = new List<string>();
- DrawRecords = new List<FloorDrawRecord>();
- RelationRecords = new List<FloorRelationRecord>();
- #endregion
- }
- #region 计算缓存对象
- /// <summary>
- /// 缓存空间对象
- /// </summary>
- public CacheItems<string, RoomItem> Rooms { get; private set; }
- /// <summary>
- /// 楼层系统数据缓存
- /// </summary>
- public CacheItems<string, FloorSystemItem> FloorItems { get; private set; }
- public CacheItems<string, MBIEquipItem> EquipmentItems { get; private set; }
- #endregion
- #region 一些上下文相关的方法
- private const string UnKnowSpace = "未知空间:BIMID编码";
- private const string SiSpace = "空间本地名称:BIMID编码";
- private const string ModelSpace = "空间模型名称:BIMID编码";
- /// <summary>
- /// 获取空间描述信息,立管使用
- /// </summary>
- /// <param name="space"></param>
- /// <param name="tip"></param>
- /// <returns></returns>
- public string GetSpaceDisplay(Space space, out string tip)
- {
- tip = string.Empty;
- if (space == null)
- {
- tip = UnKnowSpace;
- return "未知";
- }
- string bimId = space.GetBimId();
- var room = Rooms.GetItem(bimId);
- string useName = space.Name;
- tip = ModelSpace;
- if (room != null && !string.IsNullOrWhiteSpace(room.LocalName))
- {
- tip = SiSpace;
- useName = room.LocalName;
- }
- return useName;
- }
- #endregion
- #region 计算结果存储类
- /*
- *计算数据存储在Context中,FloorSystemItem尽量只跟解析算法相关
- */
- public List<VerticalPipe> VerticalPipes { get; private set; }
- public List<LevelData> Levels { get; private set; }
- public List<FloorDrawRecord> DrawRecords { get; private set; }
- public List<FloorRelationRecord> RelationRecords { get; private set; }
- #endregion
- #region 需要计算的系统相关
- /// <summary>
- /// 缓存关系计算壳对象
- /// </summary>
- public CacheItems<string, RelationTypeShell> RelationShells { get; private set; }
-
- /// <summary>
- /// 需要计算的关系类型
- /// </summary>
- public List<string> Relations { get;private set; }
- #endregion
- }
- }
|