Example #1
0
        public static void DoGCodeExport(string sFilename)
        {
            if (sFilename != null && sFilename.Length > 0)
            {
                if (string.IsNullOrEmpty(Path.GetExtension(sFilename)))
                {
                    sFilename = sFilename + ".gcode";
                }

                StandardGCodeWriter writer = new StandardGCodeWriter();
                using (StreamWriter w = new StreamWriter(sFilename)) {
                    writer.WriteFile(CC.Toolpather.CurrentGCode, w);
                }

                CotangentAnalytics.ExportGCode();

                if (CC.PrinterDB.ActivePreset.Settings is gs.info.ISailfishSettings)
                {
                    gs.info.ISailfishSettings sailfish = CC.PrinterDB.ActivePreset.Settings as gs.info.ISailfishSettings;
                    Task.Run(() => {
                        string GPX_PATH = Path.Combine(FPlatform.GameExecutablePath(), "utilities/gpx.exe");
                        string args     = sailfish.GPXModelFlag + " -p " + sFilename;
                        DebugUtil.Log("Running " + GPX_PATH + " " + args);
                        System.Diagnostics.Process.Start(GPX_PATH, args);
                    });
                }
            }
        }
Example #2
0
        public static void BeginTool(string identifier)
        {
            AcceptAndExitCurrentTool();

            CC.ActiveContext.ToolManager.SetActiveToolType(identifier, ToolSide.Right);
            CC.ActiveContext.ToolManager.ActivateTool(ToolSide.Right);

            CotangentAnalytics.StartTool(identifier);
        }
Example #3
0
        public static void DoMeshExport(string sFilename)
        {
            if (sFilename != null && sFilename.Length > 0)
            {
                if (string.IsNullOrEmpty(Path.GetExtension(sFilename)))
                {
                    sFilename = sFilename + ".obj";
                }

                List <DMeshSO> exportSOs = new List <DMeshSO>();
                foreach (var so in CC.ActiveScene.Selected)
                {
                    if (so is PrintMeshSO && CC.ActiveScene.IsVisible(so))
                    {
                        exportSOs.Add(so as PrintMeshSO);
                    }
                }
                if (exportSOs.Count == 0)
                {
                    exportSOs.AddRange(CC.Objects.PrintMeshes.Where(CC.ActiveScene.IsVisible).Cast <DMeshSO>());
                }

                MeshExporter exporter = new MeshExporter(exportSOs, sFilename);
                exporter.OnCompletedF = (result) => {
                    if (result.code == IOCode.Ok)
                    {
                        DebugUtil.Log("Export OK");
                        ThreadMailbox.PostToMainThread(() => { CotangentAnalytics.ExportMesh(sFilename); });
                    }
                    else
                    {
                        DebugUtil.Log("Export ERROR: " + result.message);
                    }
                };
                FPlatform.CoroutineExec.StartAnonymousCoroutine(exporter.RunMainThreadProcessing());
            }
        }