//分区 private void SetSubRegionParameter(Element ele) { if (null == ele) { return; } Parameter param = ele.LookupParameter(MtCommon.GetStringValue(MtGlobals.Parameters.SubDistrict)); if (null != param) { if (string.IsNullOrEmpty(param.AsString())) { bool successed = param.Set("A"); if (!successed) { string errorType = MtCommon.GetStringValue(ErrorType.SetParamterFailed) + MtCommon.GetStringValue(MtGlobals.Parameters.SubDistrict); AddListViewErrorData(ele, errorType); } } } else { string errorType = MtCommon.GetStringValue(ErrorType.NoParameter) + MtCommon.GetStringValue(MtGlobals.Parameters.SubDistrict); AddListViewErrorData(ele, errorType); } }
private void CheckPipeParameters(Element ele) { GetParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.Campus)); GetParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.Building)); GetParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.MtLevel)); GetParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.SubDistrict)); }
void EncodeEquipment() { ElementClassFilter instanceFilter = new ElementClassFilter(typeof(FamilyInstance)); ElementClassFilter hostFilter = new ElementClassFilter(typeof(HostObject)); LogicalOrFilter andFilter = new LogicalOrFilter(instanceFilter, hostFilter); FilteredElementCollector collector = new FilteredElementCollector(m_uIDocument.Document); collector.WherePasses(andFilter); foreach (var ele in collector) { var catogary = ele.Category.Name; var familyName = MtCommon.GetElementFamilyName(m_uIDocument.Document, ele); if (familyName.Contains("风盘") || familyName.Contains("风机盘管")) { continue; } if (catogary.Equals(MtGlobals.EquipmentCategory) || catogary.Equals(MtGlobals.ElecticCategory)) { //temp var length = familyName.Length; MtCommon.SetOneParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.EquipmentCode), length <= 5 ? familyName.Substring(0, length - 1) : familyName.Substring(0, 5)); } } }
public void CheckPipeBasicInfo() { ElementClassFilter instanceFilter = new ElementClassFilter(typeof(FamilyInstance)); ElementClassFilter hostFilter = new ElementClassFilter(typeof(HostObject)); LogicalOrFilter andFilter = new LogicalOrFilter(instanceFilter, hostFilter); FilteredElementCollector collector = new FilteredElementCollector(m_uIDocument.Document); collector.WherePasses(andFilter); foreach (var ele in collector) { CheckPipeParameters(ele);//是否有基础信息 string category = ele.Category.Name; if (category.Equals(MtGlobals.PipeCategory) || category.Equals(MtGlobals.DustCategory)) { GetParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.VerticalPipe)); //检测竖管是否有参数 } else if (category.Equals(MtGlobals.EquipmentCategory)) { if (ele.Name.Contains("风盘") || ele.Name.Contains("风机盘管")) { continue; } GetParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.EquipmentCode)); //设备是否有编码 } } //MtCommon.IsolateElements(m_uIDocument.Document, m_ltBasicInfoErrors.Select(k => k.Key).ToList()); }
private void SetLevelParameter(Element ele, bool isPipe = false, bool isEnVersion = false) { if (ele == null) { return; } string level = string.Empty; if (isEnVersion) { if (isPipe) { level = GetPipeLevelParamEN(ele); } else { level = GetBuildingLevelParamEN(ele); } } else { if (isPipe) { level = GetPipeLevelParamCN(ele); } else { level = GetBuildingLevelParamCN(ele); } } //无法获取Element标高或参照标高参数 if (string.IsNullOrEmpty(level)) { string errorType = MtCommon.GetStringValue(ErrorType.NoParameter) + MtCommon.GetStringValue(MtGlobals.Parameters.MtLevel) + "或" + MtCommon.GetStringValue(MtGlobals.Parameters.ReferenceLevel); AddListViewErrorData(ele, errorType); } Parameter param = ele.LookupParameter(MtCommon.GetStringValue(MtGlobals.Parameters.MtLevel)); if (null != param) { bool success = param.Set(level); if (!success) { //楼层参数未设置成功 string errorType = MtCommon.GetStringValue(ErrorType.SetParamterFailed) + MtCommon.GetStringValue(MtGlobals.Parameters.MtLevel); AddListViewErrorData(ele, errorType); } } else { //无法获取Element楼层参数 string errorType = MtCommon.GetStringValue(ErrorType.NoParameter) + MtCommon.GetStringValue(MtGlobals.Parameters.MtLevel); AddListViewErrorData(ele, errorType); } }
void IsConsistenSystemName(Element ele) { bool isconsistent = CheckConnectedElementsIsSameSystemName(ele); if (!isconsistent) { AddListViewErrorData(ele, MtCommon.GetStringValue(ErrorType.InConsistentSystemName)); } }
private string GetPipeLevel(Element ele) { string referenceLevel = string.Empty; referenceLevel = MtCommon.GetOneParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.ReferenceLevel)); if (string.IsNullOrEmpty(referenceLevel)) { referenceLevel = MtCommon.GetOneParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.Level)); } return(referenceLevel); }
string GetBuildingLevelParamCN(Element ele) { string Level = string.Empty; Level = GetOneParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.Level)); if (string.IsNullOrEmpty(Level)) { Level = GetOneParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.ReferenceLevel)); } return(Level); }
List <string> GetOnePipeSystemNames(Element ele) { string systemName = MtCommon.GetOneParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.SystemName)); List <string> eleSystemNames = new List <string>(); if (!string.IsNullOrEmpty(systemName)) { eleSystemNames = MtCommon.RemoveNumInComplexString(systemName); //可能包含多个系统名称 } return(eleSystemNames); }
void AddListViewErrorData(Element ele, string errorType = null) { string famliyName = MtCommon.GetElementFamilyName(m_uIDocument.Document, ele); string typeName = MtCommon.GetElementType(m_uIDocument.Document, ele); string message = MtCommon.GetStringValue(ErrorType.NoEndPipe) + errorType; SpuriousConnectionError error = CreateBasicInfoError(ele.Id.ToString(), famliyName, typeName, message); if (!m_dicErrorList.ContainsKey(ele.Id.ToString())) { m_dicErrorList.Add(ele.Id.ToString(), error); } }
void ClearEquipmentCode() { ElementClassFilter instanceFilter = new ElementClassFilter(typeof(FamilyInstance)); ElementClassFilter hostFilter = new ElementClassFilter(typeof(HostObject)); LogicalOrFilter andFilter = new LogicalOrFilter(instanceFilter, hostFilter); FilteredElementCollector collector = new FilteredElementCollector(m_uIDocument.Document); collector.WherePasses(andFilter); foreach (var ele in collector) { MtCommon.SetOneParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.EquipmentCode), string.Empty); } }
bool IsLevelCorrect(Element ele, string level, string offset, out string errorMsg) { bool isLevelCorrect = false; string errorMessage = string.Empty; if (!string.IsNullOrEmpty(level) && !string.IsNullOrEmpty(offset)) { double levelOffset = 0; if (m_dicLevelOffset.ContainsKey(level)) { levelOffset = m_dicLevelOffset[level]; double offsetValue = double.Parse(offset); if (offsetValue < 0) { //将给排水中的排水管道排除,排水的管道位于本层标高的下方,该排水管道的标高属于本层 string systemName = MtCommon.GetOneParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.SystemName)); if (!string.IsNullOrEmpty(systemName) && (systemName.Contains("排水") || systemName.Contains("废水"))) { if (offsetValue < 0 && Math.Abs(offsetValue) < levelOffset) { isLevelCorrect = true; } else { isLevelCorrect = false; errorMessage = MtCommon.GetStringValue(ErrorType.NegLevelOffset); } } else { isLevelCorrect = false; errorMessage = MtCommon.GetStringValue(ErrorType.NegLevelOffset); } } else if (offsetValue > 0 && offsetValue > levelOffset) { isLevelCorrect = false; errorMessage = MtCommon.GetStringValue(ErrorType.PosLevelOffset); } else { isLevelCorrect = true; } } } errorMsg = errorMessage; return(isLevelCorrect); }
public void MarkLongVerticalPipeOrDust(Element ele, string levelName, string startoffset, string endoffset) { if (ValideParams(ele, levelName, startoffset, endoffset)) { double LevelOffset = m_dicLevelOffset[levelName]; double startoffsetV = double.Parse(startoffset); double endoffsetV = double.Parse(endoffset); if (Math.Abs(startoffsetV - endoffsetV) > LevelOffset) //只有跨楼层的竖管才标记 { MtCommon.SetOneParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.VerticalPipe), "1-1"); } else { MtCommon.SetOneParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.VerticalPipe), "1"); } } }
void TestLoopCircuit(StartElementData data, Action <List <Element> > totalElments = null) { ClearErrorListView(); MtTravelsalTree tree = new MtTravelsalTree(m_uIDocument.Document, data.System); List <Element> eles = tree.TestCircuit(data.StartElement, m_isSameSystem, m_multiSystem, IsIsolatedElements, totalElments); if (eles != null && eles.Count != 0) { foreach (var ele in eles) { AddListViewErrorData(ele, MtCommon.GetStringValue(ErrorType.Circuit)); } } IList <PipeRelationError> pipeRelationErrors = m_dicPipeRelationError.Select(v => v.Value).ToList(); pipeRelationErrors = pipeRelationErrors.OrderBy(v => (v.FamilyName + v.TypeName)).ToList(); SetErrorListView(pipeRelationErrors); }
private string GetElementInfo(Element ele) { if (ele == null) { return(string.Empty); } string area = MtCommon.GetOneParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.Campus)); string building = MtCommon.GetOneParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.Building)); string level = MtCommon.GetOneParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.MtLevel)); string equipmentCode = MtCommon.GetOneParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.EquipmentCode)); string isEquip = "0"; if (!string.IsNullOrEmpty(equipmentCode)) { isEquip = "1"; } return(area + "-" + building + "-" + level + "*" + isEquip); }
string RenameEleId(Element ele) { if (ele == null) { return(string.Empty); } string district = MtCommon.GetOneParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.Campus)); string building = MtCommon.GetOneParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.Building)); string level = MtCommon.GetOneParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.MtLevel)); if (!string.IsNullOrEmpty(district) && !string.IsNullOrEmpty(building) && !string.IsNullOrEmpty(level)) { return(district + "-" + building + "-" + level + "_PD_" + ele.Id); } else { TaskDialog.Show("Error", "Basic info is empty : " + ele.Id); return(string.Empty); } }
void IsStandardSystemName(Element ele) { string systemName = MtCommon.GetOneParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.SystemName)); if (!string.IsNullOrEmpty(systemName)) { List <string> eleSystemNames = MtCommon.RemoveNumInComplexString(systemName); //可能包含多个系统名称 foreach (var name in eleSystemNames) { if (!m_standardSystemNames.Contains(name)) { AddListViewErrorData(ele, MtCommon.GetStringValue(ErrorType.NotStandardSystemName) + name); //不符合标准 } else { string eleId = ele.Id.ToString(); if (!m_dicPipeSystemNames.ContainsKey(eleId)) { m_dicPipeSystemNames.Add(ele.Id.ToString(), new List <string>()); m_dicPipeSystemNames[eleId].Add(name); } else { if (!m_dicPipeSystemNames[eleId].Contains(name)) { m_dicPipeSystemNames[eleId].Add(name); } } } } } else { AddListViewErrorData(ele, MtCommon.GetStringValue(ErrorType.NoParameter) + MtCommon.GetStringValue(MtGlobals.Parameters.SystemName) + " 或系统名称为空"); //Element可能不存在系统名称参数 } }
private void GetParameter(Element ele, string paramName) { if (ele == null || string.IsNullOrEmpty(paramName)) { return; } Parameter param = ele.LookupParameter(paramName); string errorType = string.Empty; if (null != param) { if (param.AsString() == null) { errorType = MtCommon.GetStringValue(ErrorType.ParameterIsNull) + paramName; AddListViewErrorData(ele, errorType); } } else { errorType = MtCommon.GetStringValue(ErrorType.NoParameter) + paramName; AddListViewErrorData(ele, errorType); } }
public void MarkVerticalPipe() { GetALLLevelOffset(); ElementClassFilter instanceFilter = new ElementClassFilter(typeof(FamilyInstance)); ElementClassFilter hostFilter = new ElementClassFilter(typeof(HostObject)); LogicalOrFilter andFilter = new LogicalOrFilter(instanceFilter, hostFilter); FilteredElementCollector collector = new FilteredElementCollector(m_uIDocument.Document); collector.WherePasses(andFilter); foreach (var ele in collector) { string levelName = GetPipeLevel(ele); string offset = GetPipeOffset(ele); string category = ele.Category.Name; if (category.Equals(MtGlobals.PipeCategory) || category.Equals(MtGlobals.DustCategory)) { //if (ele.LookupParameter(MtCommon.GetStringValue(MtGlobals.Parameters.VerticalPipe)) == null) continue; string startoffset = GetPipeStartOffset(ele); string endoffset = GetPipeEndOffset(ele); bool isVerticalPipe = CheckIsVerticalPipe(ele, startoffset, endoffset); if (isVerticalPipe) { MarkLongVerticalPipeOrDust(ele, levelName, startoffset, endoffset); } else { MtCommon.SetOneParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.VerticalPipe), "0"); } } } }
//建筑 private void SetBuildingParameter(Element ele, string buildingName) { if (null == ele || string.IsNullOrEmpty(buildingName)) { return; } Parameter param = ele.LookupParameter(MtCommon.GetStringValue(MtGlobals.Parameters.Building)); if (null != param) { bool successed = param.Set(buildingName); if (!successed) { string errorType = MtCommon.GetStringValue(ErrorType.SetParamterFailed) + MtCommon.GetStringValue(MtGlobals.Parameters.Building); AddListViewErrorData(ele, errorType); } } else { string errorType = MtCommon.GetStringValue(ErrorType.NoParameter) + MtCommon.GetStringValue(MtGlobals.Parameters.Building); AddListViewErrorData(ele, errorType); } }
//int index = 0; bool CheckConnectedElementsIsSameSystemName(Element ele) { //string filepath = "C:/Users/1/Desktop/total_id.txt"; //if (!File.Exists(filepath)) // File.Create(filepath).Close(); //string content = File.ReadAllText(filepath); //content += index++ + ": " + ele.Id.ToString() + "\r\n"; //File.WriteAllText(filepath, content); List <string> eleSystemNames = GetOnePipeSystemNames(ele); //系统名称为空 if (eleSystemNames.Count == 0) { AddListViewErrorData(ele, MtCommon.GetStringValue(ErrorType.ParameterIsNull) + MtCommon.GetStringValue(MtGlobals.Parameters.SystemName)); } List <Element> elements = GetConnectElements(ele); if (elements.Count == 0) { AddListViewErrorData(ele, "连接的元素为空"); } bool isSameSystemName = true; foreach (var item in elements) { List <string> connSystemNames = GetOnePipeSystemNames(item); bool isSame = isHaveSameSystemName(eleSystemNames, connSystemNames); if (!isSame) { isSameSystemName = false; break; } } return(isSameSystemName); //List<string> sysNames = new List<string>(); //if (m_dicPipeSystemNames.ContainsKey(ele.Id.ToString())) { // sysNames = m_dicPipeSystemNames[ele.Id.ToString()]; //} else { // //字典中不包含 //} //List<Element> elements = GetConnectElements(ele); //bool isSameSystemName = true; //foreach (var item in elements) { // string eleId = item.Id.ToString(); // if (m_dicPipeSystemNames.ContainsKey(eleId)) { // bool isSame = isHaveSameSystemName(sysNames, m_dicPipeSystemNames[eleId]); // if (!isSame) { // isSameSystemName = false; // break; // } // } else { // //字典中不包含 // } //} //return isSameSystemName; }
void TravelSwitchLight() { ElementClassFilter instanceFilter = new ElementClassFilter(typeof(FamilyInstance)); ElementClassFilter hostFilter = new ElementClassFilter(typeof(HostObject)); LogicalOrFilter andFilter = new LogicalOrFilter(instanceFilter, hostFilter); FilteredElementCollector collector = new FilteredElementCollector(m_uIDocument.Document); collector.WherePasses(andFilter); foreach (var ele in collector) { if (ele.Category.Name.Contains("灯具")) { string label = MtCommon.GetOneParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.Note)); if (!string.IsNullOrEmpty(label)) { m_switchDic.Add(ele, label); } } if (ele.Category.Name.Contains("照明设备")) { string label = MtCommon.GetOneParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.Note)); if (!string.IsNullOrEmpty(label)) { m_lightDic.Add(ele, label); } } if (ele.Category.Name.Contains("线管") || ele.Category.Name.Contains("线管配件")) { string label = MtCommon.GetOneParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.Note)); if (!string.IsNullOrEmpty(label)) { m_spoolDic.Add(ele, label); } } } foreach (var item in m_switchDic) { string switchId = RenameEleId(item.Key); if (!m_switchLightRelationDic.ContainsKey(switchId)) { m_switchLightRelationDic.Add(switchId, new Dictionary <string, string>()); } var ligths = from data in m_lightDic where data.Value == item.Value select data.Key; foreach (var light in ligths) { string lightId = RenameEleId(light); if (!m_switchLightRelationDic[switchId].ContainsKey(lightId)) { m_switchLightRelationDic[switchId].Add(lightId, "0"); } } var spools = from data in m_spoolDic where data.Value == item.Value select data.Key; foreach (var spool in spools) { string spoolId = RenameEleId(spool); if (!m_switchLightRelationDic[switchId].ContainsKey(spoolId)) { m_switchLightRelationDic[switchId].Add(spoolId, "1"); } } } }
private string GetPipeEndOffset(Element ele) { return(MtCommon.GetOneParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.EndOffset))); }
public void AutoAdjustLevel() { GetALLLevelOffset(); foreach (var item in m_dicLevelErrors) { Element ele = MtCommon.GetElementById(m_uIDocument.Document, item.Key); if (ele != null) { string offset = MtCommon.GetOneParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.Offset)); string startOffset = MtCommon.GetOneParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.StartOffset)); string endOffset = MtCommon.GetOneParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.EndOffset)); string _level = string.Empty; string level = MtCommon.GetOneParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.Level)); if (string.IsNullOrEmpty(level) || level.Equals(MtGlobals.Parameters.NoParam.ToString())) { _level = MtCommon.GetOneParameter(ele, MtCommon.GetStringValue(MtGlobals.Parameters.ReferenceLevel)); } else { _level = level; } string correctLevel = string.Empty; double offsetValue = double.Parse(offset); double correctOffsetValue = offsetValue; if (offsetValue > 0) { bool isFirst = false; for (int i = 0; i < m_listLevelOffset.Count; i++) { LevelOffset leveloffset = m_listLevelOffset[i]; if (leveloffset.levelName != _level && !isFirst) { continue; } else { isFirst = true; if (correctOffsetValue >= leveloffset.levelOffsetValue) { correctOffsetValue -= leveloffset.levelOffsetValue; } else { correctLevel = leveloffset.levelName; break; //获得正确标高跳出 } } } } else { bool isFirst = false; correctOffsetValue = Math.Abs(offsetValue); for (int i = m_listLevelOffset.Count - 1; i >= 0; i--) { LevelOffset leveloffset = m_listLevelOffset[i]; if (leveloffset.levelName != _level && !isFirst) { continue; } else { isFirst = true; if (correctOffsetValue >= leveloffset.levelOffsetValue) { correctOffsetValue -= leveloffset.levelOffsetValue; } else { correctLevel = leveloffset.levelName; break; } } } } if (string.IsNullOrEmpty(level) || level.Equals(MtGlobals.Parameters.NoParam.ToString())) { if (m_levels != null && m_levels.ContainsKey(correctLevel)) { Parameter param = ele.LookupParameter(MtCommon.GetStringValue(MtGlobals.Parameters.ReferenceLevel)); if (param != null) { param.Set(m_levels[correctLevel].LevelId); } } } else { if (m_levels != null && m_levels.ContainsKey(correctLevel)) { ele.LookupParameter(MtCommon.GetStringValue(MtGlobals.Parameters.Offset)).Set(correctOffsetValue); Parameter param = ele.LookupParameter(MtCommon.GetStringValue(MtGlobals.Parameters.Level)); } } } } CheckPipeLevel(); }
void GetPipePiameter() { ElementClassFilter instanceFilter = new ElementClassFilter(typeof(FamilyInstance)); ElementClassFilter hostFilter = new ElementClassFilter(typeof(HostObject)); LogicalOrFilter andFilter = new LogicalOrFilter(instanceFilter, hostFilter); FilteredElementCollector collector = new FilteredElementCollector(m_uIDocument.Document); collector.WherePasses(andFilter); Dictionary <string, float> m_dic = new Dictionary <string, float>(); List <Element> eles = new List <Element>(); float piameter = 0; MtCommon.WriteStringIntoText("总共:" + collector.Count().ToString()); int index = 0; foreach (var ele in collector) { if (m_IsCreateFile) { var content = MtCommon.ReadStringFromText(); content += "\r\n" + $"索引{index}:" + ele.Id.ToString(); MtCommon.WriteStringIntoText(content); index++; } string eleID = ele.Id.ToString(); //判断是否是设备,通过设备编码参数,判断是否为设备,设备的直径默认设置为10000 var equipCode = MtCommon.GetOneParameter(ele, MtCommon.GetStringValue(Parameters.EquipmentCode)); if (!string.IsNullOrEmpty(equipCode)) { piameter = 10000f; } else { //获取管道直径参数:只要包含“直径”二字的选择一个作为直径参数 var paramter = GetParameterWithPiameterParam(ele, "直径"); if (paramter != null && paramter.Count != 0) { foreach (var item in paramter) { var value = GetMultiNumbers(item.AsValueString()).FirstOrDefault(); piameter += value; } piameter = (int)(piameter / paramter.Count); } else { //没有直径参数的,利用宽高等参数判断,取中值 var width = GetParameterWithPiameterParam(ele, "风管宽度").FirstOrDefault();; var height = GetParameterWithPiameterParam(ele, "风管高度").FirstOrDefault(); if (width != null && height != null) { var widthValue = GetMultiNumbers(width.AsValueString()).FirstOrDefault(); var heightValue = GetMultiNumbers(height.AsValueString()).FirstOrDefault(); piameter = (int)((widthValue + heightValue) / 2); } else { //利用尺寸200x100,200x100200x100,只取前后两位计算 var size = MtCommon.GetOneParameter(ele, "尺寸"); if (!string.IsNullOrEmpty(size)) { var result = GetMultiNumbers(size); if (result.Count >= 2) { piameter = (int)((result[0] + result[result.Count - 1]) / 2); } else if (result.Count == 1) { piameter = result[0]; } else { piameter = 0; } } else { piameter = 0f; } } } } var campus = MtCommon.GetOneParameter(ele, MtCommon.GetStringValue(Parameters.Campus)); var build = MtCommon.GetOneParameter(ele, MtCommon.GetStringValue(Parameters.Building)); var level = MtCommon.GetOneParameter(ele, MtCommon.GetStringValue(Parameters.MtLevel)); var verticalPipe = MtCommon.GetOneParameter(ele, MtCommon.GetStringValue(Parameters.VerticalPipe)); string pipeCode = string.Empty; if (verticalPipe.Equals("1-1")) { pipeCode = campus + "-" + build + "-" + level + "_" + m_SystemCode + "_" + ele.Id + "#L"; } else { pipeCode = campus + "-" + build + "-" + level + "_" + m_SystemCode + "_" + ele.Id; } if (!m_dic.ContainsKey(pipeCode)) { m_dic.Add(pipeCode, piameter); eles.Add(ele); } piameter = 0; } MtCommon.HideElements(m_uIDocument.Document, eles); m_sqlite = new MtSQLite(m_sqliteFilePath); List <string> quarays = new List <string>(); foreach (var item in m_dic) { quarays.Add($"Update Facility_Pipe Set diameter = '{item.Value}' where code = '{item.Key}'"); //quarays.Add($"Insert into Pipe (code,diameter) values ('{item.Key}','{item.Value}')"); } m_sqlite.ExecuteNoneQuery(quarays.ToArray()); }