public IXApplication StartApplication(AppVersionInfo vers, StartupOptions_e opts, CancellationToken cancellationToken) { var args = new List <string>(); if (opts.HasFlag(StartupOptions_e.Safe)) { args.Add(SwApplication.CommandLineArguments.SafeMode); } if (opts.HasFlag(StartupOptions_e.Background)) { args.Add(SwApplication.CommandLineArguments.BackgroundMode); } if (opts.HasFlag(StartupOptions_e.Silent)) { args.Add(SwApplication.CommandLineArguments.SilentMode); } var app = SwApplication.Start(((SwAppVersionInfo)vers).Version, string.Join(" ", args), cancellationToken); app.Sw.CommandInProgress = true; return(app); }
internal SwPart(IPartDoc part, SwApplication app, IXLogger logger, bool isCreated) : base((IModelDoc2)part, app, logger, isCreated) { m_CutListRebuild = new CutListRebuildEventsHandler(this); Bodies = new SwPartBodyCollection(this); }
public AppVersionInfo ParseVersion(string version) { if (string.IsNullOrEmpty(version)) { var installedVers = SwApplication.GetInstalledVersions(); if (installedVers.Any()) { return(new SwAppVersionInfo(installedVers.OrderBy(v => (int)v).First())); } else { throw new Exception("Failed to find installed version of the host application"); } } else if (int.TryParse(version, out int rev)) { var swVers = (SwVersion_e)Enum.Parse(typeof(SwVersion_e), $"Sw{rev}"); return(new SwAppVersionInfo(swVers)); } else if (version.StartsWith("solidworks", StringComparison.CurrentCultureIgnoreCase)) { var swVers = (SwVersion_e)Enum.Parse(typeof(SwVersion_e), $"Sw{version.Substring("solidworks".Length).Trim()}"); return(new SwAppVersionInfo(swVers)); } else { var swVers = (SwVersion_e)Enum.Parse(typeof(SwVersion_e), version); return(new SwAppVersionInfo(swVers)); } }
internal SwCommandManager(SwApplication app, int addinCookie, ILogger logger) { m_App = app; CmdMgr = m_App.Application.GetCommandManager(addinCookie); m_Logger = logger; m_Commands = new Dictionary <string, CommandInfo>(); m_CommandBars = new List <SwCommandGroup>(); }
internal SwDocumentDispatcher(SwApplication app, IXLogger logger) { m_App = app; m_Logger = logger; m_DocsDispatchQueue = new List <SwDocument>(); m_ModelsDispatchQueue = new List <ModelInfo>(); m_Lock = new object(); }
public void IsVersionNewerOrEqualTest() { var sw2017sp23Mock = new Mock <SldWorks>(); sw2017sp23Mock.Setup(m => m.RevisionNumber()).Returns("25.2.3"); var app = SwApplication.FromPointer(sw2017sp23Mock.Object); var r1 = app.IsVersionNewerOrEqual(SwVersion_e.Sw2017); var r2 = app.IsVersionNewerOrEqual(SwVersion_e.Sw2017, 2); var r3 = app.IsVersionNewerOrEqual(SwVersion_e.Sw2017, 2, 3); var r4 = app.IsVersionNewerOrEqual(SwVersion_e.Sw2017, 3); var r5 = app.IsVersionNewerOrEqual(SwVersion_e.Sw2017, 1); var r6 = app.IsVersionNewerOrEqual(SwVersion_e.Sw2016, 4); var r7 = app.IsVersionNewerOrEqual(SwVersion_e.Sw2018, 0); Assert.IsTrue(r1); Assert.IsTrue(r2); Assert.IsTrue(r3); Assert.IsFalse(r4); Assert.IsTrue(r5); Assert.IsTrue(r6); Assert.IsFalse(r7); Assert.Throws <ArgumentException>(() => app.IsVersionNewerOrEqual(SwVersion_e.Sw2017, null, 1)); }
internal SwDocument3D(IModelDoc2 model, SwApplication app, IXLogger logger, bool isCreated) : base(model, app, logger, isCreated) { m_MathUtils = app.Sw.IGetMathUtility(); m_Configurations = new Lazy <ISwConfigurationCollection>(() => new SwConfigurationCollection(app.Sw, this)); m_ModelViews = new Lazy <ISwModelViewsCollection>(() => new SwModelViewsCollection(this, m_MathUtils)); }
internal SwDrawing(IDrawingDoc drawing, SwApplication app, IXLogger logger, bool isCreated) : base((IModelDoc2)drawing, app, logger, isCreated) { m_SheetsLazy = new Lazy <IXSheetRepository>(() => new SwSheetCollection(this)); }
internal SwCommandGroup(SwApplication app, CommandGroupSpec spec, CommandGroup cmdGroup) { Spec = spec; CommandGroup = cmdGroup; m_App = app; }
internal SwAssembly(IAssemblyDoc assembly, SwApplication app, IXLogger logger, bool isCreated) : base((IModelDoc2)assembly, app, logger, isCreated) { m_LazyConfigurations = new Lazy <SwAssemblyConfigurationCollection>(() => new SwAssemblyConfigurationCollection(app.Sw, this)); }
public IEnumerable <AppVersionInfo> GetInstalledVersions() => SwApplication.GetInstalledVersions() .Select(x => new SwAppVersionInfo(x));
internal SwAssembly(IAssemblyDoc assembly, SwApplication app, IXLogger logger, bool isCreated) : base((IModelDoc2)assembly, app, logger, isCreated) { Components = new SwAssemblyComponentCollection(this); }
internal SwDrawing(IDrawingDoc drawing, SwApplication app, IXLogger logger, bool isCreated) : base((IModelDoc2)drawing, app, logger, isCreated) { Sheets = new SwSheetCollection(this); }