Commit graph

1309 commits

Author SHA1 Message Date
SoftFever
aaefc400e1 Tweak profiles
1. Fix Voron Trident printable height issue #1641
2. Revamp Qidi X3 printer profiles
3. Turn on accel_to_decel_enable for klipper machine by default
4. Many other profiles tweaks
2023-07-31 19:52:56 +08:00
salt.wei
d1ba5cf9a4 ENH: miss extruder_type in the list
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I3450b98b2ccf33a5b823729ada454dfd6ad475c1
2023-07-31 14:29:15 +08:00
xun.zhang
6ce4a6c5f2 ENH: modify chamber_temperature to array
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I8c1afc85ff91ebf4458871fecba5f2f1f1e32f1d
2023-07-31 14:29:15 +08:00
Vojtech Bubnik
153c9517ce FIX: fix the crash issue #1944 caused by wronog thread name in some
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
2023-07-31 14:29:15 +08:00
xun.zhang
793c657b46 ENH: remove nozzle_hrc in params page and profiles
use std::map to map nozzle_type to nozzle_hrc

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ie9d1db486808bd5164c7952caecaf4ac279f43d8
2023-07-31 14:29:15 +08:00
lane.wei
0c45cac1a8 ENH: CLI: refine some logic of repetions and load configs
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
2023-07-31 14:29:15 +08:00
lane.wei
8c29a57be4 ENH: CLI: add logic of uptodate_settings
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
2023-07-31 14:29:15 +08:00
maosheng.wei
cd8e7e80ba FIX: Calibration supplementary translation
Change-Id: Id4203f55e921dc5c1d1d462f7dcacd262d88c603
2023-07-31 14:29:15 +08:00
chunmao.guo
d488363095 FIX: use metadata with related index for shared volume
Change-Id: If5ef2e9245a88666600eab0e5f6b92dc8ab3fb14
2023-07-31 14:29:15 +08:00
lane.wei
387f8838f2 ENH: CLI: add logic to translate objects between different bed size
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
2023-07-31 14:29:15 +08:00
lane.wei
bb4f425027 ENH: add the error codes return logic
1. write a json to the outputdir
2. including message/error code/plate id

Change-Id: If2a13a89d34982a86102162c9c968cdf60702f19
2023-07-31 14:29:15 +08:00
wenjie.guo
a321121acc FIX: the option to adjust the first layer flow
Change-Id: Icf0c2686cc78c26724438ddc80d1894ac50ec179
Signed-off-by: wenjie.guo <wenjie.guo@bambulab.com>
2023-07-31 14:29:15 +08:00
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