|
@@ -21,23 +21,57 @@ namespace RevitToJBim.JsonConverter
|
|
|
{
|
|
|
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};
|
|
|
+ //var serializer = JsonSerializer.Create(jsetting);
|
|
|
+ //var jobject=JObject.FromObject(dic, serializer);
|
|
|
+ //jobject.ToString();
|
|
|
+ string dataStr =JsonConvert.SerializeObject(documentObject, jsetting);
|
|
|
+ return dataStr;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static JsonSerializerSettings CreateDefaultSettings()
|
|
|
+ {
|
|
|
JsonSerializerSettings jsetting = new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore };
|
|
|
jsetting.Converters.Add(new BimIdConverter());
|
|
|
//mxg 显示x:,y:,z:格式的
|
|
|
//jsetting.Converters.Add(new XYZConverter());
|
|
|
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();
|
|
|
- //jobject.Add(collection.Key, JArray.FromObject(collection.Value, serializer));
|
|
|
}
|
|
|
- //var settings = new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore };
|
|
|
- string dataStr = JsonConvert.SerializeObject(dic, jsetting);
|
|
|
- return dataStr;
|
|
|
+
|
|
|
+ dto.MBIName = "PjXXX_001";//待读取
|
|
|
+ dto.PlanName = "F1-saga";
|
|
|
+ dto.Elements = dic;
|
|
|
+ return dto;
|
|
|
}
|
|
|
}
|
|
|
+ /// <summary>
|
|
|
+ /// 项目传输数据结构
|
|
|
+ /// </summary>
|
|
|
+ public class DocumentDto
|
|
|
+ {
|
|
|
+ public string MBIName { get; set; }
|
|
|
+ public string PlanName { get; set; }
|
|
|
+ public Dictionary<string, List<BimObject>> Elements { get; set; }
|
|
|
+ }
|
|
|
}
|