2024-08-17 | zhangyuekai | ![]() |
2024-08-17 | zhangyuekai | ![]() |
HStation.RevitDev/RevitDataExport/Parser/Pump.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HStation.RevitDev/RevitDataExport/Parser/Qita.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HStation.RevitDev/RevitDataExport/Utility/ModelFactory.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HStation.RevitDev/RevitDataExport/Utility/WpfBindingUtils.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HStation.RevitDev/RevitToDb/HStation.RevitDev.RevitToDb.csproj | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
HStation.RevitDev/RevitDataExport/Parser/Pump.cs
@@ -30,9 +30,9 @@ { get { return new List<string> return new List<string> { "水泵" "水泵|泵","泵" }; } } HStation.RevitDev/RevitDataExport/Parser/Qita.cs
@@ -2,10 +2,9 @@ using Autodesk.Revit.DB.Plumbing; using Glodon.Revit.Utility; using HStation.RevitDev.Model.AttributeClass; using HStation.RevitDev.RevitDataExport.Common; using HStation.RevitDev.RevitDataExport.Entity; using HStation.RevitDev.RevitDataExport.Entity.ElementModels; using System; using HStation.RevitDev.RevitDataExport.Utility; using System.Collections.Generic; namespace HStation.RevitDev.RevitDataExport.Parser @@ -14,62 +13,80 @@ /// qita /// </summary> /// //[RevitType(Model.ModelEnum.RevitType.RFT_Others)] //public class QitaParser : BaseParser //{ // public override List<BuiltInCategory> FilterCategories // { // get // { // return new List<BuiltInCategory> // { // }; // } // } // public override List<string> FilterRegexes // { // get // { // return new List<string> // { // }; // } // } [RevitType(Model.ModelEnum.RevitType.RFT_Others)] public class QitaParser/* : BaseParser*/ { //public override List<BuiltInCategory> FilterCategories //{ // get // { // return new List<BuiltInCategory> // { // public override string GetParserName() // { // return "其他"; // } // }; // } //} //public override List<string> FilterRegexes //{ // get // { // return new List<string> // { // public override ElementModel Parse(Element elem) // { // var elemModel = BaseParse(elem); // var result = new OtherModel(elemModel); // return result; // } // }; // } //} // public override List<Tuple<string, string>> PropertyParse(Element elem) // { // var result = new List<Tuple<string, string>>(); // var instance = elem.Document.GetElement(elem.Id); // var fi = instance as FamilyInstance; // if (fi == null) { return result; } // var connectInfos = MEPHelper.GetConnecters(fi); // result.AddRange(CommonPropertyParse(elem)); // for (int i = 1; i <= 5; i++) // { // if (connectInfos.Count >= i) // { // result.Add(new Tuple<string, string>($"连接点{i}", connectInfos[i - 1]?.ElementId.ToString())); // } // else // { // result.Add(new Tuple<string, string>($"连接点{i}", string.Empty)); // } // } // return result; // } //} //public override string GetParserName() //{ // return "其他"; //} public /*override*/ ElementModel Parse(Element elem) { var elemModel = BaseParse(elem); var result = new OtherModel(elemModel); return result; } public OtherModel BaseParse(Element elem) { var elemName = ParameterOperator.GetElementName(elem); var elemId = elem.Id.IntegerValue.ToString(); var sysName = ParameterOperator.GetElementPipingSystemType(elem)?.Name; var box = BoundingBoxHelper.BoundingBoxSerialize(elem.get_BoundingBox(null)); var refLevel = elem.GetParameterByProName(new List<string> { "参照标高", "标高" })?.AsValueString(); return new OtherModel(new ElementModel { 名称 = elemName, 编号 = elemId, 包围框 = box, 系统类型 = sysName, 楼层 = refLevel, 连接构件 = ElementExtense2.GetLinkedElementIds(elemId) }); } //public override List<Tuple<string, string>> PropertyParse(Element elem) //{ // var result = new List<Tuple<string, string>>(); // var instance = elem.Document.GetElement(elem.Id); // var fi = instance as FamilyInstance; // if (fi == null) { return result; } // var connectInfos = MEPHelper.GetConnecters(fi); // result.AddRange(CommonPropertyParse(elem)); // for (int i = 1; i <= 5; i++) // { // if (connectInfos.Count >= i) // { // result.Add(new Tuple<string, string>($"连接点{i}", connectInfos[i - 1]?.ElementId.ToString())); // } // else // { // result.Add(new Tuple<string, string>($"连接点{i}", string.Empty)); // } // } // return result; //} } } HStation.RevitDev/RevitDataExport/Utility/ModelFactory.cs
@@ -3,6 +3,7 @@ using HStation.RevitDev.Model.ModelEnum; using HStation.RevitDev.RevitDataExport.Common; using HStation.RevitDev.RevitDataExport.Entity; using HStation.RevitDev.RevitDataExport.Entity.ElementModels; using HStation.RevitDev.RevitDataExport.Parser; using System; using System.Collections.Generic; @@ -44,5 +45,20 @@ } return ret; } public static List<OtherModel> Convert2Others(List<string> ids) { var ret = new List<OtherModel>(); foreach (var id in ids) { var elem = GlobalResource.CurrentDocument.GetElement(new ElementId(int.Parse(id))); if (elem == null) { continue; } var parser = new QitaParser(); OtherModel model = parser.Parse(elem) as OtherModel; ret.Add(model); } return ret; } } } HStation.RevitDev/RevitDataExport/Utility/WpfBindingUtils.cs
@@ -35,70 +35,64 @@ { var subModels = ModelFactory.Convert2Sub<PumbModel2>(models); dataGrid.ItemsSource = subModels; HeaderConvertChs<PumbModel2>(dataGrid); //HeaderConvertChs<PumbModel2>(dataGrid); break; } case RevitType.RFT_Blocker: { var subModels = ModelFactory.Convert2Sub<BlockerModel>(models); dataGrid.ItemsSource = subModels; HeaderConvertChs<PumbModel2>(dataGrid); //HeaderConvertChs<BlockerModel>(dataGrid); break; } case RevitType.RFT_Converter: { var subModels = ModelFactory.Convert2Sub<ConvertorModel>(models); dataGrid.ItemsSource = subModels; HeaderConvertChs<PumbModel2>(dataGrid); //HeaderConvertChs<ConvertorModel>(dataGrid); break; } case RevitType.RFT_Elbow: { var subModels = ModelFactory.Convert2Sub<ElbowModel>(models); dataGrid.ItemsSource = subModels; HeaderConvertChs<PumbModel2>(dataGrid); //HeaderConvertChs<ElbowModel>(dataGrid); break; } case RevitType.RFT_FourJoint: { var subModels = ModelFactory.Convert2Sub<SiTongModel>(models); dataGrid.ItemsSource = subModels; HeaderConvertChs<PumbModel2>(dataGrid); //HeaderConvertChs<SiTongModel>(dataGrid); break; } case RevitType.RFT_HeatExchanger: { var subModels = ModelFactory.Convert2Sub<HeatExchangerModel>(models); dataGrid.ItemsSource = subModels; HeaderConvertChs<PumbModel2>(dataGrid); //HeaderConvertChs<HeatExchangerModel>(dataGrid); break; } case RevitType.RFT_Others: { var subModels = ModelFactory.Convert2Sub<OtherModel>(models); dataGrid.ItemsSource = subModels; HeaderConvertChs<PumbModel2>(dataGrid); break; } case RevitType.RFT_Pipe: { var subModels = ModelFactory.Convert2Sub<PipeModel>(models); dataGrid.ItemsSource = subModels; HeaderConvertChs<PumbModel2>(dataGrid); //HeaderConvertChs<PipeModel>(dataGrid); break; } case RevitType.RFT_Shower: { var subModels = ModelFactory.Convert2Sub<ShowerModel>(models); dataGrid.ItemsSource = subModels; HeaderConvertChs<PumbModel2>(dataGrid); //HeaderConvertChs<ShowerModel>(dataGrid); break; } case RevitType.RFT_ThreeJoint: { var subModels = ModelFactory.Convert2Sub<SanTongModel>(models); dataGrid.ItemsSource = subModels; HeaderConvertChs<PumbModel2>(dataGrid); //HeaderConvertChs<SanTongModel>(dataGrid); break; } @@ -106,33 +100,44 @@ { var subModels = ModelFactory.Convert2Sub<ValveModel>(models); dataGrid.ItemsSource = subModels; HeaderConvertChs<PumbModel2>(dataGrid); //HeaderConvertChs<ValveModel>(dataGrid); break; } case RevitType.RFT_WaterBox: { var subModels = ModelFactory.Convert2Sub<WaterBoxModel>(models); dataGrid.ItemsSource = subModels; HeaderConvertChs<PumbModel2>(dataGrid); //HeaderConvertChs<WaterBoxModel>(dataGrid); break; } case RevitType.RFT_WaterMeter: { var subModels = ModelFactory.Convert2Sub<WaterMeterModel>(models); dataGrid.ItemsSource = subModels; HeaderConvertChs<PumbModel2>(dataGrid); //HeaderConvertChs<WaterMeterModel>(dataGrid); break; } case RevitType.RFT_WaterPool: { var subModels = ModelFactory.Convert2Sub<WaterPoolModel>(models); dataGrid.ItemsSource = subModels; HeaderConvertChs<PumbModel2>(dataGrid); //HeaderConvertChs<WaterPoolModel>(dataGrid); break; } case RevitType.RFT_FireHydrant: { var subModels = ModelFactory.Convert2Sub<FireHydrantModel>(models); dataGrid.ItemsSource = subModels; //HeaderConvertChs<FireHydrantModel>(dataGrid); break; } case RevitType.RFT_Unknown: case RevitType.RFT_Others: default: { var subModels = ModelFactory.Convert2Others(models); dataGrid.ItemsSource = subModels; //HeaderConvertChs<OtherModel>(dataGrid); break; } } HStation.RevitDev/RevitToDb/HStation.RevitDev.RevitToDb.csproj
@@ -61,8 +61,5 @@ <Name>HStation.RevitDev.RevitDataExport</Name> </ProjectReference> </ItemGroup> <ItemGroup> <None Include="app.config" /> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> </Project>