1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
-
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using JBIM;
- using Newtonsoft.Json;
- using Newtonsoft.Json.Converters;
- using Newtonsoft.Json.Linq;
- namespace RevitToJBim.JsonConverter
- {
- public static class BimJsonUtil
- {
- public static string Serializer(BimDocument document)
- {
- JsonSerializerSettings jsetting = CreateDefaultSettings();
- var bimObjects = document.BimObjects;
- var group = bimObjects.GroupBy(bim => bim.ElementType);
- Dictionary<string, List<BimObject>> dic = new Dictionary<string, List<BimObject>>();
- foreach (var collection in group)
- {
- dic[collection.Key + "s"] = collection.ToList();
- }
- var documentObject = new {MBIName = "PjXXX_001", PlanName = "F1-saga", Elements = dic};
-
-
-
- string dataStr =JsonConvert.SerializeObject(documentObject, jsetting);
- return dataStr;
- }
- private static JsonSerializerSettings CreateDefaultSettings()
- {
- JsonSerializerSettings jsetting = new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore };
- jsetting.Converters.Add(new BimIdConverter());
-
-
- jsetting.Converters.Add(new StringEnumConverter());
- jsetting.Converters.Add(new ParameterConverter());
- return jsetting;
- }
- private static DocumentDto ConverToDto(BimDocument document)
- {
- DocumentDto dto = new DocumentDto();
- var bimObjects = document.BimObjects;
- var group = bimObjects.GroupBy(bim => bim.ElementType);
- Dictionary<string, List<BimObject>> dic = new Dictionary<string, List<BimObject>>();
- foreach (var collection in group)
- {
- dic[collection.Key + "s"] = collection.ToList();
- }
- dto.MBIName = "PjXXX_001";
- dto.PlanName = "F1-saga";
- dto.Elements = dic;
- return dto;
- }
- }
-
-
-
- public class DocumentDto
- {
- public string MBIName { get; set; }
- public string PlanName { get; set; }
- public Dictionary<string, List<BimObject>> Elements { get; set; }
- }
- }
|