Beispiel #1
0
        static public void SaveToLibraryFolder(PrintItemWrapper printItemWrapper, List <MeshGroup> meshGroups, bool AbsolutePositioned)
        {
            string[] metaData = { "Created By", "MatterControl" };
            if (AbsolutePositioned)
            {
                metaData = new string[] { "Created By", "MatterControl", "BedPosition", "Absolute" };
            }
            if (printItemWrapper.FileLocation.Contains(ApplicationDataStorage.Instance.ApplicationLibraryDataPath))
            {
                MeshOutputSettings outputInfo = new MeshOutputSettings(MeshOutputSettings.OutputType.Binary, metaData);
                MeshFileIo.Save(meshGroups, printItemWrapper.FileLocation, outputInfo);
            }
            else             // save a copy to the library and update this to point at it
            {
                string fileName = Path.ChangeExtension(Path.GetRandomFileName(), ".amf");
                printItemWrapper.FileLocation = Path.Combine(ApplicationDataStorage.Instance.ApplicationLibraryDataPath, fileName);

                MeshOutputSettings outputInfo = new MeshOutputSettings(MeshOutputSettings.OutputType.Binary, metaData);
                MeshFileIo.Save(meshGroups, printItemWrapper.FileLocation, outputInfo);

                printItemWrapper.PrintItem.Commit();

                // let the queue know that the item has changed so it load the correct part
                QueueData.Instance.SaveDefaultQueue();
            }

            printItemWrapper.OnFileHasChanged();
        }
        static public void SaveToLibraryFolder(PrintItemWrapper printItemWrapper, List <MeshGroup> meshGroups)
        {
            if (printItemWrapper.FileLocation.Contains(ApplicationDataStorage.Instance.ApplicationLibraryDataPath))
            {
                MeshOutputSettings outputInfo = new MeshOutputSettings(MeshOutputSettings.OutputType.Binary, new string[] { "Created By", "MatterControl" });
                MeshFileIo.Save(meshGroups, printItemWrapper.FileLocation, outputInfo);
            }
            else // save a copy to the library and update this to point at it
            {
                string fileName = Path.ChangeExtension(Path.GetRandomFileName(), ".amf");
                printItemWrapper.FileLocation = Path.Combine(ApplicationDataStorage.Instance.ApplicationLibraryDataPath, fileName);

                MeshOutputSettings outputInfo = new MeshOutputSettings(MeshOutputSettings.OutputType.Binary, new string[] { "Created By", "MatterControl" });
                MeshFileIo.Save(meshGroups, printItemWrapper.FileLocation, outputInfo);

                printItemWrapper.PrintItem.Commit();
            }

            printItemWrapper.OnFileHasChanged();
        }