/// <summary> /// Creates a new GSA file. Email address and server address is needed for logging purposes. /// </summary> /// <param name="emailAddress">User email address</param> /// <param name="serverAddress">Speckle server address</param> public void NewFile(bool showWindow = true, object gsaInstance = null) { ExecuteWithLock(() => { if (GSAObject != null) { try { GSAObject.Close(); } catch { } GSAObject = null; } GSAObject = (IComAuto)gsaInstance ?? new ComAuto(); GSAObject.LogFeatureUsage("api::specklegsa::" + FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location) .ProductVersion + "::GSA " + GSAObject.VersionString() .Split(new char[] { '\n' })[0] .Split(new char[] { '\t' }, StringSplitOptions.RemoveEmptyEntries)[1]); GSAObject.NewFile(); GSAObject.SetLocale(Locale.LOC_EN_GB); if (showWindow) { GSAObject.DisplayGsaWindow(true); } }); }