public static string ResolveCommandId(SolidEdgeFramework.Application application, int theCommandID) { ComVariableInfo variableInfo = null; if (_environmentConstantsMap.Count == 0) { Initialize(); } try { ComEnumInfo enumInfo = null; SolidEdgeFramework.Environment environment = application.GetActiveEnvironment(); Guid environmentGuid = environment.GetGuid(); if (_environmentConstantsMap.TryGetValue(environmentGuid, out enumInfo)) { variableInfo = enumInfo.Variables.Where(x => x.ConstantValue != null).Where(x => x.ConstantValue.Equals(theCommandID)).FirstOrDefault(); if (variableInfo != null) { return(String.Format("{0} [{1}.{2}]", theCommandID, variableInfo.ComTypeInfo.Name, variableInfo.Name)); } } } catch { GlobalExceptionHandler.HandleException(); } return(String.Format("{0} [Undefined]", theCommandID)); }
private bool ConnectToSolidEdge() { ComPtr pApplication = IntPtr.Zero; try { if (MarshalEx.Succeeded(MarshalEx.GetActiveObject("SolidEdge.Application", out pApplication))) { _application = pApplication.TryGetUniqueRCW <SolidEdgeFramework.Application>(); _connectionPointController.AdviseSink <SolidEdgeFramework.ISEApplicationEvents>(_application); commandBrowser.ActiveEnvironment = _application.GetActiveEnvironment(); globalParameterBrowser.RefreshGlobalParameters(); objectBrowser.Connect(); // Older versions of Solid Edge don't have the ProcessID property. try { processBrowser.ProcessId = _application.ProcessID; } catch { } return(true); } } catch { GlobalExceptionHandler.HandleException(); } finally { pApplication.Dispose(); } return(false); }
private bool ConnectToSolidEdge() { ComPtr pApplication = IntPtr.Zero; try { if (MarshalEx.Succeeded(MarshalEx.GetActiveObject("SolidEdge.Application", out pApplication))) { _application = pApplication.TryGetUniqueRCW<SolidEdgeFramework.Application>(); _connectionPointController.AdviseSink<SolidEdgeFramework.ISEApplicationEvents>(_application); commandBrowser.ActiveEnvironment = _application.GetActiveEnvironment(); globalParameterBrowser.RefreshGlobalParameters(); objectBrowser.Connect(); // Older versions of Solid Edge don't have the ProcessID property. try { processBrowser.ProcessId = _application.ProcessID; } catch { } return true; } } catch { GlobalExceptionHandler.HandleException(); } finally { pApplication.Dispose(); } return false; }
private void eventMonitorTimer_Tick(object sender, EventArgs e) { List <EventMonitorItem> items = new List <EventMonitorItem>(); EventMonitorItem item = null; while (_eventQueue.TryDequeue(out item)) { items.Add(item); } eventMonitor.LogEvents(items.ToArray()); if (_application != null) { if (commandBrowser.ActiveEnvironment == null) { commandBrowser.ActiveEnvironment = _application.GetActiveEnvironment(); } } }