diff options
30 files changed, 946 insertions, 184 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index ffff818..297d3e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,34 @@ # Changelog +## 04/06/2020 - v0.4.2.1 - Beta + +* (Add) PrusaSlicer Printer "AnyCubic Photon" +* (Add) PrusaSlicer Printer "Elegoo Mars Saturn" +* (Add) PrusaSlicer Printer "Elegoo Mars" +* (Add) PrusaSlicer Printer "EPAX X10" +* (Add) PrusaSlicer Printer "EPAX X133 4K Mono" +* (Add) PrusaSlicer Printer "EPAX X156 4K Color" +* (Add) PrusaSlicer Printer "Peopoly Phenom L" +* (Add) PrusaSlicer Printer "Peopoly Phenom Noir" +* (Add) PrusaSlicer Printer "Peopoly Phenom" +* (Add) PrusaSlicer Printer "Phrozen Shuffle 4K" +* (Add) PrusaSlicer Printer "Phrozen Shuffle Lite" +* (Add) PrusaSlicer Printer "Phrozen Shuffle XL" +* (Add) PrusaSlicer Printer "Phrozen Shuffle" +* (Add) PrusaSlicer Printer "Phrozen Sonic" +* (Add) PrusaSlicer Printer "Phrozen Transform" +* (Add) PrusaSlicer Printer "QIDI Shadow5.5" +* (Add) PrusaSlicer Printer "QIDI Shadow6.0 Pro" +* (Add) "Detect" text to compute layers button +* (Add) "Repair" islands button on Islands tab +* (Add) "Highlight islands" button on layer toolbar +* (Add) Possible error cath on island computation +* (Add) After load new file layer is rotated or not based on it width, landscape will not rotate while portrait will +* (Improvement) Highlighted islands now also show AA pixels as a darker yellow +* (Improvement) Island detection now need a certain number of touching pixels to consider a island or not, ie: i can't lay on only one pixel +* (Fix) Island detection now don't consider dark fadded AA pixels as safe land +* (Fix) Epax X1 printer properties + ## 03/06/2020 - v0.4.2 - Beta * (Add) Zoom times information diff --git a/ImportPrinters.bat b/ImportPrinters.bat index e44eacc..dbd8b9e 100644 --- a/ImportPrinters.bat +++ b/ImportPrinters.bat @@ -7,6 +7,23 @@ SET files[0]=EPAX X1.ini SET files[1]=Phrozen Sonic Mini.ini SET files[2]=Zortrax Inkspire.ini SET files[3]=Nova3D Elfin.ini +SET files[4]=AnyCubic Photon.ini +SET files[5]=Elegoo Mars.ini +SET files[6]=Elegoo Mars Saturn.ini +SET files[7]=EPAX X10.ini +SET files[8]=EPAX X133 4K Mono.ini +SET files[9]=EPAX X156 4K Color.ini +SET files[10]=Peopoly Phenom.ini +SET files[11]=Peopoly Phenom L.ini +SET files[12]=Peopoly Phenom Noir.ini +SET files[13]=QIDI Shadow5.5.ini +SET files[14]=QIDI Shadow6.0 Pro.ini +SET files[15]=Phrozen Shuffle.ini +SET files[16]=Phrozen Shuffle Lite.ini +SET files[17]=Phrozen Shuffle XL.ini +SET files[18]=Phrozen Shuffle 4K.ini +SET files[19]=Phrozen Sonic.ini +SET files[20]=Phrozen Transform.ini echo PrusaSlicer Printers Instalation echo This will replace printers, all changes will be discarded diff --git a/PrusaSL1Reader/LayerManager.cs b/PrusaSL1Reader/LayerManager.cs index 48e8064..711fa2d 100644 --- a/PrusaSL1Reader/LayerManager.cs +++ b/PrusaSL1Reader/LayerManager.cs @@ -244,24 +244,27 @@ namespace PrusaSL1Reader /// <summary> /// Gets all islands start pixel location for this layer + /// https://www.geeksforgeeks.org/find-number-of-islands/ /// </summary> /// <returns><see cref="List{T}"/> holding all islands coordinates</returns> - public List<LayerIsland> GetIslandsLocation() + public List<LayerIsland> GetIslandsLocation(uint requiredPixelsToSupportIsland = 5) { - // https://www.geeksforgeeks.org/find-number-of-islands/ + if (requiredPixelsToSupportIsland == 0) + requiredPixelsToSupportIsland = 1; // These arrays are used to // get row and column numbers // of 8 neighbors of a given cell List<LayerIsland> result = new List<LayerIsland>(); - List<System.Drawing.Point> pixels = new List<System.Drawing.Point>(); + List<Point> pixels = new List<Point>(); if (Index == 0) return result; sbyte[] rowNbr = { -1, -1, -1, 0, 0, 1, 1, 1 }; sbyte[] colNbr = { -1, 0, 1, -1, 1, -1, 0, 1 }; const uint minPixel = 10; - bool presetOnPrevious; + const uint minPixelForSupportIsland = 200; int pixelIndex; + uint islandSupportingPixels; var image = Image; byte[] bytes = null; @@ -322,14 +325,15 @@ namespace PrusaSL1Reader !visited[tempy2, tempx2]) { visited[tempy2, tempx2] = true; - point = new System.Drawing.Point(tempx2, tempy2); + point = new Point(tempx2, tempy2); pixels.Add(point); queue.Enqueue(point); - if (!presetOnPrevious && !ReferenceEquals(previousBytes, null)) + islandSupportingPixels += previousBytes[pixelIndex] >= minPixelForSupportIsland ? 1u : 0; + /*if (!presetOnPrevious) { - if (previousBytes[pixelIndex] >= minPixel) presetOnPrevious = true; - } + if (previousBytes[pixelIndex] >= minPixelForSupportIsland) presetOnPrevious = true; + }*/ } } } @@ -351,18 +355,14 @@ namespace PrusaSL1Reader // found, Visit all cells in this // island and increment island count pixels.Clear(); - pixels.Add(new System.Drawing.Point(x, y)); - presetOnPrevious = previousBytes[pixelIndex] >= minPixel; + pixels.Add(new Point(x, y)); + islandSupportingPixels = previousBytes[pixelIndex] >= minPixelForSupportIsland ? 1u : 0; DFS(y, x); //count++; - if (!presetOnPrevious) - { - result.Add(new LayerIsland(this, pixels.ToArray())); - //count++; - } - - presetOnPrevious = false; + if (islandSupportingPixels >= requiredPixelsToSupportIsland) continue; // Not a island, bounding is strong + if (islandSupportingPixels > 0 && pixels.Count < requiredPixelsToSupportIsland && islandSupportingPixels >= Math.Max(1, pixels.Count / 2)) continue; // Not a island + result.Add(new LayerIsland(this, pixels.ToArray())); } } } diff --git a/PrusaSL1Reader/PrusaSL1Reader.csproj b/PrusaSL1Reader/PrusaSL1Reader.csproj index e57bfe9..4c1c964 100644 --- a/PrusaSL1Reader/PrusaSL1Reader.csproj +++ b/PrusaSL1Reader/PrusaSL1Reader.csproj @@ -7,9 +7,9 @@ <PackageProjectUrl>https://github.com/sn4k3/PrusaSL1Viewer</PackageProjectUrl> <PackageIcon></PackageIcon> <RepositoryUrl>https://github.com/sn4k3/PrusaSL1Viewer</RepositoryUrl> - <AssemblyVersion>0.4.2.0</AssemblyVersion> - <FileVersion>0.4.2.0</FileVersion> - <Version>0.4.2</Version> + <AssemblyVersion>0.4.2.1</AssemblyVersion> + <FileVersion>0.4.2.1</FileVersion> + <Version>0.4.2.1</Version> <Description>Open, view, edit, extract and convert DLP/SLA files generated from Slicers</Description> </PropertyGroup> diff --git a/PrusaSL1Viewer/FrmMain.Designer.cs b/PrusaSL1Viewer/FrmMain.Designer.cs index 0b0ff2a..4c2de3b 100644 --- a/PrusaSL1Viewer/FrmMain.Designer.cs +++ b/PrusaSL1Viewer/FrmMain.Designer.cs @@ -69,6 +69,8 @@ this.tsLayerImageLayerDifference = new System.Windows.Forms.ToolStripButton(); this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator(); this.tsLayerPreviewTime = new System.Windows.Forms.ToolStripLabel(); + this.toolStripSeparator14 = new System.Windows.Forms.ToolStripSeparator(); + this.tsLayerImageHighlightIslands = new System.Windows.Forms.ToolStripButton(); this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator(); this.tsLayerImageLayerOutline = new System.Windows.Forms.ToolStripButton(); this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator(); @@ -113,9 +115,11 @@ this.tsIslandsPrevious = new System.Windows.Forms.ToolStripButton(); this.tsIslandsCount = new System.Windows.Forms.ToolStripLabel(); this.tsIslandsNext = new System.Windows.Forms.ToolStripButton(); + this.toolStripSeparator13 = new System.Windows.Forms.ToolStripSeparator(); this.tsIslandsRefresh = new System.Windows.Forms.ToolStripButton(); - this.toolStripSeparator12 = new System.Windows.Forms.ToolStripSeparator(); this.tsIslandsRemove = new System.Windows.Forms.ToolStripButton(); + this.toolStripSeparator12 = new System.Windows.Forms.ToolStripSeparator(); + this.tsIslandsRepair = new System.Windows.Forms.ToolStripButton(); this.imageList16x16 = new System.Windows.Forms.ImageList(this.components); this.menu.SuspendLayout(); this.mainTable.SuspendLayout(); @@ -154,7 +158,7 @@ this.helpToolStripMenuItem}); this.menu.Location = new System.Drawing.Point(0, 0); this.menu.Name = "menu"; - this.menu.Size = new System.Drawing.Size(1631, 24); + this.menu.Size = new System.Drawing.Size(1684, 24); this.menu.TabIndex = 0; this.menu.Text = "menuStrip1"; // @@ -297,6 +301,7 @@ // // menuToolsRepairLayers // + this.menuToolsRepairLayers.Enabled = false; this.menuToolsRepairLayers.Image = global::PrusaSL1Viewer.Properties.Resources.Wrench_16x16; this.menuToolsRepairLayers.Name = "menuToolsRepairLayers"; this.menuToolsRepairLayers.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Alt) @@ -367,9 +372,9 @@ // // statusBar // - this.statusBar.Location = new System.Drawing.Point(0, 761); + this.statusBar.Location = new System.Drawing.Point(0, 764); this.statusBar.Name = "statusBar"; - this.statusBar.Size = new System.Drawing.Size(1631, 22); + this.statusBar.Size = new System.Drawing.Size(1684, 22); this.statusBar.TabIndex = 1; this.statusBar.Text = "statusStrip1"; // @@ -380,7 +385,7 @@ this.sbLayers.LargeChange = 1; this.sbLayers.Location = new System.Drawing.Point(0, 0); this.sbLayers.Name = "sbLayers"; - this.sbLayers.Size = new System.Drawing.Size(124, 670); + this.sbLayers.Size = new System.Drawing.Size(124, 673); this.sbLayers.TabIndex = 4; this.sbLayers.ValueChanged += new System.EventHandler(this.sbLayers_ValueChanged); // @@ -398,7 +403,7 @@ this.mainTable.Name = "mainTable"; this.mainTable.RowCount = 1; this.mainTable.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.mainTable.Size = new System.Drawing.Size(1631, 737); + this.mainTable.Size = new System.Drawing.Size(1684, 740); this.mainTable.TabIndex = 5; // // splitContainer1 @@ -406,7 +411,7 @@ this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel2; this.splitContainer1.IsSplitterFixed = true; - this.splitContainer1.Location = new System.Drawing.Point(1504, 3); + this.splitContainer1.Location = new System.Drawing.Point(1557, 3); this.splitContainer1.Name = "splitContainer1"; this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal; // @@ -417,8 +422,8 @@ // splitContainer1.Panel2 // this.splitContainer1.Panel2.Controls.Add(this.lbLayers); - this.splitContainer1.Size = new System.Drawing.Size(124, 731); - this.splitContainer1.SplitterDistance = 670; + this.splitContainer1.Size = new System.Drawing.Size(124, 734); + this.splitContainer1.SplitterDistance = 673; this.splitContainer1.TabIndex = 0; // // lbLayers @@ -449,8 +454,8 @@ // this.scCenter.Panel2.Controls.Add(this.pbLayers); this.scCenter.Panel2MinSize = 18; - this.scCenter.Size = new System.Drawing.Size(1095, 731); - this.scCenter.SplitterDistance = 702; + this.scCenter.Size = new System.Drawing.Size(1148, 734); + this.scCenter.SplitterDistance = 705; this.scCenter.TabIndex = 4; // // pbLayer @@ -461,7 +466,7 @@ this.pbLayer.Name = "pbLayer"; this.pbLayer.PanMode = Cyotek.Windows.Forms.ImageBoxPanMode.Left; this.pbLayer.ShowPixelGrid = true; - this.pbLayer.Size = new System.Drawing.Size(1095, 677); + this.pbLayer.Size = new System.Drawing.Size(1148, 680); this.pbLayer.TabIndex = 7; this.pbLayer.Zoomed += new System.EventHandler<Cyotek.Windows.Forms.ImageBoxZoomEventArgs>(this.pbLayer_Zoomed); this.pbLayer.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbLayer_MouseMove); @@ -478,6 +483,8 @@ this.tsLayerImageLayerDifference, this.toolStripSeparator6, this.tsLayerPreviewTime, + this.toolStripSeparator14, + this.tsLayerImageHighlightIslands, this.toolStripSeparator7, this.tsLayerImageLayerOutline, this.toolStripSeparator9, @@ -488,7 +495,7 @@ this.tsLayerImageMouseLocation}); this.tsLayer.Location = new System.Drawing.Point(0, 0); this.tsLayer.Name = "tsLayer"; - this.tsLayer.Size = new System.Drawing.Size(1095, 25); + this.tsLayer.Size = new System.Drawing.Size(1148, 25); this.tsLayer.TabIndex = 6; this.tsLayer.Text = "Layer Menu"; // @@ -558,6 +565,24 @@ this.tsLayerPreviewTime.Text = "Preview Time"; this.tsLayerPreviewTime.ToolTipText = "Layer Resolution"; // + // toolStripSeparator14 + // + this.toolStripSeparator14.Name = "toolStripSeparator14"; + this.toolStripSeparator14.Size = new System.Drawing.Size(6, 25); + // + // tsLayerImageHighlightIslands + // + this.tsLayerImageHighlightIslands.Checked = true; + this.tsLayerImageHighlightIslands.CheckOnClick = true; + this.tsLayerImageHighlightIslands.CheckState = System.Windows.Forms.CheckState.Checked; + this.tsLayerImageHighlightIslands.Image = global::PrusaSL1Viewer.Properties.Resources.island_16x16; + this.tsLayerImageHighlightIslands.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsLayerImageHighlightIslands.Name = "tsLayerImageHighlightIslands"; + this.tsLayerImageHighlightIslands.Size = new System.Drawing.Size(63, 22); + this.tsLayerImageHighlightIslands.Text = "Islands"; + this.tsLayerImageHighlightIslands.ToolTipText = "Highlight islands on current layer.\r\nValid only if Islands are calculated."; + this.tsLayerImageHighlightIslands.Click += new System.EventHandler(this.ItemClicked); + // // toolStripSeparator7 // this.toolStripSeparator7.Name = "toolStripSeparator7"; @@ -622,7 +647,7 @@ this.pbLayers.Dock = System.Windows.Forms.DockStyle.Fill; this.pbLayers.Location = new System.Drawing.Point(0, 0); this.pbLayers.Name = "pbLayers"; - this.pbLayers.Size = new System.Drawing.Size(1095, 25); + this.pbLayers.Size = new System.Drawing.Size(1148, 25); this.pbLayers.Step = 1; this.pbLayers.TabIndex = 6; // @@ -637,7 +662,7 @@ this.tabControlLeft.Location = new System.Drawing.Point(3, 3); this.tabControlLeft.Name = "tabControlLeft"; this.tabControlLeft.SelectedIndex = 0; - this.tabControlLeft.Size = new System.Drawing.Size(394, 731); + this.tabControlLeft.Size = new System.Drawing.Size(394, 734); this.tabControlLeft.TabIndex = 5; // // tbpThumbnailsAndInfo @@ -647,7 +672,7 @@ this.tbpThumbnailsAndInfo.Location = new System.Drawing.Point(4, 23); this.tbpThumbnailsAndInfo.Name = "tbpThumbnailsAndInfo"; this.tbpThumbnailsAndInfo.Padding = new System.Windows.Forms.Padding(3); - this.tbpThumbnailsAndInfo.Size = new System.Drawing.Size(386, 704); + this.tbpThumbnailsAndInfo.Size = new System.Drawing.Size(386, 707); this.tbpThumbnailsAndInfo.TabIndex = 0; this.tbpThumbnailsAndInfo.Text = "Information"; this.tbpThumbnailsAndInfo.UseVisualStyleBackColor = true; @@ -670,7 +695,7 @@ // this.scLeft.Panel2.Controls.Add(this.lvProperties); this.scLeft.Panel2.Controls.Add(this.tsProperties); - this.scLeft.Size = new System.Drawing.Size(380, 698); + this.scLeft.Size = new System.Drawing.Size(380, 701); this.scLeft.SplitterDistance = 425; this.scLeft.TabIndex = 4; // @@ -764,7 +789,7 @@ this.lvProperties.HideSelection = false; this.lvProperties.Location = new System.Drawing.Point(0, 25); this.lvProperties.Name = "lvProperties"; - this.lvProperties.Size = new System.Drawing.Size(380, 244); + this.lvProperties.Size = new System.Drawing.Size(380, 247); this.lvProperties.TabIndex = 1; this.lvProperties.UseCompatibleStateImageBehavior = false; this.lvProperties.View = System.Windows.Forms.View.Details; @@ -830,7 +855,7 @@ this.tabPageGCode.ImageKey = "GCode-16x16.png"; this.tabPageGCode.Location = new System.Drawing.Point(4, 23); this.tabPageGCode.Name = "tabPageGCode"; - this.tabPageGCode.Size = new System.Drawing.Size(386, 704); + this.tabPageGCode.Size = new System.Drawing.Size(386, 707); this.tabPageGCode.TabIndex = 2; this.tabPageGCode.Text = "GCode"; this.tabPageGCode.UseVisualStyleBackColor = true; @@ -843,7 +868,7 @@ this.tbGCode.Name = "tbGCode"; this.tbGCode.ReadOnly = true; this.tbGCode.ScrollBars = System.Windows.Forms.ScrollBars.Both; - this.tbGCode.Size = new System.Drawing.Size(386, 679); + this.tbGCode.Size = new System.Drawing.Size(386, 682); this.tbGCode.TabIndex = 1; // // tsGCode @@ -896,7 +921,7 @@ this.tabPageIslands.Location = new System.Drawing.Point(4, 23); this.tabPageIslands.Name = "tabPageIslands"; this.tabPageIslands.Padding = new System.Windows.Forms.Padding(3); - this.tabPageIslands.Size = new System.Drawing.Size(386, 704); + this.tabPageIslands.Size = new System.Drawing.Size(386, 707); this.tabPageIslands.TabIndex = 3; this.tabPageIslands.Text = "Islands"; this.tabPageIslands.UseVisualStyleBackColor = true; @@ -915,7 +940,7 @@ this.lvIslands.HideSelection = false; this.lvIslands.Location = new System.Drawing.Point(3, 28); this.lvIslands.Name = "lvIslands"; - this.lvIslands.Size = new System.Drawing.Size(380, 673); + this.lvIslands.Size = new System.Drawing.Size(380, 676); this.lvIslands.TabIndex = 8; this.lvIslands.UseCompatibleStateImageBehavior = false; this.lvIslands.View = System.Windows.Forms.View.Details; @@ -947,9 +972,11 @@ this.tsIslandsPrevious, this.tsIslandsCount, this.tsIslandsNext, + this.toolStripSeparator13, this.tsIslandsRefresh, + this.tsIslandsRemove, this.toolStripSeparator12, - this.tsIslandsRemove}); + this.tsIslandsRepair}); this.tsIslands.Location = new System.Drawing.Point(3, 3); this.tsIslands.Name = "tsIslands"; this.tsIslands.Size = new System.Drawing.Size(380, 25); @@ -987,24 +1014,23 @@ this.tsIslandsNext.ToolTipText = "Show next island"; this.tsIslandsNext.Click += new System.EventHandler(this.ItemClicked); // + // toolStripSeparator13 + // + this.toolStripSeparator13.Name = "toolStripSeparator13"; + this.toolStripSeparator13.Size = new System.Drawing.Size(6, 25); + // // tsIslandsRefresh // this.tsIslandsRefresh.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; - this.tsIslandsRefresh.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.tsIslandsRefresh.Enabled = false; this.tsIslandsRefresh.Image = global::PrusaSL1Viewer.Properties.Resources.refresh_16x16; this.tsIslandsRefresh.ImageTransparentColor = System.Drawing.Color.Magenta; this.tsIslandsRefresh.Name = "tsIslandsRefresh"; - this.tsIslandsRefresh.Size = new System.Drawing.Size(23, 22); - this.tsIslandsRefresh.Text = "Update"; + this.tsIslandsRefresh.Size = new System.Drawing.Size(61, 22); + this.tsIslandsRefresh.Text = "Detect"; this.tsIslandsRefresh.ToolTipText = "Compute Islands"; this.tsIslandsRefresh.Click += new System.EventHandler(this.ItemClicked); // - // toolStripSeparator12 - // - this.toolStripSeparator12.Name = "toolStripSeparator12"; - this.toolStripSeparator12.Size = new System.Drawing.Size(6, 25); - // // tsIslandsRemove // this.tsIslandsRemove.Enabled = false; @@ -1016,6 +1042,24 @@ this.tsIslandsRemove.ToolTipText = "Remove selected islands"; this.tsIslandsRemove.Click += new System.EventHandler(this.ItemClicked); // + // toolStripSeparator12 + // + this.toolStripSeparator12.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; + this.toolStripSeparator12.Name = "toolStripSeparator12"; + this.toolStripSeparator12.Size = new System.Drawing.Size(6, 25); + // + // tsIslandsRepair + // + this.tsIslandsRepair.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; + this.tsIslandsRepair.Enabled = false; + this.tsIslandsRepair.Image = global::PrusaSL1Viewer.Properties.Resources.Wrench_16x16; + this.tsIslandsRepair.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsIslandsRepair.Name = "tsIslandsRepair"; + this.tsIslandsRepair.Size = new System.Drawing.Size(60, 22); + this.tsIslandsRepair.Text = "Repair"; + this.tsIslandsRepair.ToolTipText = "Attempt to repair islands"; + this.tsIslandsRepair.Click += new System.EventHandler(this.ItemClicked); + // // imageList16x16 // this.imageList16x16.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList16x16.ImageStream"))); @@ -1030,7 +1074,7 @@ this.AllowDrop = true; this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(1631, 783); + this.ClientSize = new System.Drawing.Size(1684, 786); this.Controls.Add(this.mainTable); this.Controls.Add(this.statusBar); this.Controls.Add(this.menu); @@ -1170,6 +1214,10 @@ private System.Windows.Forms.ToolStripButton tsIslandsRemove; private System.Windows.Forms.ToolStripMenuItem menuTools; private System.Windows.Forms.ToolStripMenuItem menuToolsRepairLayers; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator13; + private System.Windows.Forms.ToolStripButton tsIslandsRepair; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator14; + private System.Windows.Forms.ToolStripButton tsLayerImageHighlightIslands; } } diff --git a/PrusaSL1Viewer/FrmMain.cs b/PrusaSL1Viewer/FrmMain.cs index 7918c9d..9adba1b 100644 --- a/PrusaSL1Viewer/FrmMain.cs +++ b/PrusaSL1Viewer/FrmMain.cs @@ -735,13 +735,13 @@ namespace PrusaSL1Viewer /************************ * Islands Menu * ***********************/ - if(ReferenceEquals(sender, tsIslandsRefresh)) + if (ReferenceEquals(sender, tsIslandsPrevious)) { - if (MessageBox.Show("Are you sure you want to compute islands?", "Islands Compute", - MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) return; - - ComputeIslands(); - + if (!tsIslandsPrevious.Enabled) return; + int index = Convert.ToInt32(tsIslandsCount.Tag); + lvIslands.SelectedItems.Clear(); + lvIslands.Items[--index].Selected = true; + lvIslands_ItemActivate(lvIslands, null); return; } @@ -755,15 +755,6 @@ namespace PrusaSL1Viewer return; } - if (ReferenceEquals(sender, tsIslandsPrevious)) - { - if (!tsIslandsPrevious.Enabled) return; - int index = Convert.ToInt32(tsIslandsCount.Tag); - lvIslands.SelectedItems.Clear(); - lvIslands.Items[--index].Selected = true; - lvIslands_ItemActivate(lvIslands, null); - return; - } if (ReferenceEquals(sender, tsIslandsRemove)) { @@ -813,10 +804,26 @@ namespace PrusaSL1Viewer return; } + if (ReferenceEquals(sender, tsIslandsRepair)) + { + ItemClicked(menuToolsRepairLayers, e); + return; + } + + if (ReferenceEquals(sender, tsIslandsRefresh)) + { + if (MessageBox.Show("Are you sure you want to compute islands?", "Islands Compute", + MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) return; + + ComputeIslands(); + + return; + } + /************************ * Layer Menu * ***********************/ - if (ReferenceEquals(sender, tsLayerImageRotate) || ReferenceEquals(sender, tsLayerImageLayerDifference) || ReferenceEquals(sender, tsLayerImageLayerOutline)) + if (ReferenceEquals(sender, tsLayerImageRotate) || ReferenceEquals(sender, tsLayerImageLayerDifference) || ReferenceEquals(sender, tsLayerImageHighlightIslands) || ReferenceEquals(sender, tsLayerImageLayerOutline)) { sbLayers_ValueChanged(sbLayers, null); return; @@ -854,7 +861,6 @@ namespace PrusaSL1Viewer private void sbLayers_ValueChanged(object sender, EventArgs e) { - if (ReferenceEquals(SlicerFile, null)) return; ShowLayer(ActualLayer); } @@ -1170,6 +1176,10 @@ namespace PrusaSL1Viewer return; } + + ActualLayerImage = SlicerFile[0].Image; + tsLayerImageRotate.Checked = ActualLayerImage.Height > ActualLayerImage.Width; + if (!ReferenceEquals(SlicerFile.ConvertToFormats, null)) { foreach (var fileFormatType in SlicerFile.ConvertToFormats) @@ -1239,6 +1249,7 @@ namespace PrusaSL1Viewer menuMutate.Enabled = menuTools.Enabled = + tsIslandsRepair.Enabled = tsIslandsRefresh.Enabled = true; @@ -1250,14 +1261,14 @@ namespace PrusaSL1Viewer //ShowLayer(0); + tabControlLeft.SelectedIndex = 0; + tsLayerResolution.Text = $"{{Width={SlicerFile.ResolutionX}, Height={SlicerFile.ResolutionY}}}"; + sbLayers.SmallChange = 1; sbLayers.Minimum = 0; sbLayers.Maximum = (int)SlicerFile.LayerCount - 1; sbLayers.Value = sbLayers.Maximum; - tabControlLeft.SelectedIndex = 0; - tsLayerResolution.Text = $"{{Width={SlicerFile.ResolutionX}, Height={SlicerFile.ResolutionY}}}"; - RefreshInfo(); @@ -1341,6 +1352,7 @@ namespace PrusaSL1Viewer void ShowLayer(uint layerNum) { + if (ReferenceEquals(SlicerFile, null)) return; try { // OLD @@ -1402,6 +1414,36 @@ namespace PrusaSL1Viewer //watch.Restart(); var imageBmp = image.ToBitmap(); + + + if (tsLayerImageHighlightIslands.Checked && !ReferenceEquals(Islands, null) && Islands.Count > ActualLayer) + { + var islands = Islands[ActualLayer]; + + foreach (var island in islands) + { + if (ReferenceEquals(island, null)) continue; // Removed islands + foreach (var pixel in island) + { + int x = pixel.X; + int y = pixel.Y; + + if (tsLayerImageRotate.Checked) + { + x = ActualLayerImage.Height - 1 - pixel.Y; + y = pixel.X; + } + + var alpha = ActualLayerImage[pixel.X, pixel.Y].PackedValue; + if (alpha == 0) continue; + // alpha, Color.Yellow + alpha = Math.Max((byte)70, alpha); + imageBmp.SetPixel(x, y, Color.FromArgb(alpha, alpha, 0)); + } + } + } + + pbLayer.Image = imageBmp; pbLayer.Image.Tag = image; //Debug.WriteLine(watch.ElapsedMilliseconds); @@ -1436,33 +1478,6 @@ namespace PrusaSL1Viewer //var islands = SlicerFile.LayerManager.GetAllIslands(); //Debug.WriteLine(islands.Length); - if (!ReferenceEquals(Islands, null) && Islands.Count > ActualLayer) - { - var islands = Islands[ActualLayer]; - - foreach (var island in islands) - { - if(ReferenceEquals(island, null)) continue; // Removed islands - foreach (var pixel in island) - { - int x = pixel.X; - int y = pixel.Y; - - if (tsLayerImageRotate.Checked) - { - x = ActualLayerImage.Height - 1 - pixel.Y; - y = pixel.X; - } - - if(ActualLayerImage[pixel.X, pixel.Y].PackedValue == 0) continue; - imageBmp.SetPixel(x, y, Color.Yellow); - } - - } - - - } - watch.Stop(); tsLayerPreviewTime.Text = $"{watch.ElapsedMilliseconds}ms"; lbLayers.Text = $"{SlicerFile.GetHeightFromLayer(layerNum)} / {SlicerFile.TotalHeight}mm\n{layerNum} / {SlicerFile.LayerCount-1}\n{percent}%"; @@ -1706,8 +1721,10 @@ namespace PrusaSL1Viewer Islands = SlicerFile.LayerManager.GetAllIslands(); result = true; } - catch (Exception) + catch (Exception ex) { + MessageBox.Show(ex.Message, "Error while trying compute islands", MessageBoxButtons.OK, + MessageBoxIcon.Error); } finally { @@ -1724,23 +1741,34 @@ namespace PrusaSL1Viewer lvIslands.BeginUpdate(); uint count = 0; - for (uint layerIndex = 0; layerIndex < SlicerFile.LayerCount; layerIndex++) + + try { - ListViewGroup group = new ListViewGroup($"Layer {layerIndex} - {Islands[layerIndex].Count} Islands"); - for (var i = 0; i < Islands[layerIndex].Count; i++) + for (uint layerIndex = 0; layerIndex < SlicerFile.LayerCount; layerIndex++) { - count++; - var island = Islands[layerIndex][i]; - TotalIslands++; - ListViewItem item = new ListViewItem(group) {Text = count.ToString()}; - item.SubItems.Add((i + 1).ToString()); - item.SubItems.Add($"{island.X}, {island.Y}"); - item.SubItems.Add(island.Size.ToString()); - item.Tag = island; - lvIslands.Groups.Add(group); - lvIslands.Items.Add(item); + ListViewGroup group = new ListViewGroup($"Layer {layerIndex} - {Islands[layerIndex].Count} Islands"); + for (var i = 0; i < Islands[layerIndex].Count; i++) + { + count++; + var island = Islands[layerIndex][i]; + TotalIslands++; + ListViewItem item = new ListViewItem(group) { Text = count.ToString() }; + item.SubItems.Add((i + 1).ToString()); + item.SubItems.Add($"{island.X}, {island.Y}"); + item.SubItems.Add(island.Size.ToString()); + item.Tag = island; + lvIslands.Groups.Add(group); + lvIslands.Items.Add(item); + } } } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Error while trying compute islands", MessageBoxButtons.OK, + MessageBoxIcon.Error); + throw; + } + lvIslands.EndUpdate(); UpdateIslandsInfo(); diff --git a/PrusaSL1Viewer/FrmMain.resx b/PrusaSL1Viewer/FrmMain.resx index c61c35a..2b9d683 100644 --- a/PrusaSL1Viewer/FrmMain.resx +++ b/PrusaSL1Viewer/FrmMain.resx @@ -139,67 +139,67 @@ <value> AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAK - DgAAAk1TRnQBSQFMAgEBBAEAAUgBAgFIAQIBEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAD2 + DQAAAk1TRnQBSQFMAgEBBAEAAYABAgGAAQIBEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA AwABIAMAAQEBAAEgBgABIP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AZgADUAGjA1IBqQNS AakDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1ABo1wAAxYBHgMjATMDIwEz AyMBMwMjATMDGAEhAwIBAwwAA1UBtANZAccDLwFJAwABAQMbASYDHAEnAxwBJwMcAScDHAEnAxwBJwMc AScDHAEnAxwBJwMcAScDHAEnAwIBAwQAA1IBqTAAA1IBqRAAAycBOgMwAUwDMAFMAzABTAMwAUwDMAFM - AzABTAMwAUwDMAFMAycBOhwAAwQBBgMjATMDUgGpAbMBWAEeAf8BsgFXARwB/wGyAVYBHAH/AbMBVwEd + AzABTAMwAUwDMAFMAycBOhwAAwQBBgMjATMDUgGpAbMBUQEXAf8BsgFQARUB/wGyAU8BFQH/AbMBUAEW Af8CWAFWAbkDKQE/AwQBBgsAAf8DAAH/A0MBdwMpAT4DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/ AwAB/wMAAf8DAAH/AwAB/wMyAVEEAANSAakEAANQAZ0DUwGqA1MBqgNTAaoDUwGqA1MBqgNTAaoDUAGd - DAADUgGpEAADTgH7AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DTgH7GAADBQEHAzABTAGz - AVcBHQH/AdkBswGMAf8B9QHfAcUB/wH+Ae4B2AH/Af4B7gHYAf8B+gHnAc8B/wHZAbMBjAH/AbMBVwEc + DAADUgGpEAADTgH7AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DTgH7GAADBQEHAzABTAGz + AVABFgH/AdkBswGMAf8B9QHfAcUB/wH+Ae4B2AH/Af4B7gHYAf8B+gHnAc8B/wHZAbMBjAH/AbMBUAEV Af8CMQEwAU0DAgEDBAADUQGiA1YBtgMqAUAEAAMQARUDEQEXAxEBFwMRARcDEQEXAxEBFwMRARcDEQEX - AxEBFwMRARcDEAEWCAADUgGpBAADUAGdA1MBqgNTAaoDHwEsHAADUgGpEAADBgH/AwYB/wMGAf8DBgH/ - AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/GAACMQEwAU0BtwGBASYB/wHqAc0BrAH/AfoB5QHLAf8B+AHh - AcYB/wH2AeABxAH/AfYB3wHEAf8B9wHhAcUB/wH6AeUBywH/Ae8B1QG3Af8BswFXAR0B/wMgAS4EAAMK - AQ4DEQEXAwABATgAA1IBqTAAA1IBqRAAAwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/ - AwYB/xgAAmoBRAH5AeUBxwGkAf8B9wHfAcIB/wHzAdsBuwH/AfMB2gG7Af8B8wHbAbwB/wHzAdsBvAH/ - AfMB2wG8Af8B8wHcAb0B/wH2AeEBwwH/AdUBrwGEAf8CWAFWAbkEAANSAfQDAAH/Az4BbAMOARMDQgF2 - A0MBdwNDAXcDQwF3A0MBdwNDAXcDQwF3A0MBdwNDAXcDQwF3A0IBdgMUARsEAANSAakDIgEyA1IBqQNS - AakDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1IBqQMiATIDUgGpEAADBgH/AwYB/wMGAf8DBgH/ - AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/GAABtAFZAR8C/wHwAdwC/wHvAdwB/wH+AesB1wH/AfkB5AHK - Af8B8QHWAbQB/wHxAdYBswH/AfEB1gG0Af8B8QHWAbQB/wHyAdgBtgH/AfMB2QG3Af8BswFZAR8B/wcA - Af4DAAH/A0MBdwMeASsDVwHFA1kBxwNZAccDWQHHA1kBxwNZAccDWQHHA1kBxwNZAccDWQHHA1gBxgMm - ATkEAANSAakDNAFVAzQBVSAAAzQBVQM0AVUDUgGpEAADBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/ - AwYB/wMGAf8DBgH/GAADSAGFAbgBggEmAf8BxwGXAUIB/wHPAaUBVAH/Ae0B0gG0Af8B/QHoAdIB/wHv - AdIBrQH/Ae4B0gGsAf8B7gHSAa0B/wHuAdIBrQH/AfUB3AG8Af8BswFXAR4B/wQAAzMBUwM8AWcDFAEc - OAADUgGpAzQBVQM0AVUDRgGAA1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA0UBfwM0AVUDNAFVA1IBqRAA - AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/xAAAwoBDgMhATEDIwEzAyMBMwIx - ATABTQMzAVMBswFWARkB/wHjAcUBogH/AfkB4wHJAf8B6wHOAaQB/wHrAc4BpgH/AesBzgGlAf8B9wHf - AcAB/wGzAVcBHQH/BAADMwFTAzwBZwMUARw4AANSAakDNAFVAzQBVQM/AW4DMgFQEAADJwE7A0QBfAM0 - AVUDNAFVA1IBqRAAAwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wwAAwoBDgM/ - AW0DXAH4AYUBiQGNAf8BWQFcAYQB/wNfAfMDOgFiAwkBDAGzAVYBGQH/Ae0B0QG0Af8B6QHJAZ0B/wHp - AckBnQH/AekByAGbAf8B/AHoAdIB/wGzAVgBHgH/BwAB/gMAAf8DQwF3Ax8BLANXAcUDWQHHA1kBxwNZ - AccDWQHHA1kBxwNZAccDWQHHA1kBxwNZAccDWAHGAyYBOQQAA1IBqQM0AVUDNAFVAwUBBwNVAbUDEQEX - A1IBqQMpAT4EAANQAZ8DEQEXAzQBVQM0AVUDUgGpEAADBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/ - AwYB/wMGAf8DBgH/DAADPgFrA4AB/wLSAdEB/wHvAe4B7QH/Au8B7gH/AdIB0wHSAf8BWwGAAYEB/wM6 - AWADMgFQAdABpwFZAf8B6gHJAZwB/wHkAcMBkgH/AfIB1wG1Af8B2gG2AZAB/wJTAVIBqAQAA1IB9AMA - Af8DPgFsAw4BEwNCAXUDQwF3A0MBdwNDAXcDQwF3A0MBdwNDAXcDQwF3A0MBdwNDAXcDQwF3AxQBGwQA - A1IBqQM0AVUDNAFVBAADPAFoA1YBvgMjATQDVQG1AxIBGQNRAaAEAAM0AVUDNAFVA1IBqRAAAwYB/wMG - Af8DBgH/AwYB/wMGAf8DBgH/AwoB/wMPAf8DDwH/A1wB3wwAA1wB+ALNAcwB/wHjAeIB4QH/Ad8B3gHd - Af8B3wHeAd0B/wHjAeIB4QH/A8wB/wNnAfIDGQEjAcgBmAFFAf8B8wHaAbcB/wHxAdYBsgH/Af4B7QHZ - Af8BtwGBASUB/wMKAQ0EAAMKAQ4DEQEXAwABATgAA1IBqQM0AVUDNAFVAwABAQMtAUYDCgEOBAADOQFf - A1wBzgMoATwEAAM0AVUDNAFVA1IBqRAAAwYB/wOCAf8DJQH/Aw8B/wMGAf8DBgH/AxkB/wMgAf8DXAHf - AxcBIAwAA1YB/wHjAeIB4QH/AdcB1gHUAf8B1wHWAdQB/wHXAdYB1AH/AdcB1gHUAf8B4gHhAeAB/wGD - AYgBjQH/BAABtwGAASIC/wHwAdwB/wH6AeYBzgH/AcEBkAE5Af8DQAFuCAADUQGiA1YBtgMqAUAEAAMQ - ARUDEQEXAxEBFwMRARcDEQEXAxEBFwMRARcDEQEXAxEBFwMRARcDEAEWCAADUgGpAzQBVQM0AVUDMwFT - A1IBpgNKAYwHAAEBA0cBgwgAAzQBVQM0AVUDUgGpEAADBgH/A5kB/wOFAf8DMgH/AwYB/wMGAf8DGQH/ - A1wB3wMXASAQAANWAf8B8gHxAfAB/wHPAc0BywH/AdABzgHLAf8B0AHOAcsB/wHPAc0BywH/AfIC8AH/ - AVoBgQGFAf8EAAM3AVsBtAFZAR8B/wG0AVkBHgH/A0ABbw8AAf8DAAH/A0MBdwMpAT4DAAH/AwAB/wMA - Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMyAVEEAANSAakDNAFVAzQBVQMRARcDUAGe - AyQBNhQAAzQBVQM0AVUDUgGpEAADUAH7AxEB/wMRAf8DEQH/AwYB/wMGAf8DXAHfAxcBIBQAA2IB9gHb - AtoB/wHoAecB5gH/AdEBzwHOAf8B0QHPAc4B/wHoAecB5gH/AdsC2gH/A2IB9iAAA1UBtANZAccDLwFJ - AwABAQMbASYDHAEnAxwBJwMcAScDHAEnAxwBJwMcAScDHAEnAxwBJwMcAScDHAEnAwIBAwQAA1IBqQMi - ATIDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUgGpAyIBMgNSAakQAAMgAS4DKQE/ - AykBPwMpAT8DKQE/AykBPwMRARcYAAMuAUgDgAH/AdgC1wH/AfcC9gH/AfcC9gH/AdgC1wH/A4AB/wMu - AUhkAANQAaMDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUAGj - SAADLgFIA2IB9gNVAf8DVQH/A2IB9gMuAUgkAAFCAU0BPgcAAT4DAAEoAwABQAMAASADAAEBAQABAQYA - AQEWAAP/gQAC/wGAAQEC/wH8AQcCAAG/Af0B4AEHAfABAwIAAaABHQHgAQcB4AEBARABAQGhAf0B4AEH - AeABAQEfAf8BvwH9AeABBwHgAQECAAGAAQEB4AEHAeABAQIAAY8B8QHgAQcB4AEBAR8B/wGAAQEB4AEH - AYABAQEfAf8BgwHBAeABBwEAAQECAAGAAUEB4AEHAQABAQIAAYgBEQHgAQcBAAEBAR8B/wGBAREB4AEH - AQABgwEQAQEBgQExAeABDwEAAYcCAAGBAfEB4AEfAQAB/wIAAYABAQHgAT8BAAP/AYABAQL/AYEB/ws= + AxEBFwMRARcDEAEWCAADUgGpBAADUAGdA1MBqgNTAaoDHwEsHAADUgGpEwAB/wMAAf8DAAH/AwAB/wMA + Af8DAAH/AwAB/wMAAf8DAAH/AwAB/xgAAjEBMAFNAbcBgQEfAf8B6gHNAawB/wH6AeUBywH/AfgB4QHG + Af8B9gHgAcQB/wH2Ad8BxAH/AfcB4QHFAf8B+gHlAcsB/wHvAdUBtwH/AbMBUAEWAf8DIAEuBAADCgEO + AxEBFwMAAQE4AANSAakwAANSAakTAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/ + GAACagFEAfkB5QHHAaQB/wH3Ad8BwgH/AfMB2wG7Af8B8wHaAbsB/wHzAdsBvAH/AfMB2wG8Af8B8wHb + AbwB/wHzAdwBvQH/AfYB4QHDAf8B1QGvAYQB/wJYAVYBuQQAA1IB9AMAAf8DPgFsAw4BEwNCAXYDQwF3 + A0MBdwNDAXcDQwF3A0MBdwNDAXcDQwF3A0MBdwNDAXcDQgF2AxQBGwQAA1IBqQMiATIDUgGpA1IBqQNS + AakDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUgGpAyIBMgNSAakTAAH/AwAB/wMAAf8DAAH/AwAB/wMA + Af8DAAH/AwAB/wMAAf8DAAH/GAABtAFSARgC/wHwAdwC/wHvAdwB/wH+AesB1wH/AfkB5AHKAf8B8QHW + AbQB/wHxAdYBswH/AfEB1gG0Af8B8QHWAbQB/wHyAdgBtgH/AfMB2QG3Af8BswFSARgB/wcAAf4DAAH/ + A0MBdwMeASsDVwHFA1kBxwNZAccDWQHHA1kBxwNZAccDWQHHA1kBxwNZAccDWQHHA1gBxgMmATkEAANS + AakDNAFVAzQBVSAAAzQBVQM0AVUDUgGpEwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/ + AwAB/xgAA0gBhQG4AYIBHwH/AccBlwE7Af8BzwGlAU0B/wHtAdIBtAH/Af0B6AHSAf8B7wHSAa0B/wHu + AdIBrAH/Ae4B0gGtAf8B7gHSAa0B/wH1AdwBvAH/AbMBUAEXAf8EAAMzAVMDPAFnAxQBHDgAA1IBqQM0 + AVUDNAFVA0YBgANSAakDUgGpA1IBqQNSAakDUgGpA1IBqQNFAX8DNAFVAzQBVQNSAakTAAH/AwAB/wMA + Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/EAADCgEOAyEBMQMjATMDIwEzAjEBMAFNAzMBUwGz + AU8BEgH/AeMBxQGiAf8B+QHjAckB/wHrAc4BpAH/AesBzgGmAf8B6wHOAaUB/wH3Ad8BwAH/AbMBUAEW + Af8EAAMzAVMDPAFnAxQBHDgAA1IBqQM0AVUDNAFVAz8BbgMyAVAQAAMnATsDRAF8AzQBVQM0AVUDUgGp + EwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wwAAwoBDgM/AW0DXAH4AYUBiQGN + Af8BUgFVAYQB/wNfAfMDOgFiAwkBDAGzAU8BEgH/Ae0B0QG0Af8B6QHJAZ0B/wHpAckBnQH/AekByAGb + Af8B/AHoAdIB/wGzAVEBFwH/BwAB/gMAAf8DQwF3Ax8BLANXAcUDWQHHA1kBxwNZAccDWQHHA1kBxwNZ + AccDWQHHA1kBxwNZAccDWAHGAyYBOQQAA1IBqQM0AVUDNAFVAwUBBwNVAbUDEQEXA1IBqQMpAT4EAANQ + AZ8DEQEXAzQBVQM0AVUDUgGpEwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wwA + Az4BawOAAf8C0gHRAf8B7wHuAe0B/wLvAe4B/wHSAdMB0gH/AVQBgAGBAf8DOgFgAzIBUAHQAacBUgH/ + AeoByQGcAf8B5AHDAZIB/wHyAdcBtQH/AdoBtgGQAf8CUwFSAagEAANSAfQDAAH/Az4BbAMOARMDQgF1 + A0MBdwNDAXcDQwF3A0MBdwNDAXcDQwF3A0MBdwNDAXcDQwF3A0MBdwMUARsEAANSAakDNAFVAzQBVQQA + AzwBaANWAb4DIwE0A1UBtQMSARkDUQGgBAADNAFVAzQBVQNSAakTAAH/AwAB/wMAAf8DAAH/AwAB/wMA + Af8DAwH/AwgB/wMIAf8DXAHfDAADXAH4As0BzAH/AeMB4gHhAf8B3wHeAd0B/wHfAd4B3QH/AeMB4gHh + Af8DzAH/A2cB8gMZASMByAGYAT4B/wHzAdoBtwH/AfEB1gGyAf8B/gHtAdkB/wG3AYEBHgH/AwoBDQQA + AwoBDgMRARcDAAEBOAADUgGpAzQBVQM0AVUDAAEBAy0BRgMKAQ4EAAM5AV8DXAHOAygBPAQAAzQBVQM0 + AVUDUgGpEwAB/wOCAf8DHgH/AwgB/wMAAf8DAAH/AxIB/wMZAf8DXAHfAxcBIAwAA08B/wHjAeIB4QH/ + AdcB1gHUAf8B1wHWAdQB/wHXAdYB1AH/AdcB1gHUAf8B4gHhAeAB/wGDAYgBjQH/BAABtwGAARsC/wHw + AdwB/wH6AeYBzgH/AcEBkAEyAf8DQAFuCAADUQGiA1YBtgMqAUAEAAMQARUDEQEXAxEBFwMRARcDEQEX + AxEBFwMRARcDEQEXAxEBFwMRARcDEAEWCAADUgGpAzQBVQM0AVUDMwFTA1IBpgNKAYwHAAEBA0cBgwgA + AzQBVQM0AVUDUgGpEwAB/wOZAf8DhQH/AysB/wMAAf8DAAH/AxIB/wNcAd8DFwEgEAADTwH/AfIB8QHw + Af8BzwHNAcsB/wHQAc4BywH/AdABzgHLAf8BzwHNAcsB/wHyAvAB/wFTAYEBhQH/BAADNwFbAbQBUgEY + Af8BtAFSARcB/wNAAW8PAAH/AwAB/wNDAXcDKQE+AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA + Af8DAAH/AwAB/wMAAf8DMgFRBAADUgGpAzQBVQM0AVUDEQEXA1ABngMkATYUAAM0AVUDNAFVA1IBqRAA + A1AB+wMKAf8DCgH/AwoB/wMAAf8DAAH/A1wB3wMXASAUAANiAfYB2wLaAf8B6AHnAeYB/wHRAc8BzgH/ + AdEBzwHOAf8B6AHnAeYB/wHbAtoB/wNiAfYgAANVAbQDWQHHAy8BSQMAAQEDGwEmAxwBJwMcAScDHAEn + AxwBJwMcAScDHAEnAxwBJwMcAScDHAEnAxwBJwMCAQMEAANSAakDIgEyA1IBqQNSAakDUgGpA1IBqQNS + AakDUgGpA1IBqQNSAakDUgGpA1IBqQMiATIDUgGpEAADIAEuAykBPwMpAT8DKQE/AykBPwMpAT8DEQEX + GAADLgFIA4AB/wHYAtcB/wH3AvYB/wH3AvYB/wHYAtcB/wOAAf8DLgFIZAADUAGjA1IBqQNSAakDUgGp + A1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1ABo0gAAy4BSANiAfYDTgH/A04B/wNi + AfYDLgFIJAABQgFNAT4HAAE+AwABKAMAAUADAAEgAwABAQEAAQEGAAEBFgAD/4EAAv8BgAEBAv8B/AEH + AgABvwH9AeABBwHwAQMCAAGgAR0B4AEHAeABAQEQAQEBoQH9AeABBwHgAQEBHwH/Ab8B/QHgAQcB4AEB + AgABgAEBAeABBwHgAQECAAGPAfEB4AEHAeABAQEfAf8BgAEBAeABBwGAAQEBHwH/AYMBwQHgAQcBAAEB + AgABgAFBAeABBwEAAQECAAGIAREB4AEHAQABAQEfAf8BgQERAeABBwEAAYMBEAEBAYEBMQHgAQ8BAAGH + AgABgQHxAeABHwEAAf8CAAGAAQEB4AE/AQAD/wGAAQEC/wGBAf8L </value> </data> <metadata name="tsThumbnails.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> @@ -211,9 +211,6 @@ <metadata name="tsGCode.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>551, 17</value> </metadata> - <metadata name="tsIslands.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>765, 17</value> - </metadata> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> diff --git a/PrusaSL1Viewer/Properties/AssemblyInfo.cs b/PrusaSL1Viewer/Properties/AssemblyInfo.cs index 26e6c5d..0f73198 100644 --- a/PrusaSL1Viewer/Properties/AssemblyInfo.cs +++ b/PrusaSL1Viewer/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.4.2.0")] -[assembly: AssemblyFileVersion("0.4.2.0")] +[assembly: AssemblyVersion("0.4.2.1")] +[assembly: AssemblyFileVersion("0.4.2.1")] diff --git a/PrusaSL1Viewer/Properties/Resources.Designer.cs b/PrusaSL1Viewer/Properties/Resources.Designer.cs index 35663ce..f465407 100644 --- a/PrusaSL1Viewer/Properties/Resources.Designer.cs +++ b/PrusaSL1Viewer/Properties/Resources.Designer.cs @@ -243,6 +243,16 @@ namespace PrusaSL1Viewer.Properties { /// <summary> /// Looks up a localized resource of type System.Drawing.Bitmap. /// </summary> + internal static System.Drawing.Bitmap island_16x16 { + get { + object obj = ResourceManager.GetObject("island-16x16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap layers_16x16 { get { object obj = ResourceManager.GetObject("layers-16x16", resourceCulture); diff --git a/PrusaSL1Viewer/Properties/Resources.resx b/PrusaSL1Viewer/Properties/Resources.resx index 2d1d571..79c59b0 100644 --- a/PrusaSL1Viewer/Properties/Resources.resx +++ b/PrusaSL1Viewer/Properties/Resources.resx @@ -121,12 +121,12 @@ <data name="Error-128x128" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Images\Error-128x128.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> - <data name="Cancel-24x24" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Images\Cancel-24x24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> - </data> <data name="layers-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Images\layers-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> + <data name="mutation_closing" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Images\gui\mutation_closing.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> <data name="eye-24x24" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Images\eye-24x24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> @@ -214,6 +214,9 @@ <data name="SaveAs-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Images\SaveAs-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> + <data name="delete-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Images\delete-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> <data name="pointer-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Images\pointer-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> @@ -223,13 +226,13 @@ <data name="mutation_blackhat" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Images\gui\mutation_blackhat.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> - <data name="mutation_closing" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Images\gui\mutation_closing.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + <data name="Cancel-24x24" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Images\Cancel-24x24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="Donate-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Images\Donate-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> - <data name="delete-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Images\delete-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + <data name="island-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Images\island-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> </root>
\ No newline at end of file diff --git a/PrusaSL1Viewer/PrusaSL1Viewer.csproj b/PrusaSL1Viewer/PrusaSL1Viewer.csproj index 66038f7..c3479c0 100644 --- a/PrusaSL1Viewer/PrusaSL1Viewer.csproj +++ b/PrusaSL1Viewer/PrusaSL1Viewer.csproj @@ -290,6 +290,7 @@ <None Include="Images\refresh-16x16.png" /> <None Include="Images\pointer-16x16.png" /> <None Include="Images\delete-16x16.png" /> + <None Include="Images\island-16x16.png" /> <Content Include="License-LGPL.txt" /> <Content Include="PrusaSL1Viewer.ico" /> </ItemGroup> diff --git a/PrusaSlicer/printer/AnyCubic Photon.ini b/PrusaSlicer/printer/AnyCubic Photon.ini new file mode 100644 index 0000000..733c464 --- /dev/null +++ b/PrusaSlicer/printer/AnyCubic Photon.ini @@ -0,0 +1,37 @@ +# generated by PrusaSlicer 2.2.0+win64 on 2020-06-04 at 18:24:42 UTC +absolute_correction = 0 +area_fill = 50 +bed_custom_model = +bed_custom_texture = +bed_shape = 0x0,120.96x0,120.96x68.04,0x68.04 +default_sla_material_profile = Prusa Orange Tough 0.05 +default_sla_print_profile = 0.05 Normal +display_height = 68.04 +display_mirror_x = 1 +display_mirror_y = 0 +display_orientation = portrait +display_pixels_x = 2560 +display_pixels_y = 1440 +display_width = 120.96 +elefant_foot_compensation = 0.2 +elefant_foot_min_width = 0.2 +fast_tilt_time = 5 +gamma_correction = 1 +inherits = Original Prusa SL1 +max_exposure_time = 120 +max_initial_exposure_time = 300 +max_print_height = 155 +min_exposure_time = 1 +min_initial_exposure_time = 1 +print_host = +printer_model = SL1 +printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_SL1\nPRINTER_VENDOR_ANYCUBIC\nPRINTER_MODEL_PHOTON\n\nSTART_CUSTOM_VALUES\nFLIP_XY\nLayerOffTime_0\nBottomLiftHeight_5\nBottomLiftSpeed_40\nLiftHeight_5\nLiftingSpeed_60\nRetractSpeed_150\nBottomLightOffDelay_2\nBottomLightPWM_255\nLightPWM_255\nEND_CUSTOM_VALUES +printer_settings_id = +printer_technology = SLA +printer_variant = default +printer_vendor = +printhost_apikey = +printhost_cafile = +relative_correction = 1,1 +slow_tilt_time = 8 +thumbnails = 400x400,800x480 diff --git a/PrusaSlicer/printer/EPAX X1.ini b/PrusaSlicer/printer/EPAX X1.ini index 45c1d40..31d5f8e 100644 --- a/PrusaSlicer/printer/EPAX X1.ini +++ b/PrusaSlicer/printer/EPAX X1.ini @@ -1,9 +1,9 @@ -# generated by PrusaSlicer 2.2.0+win64 on 2020-04-12 at 18:36:19 UTC +# generated by PrusaSlicer 2.2.0+win64 on 2020-06-04 at 18:28:00 UTC absolute_correction = 0 area_fill = 50 bed_custom_model = bed_custom_texture = -bed_shape = 0x0,115x0,115x65,0x65 +bed_shape = 0x0,120.96x0,120.96x68.04,0x68.04 default_sla_material_profile = Prusa Orange Tough 0.05 default_sla_print_profile = 0.05 Normal display_height = 68.04 @@ -25,7 +25,7 @@ min_exposure_time = 1 min_initial_exposure_time = 1 print_host = printer_model = SL1 -printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_SL1\nPRINTER_VENDOR_EPAX\nPRINTER_MODEL_X1\n\nSTART_CUSTOM_VALUES\nFLIP_XY\nLayerOffTime_0\nBottomLiftHeight_5\nBottomLiftSpeed_60\nLiftHeight_5\nLiftingSpeed_60\nRetractSpeed_150\nBottomLightOffDelay_2\nBottomLightPWM_255\nLightPWM_255\nEND_CUSTOM_VALUES +printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_SL1\nPRINTER_VENDOR_EPAX\nPRINTER_MODEL_X1\n\nSTART_CUSTOM_VALUES\nFLIP_XY\nLayerOffTime_0\nBottomLightOffDelay_2\nBottomLiftHeight_5\nLiftHeight_5\nBottomLiftSpeed_40\nLiftingSpeed_60\nRetractSpeed_150\nBottomLightPWM_255\nLightPWM_255\nEND_CUSTOM_VALUES printer_settings_id = printer_technology = SLA printer_variant = default diff --git a/PrusaSlicer/printer/EPAX X10.ini b/PrusaSlicer/printer/EPAX X10.ini new file mode 100644 index 0000000..37fd0cc --- /dev/null +++ b/PrusaSlicer/printer/EPAX X10.ini @@ -0,0 +1,37 @@ +# generated by PrusaSlicer 2.2.0+win64 on 2020-06-04 at 18:43:30 UTC +absolute_correction = 0 +area_fill = 50 +bed_custom_model = +bed_custom_texture = +bed_shape = 0x0,216.57x0,216.57x135.36,0x135.36 +default_sla_material_profile = Prusa Orange Tough 0.05 +default_sla_print_profile = 0.05 Normal +display_height = 135.36 +display_mirror_x = 1 +display_mirror_y = 0 +display_orientation = portrait +display_pixels_x = 2560 +display_pixels_y = 1600 +display_width = 216.57 +elefant_foot_compensation = 0.2 +elefant_foot_min_width = 0.2 +fast_tilt_time = 5 +gamma_correction = 1 +inherits = Original Prusa SL1 +max_exposure_time = 120 +max_initial_exposure_time = 300 +max_print_height = 250 +min_exposure_time = 1 +min_initial_exposure_time = 1 +print_host = +printer_model = SL1 +printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_SL1\nPRINTER_VENDOR_EPAX\nPRINTER_MODEL_X10\n\nSTART_CUSTOM_VALUES\nFLIP_XY\nLayerOffTime_0\nBottomLightOffDelay_12\nBottomLiftHeight_7\nLiftHeight_7\nBottomLiftSpeed_40\nLiftingSpeed_60\nRetractSpeed_150\nBottomLightPWM_255\nLightPWM_255\nEND_CUSTOM_VALUES +printer_settings_id = +printer_technology = SLA +printer_variant = default +printer_vendor = +printhost_apikey = +printhost_cafile = +relative_correction = 1,1 +slow_tilt_time = 8 +thumbnails = 400x400,800x480 diff --git a/PrusaSlicer/printer/EPAX X133 4K Mono.ini b/PrusaSlicer/printer/EPAX X133 4K Mono.ini new file mode 100644 index 0000000..cdf8b6c --- /dev/null +++ b/PrusaSlicer/printer/EPAX X133 4K Mono.ini @@ -0,0 +1,37 @@ +# generated by PrusaSlicer 2.2.0+win64 on 2020-06-04 at 21:32:19 UTC +absolute_correction = 0 +area_fill = 50 +bed_custom_model = +bed_custom_texture = +bed_shape = 0x0,216.576x0,216.576x135.36,0x135.36 +default_sla_material_profile = Prusa Orange Tough 0.05 +default_sla_print_profile = 0.05 Normal +display_height = 135.36 +display_mirror_x = 1 +display_mirror_y = 0 +display_orientation = landscape +display_pixels_x = 3840 +display_pixels_y = 2160 +display_width = 216.576 +elefant_foot_compensation = 0.2 +elefant_foot_min_width = 0.2 +fast_tilt_time = 5 +gamma_correction = 1 +inherits = Original Prusa SL1 +max_exposure_time = 120 +max_initial_exposure_time = 300 +max_print_height = 400 +min_exposure_time = 1 +min_initial_exposure_time = 1 +print_host = +printer_model = SL1 +printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_SL1\nPRINTER_VENDOR_EPAX\nPRINTER_MODEL_X133-4KMONO\n\nSTART_CUSTOM_VALUES\nLayerOffTime_0\nBottomLightOffDelay_10\nBottomLiftHeight_15\nLiftHeight_12\nBottomLiftSpeed_40\nLiftingSpeed_40\nRetractSpeed_150\nBottomLightPWM_255\nLightPWM_255\nEND_CUSTOM_VALUES +printer_settings_id = +printer_technology = SLA +printer_variant = default +printer_vendor = +printhost_apikey = +printhost_cafile = +relative_correction = 1,1 +slow_tilt_time = 8 +thumbnails = 400x400,800x480 diff --git a/PrusaSlicer/printer/EPAX X156 4K Color.ini b/PrusaSlicer/printer/EPAX X156 4K Color.ini new file mode 100644 index 0000000..02c3734 --- /dev/null +++ b/PrusaSlicer/printer/EPAX X156 4K Color.ini @@ -0,0 +1,37 @@ +# generated by PrusaSlicer 2.2.0+win64 on 2020-06-04 at 21:33:06 UTC +absolute_correction = 0 +area_fill = 50 +bed_custom_model = +bed_custom_texture = +bed_shape = 0x0,345.6x0,345.6x194.4,0x194.4 +default_sla_material_profile = Prusa Orange Tough 0.05 +default_sla_print_profile = 0.05 Normal +display_height = 194.4 +display_mirror_x = 1 +display_mirror_y = 0 +display_orientation = landscape +display_pixels_x = 3840 +display_pixels_y = 2160 +display_width = 345.6 +elefant_foot_compensation = 0.2 +elefant_foot_min_width = 0.2 +fast_tilt_time = 5 +gamma_correction = 1 +inherits = Original Prusa SL1 +max_exposure_time = 120 +max_initial_exposure_time = 300 +max_print_height = 400 +min_exposure_time = 1 +min_initial_exposure_time = 1 +print_host = +printer_model = SL1 +printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_SL1\nPRINTER_VENDOR_EPAX\nPRINTER_MODEL_X156-4KCOLOR\n\nSTART_CUSTOM_VALUES\nLayerOffTime_0\nBottomLightOffDelay_0\nBottomLiftHeight_15\nLiftHeight_12\nBottomLiftSpeed_40\nLiftingSpeed_40\nRetractSpeed_150\nBottomLightPWM_255\nLightPWM_255\nEND_CUSTOM_VALUES +printer_settings_id = +printer_technology = SLA +printer_variant = default +printer_vendor = +printhost_apikey = +printhost_cafile = +relative_correction = 1,1 +slow_tilt_time = 8 +thumbnails = 400x400,800x480 diff --git a/PrusaSlicer/printer/Elegoo Mars Saturn.ini b/PrusaSlicer/printer/Elegoo Mars Saturn.ini new file mode 100644 index 0000000..0eb9b91 --- /dev/null +++ b/PrusaSlicer/printer/Elegoo Mars Saturn.ini @@ -0,0 +1,37 @@ +# generated by PrusaSlicer 2.2.0+win64 on 2020-06-04 at 21:24:54 UTC +absolute_correction = 0 +area_fill = 50 +bed_custom_model = +bed_custom_texture = +bed_shape = 0x0,192x0,192x120,0x120 +default_sla_material_profile = Prusa Orange Tough 0.05 +default_sla_print_profile = 0.05 Normal +display_height = 120 +display_mirror_x = 1 +display_mirror_y = 0 +display_orientation = landscape +display_pixels_x = 2560 +display_pixels_y = 1600 +display_width = 192 +elefant_foot_compensation = 0.2 +elefant_foot_min_width = 0.2 +fast_tilt_time = 5 +gamma_correction = 1 +inherits = Original Prusa SL1 +max_exposure_time = 120 +max_initial_exposure_time = 300 +max_print_height = 200 +min_exposure_time = 1 +min_initial_exposure_time = 1 +print_host = +printer_model = SL1 +printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_SL1\nPRINTER_VENDOR_ELEGOO\nPRINTER_MODEL_SATURN\n\nSTART_CUSTOM_VALUES\nLayerOffTime_0\nBottomLightOffDelay_0\nBottomLiftHeight_5\nLiftHeight_7\nBottomLiftSpeed_70\nLiftingSpeed_70\nRetractSpeed_70\nBottomLightPWM_255\nLightPWM_255\nEND_CUSTOM_VALUES +printer_settings_id = +printer_technology = SLA +printer_variant = default +printer_vendor = +printhost_apikey = +printhost_cafile = +relative_correction = 1,1 +slow_tilt_time = 8 +thumbnails = 400x400,800x480 diff --git a/PrusaSlicer/printer/Elegoo Mars.ini b/PrusaSlicer/printer/Elegoo Mars.ini new file mode 100644 index 0000000..eeed32e --- /dev/null +++ b/PrusaSlicer/printer/Elegoo Mars.ini @@ -0,0 +1,37 @@ +# generated by PrusaSlicer 2.2.0+win64 on 2020-06-04 at 18:44:02 UTC +absolute_correction = 0 +area_fill = 50 +bed_custom_model = +bed_custom_texture = +bed_shape = 0x0,120.96x0,120.96x68.04,0x68.04 +default_sla_material_profile = Prusa Orange Tough 0.05 +default_sla_print_profile = 0.05 Normal +display_height = 68.04 +display_mirror_x = 1 +display_mirror_y = 0 +display_orientation = portrait +display_pixels_x = 2560 +display_pixels_y = 1440 +display_width = 120.96 +elefant_foot_compensation = 0.2 +elefant_foot_min_width = 0.2 +fast_tilt_time = 5 +gamma_correction = 1 +inherits = Original Prusa SL1 +max_exposure_time = 120 +max_initial_exposure_time = 300 +max_print_height = 150 +min_exposure_time = 1 +min_initial_exposure_time = 1 +print_host = +printer_model = SL1 +printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_SL1\nPRINTER_VENDOR_ELEGOO\nPRINTER_MODEL_MARS\n\nSTART_CUSTOM_VALUES\nFLIP_XY\nLayerOffTime_0\nBottomLightOffDelay_0\nBottomLiftHeight_5\nLiftHeight_5\nBottomLiftSpeed_90\nLiftingSpeed_100\nRetractSpeed_150\nBottomLightPWM_255\nLightPWM_255\nEND_CUSTOM_VALUES +printer_settings_id = +printer_technology = SLA +printer_variant = default +printer_vendor = +printhost_apikey = +printhost_cafile = +relative_correction = 1,1 +slow_tilt_time = 8 +thumbnails = 400x400,800x480 diff --git a/PrusaSlicer/printer/Peopoly Phenom L.ini b/PrusaSlicer/printer/Peopoly Phenom L.ini new file mode 100644 index 0000000..60a211d --- /dev/null +++ b/PrusaSlicer/printer/Peopoly Phenom L.ini @@ -0,0 +1,37 @@ +# generated by PrusaSlicer 2.2.0+win64 on 2020-06-04 at 21:41:06 UTC +absolute_correction = 0 +area_fill = 50 +bed_custom_model = +bed_custom_texture = +bed_shape = 0x0,345.6x0,345.6x194.4,0x194.4 +default_sla_material_profile = Prusa Orange Tough 0.05 +default_sla_print_profile = 0.05 Normal +display_height = 194.4 +display_mirror_x = 1 +display_mirror_y = 0 +display_orientation = landscape +display_pixels_x = 3840 +display_pixels_y = 2160 +display_width = 345.6 +elefant_foot_compensation = 0.2 +elefant_foot_min_width = 0.2 +fast_tilt_time = 5 +gamma_correction = 1 +inherits = Original Prusa SL1 +max_exposure_time = 120 +max_initial_exposure_time = 300 +max_print_height = 400 +min_exposure_time = 1 +min_initial_exposure_time = 1 +print_host = +printer_model = SL1 +printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_SL1\nPRINTER_VENDOR_PEOPOLY\nPRINTER_MODEL_PHENOM_L\n\nSTART_CUSTOM_VALUES\nLayerOffTime_0\nBottomLightOffDelay_0\nBottomLiftHeight_15\nLiftHeight_9\nBottomLiftSpeed_32\nLiftingSpeed_45\nRetractSpeed_150\nBottomLightPWM_255\nLightPWM_255\nEND_CUSTOM_VALUES +printer_settings_id = +printer_technology = SLA +printer_variant = default +printer_vendor = +printhost_apikey = +printhost_cafile = +relative_correction = 1,1 +slow_tilt_time = 8 +thumbnails = 400x400,800x480 diff --git a/PrusaSlicer/printer/Peopoly Phenom Noir.ini b/PrusaSlicer/printer/Peopoly Phenom Noir.ini new file mode 100644 index 0000000..93f24f5 --- /dev/null +++ b/PrusaSlicer/printer/Peopoly Phenom Noir.ini @@ -0,0 +1,37 @@ +# generated by PrusaSlicer 2.2.0+win64 on 2020-06-04 at 21:41:22 UTC +absolute_correction = 0 +area_fill = 50 +bed_custom_model = +bed_custom_texture = +bed_shape = 0x0,293.76x0,293.76x165.24,0x165.24 +default_sla_material_profile = Prusa Orange Tough 0.05 +default_sla_print_profile = 0.05 Normal +display_height = 165.24 +display_mirror_x = 1 +display_mirror_y = 0 +display_orientation = landscape +display_pixels_x = 3840 +display_pixels_y = 2160 +display_width = 293.76 +elefant_foot_compensation = 0.2 +elefant_foot_min_width = 0.2 +fast_tilt_time = 5 +gamma_correction = 1 +inherits = Original Prusa SL1 +max_exposure_time = 120 +max_initial_exposure_time = 300 +max_print_height = 400 +min_exposure_time = 1 +min_initial_exposure_time = 1 +print_host = +printer_model = SL1 +printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_SL1\nPRINTER_VENDOR_PEOPOLY\nPRINTER_MODEL_PHENOM_NOIR\n\nSTART_CUSTOM_VALUES\nLayerOffTime_0\nBottomLightOffDelay_0\nBottomLiftHeight_8\nLiftHeight_8\nBottomLiftSpeed_36\nLiftingSpeed_45\nRetractSpeed_150\nBottomLightPWM_255\nLightPWM_255\nEND_CUSTOM_VALUES +printer_settings_id = +printer_technology = SLA +printer_variant = default +printer_vendor = +printhost_apikey = +printhost_cafile = +relative_correction = 1,1 +slow_tilt_time = 8 +thumbnails = 400x400,800x480 diff --git a/PrusaSlicer/printer/Peopoly Phenom.ini b/PrusaSlicer/printer/Peopoly Phenom.ini new file mode 100644 index 0000000..aa9a4b3 --- /dev/null +++ b/PrusaSlicer/printer/Peopoly Phenom.ini @@ -0,0 +1,37 @@ +# generated by PrusaSlicer 2.2.0+win64 on 2020-06-04 at 21:23:09 UTC +absolute_correction = 0 +area_fill = 50 +bed_custom_model = +bed_custom_texture = +bed_shape = 0x0,276.48x0,276.48x155.52,0x155.52 +default_sla_material_profile = Prusa Orange Tough 0.05 +default_sla_print_profile = 0.05 Normal +display_height = 155.52 +display_mirror_x = 1 +display_mirror_y = 0 +display_orientation = landscape +display_pixels_x = 3840 +display_pixels_y = 2160 +display_width = 276.48 +elefant_foot_compensation = 0.2 +elefant_foot_min_width = 0.2 +fast_tilt_time = 5 +gamma_correction = 1 +inherits = Original Prusa SL1 +max_exposure_time = 120 +max_initial_exposure_time = 300 +max_print_height = 400 +min_exposure_time = 1 +min_initial_exposure_time = 1 +print_host = +printer_model = SL1 +printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_SL1\nPRINTER_VENDOR_PEOPOLY\nPRINTER_MODEL_PHENOM\n\nSTART_CUSTOM_VALUES\nLayerOffTime_0\nBottomLightOffDelay_0\nBottomLiftHeight_15\nLiftHeight_12\nBottomLiftSpeed_36\nLiftingSpeed_48\nRetractSpeed_150\nBottomLightPWM_255\nLightPWM_255\nEND_CUSTOM_VALUES +printer_settings_id = +printer_technology = SLA +printer_variant = default +printer_vendor = +printhost_apikey = +printhost_cafile = +relative_correction = 1,1 +slow_tilt_time = 8 +thumbnails = 400x400,800x480 diff --git a/PrusaSlicer/printer/Phrozen Shuffle 4K.ini b/PrusaSlicer/printer/Phrozen Shuffle 4K.ini new file mode 100644 index 0000000..b2ded0e --- /dev/null +++ b/PrusaSlicer/printer/Phrozen Shuffle 4K.ini @@ -0,0 +1,37 @@ +# generated by PrusaSlicer 2.2.0+win64 on 2020-06-04 at 22:24:40 UTC +absolute_correction = 0 +area_fill = 50 +bed_custom_model = +bed_custom_texture = +bed_shape = 0x0,120.96x0,120.96x68.04,0x68.04 +default_sla_material_profile = Prusa Orange Tough 0.05 +default_sla_print_profile = 0.05 Normal +display_height = 68.04 +display_mirror_x = 0 +display_mirror_y = 0 +display_orientation = portrait +display_pixels_x = 3840 +display_pixels_y = 2160 +display_width = 120.96 +elefant_foot_compensation = 0.2 +elefant_foot_min_width = 0.2 +fast_tilt_time = 5 +gamma_correction = 1 +inherits = Original Prusa SL1 +max_exposure_time = 120 +max_initial_exposure_time = 300 +max_print_height = 170 +min_exposure_time = 1 +min_initial_exposure_time = 1 +print_host = +printer_model = SL1 +printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_SL1\nPRINTER_VENDOR_PHROZEN\nPRINTER_MODEL_SHUFFLE_4K\n\nSTART_CUSTOM_VALUES\nFLIP_XY\nLayerOffTime_10\nBottomLightOffDelay_10\nBottomLiftHeight_6\nLiftHeight_5\nBottomLiftSpeed_100\nLiftingSpeed_100\nRetractSpeed_150\nBottomLightPWM_255\nLightPWM_255\nEND_CUSTOM_VALUES +printer_settings_id = +printer_technology = SLA +printer_variant = default +printer_vendor = +printhost_apikey = +printhost_cafile = +relative_correction = 1,1 +slow_tilt_time = 8 +thumbnails = 400x400,800x480 diff --git a/PrusaSlicer/printer/Phrozen Shuffle Lite.ini b/PrusaSlicer/printer/Phrozen Shuffle Lite.ini new file mode 100644 index 0000000..dae3165 --- /dev/null +++ b/PrusaSlicer/printer/Phrozen Shuffle Lite.ini @@ -0,0 +1,37 @@ +# generated by PrusaSlicer 2.2.0+win64 on 2020-06-04 at 22:27:07 UTC +absolute_correction = 0 +area_fill = 50 +bed_custom_model = +bed_custom_texture = +bed_shape = 0x0,120.32x0,120.32x67.68,0x67.68 +default_sla_material_profile = Prusa Orange Tough 0.05 +default_sla_print_profile = 0.05 Normal +display_height = 67.68 +display_mirror_x = 0 +display_mirror_y = 0 +display_orientation = portrait +display_pixels_x = 2560 +display_pixels_y = 1440 +display_width = 120.32 +elefant_foot_compensation = 0.2 +elefant_foot_min_width = 0.2 +fast_tilt_time = 5 +gamma_correction = 1 +inherits = Original Prusa SL1 +max_exposure_time = 120 +max_initial_exposure_time = 300 +max_print_height = 170 +min_exposure_time = 1 +min_initial_exposure_time = 1 +print_host = +printer_model = SL1 +printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_SL1\nPRINTER_VENDOR_PHROZEN\nPRINTER_MODEL_SHUFFLE_LITE\n\nSTART_CUSTOM_VALUES\nFLIP_XY\nLayerOffTime_7\nBottomLightOffDelay_7\nBottomLiftHeight_6\nLiftHeight_5\nBottomLiftSpeed_100\nLiftingSpeed_100\nRetractSpeed_200\nBottomLightPWM_255\nLightPWM_255\nEND_CUSTOM_VALUES +printer_settings_id = +printer_technology = SLA +printer_variant = default +printer_vendor = +printhost_apikey = +printhost_cafile = +relative_correction = 1,1 +slow_tilt_time = 8 +thumbnails = 400x400,800x480 diff --git a/PrusaSlicer/printer/Phrozen Shuffle XL.ini b/PrusaSlicer/printer/Phrozen Shuffle XL.ini new file mode 100644 index 0000000..93152d5 --- /dev/null +++ b/PrusaSlicer/printer/Phrozen Shuffle XL.ini @@ -0,0 +1,37 @@ +# generated by PrusaSlicer 2.2.0+win64 on 2020-06-04 at 22:26:36 UTC +absolute_correction = 0 +area_fill = 50 +bed_custom_model = +bed_custom_texture = +bed_shape = 0x0,192x0,192x120,0x120 +default_sla_material_profile = Prusa Orange Tough 0.05 +default_sla_print_profile = 0.05 Normal +display_height = 120 +display_mirror_x = 0 +display_mirror_y = 0 +display_orientation = landscape +display_pixels_x = 2560 +display_pixels_y = 1600 +display_width = 192 +elefant_foot_compensation = 0.2 +elefant_foot_min_width = 0.2 +fast_tilt_time = 5 +gamma_correction = 1 +inherits = Original Prusa SL1 +max_exposure_time = 120 +max_initial_exposure_time = 300 +max_print_height = 200 +min_exposure_time = 1 +min_initial_exposure_time = 1 +print_host = +printer_model = SL1 +printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_SL1\nPRINTER_VENDOR_PHROZEN\nPRINTER_MODEL_SHUFFLE_4K\n\nSTART_CUSTOM_VALUES\nLayerOffTime_10\nBottomLightOffDelay_10\nBottomLiftHeight_6\nLiftHeight_5\nBottomLiftSpeed_100\nLiftingSpeed_100\nRetractSpeed_150\nBottomLightPWM_255\nLightPWM_255\nEND_CUSTOM_VALUES +printer_settings_id = +printer_technology = SLA +printer_variant = default +printer_vendor = +printhost_apikey = +printhost_cafile = +relative_correction = 1,1 +slow_tilt_time = 8 +thumbnails = 400x400,800x480 diff --git a/PrusaSlicer/printer/Phrozen Shuffle.ini b/PrusaSlicer/printer/Phrozen Shuffle.ini new file mode 100644 index 0000000..5d2cfac --- /dev/null +++ b/PrusaSlicer/printer/Phrozen Shuffle.ini @@ -0,0 +1,37 @@ +# generated by PrusaSlicer 2.2.0+win64 on 2020-06-04 at 22:14:00 UTC +absolute_correction = 0 +area_fill = 50 +bed_custom_model = +bed_custom_texture = +bed_shape = 0x0,120.32x0,120.32x67.68,0x67.68 +default_sla_material_profile = Prusa Orange Tough 0.05 +default_sla_print_profile = 0.05 Normal +display_height = 67.68 +display_mirror_x = 0 +display_mirror_y = 0 +display_orientation = portrait +display_pixels_x = 2560 +display_pixels_y = 1440 +display_width = 120.32 +elefant_foot_compensation = 0.2 +elefant_foot_min_width = 0.2 +fast_tilt_time = 5 +gamma_correction = 1 +inherits = Original Prusa SL1 +max_exposure_time = 120 +max_initial_exposure_time = 300 +max_print_height = 200 +min_exposure_time = 1 +min_initial_exposure_time = 1 +print_host = +printer_model = SL1 +printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_SL1\nPRINTER_VENDOR_PHROZEN\nPRINTER_MODEL_SHUFFLE\n\nSTART_CUSTOM_VALUES\nFLIP_XY\nLayerOffTime_7\nBottomLightOffDelay_7\nBottomLiftHeight_6\nLiftHeight_5\nBottomLiftSpeed_100\nLiftingSpeed_100\nRetractSpeed_200\nBottomLightPWM_255\nLightPWM_255\nEND_CUSTOM_VALUES +printer_settings_id = +printer_technology = SLA +printer_variant = default +printer_vendor = +printhost_apikey = +printhost_cafile = +relative_correction = 1,1 +slow_tilt_time = 8 +thumbnails = 400x400,800x480 diff --git a/PrusaSlicer/printer/Phrozen Sonic Mini.ini b/PrusaSlicer/printer/Phrozen Sonic Mini.ini index 89a571b..cd284c3 100644 --- a/PrusaSlicer/printer/Phrozen Sonic Mini.ini +++ b/PrusaSlicer/printer/Phrozen Sonic Mini.ini @@ -1,4 +1,4 @@ -# generated by PrusaSlicer 2.2.0+win64 on 2020-05-26 at 15:23:26 UTC +# generated by PrusaSlicer 2.2.0+win64 on 2020-06-04 at 22:29:16 UTC absolute_correction = 0 area_fill = 50 bed_custom_model = @@ -25,7 +25,7 @@ min_exposure_time = 1 min_initial_exposure_time = 1 print_host = printer_model = SL1 -printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_SL1\nPRINTER_VENDOR_PHROZEN\nPRINTER_MODEL_SONICMINI\nSTART_CUSTOM_VALUES\nFLIP_XY\nLayerOffTime_7\nBottomLiftHeight_6\nBottomLiftSpeed_100\nLiftHeight_5\nLiftingSpeed_100\nRetractSpeed_200\nBottomLightOffDelay_7\nBottomLightPWM_255\nLightPWM_255\nEND_CUSTOM_VALUES +printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_SL1\nPRINTER_VENDOR_PHROZEN\nPRINTER_MODEL_SONIC_MINI\n\nSTART_CUSTOM_VALUES\nFLIP_XY\nLayerOffTime_7\nBottomLightOffDelay_7\nBottomLiftHeight_6\nLiftHeight_5\nBottomLiftSpeed_100\nLiftingSpeed_100\nRetractSpeed_200\nBottomLightPWM_255\nLightPWM_255\nEND_CUSTOM_VALUES printer_settings_id = printer_technology = SLA printer_variant = default diff --git a/PrusaSlicer/printer/Phrozen Sonic.ini b/PrusaSlicer/printer/Phrozen Sonic.ini new file mode 100644 index 0000000..7806b94 --- /dev/null +++ b/PrusaSlicer/printer/Phrozen Sonic.ini @@ -0,0 +1,37 @@ +# generated by PrusaSlicer 2.2.0+win64 on 2020-06-04 at 22:29:10 UTC +absolute_correction = 0 +area_fill = 50 +bed_custom_model = +bed_custom_texture = +bed_shape = 0x0,120.96x0,120.96x68.04,0x68.04 +default_sla_material_profile = Prusa Orange Tough 0.05 +default_sla_print_profile = 0.05 Normal +display_height = 68.04 +display_mirror_x = 0 +display_mirror_y = 0 +display_orientation = portrait +display_pixels_x = 1920 +display_pixels_y = 1080 +display_width = 120.96 +elefant_foot_compensation = 0.2 +elefant_foot_min_width = 0.2 +fast_tilt_time = 5 +gamma_correction = 1 +inherits = Original Prusa SL1 +max_exposure_time = 120 +max_initial_exposure_time = 300 +max_print_height = 170 +min_exposure_time = 1 +min_initial_exposure_time = 1 +print_host = +printer_model = SL1 +printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_SL1\nPRINTER_VENDOR_PHROZEN\nPRINTER_MODEL_SONIC\n\nSTART_CUSTOM_VALUES\nFLIP_XY\nLayerOffTime_6\nBottomLightOffDelay_6\nBottomLiftHeight_6\nLiftHeight_5\nBottomLiftSpeed_100\nLiftingSpeed_100\nRetractSpeed_200\nBottomLightPWM_255\nLightPWM_255\nEND_CUSTOM_VALUES +printer_settings_id = +printer_technology = SLA +printer_variant = default +printer_vendor = +printhost_apikey = +printhost_cafile = +relative_correction = 1,1 +slow_tilt_time = 8 +thumbnails = 400x400,800x480 diff --git a/PrusaSlicer/printer/Phrozen Transform.ini b/PrusaSlicer/printer/Phrozen Transform.ini new file mode 100644 index 0000000..65406bd --- /dev/null +++ b/PrusaSlicer/printer/Phrozen Transform.ini @@ -0,0 +1,37 @@ +# generated by PrusaSlicer 2.2.0+win64 on 2020-06-04 at 22:32:45 UTC +absolute_correction = 0 +area_fill = 50 +bed_custom_model = +bed_custom_texture = +bed_shape = 0x0,291.84x0,291.84x164.16,0x164.16 +default_sla_material_profile = Prusa Orange Tough 0.05 +default_sla_print_profile = 0.05 Normal +display_height = 164.16 +display_mirror_x = 0 +display_mirror_y = 0 +display_orientation = landscape +display_pixels_x = 3840 +display_pixels_y = 2160 +display_width = 291.84 +elefant_foot_compensation = 0.2 +elefant_foot_min_width = 0.2 +fast_tilt_time = 5 +gamma_correction = 1 +inherits = Original Prusa SL1 +max_exposure_time = 120 +max_initial_exposure_time = 300 +max_print_height = 400 +min_exposure_time = 1 +min_initial_exposure_time = 1 +print_host = +printer_model = SL1 +printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_SL1\nPRINTER_VENDOR_PHROZEN\nPRINTER_MODEL_TRANSFORM\n\nSTART_CUSTOM_VALUES\nLayerOffTime_10\nBottomLightOffDelay_10\nBottomLiftHeight_10\nLiftHeight_8\nBottomLiftSpeed_65\nLiftingSpeed_65\nRetractSpeed_150\nBottomLightPWM_255\nLightPWM_255\nEND_CUSTOM_VALUES +printer_settings_id = +printer_technology = SLA +printer_variant = default +printer_vendor = +printhost_apikey = +printhost_cafile = +relative_correction = 1,1 +slow_tilt_time = 8 +thumbnails = 400x400,800x480 diff --git a/PrusaSlicer/printer/QIDI Shadow5.5.ini b/PrusaSlicer/printer/QIDI Shadow5.5.ini new file mode 100644 index 0000000..20d573d --- /dev/null +++ b/PrusaSlicer/printer/QIDI Shadow5.5.ini @@ -0,0 +1,37 @@ +# generated by PrusaSlicer 2.2.0+win64 on 2020-06-04 at 21:10:30 UTC +absolute_correction = 0 +area_fill = 50 +bed_custom_model = +bed_custom_texture = +bed_shape = 0x0,120.96x0,120.96x68.04,0x68.04 +default_sla_material_profile = Prusa Orange Tough 0.05 +default_sla_print_profile = 0.05 Normal +display_height = 68.04 +display_mirror_x = 1 +display_mirror_y = 0 +display_orientation = portrait +display_pixels_x = 2560 +display_pixels_y = 1440 +display_width = 120.96 +elefant_foot_compensation = 0.2 +elefant_foot_min_width = 0.2 +fast_tilt_time = 5 +gamma_correction = 1 +inherits = Original Prusa SL1 +max_exposure_time = 120 +max_initial_exposure_time = 300 +max_print_height = 150 +min_exposure_time = 1 +min_initial_exposure_time = 1 +print_host = +printer_model = SL1 +printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_SL1\nPRINTER_VENDOR_QIDI\nPRINTER_MODEL_SHADOW5.5\n\nSTART_CUSTOM_VALUES\nFLIP_XY\nLayerOffTime_0\nBottomLightOffDelay_0\nBottomLiftHeight_80\nLiftHeight_5\nBottomLiftSpeed_65\nLiftingSpeed_65\nRetractSpeed_65\nBottomLightPWM_255\nLightPWM_255\nEND_CUSTOM_VALUES +printer_settings_id = +printer_technology = SLA +printer_variant = default +printer_vendor = +printhost_apikey = +printhost_cafile = +relative_correction = 1,1 +slow_tilt_time = 8 +thumbnails = 400x400,800x480 diff --git a/PrusaSlicer/printer/QIDI Shadow6.0 Pro.ini b/PrusaSlicer/printer/QIDI Shadow6.0 Pro.ini new file mode 100644 index 0000000..a6332b6 --- /dev/null +++ b/PrusaSlicer/printer/QIDI Shadow6.0 Pro.ini @@ -0,0 +1,37 @@ +# generated by PrusaSlicer 2.2.0+win64 on 2020-06-04 at 21:12:51 UTC +absolute_correction = 0 +area_fill = 50 +bed_custom_model = +bed_custom_texture = +bed_shape = 0x0,132.48x0,132.48x74.52,0x74.52 +default_sla_material_profile = Prusa Orange Tough 0.05 +default_sla_print_profile = 0.05 Normal +display_height = 74.52 +display_mirror_x = 1 +display_mirror_y = 0 +display_orientation = portrait +display_pixels_x = 2560 +display_pixels_y = 1440 +display_width = 132.48 +elefant_foot_compensation = 0.2 +elefant_foot_min_width = 0.2 +fast_tilt_time = 5 +gamma_correction = 1 +inherits = Original Prusa SL1 +max_exposure_time = 120 +max_initial_exposure_time = 300 +max_print_height = 150 +min_exposure_time = 1 +min_initial_exposure_time = 1 +print_host = +printer_model = SL1 +printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_SL1\nPRINTER_VENDOR_QIDI\nPRINTER_MODEL_SHADOW6.0PRO\n\nSTART_CUSTOM_VALUES\nFLIP_XY\nLayerOffTime_0\nBottomLightOffDelay_0\nBottomLiftHeight_80\nLiftHeight_5\nBottomLiftSpeed_100\nLiftingSpeed_65\nRetractSpeed_65\nBottomLightPWM_255\nLightPWM_255\nEND_CUSTOM_VALUES +printer_settings_id = +printer_technology = SLA +printer_variant = default +printer_vendor = +printhost_apikey = +printhost_cafile = +relative_correction = 1,1 +slow_tilt_time = 8 +thumbnails = 400x400,800x480 |