485 Commits

Author SHA1 Message Date
Tiago Conceição c230a84290 v2.23.6
- **(Improvement) SL1:** (#314)
   - Complete the SL1 file format with some defaults for convertions
   - Change some data types from bool to byte as in recent prusaslicer changes
- (Upgrade) .NET from 5.0.10 to 5.0.11
- (Upgrade) AvaloniaUI from 0.10.7 to 0.10.8
- (Fix) PWS, PW0, PWM, PWMX, PWMO, PWMS: Incorrect set of layer height for the layer definition when using same positioned layers
2021-10-12 21:38:26 +01:00
Tiago Conceição 8ef55e2e05 v2.23.5
- (Fix) Odd crash when detecing for resin trap issues which was duplicating contours
2021-10-07 04:39:30 +01:00
tslater2006 1319acb6f2 Correct issue during group merging 2021-10-06 15:17:53 -05:00
Tiago Conceição d214d3a6f1 .Last to [^1] and dedup 2021-10-06 21:16:19 +01:00
tslater2006 359809ca83 Fixed issue of contour duplication
When looking for candidate groups to check intersection  of contours, we used to restrict this to only groups whose last item's layer was 1 above tthe current layer. However, in the event that 2 contours on the same layer intersect with the same group end up in a situation where the "last item" has a layer index of the current layer.

To fix this we loosen the restriction and now scan groups that have a lowest layer index of either current layer index or current layer index + 1
2021-10-06 14:25:20 -05:00
tslater2006 abad334798 Revert "Dedup contours during merging of resinTrapGroups."
This reverts commit 1082f7cd12.
2021-10-06 14:11:19 -05:00
tslater2006 1082f7cd12 Dedup contours during merging of resinTrapGroups.
Fix for edge case where a contour is in multiple groups and they get merged. Doesn't fix root cause of the contour being placed in 2 groups, but for the time being this works around it be deduping during the merge
2021-10-06 13:30:04 -05:00
Tiago Conceição 2f1ab286ab Fix typo 2021-10-06 18:36:29 +01:00
Tiago Conceição cb62a9e243 v2.23.4
- (Fix) RGB images was preventing file open/save/convertion
2021-10-04 06:28:17 +01:00
Tiago Conceição 6f97f2e4ff v2.23.3
- **Pixel arithmetic**
   - (Add) Apply to - Model surface: Apply only to model surface/visible pixels
   - (Add) Apply to - Model surface & inset: Apply only to model surface/visible pixels and within a inset from walls
   - (Add) Preset: Fuzy skin
   - (Improvement) Speed up the Corrode method
   - (Change) Heal anti-aliasing threshold from 169 to 119
- **Calibration - Grayscale:**
   - (Add) Enable or disable text
   - (Fix) Calibration - Grayscale: Crash program when redo (Ctrl+Z)
   - (Change) Some defaults to better values
- (Fix) Layer arithmetic: Crash program when redo (Ctrl+Z)
2021-10-04 04:06:29 +01:00
Tiago Conceição 0b7eb43f53 (Add) Preset: Fuzy skin 2021-10-02 22:54:57 +01:00
Tiago Conceição 2af14924a1 Improvements to corrode and apply methods
- (Add) Apply to - Model surface: Apply only to model surface/visible pixels
   - (Add) Apply to - Model surface & inset: Apply only to model surface/visible pixels and within a inset from walls
   - (Improvement) Speed up the Corrode apply method
2021-10-02 22:38:11 +01:00
Tiago Conceição 89b2798ad8 v2.23.2
- **Pixel arithmetic**
   - (Add) Corrode: Random dithering, use for eliminating visual prominence of layer lines. Can also be used to add a microtexture to enhance paint bonding (#307)
   - (Add) Ignore areas smaller or larger than an threshold
   - (Add) Preset - Heal anti-aliasing: Discard uncured faded pixels and turn them into solid black (0)
- (Fix) Resin traps: Discard traps with drain holes directly on first layer / build plate
- (Fix) The setting 'Auto flip layer on file load' is not respected when off
2021-10-02 17:07:41 +01:00
Tiago Conceição 9794fe1f6d (Add) Ignore areas smaller than an threshold 2021-10-02 05:05:45 +01:00
Tiago Conceição 14eac4844e Refactorings to Corrode 2021-10-02 00:47:28 +01:00
Tiago Conceição 630bd65e1c Merge pull request #307 from FinnNk/corrosion_pixel_arithmetic
Add corrosion effect
2021-10-01 22:22:20 +01:00
Tiago Conceição 86b67f1940 (Fix) Resin traps: Discard traps with drain holes directly on first layer / build plate 2021-10-01 17:49:37 +01:00
Finn Neuik 95c4db3f58 PR review - switch to short for noise bounds, loop from 0_ 2021-09-27 21:27:49 +01:00
Finn Neuik eb590c3657 Switched to uniform noise offset, added ui.
Added switch to random offset as it smooths the diffusion service by
leveraging grey values.

Added UI, preserves void option duplicates the "model only" option but
is significantly faster as it avoid the calculation for void voxels.

Incorporated crypto random and using spans for array access based on PR feedback.
2021-09-27 19:25:48 +01:00
Finn Neuik 3db3853f16 Add corrosion effect (Work in progress)
Add pixel arithmetic operation to randomly remove pixels based on
intensity. The random dithering significantly reduces layers lines and
also provides an excellent bonding surface for paints. Intial
implementation is a primitive PoC.
2021-09-26 19:05:51 +01:00
Tiago Conceição 321fabcdf8 v2.23.1
- **Issues:**
   - (Add) Suction cups: Additional setting to specify the required minimum height to be flagged as a issue (#302)
   - (Change) Allow touching bounds to have a bounding rectangle and zoom into the issue
   - (Change) Disable the ability to copy issues row text from list as this is crashing the program
   - (Change) Decrease cache count of the layers from x10 to x5 to free RAM
   - (Fix) Touching bounds are reporting areas of 0
   - (Fix) Draw crosshair for issues are called multiple times
   - (Fix) Detection error when resin traps are enabled on some cases (#303)
   - (Fix) Resin trap false-positives (#305)
   - (Fix) When removing multiple islands at once only the first is cleared from the issue list
- **UI:**
   - (Change) Tool - Resize icon
   - (Change) Move "Crosshairs" button inside "Issues" button
- (Add) Tool - Morph - Offset crop: Like erode but discards the outer pixels
- (Fix) Corrected bottom lift unit label in light-off delay calculator (#304)
2021-09-23 02:54:15 +01:00
Tiago Conceição b8a705ce21 RAM and performance improvements 2021-09-23 01:21:02 +01:00
Tiago Conceição bfb45a4f00 Move lock to gain a parallel Mat Operation 2021-09-22 22:54:01 +01:00
Tiago Conceição 981f3688ca Fix the inner lock 2021-09-22 22:16:11 +01:00
tslater2006 51e9ec201b Fix issue with resin trap algorithm
This fixes the "layer 28" bug where recesses higher than the point of air contact do not get properly marked as suction cups during 2nd pass of resin trap detection.
2021-09-22 15:37:41 -05:00
Tiago Conceição 52c847157b (Fix) When removing multiple islands at once only the first is cleared from the issue list 2021-09-22 18:57:55 +01:00
Tiago Conceição 193748dcf7 Fixes and improvements
- (Change) Allow touching bounds to have a bounding rectangle and zoom into the issue
- (Fix) Touching bounds are reporting areas of 0
- (Fix) Draw crosshair for issues are called multiple times
- (Fix) Issue:Equals
2021-09-22 17:05:12 +01:00
tslater2006 a8da8bba83 Actually decrement the variable. 2021-09-22 09:45:06 -05:00
tslater2006 53795659a2 Switch to just iterating backwards instead of Reverse() 2021-09-22 09:40:11 -05:00
tslater2006 b9319610b1 Merge branch 'sn4k3:master' into master 2021-09-22 08:33:37 -05:00
tslater2006 0b41208347 Go through indexes backwards when removing from lists... 2021-09-22 08:33:18 -05:00
Tiago Conceição ec67e2f230 Add the missing value labels 2021-09-21 22:13:24 +01:00
Tiago Conceição dbd987dead Ensure correct order of issues 2021-09-21 22:13:11 +01:00
tslater2006 6ece51e2b7 Use new TotalHeight property for minimum height check 2021-09-21 15:21:34 -05:00
tslater2006 d4e696cb7b Merge branch 'sn4k3:master' into master 2021-09-21 15:05:16 -05:00
Tiago Conceição 78fc227a8a Add TotalHeight 2021-09-21 21:03:25 +01:00
tslater2006 d765fe4b3d Add additional setting for Suction Cups to only report those over a certain height 2021-09-21 14:15:18 -05:00
Tiago Conceição 6b1c70d362 Fix issue selection 2021-09-21 02:09:02 +01:00
Tiago Conceição 4407550e70 Fixes arround ignored issues
- Tool - Repair layers and issues:
   - (Improvement) Allow to have profiles in the dialog
   - (Improvement) Ignored issues are not repaired
2021-09-20 23:25:11 +01:00
Tiago Conceição 2314f2b1d0 Cleanup, fixes and perf 2021-09-20 21:38:44 +01:00
tslater2006 9b87bc8500 Extract suction cup drilling to common function
Both the repair operation as well as the deletion of an issue will now leverage common code for executing a repair. Repair operation will repair all suction cups, and deleting a specific suction cup will only repair that one.
2021-09-20 12:10:12 -05:00
tslater2006 4b235ffb1d Add grouping support for resin traps 2021-09-20 11:04:04 -05:00
tslater2006 d3d489b713 Add grouping support for suction cups 2021-09-20 10:51:32 -05:00
Tiago Conceição 791471a666 Improvements 2021-09-19 23:18:19 +01:00
Tiago Conceição 1e787ba11b Nuke issue system
- Issues:
   - (Add) Suction cups: Add a auto repair feature for this issues by drill a vertical vent hole (#296)
   - (Add) Layer issue track bar: Colorize the issue tracker map with it own colors (Configurable)
   - (Add) Allow to group issues by type and/or layer
   - (Improvement) Order issues by area in descending order
   - (Improvement) Always bring the selected issue into view on the list
   - (Fix) When manually removing a issue from the list, it will no longer reselect other and make the user lost track of the remove issue
   - (Fix) Allow to ignore all issue type
- (Fix) Material ml calculation was calculating a bad value for PhotonWorkshop files
2021-09-19 02:03:04 +01:00
Tiago Conceição e424d3b968 Material ml calculation was calculating a bad value for PhotonWorkshop files 2021-09-18 00:28:25 +01:00
Tiago Conceição fe663cb9ff Better NonZeroPixelCount calculation 2021-09-18 00:27:43 +01:00
Tiago Conceição c6a7489359 Add UI for repair suction cups 2021-09-17 23:28:39 +01:00
tslater2006 400f46202d Refactor suction cup grouping logic
This commit removes the Parent/Child issue structures that were added to Issue, and instead opts for a more lean approach to determining the layers affected by an operation. Instead of building out the entire parent/child tree for ever single suction cup issue, we know only calculate what we need when we need it.

During a repair operation, we calculate only the suction cup issues that have no overlapping suction cup issue below it. For "delete issue" behavior we only calculate the suction cup issues that overlap the selected on in both directions (following that direction until no more overlaps are found).
2021-09-16 22:40:36 -05:00
tslater2006 12222827b0 Address feedback on CheckContoursIntersect 2021-09-16 19:53:03 -05:00