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
Jira: none
while there is no non support filament
set first print filament to initial_no_support_extruder
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: If2fee560772c9a7cfa1855efc85116fb7df04760
1.Rely on nozzle change tag instead of T command to detect
extruder free range
2.Support enhance cooling for TPU filaments
3.Fix a negative temperature issue
4.M104 commands add params to specify that command is generated
by slicer
jira: NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I2d157e5a84da75e656d3281cf38eea8697bd897a
The length of default value for extruder printable height
should be same with extruder printable area
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I01bf5e2a9ddb2faadbbe0a01f4ff2c5582b8ac45
1.Only do reorder if requseted.In by object mode,we only need
to collect the filaments in the object for filament grouping
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Id88f2449c6d3c5d45b9ff87513308d997fa72da1
1.Always do filament group to get correct filament map
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ie4e61c310f6c0cfeacb2a49c4f065f9674b6a35f
1. generate filament_self_index for old files in cli
2. set filament_self_index to default for old files using single extruder
jira: no-jira
Change-Id: I6e3f520723ee7f3a75634121604023ba319ff97a
1. modify the start position of wall
2. modify the overlap of wall and infill
3. print wall first
jira:none
Change-Id: I1b3f4a8cb198f84b81aba638cc722dedf84a164c
1. Pre cooling extruder after the extruder used
2. Pre heating before the extruder used
3. Refine the structure of finalize function
jira: NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I98c92763c006fc9564db45a4a5d542b891ea1aa2
1. add slicing errors for gcode in unprintable area, also for filament mapping
2. use common area for auto arrange
3. support filament_map/filament_map_mode related params
4. add logic to check the filament maps before slicing
5. uptodate support multi-extruder
6. switch new machine/filament support multi-extruder
7. process config params support transfer between mult-extruder and
single-extruder
8. improve machine-limit logic support multi-extruder
9. flush-volume support multi-extruder
10. add default params to support auto mapping slicing
jira: no-jira
Change-Id: Ice39a365841322ddb586d39c56ff923626822528
* Init port of Cura's MM interlocking
* Refactor a bit
* Fix crash when bottom surface is multi-color
* Fix crash when boundary avoidance is 0
* Add config
---------
Co-authored-by: zhimin.zeng <zhimin.zeng@bambulab.com>
jira: none
Change-Id: I81cacddf46ad5921a7a2a23fff07cc17addceb6f
1. Do not consider empty filament when selecting group for ams
2. Function "collect_filaments_in_groups" is frequently called,
optimize memory allocation to speed up.
jira: NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Iad8c9a257bc2dd832c77e650f8c052fb9d8379a0
1. Machine with multi extruder should set length of extruder offset
to extruder num
2. Register retract_restart_extra
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ic3eb324cb91dc70b091c8922936d2709c361cc38
1.Caused by uninitialized filament map in mapping for AMS
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I71ce6001fc6f2e72eb9303fcaba0bac16ad70dc9
1.Only consider groups with a distance within the threshold
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I91526a796a0f7f1ed3e77c41076c1f85620dd944
1.Use max flow network to handle limit
2.Support setting master extruder id
3.Fix the issue in the KMedoids algorithm where data is overwritten
after each retry.
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Idd2bedf39f61e7a65eb4199852f60b8fbebe0a7d
1.Set the default size of ams filament to 2
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ie985ecfa44cb9fcaf21406303e32bb56e731f351
1.If the group result differs little in flush,we will choose the one
that best fits the ams filaments
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Icd147b406e3494c841ef13564ad1b1231ad798fd
1. Caused by setting the current filament to filaments used
in machine start gcode
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: If6789b1e02aadc6d03610b7b7cc4c829ae767a7d
1.Use float to store the weight copmputed in the procedure.Avoid the
issue where filament weight remains at 0 after changing filaments
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Iff0cfc6e22f34affbc232dbfe196f27ee06d2d9e
Jira: none
if the fist print filement as same as the filament be set on start gcode
not insert filment change
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I0114f287fff9be276a90772537d1910df18dec61
1. Nozzle Volume and Nozzle Type support multi extruder now
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ie171b5105bd3830db3a992cadd365b785008c47a
Should use filament id instead of extruder id
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I669092da6902158ad5f89d4814c78eabdfb2e7c7
1. auto mode dragdrop is not allowed
2. not display filament_map when there is no result in auto mode
jira:none
Change-Id: I0800e0d832e27fe459a17bb1aa829b5e72d0ee8f
1.Use min cost max flow to solve the tool order
jira:NEW
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I909845039b67c7fe3ddd42580ad3f1d71d52262d
1. also remove original nozzle_volume_type from printer
and move into project config
2. support save nozzle_volume_type into appconfig
and load from it at beginning or printer switch
jira: no-jira
Change-Id: I01fc82d142fc633fc59a238796a71b9f8d180efb