zhangyuekai
2024-08-17 2ea53b9fbd3fc318f1c02c1888c22aec5abab8ef
HStation.RevitDev/RevitDataExport/Utility/ExportModelHelper.cs
@@ -21,30 +21,17 @@
        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)
@@ -67,13 +54,17 @@
        }
        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);
@@ -81,7 +72,9 @@
                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;