and fix the nozzlechange's error cleanbox.
and fix some error in interface's nozzlechangle and toolchange.
jira: none
Change-Id: I2fd5c68d90506fcb8f01f09a8246dfb5838baef4
when switch printer, we found some filament preset not visible
and we need to allow it to be selected
jira: STUDIO-9979
Change-Id: I9613747a755f449c2f48563082b6893e426f37ea
1. Try to merge filaments before grouping
2. Set max match num for machine filamnet in match mode
jira:STUDIO-10392
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I2451d838e07ee02f493fda4dc702f3d13b2ad37b
and set the contact surfaces of different material types as solid,
and reduce the nozzlechange speed if it occurs at the contact surface,
and recuce the toolchange speed if it occurs at the contact surface.
jira: none
Change-Id: I884d60f4114544dfa959bd654ecc985f5fb9aac4
Use clipper2 and remove colinear points.
Later on we can try to set lightning infill as the default infill pattern of tree support.
jira: none
Change-Id: Id545b15d778071cec6e56d212ab68db1ab90ad2a
Thanks to Prusa!
jira: none
original commit message:
ceb13b1faa33ac096fe7ffd89aa222abca119e02
SPE-2405: Add Zig Zag infill that is rectilinear infill but with a consistent pattern between layers.
This Zig Zag infill is inspired by the Zig Zag infill in Cura.
Change-Id: I798affa99f4b5c3bd67f47643e67530fb7c3e0cb
(cherry picked from commit 2808d04d5deef6f99f9618648e46f11de03efc98)
In the original logic, the gcodeEditor did not parse gcode lines with
leading spaces. In recent changes, all leading spaces in gcode lines
were removed, causing all gcode to be parsed. However, some certain cmd
perform additional actions, leading to incorrect state recording. As a
result, based on the erroneous state, some gcode lines that should not
be deleted are being removed.
This logic needs to be optimized in the future.
jira:10357,10367
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: If34b9c3b2913768b824030685e0a36708ca3a5ca
1. fill bed crash (jira: STUDIO-10350)
2. reset arranging settings gives wrong sequential printing order (jira: STUDIO-10346)
3. do not show "arranging done" message when there is no model
Change-Id: Ic1c7eac75e3917b9f1d87ab6acc403f78e0c9f7c
1. the nozzle change gcode use double perimeter width
2. fix the error layer height for adaptive layer height
3. limit the nozzle change speed to 50 when a bridge is detected
4. fix the error extrusion flow for filament change gcode when a bridge is detected
jira: STUDIO-10269
Change-Id: I580c618555fe19d000a56e2510a42004722c1b8b
1. Add filament_is_support field. Format the filament type
2. Optimize machine filament info logic
jira:STUDIO-10326
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ia8bfc37095339e73c98209b4e3f1e0804e511e88
1. change type of transition layers below interface to erSupportTransition,
2. fix the number of transition layer above tree branches,
3. change the default setting of support_interface_pattern to smipRectilinearInterlaced,
4. change the default support_style to HybridTree when interface is soluble
5. FIX: conflict between xy_expansion && split_hole
jira: STUDIO-10239, STUDIO-10314, STUDIO-10319
Change-Id: I3eb392ccd005acedb001aa862d5bf3eb104c5293
Clipper2 has added a lot of features in the past 2 years, including "offset to polytree" which is very useful for expolygons.
jira: none
Change-Id: I6f51e243656312d8c7693e1c9f5c52cf2f0034d1
1. The line id in filament block and exturder block
is assigned during first gcode process. So we should
add offset caused by gcode processor to line id
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I6a24b052fdf0daa3506c5f0982b521e85107f193
and fix wipe error when enable timelapse and in single color
and set rib wall as default
jira: none
Change-Id: Ic365bb7ee0ee6715c9d4f4f00b4bca9fd472c61a
1. Filter small sparse infil after doing vertical shell detect.To make
sure the params always work, the logic should also be added after doing
internal bridge detect
jira:STUDIO-9872
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I9d48303e156125dfab17ef95b73294013ab9fabd
2. use most used extruder for timelapse without wipe tower
3. apply retract_when_changing_layer for multi_extruder
jira: none
Change-Id: I4ff00573fd8a6ee9fa42877e3e7056d547e4d864
1. some testing code results the strange behavior,
just remove them
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I8339473f7f3796d81fe6f1aebcfcff98b3b9f5d8
for X and P machine
2. remove lift and retract in filament_change_gcode and layer_change_gcode
jira: none
Change-Id: I3da2d3ac7f0100d1963dcbb1228323666a060534
1. Rotation operation should always work on rotation matrix. Euler angles are not reliable.
2. Remove the ambiguous set_rotation on single euler angle.
3. Fix the bug that the rotation of the mirrored object is not correct.
jira: STUDIO-8752
Change-Id: I25d661b732a872b8378af87c0ba52d75afd75c1f
1. support traditional timelapse for H2D when printing by object
2. insert timelapse gcode when close wipe tower
3. remove hard gcode before filament gcode
jira: none
Change-Id: Ib56c21b1f07832f2cbc8ba5ab7f2e8653b3105bf
(cherry picked from commit 7613474cefd210685d16a5585608c0c7cb7efa95)
1.Immediate do lift in eager_lift function
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I931d22e901e2123bb886c31d8d1a5788fddeed42
1. only expand 2mm for BigFlat/ThinPlate overhangs, unnecessary for tree node overhangs without big areas.
2. avoid the situation that some overhangs are extended to fall on models when smoothing.
jira: STUDIO-10177
Change-Id: Icec0bb59627bb85332ad1435cbe29a07f57f922e
only rotate the object if its long axis is significanly larger than its short axis (more than 10%)
jira: none
Change-Id: I63fede8a55f8dc82f4388e630d58b2e62f7922b2
1.Add a Trietree to match command instead of the switch sentence.
2.Support VM104 and VM109
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I5f6b3d1bf87baebc0a20c2589a5138538469dfec
Only update the last group id if there really has filaments
jira:STUDIO-10108
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I646f54c0bc4817f0b64364edc52b7263d2833c3c
1.Add automatic calculation of the wipe_tower's brim width by height;
2.modify the min_depth_per_height and the default ridwidth
jira: none
Change-Id: Idd96bc90e8e631aa8481b559e1e9fec24c6b822f
must be double walls between a double wall and another double wall, or it's easy to break with low strength filament
Change-Id: I2bb3a3b77e7ea964d2e94aaf7407449b86df84b2
1.Automatically transfer setting by default
2.Fix some translation
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I72fe2a34bd22eb06435925617e2951bf1591d2c1
The old speed 50mm/s is too high and cause some print quality problems.
Also change the display of overhang speeds to better adhere to the code.
jira: STUDIO-9641
Change-Id: I6efa981db5bf88a9cf5bb70abb443cdfa1783025
1.Add filament type into consideration when selecting best map for
ams in filament saving mode
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I7d4a4ff66da479ab560eaeea614e5bbf0f930d3f
1. Only check printablily if have explicit filament map
2. Refine some sentences
jira:STUDIO-9753,STUDIO-9727
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I2fc3aa2276dc6f514c50ac2fcaf9509f41e778f3
when obj is small, it uses the full build volume to compute the empty cell
we need to use the shared one
jira: STUDIO-9583
Change-Id: I4cc183df38e054a7b94579637a49168c2fb77992
(cherry picked from commit fea423cdad4ee1a24c077cfeed99962e89953d5b)
ENH: [tree support] use 2 walls if necessary
Add impact_strength_z for filaments. Use 2 walls more for weaker filaments.
jira: none
Change-Id: I0c7cfcff31f1026d57630283775e7aeb6c311146
ENH: [tree support] ease removal of large area supports
Use xy_expansion to expand overhangs for better removal of large area supports
jira: none
Change-Id: Ief59a811204478e0e0a63ae10a9d63f24512fcfb
ENH: [tree support]shrink polygon support
jira: none
Change-Id: I621aa30191d235329156015ef98d260c5b1d9ca8
FIX: fix organic tree, remove ePolygon support more easily
1. add protection to organic tree when xy_distance is set to 0.
2. add detailed classification of nodes(BigFlat && Thinplate && SharpTail && Cantilever && Normal)
3. modify the corresponding generation logic when drawing ePolygon node circles
Change-Id: I5c52522b9adad832c9542a400ebf4e1e27a61754
FIX: dont set overhang with large areas to 'SharpTail'
Change-Id: Ib118abc54edcb0024be5b0d5d6a51b4bd7b5cb47
FIX: merge support interfaces into a continuous large one
jira: STUDIO-8611
github: #5132
Change-Id: I12ee4a9f88a78304a98f354bfaa92e2a05f19ec2
ENH: dont expand sharp tails
Also add interface below sharp tails when using soluble supports.
Change-Id: Ibf3af1fe466dd7f02f00357c49ad639249efab16
FIX:split holes to help remove
when one overhang area contains holes, split it into 4 pieces with one hole's center. when choosing this center hole, consider if it's collided in lower layers, then choose the bigger hole.
new: add xy_expansion to gap_width to balance the offset later in draw_circles
Change-Id: Ib2452a5f5afdc56e219e69caf8c373d9d9ce8cbf
FIX: sync printer preset when sync extruder info
jira: none
Change-Id: I0b856d38f75816036e428844aabe6fb4c58471f2
FIX: wall count=1 not working
Change-Id: Ib9c174b49f217cc76b42c6ecdb8acdec4f7051b7
ENH: merge circle nodes into polygon overhangs nearby
AND set the number of support_roof_layers below interface to 2, which developing the interface quality.
Change-Id: I3675d37a12321317672a096dc63a9e51e2b1e984
FIX: smooth, floor embedding, delete useless codes
Change-Id: I3a5e2634e35e2ed1c310e89fd22b1d75d9cde682
FIX: remove include "Brim.cpp"
Change-Id: Id99ff4495f6d0f78d8a865d14d997a5cd9aa0791
FIX: fix sharptail detection in organic tree
Change-Id: Ic1b9a0ebf595c814f7d58356270b2a740980c3b4
(cherry picked from commit f9bbc160ae44f3126ae10c4b964fa730d7deb03f)
1.Add sync command. Now gcode and dirrectly add time sync command
2.Add support for ceil and floor in placeholder
3.Update change filament gcode for H2D
jira: NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I6dd97cbd96bae1c2751c08357ff64947876d7471
1. the error start position after filament change
2. the error wall depth print with tpu
jira: none
Change-Id: I26d4e1c5c5c3bcae14555f9a875485435cdd6b97
1. Always change the map and mode in plate if plate mode is not default
2. Always add pop up before slice
3. Fix the mapping issue in gcode viewer
jira: studio-9523,studio-9519,studio-9513,studio-9479
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I0d7d5daf081951ea2d49e06565762ac24064e77c
1.Outer wall contour strategy can cause bead with different idx to
link. Temperoraily revert it to avoid the issue
2.Only seperate wall generation if needed
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: If53fcd4fe6bd81bb9621b8e1917e299abc83f41b
1. Add OuterWallContourStrategy class to generate outer wall contour paths.
2. Fix top one wall issue in arachne
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I44574df765cdd0d0d3fc4f6c3f7b846dfb4fa21f
1. Detect unprintable area for extruder when slicing
2. Always do filament map again if object pos changed
jira:STUDIO-9473
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ic01b8be8e3b08ba6b34efb2d3c451c9e985a03e8
1. Add protection for building machine filaments.Sometimes we don't
know the info about maahcine filament
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I3198d3a1a8825aa50aa49734f60a32620fc4f890
1.fix crash when deleting filaments after sync ams or inital start up
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I00c96fcebf7e0fbc127414eae44f184e3caf4dd9
(cherry picked from commit 6fb0ef6e68ed673d04c1c2311835e9988b1c70d3)
1.When there are identical materials, try to make the quantity of
materials for each nozzle as similar as possible after grouping.
2.Fix an encoding error
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Iad77d7a995b9c25d004026f409c7e2ecbb8269db
(cherry picked from commit 13d7cd06252678b6b084d17438e99ff808a4191d)
1.Should use idx in used filaments in filament group algorithm
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I5acc849827d84db090e61a45e80a3df2866b2724
(cherry picked from commit 84c55c10edfda91df16843f317ebc7912205b202)
1.Caused by process_arachne.When generating walls in the Arachne mode,
first generate 1 wall, then generate n-1 walls. It is different from
directly generating n walls
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ifda35a5073531b3a273b9ad416417ca96325ca14
1.Compare stats of AutoForFlush with other filament map modes
2.Refine the function signature of filament group
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Iec2aff069d8c44343df8b82f045c61354c7d1c2a
1. Add filament group pop up when slice
2. Add more filament modes in filament dialog
3. Add capsule button
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I8bc3a2e08696e406b89e550a0335a1a36728ee65
1.Add more filament map modes
2.Filament map and mode are set as project config
3.Plate filament map is only valid when plate filament mode is
manual
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I33b2f853e0b77b9d605be1f2f1172b44df43da15
1.Should get value by filament id instead of extruder id
2.Fix many other issues caused by incorrect usage
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I3278d7de0f8976a97c9e5ccef80bba4a58553f5a
(cherry picked from commit 30c51dd1171fc16ba778308745fab2eb246aedd0)
Jira: none
get z direction continuous info
smoothing speed based on the max speed of the loop
rewite the pipeline
set perset param to enable z smoothing function
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ib0e6a6a353c92a441a0c99a8d3d7902f7aeae6df
Unnecessary warning messages are called when slicing reliefs, because some small overhangs with only one gap layer are set as SHARPTAIL.
jira: none
Change-Id: I9abcebbcfa41d75e32f86efa64ac3bb8848247d7
jira: STUDIO-9131
reason: sometimes the popup window causes Print::Apply using invalid configs
Change-Id: I1764050f7177a65625f4668b2e1f86c80a4d4e5a
(cherry picked from commit 5a32ce3599883b9976e32ef2c864967efd52fbc2)
1.Always set filament retract params to filament_num size.In
gcode export module, we can always use filament idx to get
retract params
2. add logic in update_filament_maps_to_config to update the
retraction related params which can be overiden by filament
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ia45dd1401aa3565d062d5da1c9f4a2ba8966f693
1. Set shared retract length size to 2. Filaments in one extruder
shares the param
2. Move toolchange function before unretract function in append_tcr
to get the correct logic
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I215a542ce36107071fad39f1f9e30234fb19a3a0