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(); }