Previously holes of enforcer_polygons was taken as contours,
which caused enforcers inside a hole were too large.
Jira: STUDIO-3877
Change-Id: If38c34e2469b822012a2ed0b082783563fe99228
split to 3 mode
not apply
all top surface
topmost surface
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Id9bb1a6ded7414b2f093ac01e4ecb4b93057d022
corner cases
this patch is cherry-picked from PrusaSlicer's 84722876012ca310e29b291e10fef9d18ae26cea
thanks to 'Vojtech Bubnik' for the fix
Implementing a test whether the current thread is the main (UI) thread
and using it on AppConfig::save() to assert if save is called
from a worker thread.
The old assert was using thread names, which did not always work
on Windows.
Fixes#7839#9178#9370#9420
1. when object skipped, it should not be duplicated
it is set to unprintable before arrange
and the plate needs to be considered a skipped plate also
2. skip the wipe tower if not multi-color after skip
3. load default configs if there are no configs loaded
4. refine the result.json to include key_values
Change-Id: I8c132cabcdd78756673fe900267a226a41ae1b4d
1. load the updated machine/process config from uptodate_settings
2. if don't have uptodate_settings, keep the logic as before, use from local
Change-Id: I3520469ab6094f03895b8e0e4e84c7549190f244
1. from small bed to larger one, auto translate the models based on center;
2. from large bed to smaller one, report an error
Change-Id: I7b7fac1e370ff4daca82c4f36977a86fca268625
Enforcers should also subtract the lower polygons to get overhang areas.
Jira: STUDIO-3692
Github: #2045
Change-Id: I70f4aaae13826efc624e9bc942d2d11e9b1df1a1
(cherry picked from commit fc3d9b24ac1eb14e259488c94fca3469f319b368)
1. We have a logic to add supports at corners for tree(auto), now I extend
it to tree(manual) also.
2. Only show support_critical_regions_only option to tree(auto).
Github: #2008
Change-Id: I161444da93464fd2ef0e0f3b40a0c5852beba351
(cherry picked from commit af4efb4aadc2a4d16de3eea881c6610955985fff)
to avoid integer overflow during the polygon operations in make_brim(),
plateoffset is applied during gcode generation. This results in a wrong
first layer convexhull "m_first_layer_convex_hull" which is used in _make_skrit().
This patch fixs this issue.
JIRA: https://jira.bambooolab.com/browse/STUDIO-3719
Change-Id: Icfe21f4dbab05cc9e1c6f668791a62f954c2e0e5
(cherry picked from commit 6286b3e447b7ac7cbc061dca435091094783f74b)
1. Changed printing speed for all PA tests, where the speed will be calculated by max(100, outer_wall_speed) with consideration of max_volumetric_speed.
2. PA tower now uses the classic wall generator.
#1616
* First working conical overhang impl
* Add settings for Make overhang printable
* Added an Advanced setting to the Quality menu for Make overhang printable
* Allow toggling the feature and adjusting the angle threshold
* Retain recesses in the bottom of the model when "Make Overhangs Printable" is turned on
* Add settings for Make overhang printable hole size
* Allow disabling conical overhang per modifier
* Should check upper layer instead
* Skip unnecessary layers
* Apply conical overhang before any size compensation
which fixs the `lslices` not being updated issue and also the elephant foot compensation
* 1. Fix an issue that changing make_overhang_printable related parameters won't clear caches properly.
2. Tweak the logic of make_overhang_printable parameter so that it works for per region/object/print level. Remove make_overhang_printable_disable parameter.
* Change default make_overhang_printable_angle to 55
* One more missing commit
* 1. Skip checking default_region_config()->make_overhang_printable
2. Handle make_overhang_printable_angle and make_overhang_printable_hole_size value change
---------
Co-authored-by: David Bern <odie5533@users.noreply.github.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
* Port single wall on top surface from classic wall generator to Arachne
* Move the surface split code into a separate function to be shared between classic and Arachne. This also adds bridge detection to Arachne as well.
* Remove unwanted infills
* Fix insets calculating
---------
Co-authored-by: SoftFever <softfeverever@gmail.com>
* Calculate extrusion width %s as a function of nozzle width, not layer height
* handled more width conversions
* more missing percent handling
* even more missed percent handling
* even more more extrusion % handling
* some fixes
---------
Co-authored-by: SoftFever <softfeverever@gmail.com>
[BUGFIX] Fix Klipper SET_VELOCITY_LIMIT code
- Always write out SET_VELOCITY_LIMTIT ACCEL=<acceleration> independently of the accel_to_decel setting
- Append the ACCEL_TO_DECEL fragment if enabled in config