/*------------------------------------------------------------------------------------**/ /// <summary> /// CheckConnectivity /// </summary> /// <param name="unparsed"></param> /*--------------+---------------+---------------+---------------+---------------+------*/ public static void CheckConnectivity ( string unparsed ) { BMECApi MechnanicalAPI = BMECApi.Instance; ECInstanceList ComponentList = null; DgnUtilities dgnUtil = DgnUtilities.GetInstance(); if (unparsed.ToUpper() == "HVAC") { PipelineManagerMode.Mode = PipelineManagerAvailableModes.HVAC; ComponentList = dgnUtil.GetAllInstancesFromDgn("HVAC_COMPONENT", true); } else if (unparsed.ToUpper() == "TRAY") { PipelineManagerMode.Mode = PipelineManagerAvailableModes.CableTray; ComponentList = dgnUtil.GetAllInstancesFromDgn("CABLETRAY_COMPONENT", true); } else { PipelineManagerMode.Mode = PipelineManagerAvailableModes.Piping; ComponentList = dgnUtil.GetAllInstancesFromDgn("PIPING_COMPONENT", true); } if (unparsed.ToUpper() == "FIXDISCONNECTS") { if (ComponentList.Count == 0) { return; } s_ConnectivityLog = new LogConnectivityReport(); s_ConnectivityLog.AutoConnectivityCheck(); s_ConnectivityLog.AutoDisconnectFix(); PipelineUtilities.IsConnectivityCheckerRunning = false; } else { if (ComponentList.Count == 0) { MechnanicalAPI.SendToMessageCenterD(DgnPlatformNET.OutputMessagePriority.Information, LocalizableStrings.NoComponentinDgn); } if (s_ConnectivityDialog != null) { s_ConnectivityDialog.ExamineAndShow(true); } if (s_ConnectivityDialog == null) { s_ConnectivityDialog = new DlgConnetivtyReport(); s_ConnectivityDialog.FormClosed += new FormClosedEventHandler(ConnectivityDialog_FormClosed); } s_ConnectivityDialog.Show(); } }
/*------------------------------------------------------------------------------------**/ /// <summary> /// ReplaceComponents /// </summary> /// <param name="unparsed"></param> /*--------------+---------------+---------------+---------------+---------------+------*/ public static void ReplaceComponents ( string unparsed ) { if (PipelineUtilities.IsReplaceDialogRunning) { return; } BMECApi MechnanicalAPI = BMECApi.Instance; // Don't proceed for readonly files if (MechnanicalAPI.IsActiveModelReadOnly()) { MechnanicalAPI.SendToMessageCenterD(Bentley.DgnPlatformNET.OutputMessagePriority.Information, LocalizableStrings.DgnReadonly); return; } ECInstanceList ecList = MechnanicalAPI.GetSelectedInstances(); int count = 0; for (int i = 0; i < ecList.Count; i++) { IECInstance ecInstanceTemp = ecList[i] as IECInstance; if (ecInstanceTemp == null) { continue; } // Skip anything other than piping components or valve operators if (!(SchemaUtilities.IsPipingComponent(ecInstanceTemp) || SchemaUtilities.IsComponentOfType(ecInstanceTemp, ClassNames.VALVE_OPERATING_DEVICE))) { continue; } //You can't replace fasteners if (SchemaUtilities.IsComponentOfType(ecInstanceTemp, ClassNames.FASTENER)) { continue; } //You can't replace seals if (SchemaUtilities.IsComponentOfType(ecInstanceTemp, ClassNames.SEAL)) { continue; } count++; } ECInstanceList nozzleList = new ECInstanceList(); bool bHasFreeformNozzle = false; if (count == 0) { for (int i = 0; i < ecList.Count; i++) { IECInstance ecInstanceTemp = ecList[i] as IECInstance; if (ecInstanceTemp.ClassDefinition.Name == "NOZZLE") { IECPropertyValue propVal = ecInstanceTemp["TYPE_FOR_DATUM"]; if (propVal != null && propVal.StringValue == "Freeform") { bHasFreeformNozzle = true; nozzleList.Add(ecInstanceTemp); } } } } if (count == 0 && !bHasFreeformNozzle) { MechnanicalAPI.SendToMessageCenterD(DgnPlatformNET.OutputMessagePriority.Information, LocalizableStrings.NoComponentsSelectedinDgn); return; } for (int i = 0; i < ecList.Count; i++) { DgnUtilities dgnUtil = DgnUtilities.GetInstance(); IECInstance ecInst = ecList[i]; if (dgnUtil.IsECInstanceFromReferenceFile(ecInst) || dgnUtil.IsECInstanceReferencedOut(ecInst)) { MechnanicalAPI.SendToMessageCenterD(DgnPlatformNET.OutputMessagePriority.Information, LocalizableStrings.ReadonlyComps); return; } } if (s_ReplaceCompDialog == null) { if (nozzleList.Count <= 0) { s_ReplaceCompDialog = new DlgReplaceComponent(ecList, ReplaceDialogMode.SimpleReplace, true); s_ReplaceCompDialog.FormClosed += new FormClosedEventHandler(ReplaceCompDialog_FormClosed); } else { s_ReplaceCompDialog = new DlgReplaceComponent(nozzleList, ReplaceDialogMode.ChangeSpecSize, false); s_ReplaceCompDialog.FormClosed += new FormClosedEventHandler(ReplaceCompDialog_FormClosed); } } s_ReplaceCompDialog.Show(); }