private static async Task <IObject3D> CreateCalibrationObject(PrinterConfig printer, XyCalibrationWizard calibrationWizard) { var layerHeight = printer.Settings.GetValue <double>(SettingsKey.layer_height); var firstLayerHeight = printer.Settings.GetValue <double>(SettingsKey.first_layer_height); switch (calibrationWizard.Quality) { case QualityType.Coarse: return(await XyCalibrationTabObject3D.Create( 1, Math.Max(firstLayerHeight * 2, layerHeight * 2), calibrationWizard.Offset, printer.Settings.GetValue <double>(SettingsKey.nozzle_diameter), printer.Settings.GetValue <double>(SettingsKey.wipe_tower_size))); default: return(await XyCalibrationFaceObject3D.Create( 1, firstLayerHeight + layerHeight, layerHeight, calibrationWizard.Offset, printer.Settings.GetValue <double>(SettingsKey.nozzle_diameter), printer.Settings.GetValue <double>(SettingsKey.wipe_tower_size), 4)); } }
public LibraryCollectionContainer() { this.ChildContainers = new List <ILibraryContainerLink>(); this.Items = new List <ILibraryItem>(); this.Name = "Library".Localize(); var rootLibraryCollection = Datastore.Instance.dbSQLite.Table <PrintItemCollection>().Where(v => v.Name == "_library").Take(1).FirstOrDefault(); if (rootLibraryCollection != null) { this.ChildContainers.Add( new DynamicContainerLink( () => "Local Library".Localize(), StaticData.Instance.LoadIcon(Path.Combine("Library", "folder.png")), StaticData.Instance.LoadIcon(Path.Combine("Library", "local_library_icon.png")), () => new SqliteLibraryContainer(rootLibraryCollection.Id))); } this.ChildContainers.Add( new DynamicContainerLink( () => "Calibration Parts".Localize(), StaticData.Instance.LoadIcon(Path.Combine("Library", "folder.png")), StaticData.Instance.LoadIcon(Path.Combine("Library", "calibration_library_icon.png")), () => new CalibrationPartsContainer()) { IsReadOnly = true }); this.ChildContainers.Add( new DynamicContainerLink( () => "Primitives".Localize(), StaticData.Instance.LoadIcon(Path.Combine("Library", "folder.png")), StaticData.Instance.LoadIcon(Path.Combine("Library", "primitives_library_icon.png")), () => new PrimitivesContainer()) { IsReadOnly = true }); var forceAddQueue = false; #if DEBUG forceAddQueue = true; #endif // only add the queue if there are items in it var queueItems = QueueData.Instance.PrintItems.ToList(); if (forceAddQueue || queueItems.Any()) { this.ChildContainers.Add( new DynamicContainerLink( () => "Print Queue".Localize(), StaticData.Instance.LoadIcon(Path.Combine("Library", "folder.png")), StaticData.Instance.LoadIcon(Path.Combine("Library", "queue_icon.png")), () => new PrintQueueContainer())); } #if DEBUG this.ChildContainers.Add( new DynamicContainerLink( () => "Pipe Works".Localize(), StaticData.Instance.LoadIcon(Path.Combine("Library", "folder.png")), null, () => new PipeWorksContainer()) { IsReadOnly = true }); int index = 0; this.ChildContainers.Add( new DynamicContainerLink( () => "Experimental".Localize(), StaticData.Instance.LoadIcon(Path.Combine("Library", "folder.png")), null, () => new DynamicContainer() { Items = new List <ILibraryItem>() { new GeneratorItem( () => "Calibration Tab".Localize(), async() => await XyCalibrationTabObject3D.Create()) { DateCreated = new System.DateTime(index++) }, new GeneratorItem( () => "Calibration Face".Localize(), async() => await XyCalibrationFaceObject3D.Create()) { DateCreated = new System.DateTime(index++) }, new GeneratorItem( () => "Text2".Localize(), async() => await TextPathObject3D.Create()) { DateCreated = new System.DateTime(index++) }, new GeneratorItem( () => "Path".Localize(), () => { var storage = new VertexStorage(); storage.MoveTo(5, 5); storage.LineTo(10, 5); storage.LineTo(7.5, 10); storage.ClosePolygon(); var path = new PathObject3D() { VertexSource = storage }; return(Task.FromResult <IObject3D>(path)); }) { DateCreated = new System.DateTime(index++) }, } }) { IsReadOnly = true }); #endif }
public override void Load() { var library = ApplicationController.Instance.Library; long index = DateTime.Now.Ticks; var libraryItems = new List <GeneratorItem>() { new GeneratorItem( () => "Cube".Localize(), async() => await CubeObject3D.Create()) { DateCreated = new System.DateTime(index++) }, #if DEBUG new GeneratorItem( () => "Calibration Tab".Localize(), async() => await XyCalibrationTabObject3D.Create()) { DateCreated = new System.DateTime(index++) }, #endif new GeneratorItem( () => "Pyramid".Localize(), async() => await PyramidObject3D.Create()) { DateCreated = new System.DateTime(index++) }, new GeneratorItem( () => "Wedge".Localize(), async() => await WedgeObject3D.Create()) { DateCreated = new System.DateTime(index++) }, new GeneratorItem( () => "Half Wedge".Localize(), async() => await HalfWedgeObject3D.Create()) { DateCreated = new System.DateTime(index++) }, new GeneratorItem( () => "Text".Localize(), async() => await TextObject3D.Create()) { DateCreated = new System.DateTime(index++) }, #if DEBUG new GeneratorItem( () => "Text2".Localize(), async() => await TextPathObject3D.Create()) { DateCreated = new System.DateTime(index++) }, #endif new GeneratorItem( () => "Cylinder".Localize(), async() => await CylinderObject3D.Create()) { DateCreated = new System.DateTime(index++) }, new GeneratorItem( () => "Cone".Localize(), async() => await ConeObject3D.Create()) { DateCreated = new System.DateTime(index++) }, new GeneratorItem( () => "Half Cylinder".Localize(), async() => await HalfCylinderObject3D.Create()) { DateCreated = new System.DateTime(index++) }, new GeneratorItem( () => "Torus".Localize(), async() => await TorusObject3D.Create()) { DateCreated = new System.DateTime(index++) }, new GeneratorItem( () => "Ring".Localize(), async() => await RingObject3D.Create()) { DateCreated = new System.DateTime(index++) }, new GeneratorItem( () => "Sphere".Localize(), async() => await SphereObject3D.Create()) { DateCreated = new System.DateTime(index++) }, new GeneratorItem( () => "Half Sphere".Localize(), async() => await HalfSphereObject3D.Create()) { DateCreated = new System.DateTime(index++) }, new GeneratorItem( () => "Image Converter".Localize(), () => { // Construct an image var imageObject = new ImageObject3D() { AssetPath = AggContext.StaticData.ToAssetPath(Path.Combine("Images", "mh-logo.png")) }; // Construct a scene var tempScene = new InteractiveScene(); tempScene.Children.Add(imageObject); tempScene.SelectedItem = imageObject; // Invoke ImageConverter operation, passing image and scene ApplicationController.Instance.Graph.Operations["ImageConverter"].Operation(imageObject, tempScene); // Return replacement object constructed in ImageConverter operation var constructedComponent = tempScene.SelectedItem; tempScene.Children.Remove(constructedComponent); return(Task.FromResult <IObject3D>(constructedComponent)); }) { DateCreated = new System.DateTime(index++) }, }; string title = "Primitive Shapes".Localize(); foreach (var item in libraryItems) { item.Category = title; Items.Add(item); } }