12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
-
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Autodesk.Revit.DB;
- using JBIM;
- using Newtonsoft.Json.Linq;
- using SAGA.DotNetUtils.Extend;
- using SAGA.RevitUtils;
- using SAGA.RevitUtils.Extends;
- namespace RevitToJBim.MBI
- {
-
-
-
- public class MBIDocument
- {
- public string MBIName { get; set; }
- public string ModelId { get; set; }
- public string PlanName { get; set; }
- public double BaseLevel { get; set; }
- public Dictionary<string, List<BimObject>> Elements { get; private set; }
-
-
-
-
- public void AttachElements(BimDocument document)
- {
- 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();
- }
- Elements = dic;
- }
- public static MBIDocument CreateDocument(Document document, string param)
- {
- MBIDocument dto = new MBIDocument();
- JObject jObject = JObject.Parse(param);
- dto.MBIName = jObject.GetValueEx("MBIName");
- dto.ModelId = jObject.GetValueEx("ModelId");
- #if DEBUG
-
-
- #endif
- dto.PlanName = document.GetUseView()?.Name;
- dto.BaseLevel = document.GetUseView()?.GenLevel.Elevation.FromApi().Round(2)??0;
- return dto;
- }
- }
- }
|