Commit Graph

147 Commits

Author SHA1 Message Date
zhimin.zeng 8efb9fbb6e FIX: G1 empty command
jira: none
Change-Id: I399aa2d8bb820d5a6547025b66bd0dc3eeaa37c3
2024-10-15 15:50:26 +08:00
zhimin.zeng 4db196b11f ENH: modify the start pos of wall for wipe tower
and modify the overlap of wall and infill for wipe tower
jira:none

Change-Id: I0d1355c718e2bd1efea6d898f793f5869476ab12
2024-10-15 15:50:26 +08:00
xun.zhang e3c8496a62 FIX: add to incorrect layer when adding pause
1. Caused by floating-point precision.

github:#1937,#4250

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: If7a5dc71a898c1208289b6b89eafef9d4126f17c
2024-10-15 15:50:26 +08:00
xun.zhang 1e214c08a3 ENH: readd M220 command
1.Backup and restore extrusion speed when tool change

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I0c00391f0169dde69dab0d5120d03238aafa0862
(cherry picked from commit 2d96a9078f41764cbd5b7f5be1285025fc69f8fa)
2024-10-15 15:50:26 +08:00
qing.zhang 872978d61b ENH: Revert z smoothing function
Jira: none

Change-Id: I067033c3beb4b29b8da11ff0c9f12b126bcf61dc
2024-10-15 15:50:26 +08:00
qing.zhang b52a9de509 ENH: smooth z dir speed and layer time
Jira: none

generate continuitious outer wall speed in z dir
generate continuitious layer time in z dir

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I0ade543d2f9ee40f5cd65c533eb261d85e5eaa34
2024-10-15 15:50:26 +08:00
xun.zhang 9267bd65aa FIX: wrong prepare time with chamber temp
1.Caused by missing break of switch case

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ie667eda4069f3e2487ed87081580e2540ae4da7b
2024-10-15 15:50:26 +08:00
qing.zhang 3d1f1ef858 FIX: limit the speed of wipetower skirt
Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I9d4cbb8e6a83fe654ceb99c27fb2ba294fbe55d1
2024-10-15 15:50:26 +08:00
qing.zhang 773e79d9f4 FIX: error toppest layer height on scarf seam
Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Iac47613c8e161059c420f04f2c34febfb630cd45
2024-10-15 15:50:26 +08:00
lane.wei 8c155da07c Revert "ENH: support spiral lift with timelapse gcode"
This reverts commit f701afb34de3487e8d3560dd1e2051a21790e6ae.

found regressions

JIRA: https://www.reddit.com/r/BambuLabA1/comments/1fkuw4v/bambu_studio_v01090750_issues_with_multi_colour/
https://www.reddit.com/r/BambuLab/comments/1fkxabt/bumping_noise_on_a1_at_color_change_since_bambu/
2024-09-20 15:48:34 +08:00
SIMPLE MARK c7cb968e6d ENH:Add filament usage stats to GCode files
1.Add accurate filament usage stats to gcode after processing gcode

github:#3090

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I8eb20c0cf1b9c70f540d4549e2d65b8c79908952
2024-09-18 21:27:27 +08:00
ziehmon ce669e421d ENH: support spiral lift with timelapse gcode
The existing implementation did only read the new Z position from the injected timelapse_gcode and flagged the position as unsafe because of this.

This change reads X, Y and Z pos from the timelapgse_gcode and will keep the position state correct to enable safety checks required for using spiral Z hop.

Because of this, spiral Z hop can be used everyhwere now. The same pattern is also applied for layer_change/toolhead gcode injection.

The set_current_position_clear method is unused but will be kept in implementation for future scenarios.
2024-09-09 19:31:19 +08:00
qing.zhang 1fa62efb66 FIX: error layer height on gui while open scarf seam
Github: 4132

Thanks orca, this fix merged from orca

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ic2361299532b3cc4667e7744f23aedd4414d8a08
2024-06-11 18:17:08 +08:00
xun.zhang 4cf4e640ce FIX: unassigned initial extruder ignored
jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I97dbfac705c890d1c2b16c2b685f31d05e82a292
(cherry picked from commit a5a2909c795c6c99ff7d6c6bbe5741491a2b63e0)
2024-06-11 18:17:08 +08:00
Momin Al-Ghosien 7b52c24d60 Removed unused method 2024-05-06 14:38:59 +08:00
Momin Al-Ghosien 59c3bc2cbe Remove accidentally added whitespace 2024-05-06 14:38:59 +08:00
Momin Al-Ghosien da29408504 Updated to fix the handling of the capacity change, and removed the code I previously added to reserve upfront since it is not really needed 2024-05-06 14:38:59 +08:00
Momin Al-Ghosien 306b09b4f5 Fix use after free bug in LinesBucketQueue::emplace_back_bucket
I found a use after free bug in LinesBucketQueue::emplace_back_bucket. This was found by enabling address sanitizer.
The LinesBucketQueue class has two related members:
std::vector<LinesBucket> line_buckets;
std::priority_queue<LinesBucket *, std::vector<LinesBucket *>, LinesBucketPtrComp> line_bucket_ptr_queue;
line_bucket_ptr_queue holds pointers into line_buckets. However, since items are inserted into line_buckets one at a time, existing pointers that were stored inside line_bucket_ptr_queue become invalid. Specifically:
void LinesBucketQueue::emplace_back_bucket(ExtrusionLayers &&els, const void *objPtr, Point offset)
{
    auto oldSize = line_buckets.capacity();
    line_buckets.emplace_back(std::move(els), objPtr, offset); <--- Causes a reallocation, making previous pointers invalid
    line_bucket_ptr_queue.push(&line_buckets.back()); <-- priority queue compares against old, now invalid pointers
    ...

The proposed fix is to calculate the required number of entries in ConflictChecker::find_inter_of_lines_in_diff_objs, and then calling line_buckets.reserve(count). This ensures that sufficient buffer is allocated up front and the pointers are stable as items are added.
2024-05-06 14:38:59 +08:00
xun.zhang 3006b163d0 FIX: always have 0th filament in ams mapping
1. Only set the filament id in map when flush length is not 0

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I6e0aeaf010f6e6dcbdc3bca5c0034aa60750bb67
2024-04-23 20:07:49 +08:00
xun.zhang cf146f4fed FIX: can't use support filament in gcode.3mf
1. Add total_filament_volumes, directly access it to get used filaments

github:#3865

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I4fae4f1947b4ebd16e394e0f3cf5fb0e9f979717
2024-04-23 20:07:49 +08:00
xun.zhang 7ee6e62ec4 FIX: unable to map if filament not used in model
1.Fix filament can not map if it's not used in model body

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ibd2685ffd198b2e17dbf44289d0144b5b7c25788
2024-04-10 20:03:44 +08:00
qing.zhang b40cf28a83 FIX: seam and unretarct pos error on smooth vase
Jira: none

casused by invalid path of smooth vase mode

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ib597e8c05760886aae2c42e42e8d46e82b844578
2024-04-10 20:03:44 +08:00
andrewboktor 449cb0b27c ENH: Full re-write of spiral vase
Github: 2744

* Practically full re-write of spiral vase
- Adds transition out to prevent sharp edge at the top of spiral vase.
- Adds XY interpolation
- Adds option to turn XY interpolation on/off

* - Increasing E to 5 decimal digits (I observed uneven flow with less than that)
- Excluding all travel moves (I saw a bug where somehow we ended up with travel moves within the print so excluding all travel moves)

* - max_xy_smoothing is now configurable, default is 200% of nozzle_diameter
- fixed no-op travel moves in the middle of spiral that now show up as defects when Smooth Spiral is enabled!

* - Avoiding namespace pollution
- Fixing dist_XY == 0 bug

---------

Co-authored-by: Andrew Boktor <aboktor@microsoft.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
Change-Id: I4e982b6192f730037ff497389454313af3905e82
2024-04-10 20:03:44 +08:00
tao wang 30ee6b0d31 ENH: remove long retraction warning
jira:NEW

Signed-off-by: tao wang <tao.wang@bambulab.com>
Change-Id: If60236b3282991a2d94df7d125427cff86899536
2024-04-08 21:16:06 +08:00
xun.zhang 3564daaef1 FIX: invalid support weight per extruder
jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I0e4b857c9c758ab7c54ef13aee1bf596f975640b
2024-04-08 19:50:03 +08:00
XunZhangBambu 74702b2c6c ENH: seperate support weight from model
jira:NEW

Signed-off-by: XunZhangBambu <xun.zhang@bambulab.com>
Change-Id: I86bb34941269bf1aa29436a94ebbdff675497e85
2024-04-08 19:50:03 +08:00
xun.zhang 5b834000f6 ENH: refine retraction before cut
1. Add filament retraction before cut control

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ifcb087c9791c0461b793ef811b21ebd4c007d880
2024-04-08 19:50:03 +08:00
xun.zhang 5e03cb3024 FIX: wrong role cache in wipe tower
1. Add wipe tower role cache in GCodeProcessor result
2. Add wiki link for prime tower

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ia766c7218df68fb1ffba567af193d6bfecacf588
2024-03-25 15:29:19 +08:00
Leon Fisher-Skipper 0cd8e00df3 NEW:reducing purge through retracting filament
1.reducing purge through retracting filament.Currently only
applicable to X&P series

github: PR#3100

Signed-off-by: XunZhangBambu <xun.zhang@bambulab.com>
Change-Id: Ie328039872e50e699dc5e5082fa99f68ac5f5fd1
2024-03-25 15:29:19 +08:00
Noisyfox ad89f63fce ENH: Merge Scarf seam method from orca
Jira:none

BBL:Merged scarf seam and
add imorovemnt to improve seam on defalue setting
--as default setting wipe before rectract get good seam on end
--clip slope at start and end
--clip more on inner wall slope start than outer wall
--slowdown slope speed to get better sea
--todo-slope path had error double dE
  reduce it could improve seam,but slope could not stick well.
--check slope path overhang and avoid it while on conditional scarf mode

Co-authored-by: qing.zhang <qing.zhang@BambuLab.com>

Change-Id: I583a1c25e534b2aa5c9d710dcf207aefbea64347
2024-03-25 15:29:19 +08:00
zhimin.zeng 8a965afb1a ENH: add customize other layers print sequence
Jira: 6338
Change-Id: Ic14b2671ade37ab37583b81c5b509447b6c0d8f8
2024-03-25 15:29:19 +08:00
xun.zhang bc36255090 ENH: optimize the get_tool_order func
Use Dp to refine performance

jira:[NEW]

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I38b0c875e4deee9d9fbe926087fb5b2e274f8f90
(cherry picked from commit 9b7b66dc7a1f5e3efa318227ae7694bec5ec1216)
2024-03-25 15:29:19 +08:00
lane.wei 9b47f26f20 FIX: fix the compiling error under macos for previous patches
/Users/ci.slave/slicer/patch_build/1/bamboo_slicer/src/libslic3r/GCode/GCodeProcessor.cpp:486:33: error: cannot pass non-trivial object of type 'std::string' (aka 'basic_string<char, char_traits<char>, allocator<char>>') to variadic function; expected type from format string was 'char *' [-Wnon-pod-varargs]
                                  get_time_dhms(machine.time));
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~

github pull request: https://github.com/bambulab/BambuStudio/pull/3360
Change-Id: If13ee145b20ef9532b23a58bb3b0a29f30d8c0a8

Change-Id: I98fd87417c432c3afae67a3d2bc29c79f8bffa3c
2024-01-19 18:17:39 +08:00
Dmytro Chystiakov f0831aebcf fix: 'print' was not declared in this scope 2024-01-17 17:08:15 +08:00
Dmytro Chystiakov 5e0e675f7d add: support gcode estimated printing time for klipper 2024-01-17 17:08:15 +08:00
Bastien Nocera f54fb4a1cf libslic3r: Fix missing includes
Fix a lot of "undeclared" errors during compilation on top of the
current GNOME 45 Flatpak SDK.
2024-01-02 17:42:37 +08:00
zhimin.zeng e8573d723a FIX: slice error: WipeTowerIntegration::append_tcr
when print by object with multi-color
Jira: XXXX

Change-Id: Ic9ee2f6de45abb4a118fdb4cf89dea9ca7335094
2023-12-14 22:08:53 +08:00
xun.zhang 9719fa81ef ENH:support interface filament not for body option
1. Add a option to prevent support interface filament being used in
support body

jira:STUDIO-4847

Change-Id: Ic6e9f663b71a7e4d9cd1bca399c0da2ce22bb5b5
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
2023-11-09 10:09:10 +08:00
xun.zhang 700c574224 ENH: add bed match result after gcode export
1. Add bed macth result after doing gcode export,according to filaments
used in first layer

jira: [NEW]

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Icf70fce0310b86fffc5276fb8fb3bf4cc14afcb0
2023-11-09 10:09:10 +08:00
qing.zhang c5f1c22c51 ENH: put wall order to object level
Jira: [new]

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Idda8b1351ac880602f5da518d1146042dcd77795
(cherry picked from commit c6a5c8233bb013f6e272fef4f6e77748549d81e4)
2023-11-09 10:09:10 +08:00
xun.zhang 5ff6496ec5 ENH: refine some tip with softening temperature
1. refine some tip
2. alert when bed temperture greq than softening temperature

jira: STUDIO-4532
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ib9623553a40825015744783f30c6e439827a49c6
2023-11-01 09:33:21 +08:00
xun.zhang 74c64229b4 FIX: wipe tower weight when insert filament change
1. fix exception when insert filament change

jira: STUDIO-4353
Change-Id: I4f5e3c5edfe2a1f62db2d4a7aefee86d3f5a260d
2023-11-01 09:33:21 +08:00
zhimin.zeng 88e27d84c2 FIX: the wipe tower generated incorrectly
when the first support interface layer is default color, and the support filament is different
Jira: XXXX

Change-Id: Ibec1eb266ca86947cb56f7bfb4546569f66b1036
2023-11-01 09:33:21 +08:00
zhimin.zeng 3013d89b6b FIX: Adjust error information storage method
Jira: XXXX
Change-Id: If6564f6425678faa2df9b08d9c7642afb7ffbe50
(cherry picked from commit 9df5c5afdbdcb22b6af41f4b953e56ca8e736989)
2023-11-01 09:33:21 +08:00
xun.zhang 6a5e3b3646 ENH: add cost info when loading GCode file
Add total cost infomation when loading Gcode file

jira:STUDIO-4353

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I930cb141e2a0b3cf328515f6543707c8bd5d620a
2023-11-01 09:33:21 +08:00
xun.zhang 81bab138b5 ENH: seperate wipe tower weight from model
jira:STUDIO-4353

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ia8a030314ab995c57a0990d08a966382f6f0eecc
2023-11-01 09:33:21 +08:00
Arthur c5db5551bf FIX: skip gcode path conflict check for adaptive layer height
adaptive layer height won't work with conflict checker because m_fake_wipe_tower's path is generated using fixed layer height.

Jira: STUDIO-4442
Change-Id: I964a69af2fa0be8224ffc11e4c86f8ccf6dbf152
(cherry picked from commit e8c915f9e0b8c8f6cb549259b20d6d850a06d7d3)
2023-11-01 09:33:21 +08:00
wintergua 5160c8c4f6 FIX: brim generation with extruder overridding in by layer slicing
in brim generation, object's first layer extruders are obtained from regions.
If the extruders are changed at certain layers in by layer slicing mode,
the extruders from layer regions are not right.

this patch fix that issue by updating the extruder overridding in
a new member "object_first_layer_wall_extruders" in "print_object" class during
constructing "Tool_ordering" class. then using the new member directly when generating brim.

besides, support contour, which should be no_brim_area, is obtained from "support_infills" instead of "lslices" of "support_layers"

JIRA-ID: https://jira.bambooolab.com/browse/STUDIO-4332

Change-Id: I271d0ea0d8c01c412d4fb9ade5296c6a6471aed6
(cherry picked from commit 9919ce9d1b9105b859273eee4fe9481c4dff6189)
2023-11-01 09:33:21 +08:00
xun.zhang 0eb9ac856b ENH: use json to store filament & nozzle info
1.Use json to store nozzle hrc
2.Use json to store filament temp type

jira: STUDIO-3488

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I8eb226e26352a41418f4e46d8cda403dc22ecff4
2023-11-01 09:33:21 +08:00
zhimin.zeng 668106cc5d ENH: support traditional timelapse for i3 structure
Jira: 3935
Change-Id: I38a270f7d9060ea1b271c69fd0d427205817e705
2023-11-01 09:33:21 +08:00