Z height after timelaps gcode is changed. Should get
the new z height and save into gcode writer.
Jira: none, bug is found by self-test
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I25516def507782600f0f270a339c88ea01a472a3
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)
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
by the multimaterial painting.
This commit is cherry pick from Prusa, the commit number is
9bce0fcf9bb479c289c396e7e23ce95841a61628
Thanks to Prusa.
Jira: XXXX
Change-Id: I29ad1fa9ab3ccc393a1e2affde1ae869d0a33afa
in previous codes, we generate brim for an object with raft, which do not need brim.
jira-ID: https://jira.bambooolab.com/browse/STUDIO-4238
Change-Id: I4b2c2c1c744c098cdcfdb03c2100b06a458e983a
(cherry picked from commit 0d06415d42c95e40f79a228f75827588171d410c)
Add cmd line option to pass layer change gcode.
This is useful for lithophane auto change colors.
Cmd: --custom-gcode custom_gcode_toolchange.json
Examples of the input json file can be found in the jira.
Jira: STUDIO-4070
Change-Id: I5beb5ff7d6d81028e95013e79f955e498cd3ba30
For i3 printers, best object position may not be the bed center,
we need to align objects to the specified best_object_pos.
Jira: STUDIO-4133
Change-Id: I06e31e597d2dd8288eb24a52d836cc8a134a4111
1. treat the critical slicing warnings as error
2. save more information into result
including the triangle counts and the non-critical warnings
JIRA: STUDIO-4217
Change-Id: I25b746d06c9a1ef2d642c67852577982a2986322
1. use extruder_clearance_max_radius instead
2. set the value of P1P/P1S to the same value of X1C
JIRA: STUDIO-4214
Change-Id: I1ae5e4203db0933854b4388b5505dbf34b40edae
1. Add align_to_y_axis option for auto-arrange.
This is useful for auto-arranging of i3 type printers.
2. Change default value of align_to_origin to true when switching
from non-i3 printers to i3 printers.
JIRA: STUDIO-2583
Change-Id: I7dabab846022a0da030a9fec060a60a4207537a0
(cherry picked from commit 9c549c18ecc1f513644e1bc4a60d6936721a13ac)
1. Enable open support_activate_air_filtration
2. Fix display exhaust fan params when support_activate_air_filtration is closed
jira:STUDIO-4230
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ieddba4bb104b6068b5afb4c109ea6b90d7c4045b
1. move the global functions to Model
2. set brim automation paremeters before process
JIRA: STUDIO-4208
Change-Id: I3f75175ec74d214ca2a6d5f3ade56d08e0ecd4f3
As title. Also add time for waiting chamber temp in printing time
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I8054080d2e8821e421a6d03222b8b25365b5977f
Updated sandwich mode code to cater for edge case where two sets of internal perimeters were causing the perimeters of another island to not be re-ordered correctly.
Github pull request: #2182
Change-Id: Ib58722db8cb76aa6b6474412c71993bb8e4dc007
Z hop will only come into effect when it is between retract_lift_above and retract_lift_below.
Signed-off-by: wenjie.guo <wenjie.guo@bambulab.com>
Change-Id: If43aea7024018eb8f532c6af5d8000973f2edee3
so that it does not decimate all triangles on very high detailed models
Relevant issue 8834 Access Error when slicing
Github: #2283
Change-Id: I047361c88c561962ef4d3cf67bc0126402c41941
In adaptive layer height, smoothing 1 time is not usable.
There'll be layer lines at the layer height change boundaries.
Change-Id: I84a8b69744db4936062d631864836f0a8cd99cf6
(cherry picked from commit ca77408f38c9a57bee4ab8ee4989024f7f105317)
As title.Use the same way to decide exhaust fan.
Removes end print exhaust fan control.
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ib848b04361dc1214eabe2819a6d120d9e0646689
(cherry picked from commit 02ef3a05141710172b1ec2cc45c1e3f9908c82a3)
Support controlling chamebr temperature and exhaust fan for air filtration
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I31627ce4f8acce99e132b0436ab7dcd0bcebf81d
(cherry picked from commit 215878864e1410085ddf9735595e1b1cb00c1e47)
allow changing the relative angle between the top surface and the ironing.
Signed-off-by: wenjie.guo <wenjie.guo@bambulab.com>
Change-Id: I85e8ff3d05d3a6d9408da011631e7d71a6d85178
fix the ironing be apply to the preview layer of bridge
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I53cb4e6ff80176953c2927c1d9dc5eecc590764c
The bottom interface layers were not right when "independent support layer height" is enabled.
This commit ensures there are always 2 bottom interface layers and the gap
is not less than specified. However, the gap may be slightly larger.
Jira: STUDIO-3842, STUDIO-2138
Github: #2127
Change-Id: Ifd8fbc4c7bc6dd92f2534fdd0179458a9e93c79a
Add a new calibration pattern method for pressure advance calibration, which can better test the influence of k value on the corner. The changes of this patch are picked from OrcaSlicer by thewildmage, thanks to thewildmage for the great work!
github issue: https://github.com/bambulab/BambuStudio/issues/2222
Change-Id: Icc8fd4d52b20c1668bfa08716b48549dfada515b
(cherry picked from commit eb72d8b681bef270906406a2d10a36d4efbce900)
Updating position to gcode writer in wipe tower
miss plate offset.
This is handling for github issue #2256
github: github issue #2256
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I915591ee919d10bb5bd2c2dcd5f1e98fd4b66503
We planed to skip uncessary filament changing when skip
object. However, this caused color mixing.
If we try to fix the color mixing issue, the flush gcode
should be generated by printer itself. This is not a short
time job.
So currently we never skip changing filament when skip
object. This will not save much time and flushing. But better
than none.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I6046cd2765cf68058712b4256402acc0be771144
Can't delete nodes with no children, otherwise the parent-child relations may be corrupted.
Jira: STUDIO-3737, MAK-1557
Change-Id: I1de39e182bac4a55a8739c00e59fdf7b9b5e4dfb
fix bug with zero width tree supports throwing exception.
This a PR from @scottmudge commited to OrcaSlicer.
More than the original commit, we also unify the usage of line_width and
support_extrusion_width, making things simpler.
Change-Id: I0b7a4344cbda4fdf05dfd9f8965f598ad6844429
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
bug: There is a part of the overhang area in the model that cannot be applied
Change-Id: Ia1045225776ccb0e8730912aae1d4c7509f40c5b
(cherry picked from commit daa3e131564690e9e169313d147fd84537b898ca)
Add filament density and filament diameter in header block
Add max z height in header block
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I128f9bde4188882baed76340e3f9d752d8a9b645
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)
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
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
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)
when the cached object is skipped
we need to reslicing it;
also do overhang detect for all objects
Change-Id: Ic842fd5a441426983a760145aeff9285e398d430
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
As title. This function need to be used in calibration
page.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ia4228cbd195d87f433b59bc14129bd4acdd9df68
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
brim bounding box is now shifted w.r.t. plate origin, need to modify the
no-brim shift the same way.
Change-Id: Iefa7287e2848aadbfc4a468bca394ecec48a1e7c
1. Don't use mcut on splitable volumes
2. If MCut fails, try again with CGAL.
Change-Id: I55d352b166633db9e4548b5c9e6913cf931f5f8f
(cherry picked from commit c1bde5358524d2291db6efa584ff072308ed9d20)
Useless for BambuPrinter. But used by third party printer
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ib6a63e78816b25696c25952508f76c3d9221e363
When there are multiple empty layers needs to be replaced, error_msg is
assigned multiple times simutaneously by tbb, which causes problem.
Jira: STUDIO-3320
Change-Id: I52a48c9fe284d15aeb8e4e9e5d1db7e0c3321ad6
(cherry picked from commit fba54c063637a1bab4d835e2e5f8558b2affa4e6)
Mark code from OrcaSlicer with same comment tag for follow easily
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: If4db502a1b0e6d0648c73f2f383b6d1cc8e1aa01
1.store each printer's calibration status to appconfig.
2.add retraction calibration
3.add choose fine calibration directly at flowrate calibration
4.add start pages for every calibration
5.add history window for pa calibration
Change-Id: I117fd46e689e0573e70e8579f5a52ba62d99f3d6
1. When the option is not set, print.full_print_config() is empty, so we
can't access opt_bool("scan_first_layer") or opt_bool("enable_support").
Should use wxGetApp().preset_bundle->full_config() instead.
Jira: STUDIO-3264
2. Allow different object having different brim_width to encode support's brim width.
In this way the arranging logic is simpler and more objects can be arranged in a plate.
Change-Id: Ic7178652147b0519d50b2eb9ceb214b4ef4c0251
(cherry picked from commit 0f163d59b40009cd29b8b1e32f730258ad0786dc)
Do not do final align for filling in bed.
Jira: STUDIO-3265
Change-Id: I2ce2ebed575ba05b1d78ec89923f8e91c4de6648
(cherry picked from commit 581aa4fd0ff1c6f64026d7b934d4bd8a79b803ae)
Thanks OrcaSlicer.
This is just function for klipper printer.
NEVER used for BBL printer.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I910abceb67f4dcb4260f74f5dd1b4fb614812670
This is fix for jira-1774, jira-2260, jira-2997.
This is also fix for github issue 1821.
Very old issue...And all caused by same reason.
Instance shift are too large for multi-plate,
which causes overflow in 2D boolean and generates
overlapped brim line.
Only apply local instance shift without plate shift.
And apply the plate offset at last step.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I23f7d1ec75c76dea1b4f5332f16ea8a3db14bddc
Should never use these two setting for bambuPrinter.
Thanks original code from OrcaSlicer.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ifda4086b71fd2ef170b044c7632d15fe2ef490fd
pa calibration for 3rd party printer and retraction calibration
Change-Id: Ifeb12807cdce366c9d265a0490b320224dfb23fe
(cherry picked from commit 732adceeef43c9c957468ab490f0e3ee20f3173b)
Enable label object when does not print with multi
filament and object number is smaller than 65
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Id670c6a5258f266076bc0a52c50ab5a28386f242
(cherry picked from commit 40248347908788ce6303ed255826011127d8eaa3)
tbb parallelization is used to improved the efficiency of for_each_volume and for_each_polygon loop
JIRA ID: STUDIO-2866
Change-Id: Id5b3a536e3162b148417cbee803bcede3b62a651
(cherry picked from commit 15a6f7ef2f575eaa4b4694ad357d881b39b82f5b)
If support_on_buildplate_only is enabled, and a node will fall into the object,
this node should not be a normal node.
Jira: STUDIO-3047
Change-Id: I65dc6d69d28729732907111c3b34b4d32edff806
(cherry picked from commit d04dc35d45c171e20899cb391d3b192fa123c10e)
This can avoid to simplify wall twice when
the only invalid step is infill.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ie5a9ccc10d5331c29c716aece08cdb195352cfe3
Optimize support top interface fill direction for bridge.
The direction is set orthogonal to the biggest bridges's infill
direction.
Currently, it only works when thick bridge is off.
Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: I7bd894ae6f5ae24bc597c609e27a16b6d45a9797
Small overhang diameter threshold is reduced,
and use bounding box size instead of area for final decision.
Github: issue 1681
Change-Id: Iabbb49dfc47345bb609214749104c808608c4d65
Previously grid infill may be cut, so the strength on one direction is too weak. Now we switch the order at neighboring layers, so the strength of both directions are good enough.
Change-Id: I0ba768eeee34ce430e43ea57d8f06c209d469d39
These two settings is necessary for some
specific user case.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I9d70679932ac90c34296393d0e8bb8aebd8ebe48
The print z was wrong previously when there is a wipe tower, or there
is an object with floating parts.
Jira: STUDIO-2719
udesk: https://bblcs.s5.udesk.cn/entry/ticket/show/2258732
Change-Id: Ifa070aeb548d692549cf88df0d405ecdf0160c80
(cherry picked from commit be3097d8044ce9e0079ebf7070b15c7aad7aff0e)
Remove all spaces and special symbols like \ / : * ? " < > | in the plate name,allow xml special symbols such as & '
Change-Id: I2b391d13be709af0e47f1573c0e225e63591fd23
(cherry picked from commit 135c97e9916c852a8625d9d9bf0a4dda051b6e2b)