| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Newtonsoft.Json;
- using Newtonsoft.Json.Linq;
- using SAGA.MBI.JsonConvert;
- namespace SAGA.MBI.RevitExport
- {
- /// <summary>
- /// 导出数据库
- /// </summary>
- public class ExportDb
- {
- private readonly Dictionary<string,List<MbiElement>> m_DataSource=new Dictionary<string, List<MbiElement>>();
- /// <summary>
- /// 清理数据
- /// </summary>
- public void ClaerData()
- {
- m_DataSource.Clear();
- }
- /// <summary>
- /// 增加导出关联数据
- /// </summary>
- /// <param name="flag"></param>
- /// <param name="element"></param>
- public void AddObject(string flag, MbiElement element)
- {
- List<MbiElement> dataSource = null;
- if (!m_DataSource.TryGetValue(flag, out dataSource))
- {
- dataSource= new List<MbiElement>();
- m_DataSource.Add(flag, dataSource);
- }
- if (dataSource == null)
- {
- dataSource = new List<MbiElement>();
- m_DataSource.Add(flag, dataSource);
- }
- dataSource.Add(element);
- }
- /// <summary>
- /// 生成json字符串
- /// </summary>
- /// <returns></returns>
- public string ToJsonString()
- {
- string result = string.Empty;
- JObject jobject= ToJsonObject();
- result = jobject.ToString();
- return result;
- }
- /// <summary>
- /// 转化成Json对象
- /// </summary>
- /// <returns></returns>
- public JObject ToJsonObject()
- {
- JsonSerializerSettings jsetting = new JsonSerializerSettings();
- jsetting.Converters.Add(new XYZConvert());
- var serializer = JsonSerializer.Create(jsetting);
- JObject jobject = new JObject();
- foreach (var collection in m_DataSource)
- {
- jobject.Add(collection.Key, JArray.FromObject(collection.Value, serializer));
- }
- return jobject;
- }
- public void AddWall(MbiWall mbiWall)
- {
- AddObject("WallList", mbiWall);
- }
- public void AddVirtualWall(MbiVirtualWall mbiVirtaulWall)
- {
- AddObject("VirtualWallList", mbiVirtaulWall);
- }
- public void AddColumn(MbiColumn mbiColumn)
- {
- AddObject("ColumnList", mbiColumn);
- }
- public void AddSpace(MbiSpace mbiSpace)
- {
- AddObject("SpaceList", mbiSpace);
- }
- public void AddEquipment(MbiEquipment mbiEquipment)
- {
- AddObject("EquipmentList", mbiEquipment);
- }
- }
- }
|