| | |
| | | |
| | | public string Export() |
| | | { |
| | | var modelMap = GlobalResource.RevitModels; |
| | | JObject jobj = new JObject(); |
| | | jobj["名称"] = m_doc.PathName; |
| | | jobj["描述"] = m_doc.PathName; |
| | | foreach (var modelPair in modelMap) |
| | | { |
| | | var revitType = modelPair.Key; |
| | | var jArray = ExportRevitModel(revitType); |
| | | JArray retArray = new JArray(); |
| | | var dict = GlobalResource.RevitModels.Find(x => x.Item1 == m_doc.Title); |
| | | if (dict == null) { retArray.ToString(); } |
| | | |
| | | string propName = GetRevitModelPropertyName(revitType); |
| | | JArray array = jobj[propName] as JArray; |
| | | if (array == null) |
| | | { |
| | | jobj[propName] = jArray; |
| | | } |
| | | else |
| | | { |
| | | foreach (var item in jArray) |
| | | { |
| | | array.Add(item); |
| | | } |
| | | } |
| | | foreach (var pair in dict.Item2) |
| | | { |
| | | var revitType = pair.Key; |
| | | var jArray = ExportRevitModel(revitType); |
| | | retArray.Merge(jArray); |
| | | } |
| | | return jobj.ToString(); |
| | | return retArray.ToString(); |
| | | } |
| | | |
| | | private string GetRevitModelPropertyName(RevitType revitType) |
| | |
| | | } |
| | | |
| | | private JArray ExportRevitModel(RevitType revitType) |
| | | { |
| | | var revitModels = GlobalResource.RevitModels[revitType]; |
| | | var outElems = new JArray(); |
| | | {
|
| | | var outElems = new JArray();
|
| | |
|
| | | var dict = GlobalResource.RevitModels.Find(x => x.Item1 == m_doc.Title)?.Item2; |
| | | if (dict == null) { return outElems; } |
| | | var revitModels = dict[revitType]; |
| | | |
| | | foreach (var elemId in revitModels) |
| | | foreach (var modelId in revitModels) |
| | | { |
| | | ElementId id = null; |
| | | var elemId = modelId; |
| | | if (int.TryParse(elemId, out int elementId)) |
| | | { |
| | | id = new ElementId(elementId); |
| | |
| | | Element rvtElem = m_doc.GetElement(id); |
| | | if (rvtElem == null) { continue; } |
| | | |
| | | JObject outElem = rvtElem.Export(revitType); |
| | | //JObject outElem = rvtElem.Export(revitType); |
| | | JObject outElem = rvtElem.Export2(); |
| | | outElem["构件类型"] = revitType.GetDescription(); |
| | | outElems.Add(outElem); |
| | | } |
| | | return outElems; |