Commit graph

1197 commits

Author SHA1 Message Date
zhimin.zeng
90e1ed7335 FIX: cali status recover incorrect after save result
STUDIO-3602

Change-Id: I1a47e40ca4d571ab37f52b87109d809279d3145e
2023-07-31 14:29:15 +08:00
zhimin.zeng
e010fad242 FIX: k value of ams control is not correct
modify the method for using printer type

Change-Id: Ica864c19f4ad3e58e4f478e078b55fc11485901a
2023-07-31 14:29:15 +08:00
zhimin.zeng
f542b6321e FIX: cannot open saved 3mf with & in model name
STUDIO-3690

Change-Id: I44cbccf6692910f7cbf331a6cea4f05caa25c45a
2023-07-31 14:29:15 +08:00
Arthur
9d9673116d FIX: tree support didn't work with enforcer
Enforcers should also subtract the lower polygons to get overhang areas.

Jira: STUDIO-3692
Github: #2045
Change-Id: I70f4aaae13826efc624e9bc942d2d11e9b1df1a1
(cherry picked from commit fc3d9b24ac1eb14e259488c94fca3469f319b368)
2023-07-31 14:29:15 +08:00
Arthur
44fdfe8fff FIX: tree(manual) didn't support well
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)
2023-07-31 14:29:15 +08:00
wintergua
7430700b8e FIX: the convexhull of first layer is wrong during making skrit
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)
2023-07-31 14:29:15 +08:00
SoftFever
2903942403 Treat the printer as a generic printer when loading new printers not found in the system from a project file 2023-07-31 00:28:52 +08:00
SoftFever
92b1ff824a Miscellaneous changes for PA calib:
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
2023-07-30 23:03:36 +08:00
Noisyfox
b571318be8
Make Overhang Printable (#1615)
* 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>
2023-07-30 20:20:43 +08:00
SoftFever
2dfb4f1a68 Optimized gcode generation. Reduce set fan speed commands #804 2023-07-30 00:16:09 +08:00
Noisyfox
d7a1241550
Port single wall on top surface from classic wall generator to Arachne (#1583)
* 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>
2023-07-29 10:12:47 +08:00
SoftFever
0657ad9e58 Overhang tweaks:
1. Revert back to classic overhang
2. Support percent for overhang speed
2023-07-28 00:19:08 +08:00
Jason M-H
be54f6bc99
Calculate extrusion width %s as a function of nozzle width, not layer height (#1578)
* 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>
2023-07-27 23:37:47 +08:00
SoftFever
71ddef9724 fix misspelling in the tooltip of Filter out tiny gaps option #1606 2023-07-27 22:21:10 +08:00
SoftFever
1a869cfca9 Merge branch 'main' of github.com:SoftFever/OrcaSlicer 2023-07-27 22:03:45 +08:00
SoftFever
53688791af skip overhang degree check in PerimeterGenerator when overhang_speed_classic is not enabled 2023-07-27 22:03:12 +08:00
ovlach
df819b2778
Use namespaces to link against libcereal >= 1.3.1 (#1596)
0ffcfd8393

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-07-27 21:58:19 +08:00
thewildmage
910d79ae6f
Fix overly persistent pressure advance pattern (#1591)
* Reset model's calib_pa_pattern as needed

* Add initial config for skirt and brim in PA pattern
2023-07-26 19:23:41 +08:00
Morton Jonuschat
b5d5b972fc
[BUGFIX] Fix emitting Klipper SET_VELOCITY_LIMIT commands (#1598)
[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
2023-07-26 19:11:47 +08:00
SoftFever
7f6f01c4c9
QoL: remember each printer's filament/bed/process settings (#1592)
* init work
TODO:
1. support multi filament
2. support project

* Properly handle filament number change when switching printers
2023-07-25 21:54:34 +08:00
Jason M-H
7a3971eca5
Add Lift Z only Above/Below, On Surface (e.g. Only on Top) (#1562)
* Added config options for Enforce Lift Z (from SS, doesn't affect Gcode
yet)

* working, minus first layer override; also fixed m_last_extrusion_role not being set

* fixed logic to match SS

* minimize to just one config

* removed first layer override

* Cleaned up logic, working as intended

* added lift above z, lift below z; somehow broke filament overrides

* fixed overrides not working, but lift above/below and enforce don't override

* fixed filament overrides

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-07-22 21:07:13 +08:00
thewildmage
777c7c68f9
Add Ellis' pattern method for pressure advance calibration (#1547)
* Add pattern method to Pressure Advance dialog

* Convert calib_pressure_advance to more unique calib_pressure_advance_line

* Share move_to function with PA lines and patterns

* Add PA pattern to calib.hpp

* Implement move_to(Vec3d). Combine with Vec2d version

* Add call to PA pattern in GCode.cpp

* Add helper functions

* Add directionality to draw_digit

* Extract shared number drawing variables

* Extract convert_number_to_string function

* Use in-class initializers for pattern variables

* Add max_numbering_height function

* Add helper functions

* Extract shared delta helper functions

* Add pattern generate_test() and associated helpers

* Clarify use of math functions

* Remove unused move_to overload, accept move_to comments

* Add get_distance() and draw_line()

* Extract set_nozzle_diameter()

* Clean up and simplify

* Rearrange and clean up

* Start work on print_pa_pattern

* Complete basic draw_box function

* Add more helper functions

* Add struct for pattern config, more helpers

* Rearrange

* Add encroachment member variable

* Add structs to manage optional arguments

* Simplify optional arguments structs

* Update opt args usage. Finish draw_box function

* Complete print_pa_pattern function

* Reuse PA Line STL

* Fix forward declaration error

* Fix invalid comparison

* Fixing complier errors

* Make DrawDigitMode options more clear

* More compilation error fixes

* Yet more compile error fixes

* Fix incorrect default step value

* Handle top-level dialog changes, consolidate params definitions

* Add layer change G-code, set more print variables

* Simplify optArgs constructors

* Fix pattern drawing, minor misc. clean up

* Make draw_box() G-code comments more helpful

* Make more of draw_line() const

* Fix sequential number draw direction

* Extract shared e_per_mm function

* Fix misplaced decimal in PA Line

* Move short constructor into .hpp

* Fix inverted Y direction in pattern digit drawing

* Use placeholder STL to create needed layers

* Rearrange and clean up

* Proof of concept: Adding custom G-Code at layer

* Use new scaling method

* Reorganize Plater::calib_pa()

* Restructure calib

* New strategy for adding custom G-code

* Remove redundant invocation

* Use cube primitive as positioning handle

* Move logic to Plater

Modifications to model in GCode cancelled _do_export from within itself

* Consolidate m_starting_point and pattern_start functions

* Replace bed_center() with m_starting_point

* Fix and consolidate number tab creation

* Fix off by one layer bug

* Use correct bounding box

* Use Vec3d instead of Vec2d for m_starting_point and m_last_pos

* Add translate_starting_point function

* Vec3d fix

* Store CalibPressureAdvancePattern with model

* Formatting adjustments

* Move pattern when handle moves

* Improve const correctness

* Improve/fix pattern writer and config

* Fix speed setting bug

* Pass model into generate_gcodes to improve consistency

* Re-generate pattern on reslice

* Make pattern actually move with handle

* Fix overzealous m_last_pos initialization

* Use clearer function names

* Use correct model

* Remove unused member variable

* Don't hard-code print config settings

* Remove unused lines, formatting clean up

* Make sure set_key_value operates on existing keys

* Remove asserts which limited life of key/value set

* Update Calibration.md

* Update licensing info

* Actually use speed in draw_line

* Don't speed_adjust twice

* doc: Make width and speed settings used more clear

* Bugfix: Shouldn't need to move handle to see pattern

* Clean up

* Move mp_gcodegen into line method alone

* Fix wrong number thickness in PA Line

* Remove unnecessary middleman PatternSettings

* Give value of config to const m_initial_config, not ref

* Fix incorrect DrawBoxOptArg default

* Use line_width_anchor() for all of initial layer

* Use clearer function name

* Replace "anchor" with "first_layer" for better consistency

* Update Calibration.md

* Update Calibration.md

* Make number tab infill explanation more clear

* (Hopefully) fix missing origin

* Add GCodeProcessor tags

* Fully refresh config

* Don't store is_bbl_printer

* Move set_starting_point to private

* Don't constantly recreate GCodeWriter

* Use different step value for pattern test

* Remove redundant processor tags

* Label glyph G-code

* Fix comparison typo

* Set number print speed

* Fix mixed up draw_number parameter

* Don't use line_width_first_layer for pattern

* (Hopefully) fix temp tower generating PA pattern

* Start with pattern centered on plate

* Add gap between pattern and handle

* Fix overly persistent pattern

* Revert "(Hopefully) fix temp tower generating PA pattern"

This reverts commit 0aa1206886.

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-07-22 20:48:56 +08:00
ZdDroid
87f6c43784
Display print end time for in BL device page (#1568)
Show progress increase end time
Supplementary translation

Co-authored-by: ZdDroid <601865048@qq.com>
2023-07-22 10:40:15 +08:00
SoftFever
40a17695c5 fix vs2022 deps 2023-07-16 10:58:18 +08:00
qing.zhang
1223d6f900 FIX: pressure advance unrecogized
while the newer version of 3mf be load to older software
pressure_advance be unrecogized

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ie160759f58e573f8ad01a2941763016e9b070e9e
2023-07-13 10:35:05 +08:00
梨子
bc469bdcb6 NEW:Revert "add pause print message"
This reverts commit f24178896e2e9701165a3a5df8e711489beb34e5.

Reason for revert: pause

Change-Id: Ie55d14143a9e5ea9d593cb2ff0196688f3b0345e
2023-07-13 10:35:05 +08:00
salt.wei
989e4214c5 ENH: apply fan speed immediately after changing layer
What: As title. The original code is always apply
at the end of last object of last layer, whichi is before
layer change

Why: the fan spped will be skipped if the last object is
skipped. So we must move the layer time fan speed setting
after changing layer, where is common gcode block and does
not belong to any object.

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I442f80e00778b524576210b451f81dd15e25e14c
2023-07-07 17:52:43 +08:00
maosheng.wei
8975562e8b FIX: [STUDIO-3529] Error prompt deduplication
Change-Id: Ic14d7938fd6f70c5280bc8c4c70360b5c82ac8af
2023-07-07 17:52:43 +08:00
zhimin.zeng
e5e66cb3dd ENH: support recover after close Studio
fix flow_ratio not change according preset

Change-Id: I048d1183ffcfc2d4470725528aa62f12b32c6216
2023-07-07 17:52:43 +08:00
zhimin.zeng
2565a66b6d FIX: set uniform_scale false modify the scale ratio
STUDIO-3364

Change-Id: Idd5f5640cb7bb6eb5b5dbb2c829f6dce2e61fe3c
2023-07-07 17:52:43 +08:00
salt.wei
6fde6747c4 ENH: fix some assert in debug mode
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I2d5796269d512672a3c3be7d6ebdc41f6cc58da8
2023-07-07 17:52:43 +08:00
Arthur
fcda0e5f2c FIX: mesh boolean may take forever with CGAL
Only use MCut to do boolean, with a little modification to allow input
mesh to have multiple components.

Jira: STUDIO-3167

Change-Id: I4f53010f76fbcacfe966c2ef48e465f97d6516fe
(cherry picked from commit 92d0eb11744820466ee2f67c02d4764e496b7e60)
2023-07-07 17:52:43 +08:00
chunmao.guo
1c4d0e9bc1 FIX: use prefer preset after reset project presets
Change-Id: Idadee17f28f345cccccf35ec2da2b0786799840d
2023-07-07 17:52:43 +08:00
chunmao.guo
a4b3a5c000 FIX: [STUDIO-3571] not skip auxiliary for send gcode
Change-Id: I2dd1e36c571261c93ac899db5bbd3ad38fc40bc9
2023-07-07 17:52:43 +08:00
salt.wei
bc0273d734 ENH: should apply instance shift in is_through_overhang
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I07ca04d459c3e98650c8e5a33f56dac20f99b9a2
2023-07-07 17:52:43 +08:00
lane.wei
8b42a8b7e9 ENH: refine the skip_object&&cached_object logic
when the cached object is skipped
we need to reslicing it;

also do overhang detect for all objects

Change-Id: Ic842fd5a441426983a760145aeff9285e398d430
2023-07-07 17:52:43 +08:00
salt.wei
5e36c36f70 ENH: don't need to skip object in cali mode
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I3c71f442e8d1e94786912ddf6a4367597073cbac
2023-07-07 17:52:43 +08:00
Stone Li
2368d929fe NEW: rearch calibration
Change-Id: I20ee304eba1a63e08d0a36abdf06ebe6a6e4451f
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-07-07 17:52:43 +08:00
lane.wei
ced9e43be6 FIX: fix a typo in GCodeProcessor
Change-Id: I56b9eaedc3cb062d17facf7352eb469524db5b60
(cherry picked from commit 1bb3b64cfc1aabad9ece3e5d5c0f55a9cb3367c5)
2023-07-07 17:52:43 +08:00
Arthur
04bfe7e405 ENH: ease removal of tree supports
Previously tree supports are harder to remove than normal
supports. We learn from normal supports and improve the gap between
object and supports.

Jira: STUDIO-3530

Change-Id: I229a7b869b334bdf4c5aba96c9450213b83457f2
2023-07-07 17:52:43 +08:00
salt.wei
73059c79af ENH: move filament compatibility checking to public
As title. This function need to be used in calibration
page.

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ia4228cbd195d87f433b59bc14129bd4acdd9df68
2023-07-07 17:52:43 +08:00
chunmao.guo
dac0a90605 FIX: xml_escape thumbnail paths
Change-Id: I781b529162b70945156c13796806db507042ad7c
2023-07-07 17:52:43 +08:00
lane.wei
c06e47069f FIX: config: fix a typo of skip_objects
Change-Id: I986da5d677820dfb73fbab5bff43ee26147e431a
2023-07-07 17:52:43 +08:00
chunmao.guo
d63316fe7e FIX: [STUDIO-3130] skip parse object in slice_info.xml
Change-Id: Iae50320f06404ba1bfddcda351f8b642bc35debb
2023-07-07 17:52:43 +08:00
salt.wei
7910e681e4 ENH: remove duplicate height pair in layer height profiles
This is fix for jira-3493

Remove duplicated height pairs when add height range

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: If74c1f8af1c911d709b9582a15ea8852630c1a67
2023-07-07 17:52:43 +08:00
lane.wei
7c76cf99b9 ENH: CLI: add option repetitions for future use
Change-Id: I97bdc04b542f9725a047348450c2c677d8807427
(cherry picked from commit d5a20f689cade6cc5b28bbec70931c6d122ef6f4)
2023-07-07 17:52:43 +08:00
Arthur
ecfffca12d FIX: raft contact distance should not trigger warning
Jira: STUDIO-3344
Change-Id: I1d0e7431cad468acaf4830caf002a47c6a33be41
(cherry picked from commit f2a926da614443fdf8631f4412f70fa741a8bf11)
2023-07-07 17:52:43 +08:00
salt.wei
145d7a4f8e ENH: add protection for filament_id in height range
See comment in code...

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I5c68a86e1d740a54d4ca6c647fd923575600b1ca
2023-07-07 17:52:43 +08:00
lane.wei
d385384907 ENH: skip_objects: optimize the label_id logic in ModelInstance
Change-Id: Id20fe9b084426036d6cf4f54859655579bec7197
(cherry picked from commit ebb5343eef6aea9e54d11f3d6b98cf11ff941aa5)
2023-07-07 17:52:43 +08:00
zhimin.zeng
0962b23904 FIX: sync the modify from master
Change-Id: I8d1ab3803d0c0813923192569354f93e6022a1e7
2023-07-07 17:52:43 +08:00