Commit Graph

191 Commits

Author SHA1 Message Date
jiangkai.zhao 0a20f1fe6d ENH: Change the collision calculation
of the wipe tower's outer wall to use the actual outer wall path.

jira: none
Change-Id: Ib45ecbc328c88c1abe6d9e8567f715331a3ddd37
2025-03-24 08:30:17 +08:00
qing.zhang faec4160d5 ENH: change param name
Jira: none

change filament category to filament adhesiveness category

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I267d71b2f968becf4e8f434daafdf1a70c36a823
2025-03-24 08:30:16 +08:00
Arthur f9a1ed7b24 ENH: rewrite ModelInstance::rotate with rotation matrix
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
2025-03-24 08:24:22 +08:00
qing.zhang be02e769bb ENH:instead of prime_volume by filament_prime_volume
Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I96e7d0604da8f90678feed81833e3a634752ffff
2025-03-23 20:31:05 +08:00
jiangkai.zhao 4dd4e9e12c ENH: enhance some functions of the wipe_tower
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
2025-03-23 20:31:04 +08:00
qing.zhang 78079dacd1 ENH: move extra params
Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ib5c4d203c6585b9946d8703d9f33477780afb275
2025-03-23 20:30:46 +08:00
zhimin.zeng 55772c5912 EMH: enhance for rib wall wiper tower
1. fix the slice error status
2. add rendering for wiper tower
3. modify the wipe tower start pos for rib wall wipe tower
jira: none

Change-Id: If554ca0fb30f6c7ce9641014c0ed4a7f23afd6f4
(cherry picked from commit 3ae08b458dea1d04cad33b2787d98407111b038c)
2025-03-23 20:30:29 +08:00
jiangkai.zhao 1d33d1c37d ENH:add rib wall wipe tower
jira: none

Change-Id: I9699cc74e206851284949f89230e986435b9e1b7
(cherry picked from commit eabfa6b272590698886ecec33b89207605b91993)
2025-03-23 20:30:29 +08:00
qing.zhang 9b46d437ba ENH: add filament change length for color change
Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I84ab638d6af056ede9b9524d1395eb42fa731150
2025-03-23 20:29:39 +08:00
lane.wei b1dee600df FIX: seq_print: fix the seq_print collision check issue
the collision check in y direction has bugs
jira: STUDIO-9899

Change-Id: I6fed29797dce98c9a1e7cd7610c8244148ee9cc1
2025-03-23 20:29:15 +08:00
qing.zhang b2fa093993 ENH:add auto contour and hole params for filaments
Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I4389d64e82773081cbab5601eb0d5aec5473096e
2025-03-23 20:26:21 +08:00
xun.zhang 73f92d27da ENH: some tip logic optimize
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
2025-03-23 20:21:28 +08:00
Arthur 976b5062c1 ENH: improve tree support
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)
2025-03-23 20:18:49 +08:00
zhimin.zeng 9b5bbebf31 FIX add prime_tower_skip_points parameter
jira: none
Change-Id: I696d6ca5d9bccf16b48110157cd6ec44839a05e8
2025-03-23 20:15:00 +08:00
xun.zhang f1445ff047 ENH: enhance extruder unprintable area detection
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
2025-03-23 20:14:28 +08:00
xun.zhang 95e49986f3 ENH: seperate statitics for auto for flush mode
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
2025-03-22 22:10:53 +08:00
xun.zhang e45f8c6dc2 ENH: filament map params switch to global param
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
2025-03-22 22:10:52 +08:00
qing.zhang e7b9e81e84 ENH: smoothing z direction speed
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
2025-03-22 22:09:16 +08:00
zhimin.zeng f127f95335 FIX: the brim cannot generated on left/right only printable area
jira: none
Change-Id: If1a46773cdbd66ea3ab8484dc5d58ce5bbd3ded2
2025-03-22 21:57:56 +08:00
zhimin.zeng e1e0de6efb ENH: wipe tower support filaments that do not adhere to each other
jira:none

Change-Id: Ia52340f4e8bdb34791cb2019e9763bddfbc8dc5f
2025-03-22 21:57:56 +08:00
xun.zhang 4b083d8d82 ENH: set filament retract params even if nil
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
2025-03-22 21:35:56 +08:00
zhimin.zeng 00810d685d ENH: add print_outer_first for wipe tower
and modify the min_depth_per_height
jira: none

Change-Id: I4860df661b4dd1f66677112d14e60560bc4a73be
2025-03-22 21:10:13 +08:00
xun.zhang 7b5818fe6c ENH: seperate reorder from toolorder construct
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
2025-03-22 21:10:13 +08:00
zhimin.zeng 933adbaaf0 ENH: Add extruder_printable_height
to support different printable height of multi_extruder
jira:none

Change-Id: I265c65e15fc8f598c3456556557bb6977b5de820
2025-03-22 21:09:55 +08:00
xun.zhang 242554557b FIX: filament group crash in cli mode
1.Always do filament group to get correct filament map

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ie4e61c310f6c0cfeacb2a49c4f065f9674b6a35f
2025-03-22 21:09:55 +08:00
xun.zhang a289370b19 ENH: save filament sequences in gcode result
jira: NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I79c2eb4002c72568d487df417c914ab0b8a14a67
2025-03-22 20:58:37 +08:00
xun.zhang 3cfb49a1b9 ENH: refine filament group algorithm
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
2025-03-22 20:58:12 +08:00
xun.zhang 0b95bdd9d9 ENH: do another map for ams filaments
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
2025-03-22 20:54:16 +08:00
zhimin.zeng fec7129437 FIX: modify unprintable_filament_ids should regroup
jira: none
Change-Id: Ifb8105f6e301aaed9ca4e62a37b9d3a1616e755b
2025-03-22 20:53:56 +08:00
xun.zhang f39eabfd9f ENH: add tpu check when printing by object
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I366aa8387dfc8d1c94fe836ee4898424d04737c3
2025-03-22 20:53:55 +08:00
zhimin.zeng c75c10e312 ENH: Add gcode check for multi_extruder
jira: none
Change-Id: Iebc43e608c4509eb62b280af2d401fa9e0e089ba
2025-03-22 20:53:54 +08:00
xun.zhang c53a35856d ENH: add filament cluster algorithm
1.Add new KMediods algorithm
2.Consider physical and geometric printables
3.Refine code structure

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I1412835c3c6380f9cedb44ff6914004365bba889
2025-03-22 20:53:54 +08:00
zhimin.zeng ede9f90a79 ENH: support tpu for multi_extruder
jira: none
Change-Id: I556804aadac00406e7214b86f7925170a90c55ce
2025-03-22 20:53:54 +08:00
zhimin.zeng e5d2ea3909 FIX: slice status error when print by object
jira: none
Change-Id: Iaa8453cbf79a38984cdae085418165287fee21b1
2025-03-22 20:53:18 +08:00
zhimin.zeng 9ee85bef34 FIX: enhance filament_map auto manual behavior
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
2025-03-22 20:52:55 +08:00
zhimin.zeng 8b2a94ed5f ENH: wipe tower support nozzle change
jira: none
Change-Id: I398a508cbc8d02644b60e504405392254329ef10
2025-03-22 20:52:23 +08:00
xun.zhang 2dbc5c9396 ENH: add manual grouping mode stats
1.In auto mode,display the statistics of auto mode and single
extruder
2.In manual mode,display the statistics of manual mode and auto mode
3.Support by object mode

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: If54c4db79f33d5278c0f18d01ab0518e8660f9c7
2025-03-22 20:40:26 +08:00
xun.zhang ad65cdb909 ENH: add filament saved by multi extruder
1.Add filament flush,filament change count reduced by multi
extruder

NTOE: cases when printing by object haven't been handled

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Iaaea5f8ffae2345df5a6f1dc605342d835974d48
2025-03-22 20:40:25 +08:00
xun.zhang 16cadec565 ENH: add grab length
1.During the filament change, the extruder will extrude an extra length
of grap_length for the corresponding detection, so the purge volume can
reduce this length.

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I14f55a3200c1dd48b1603e50280d0c29e1319ebe
2025-03-22 20:32:27 +08:00
zhimin.zeng da32b878b3 ENH: add extruder_ams_count behavior
1. save to appconfig and project setting
2. use it to group
jira: none

Change-Id: Id4048fc1b47f6904b2e9c0154aaa3a2b03590437
2025-03-22 20:32:27 +08:00
zhimin.zeng 67f67d7688 NEW: Add FilamentMapDialog
support drag drop to modify the filament map
jira: none

Change-Id: I0ed3180a0fa8e95e7c871bb039eb844faccd1344
2025-03-22 20:32:27 +08:00
xun.zhang f1b0805ed1 FIX: wrong flush logic
1.Fix flush calc logic
2.Rename m_extruder in GCodeWriter

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I38f023fbad983305632ca62cbfb3909759013c25
2025-03-22 20:32:25 +08:00
zhimin.zeng 326d7d28b4 FIX: fix build error
jira: none
Change-Id: I97df69b728fc3871b7c33e1fd3ba068e741d51c7
2025-03-22 20:32:25 +08:00
lane.wei 7b7ebf1b95 ENH: config: add the extruder variant apply logic in Print::Apply()
we need to keep the original values and update after pre-slice
jira: no-jira

Change-Id: I232d3c43340b4a23bc42121bd05380746e736f20
2025-03-22 20:32:25 +08:00
zhimin.zeng b42d94e1d0 ENH: support recommended filament map when print by object
1. support recommended filament map when print by object
2. placeholder_parser support function filament_change
3. extruder_id of filament_map is start from 1

Change-Id: Ide8019cd4a165a25972f22706ff685c3005aa031
2025-03-22 20:31:44 +08:00
zhimin.zeng dcd9fd5013 FIX: backend get the extruder id based on filament_map
Change-Id: Ib7679c0fc67336e462467dab9f5b4d4684d6eb19
2025-03-22 20:31:44 +08:00
zhimin.zeng 8c8c9a967b ENH: Add recommend filament maps method
Change-Id: I3945a8b9f0a57e10a1d230003f21c9877cc5f342
2025-03-22 20:31:43 +08:00
lane.wei bbc4d701bf ENH: add check logic of filament_map when Print::Apply
Change-Id: Ibab353c4b16183611d63d75bcdf5f370cb578f21
2025-03-22 20:31:43 +08:00
zhimin.zeng 6fbad9ed33 ENH: flush_volume support multi_extruder and fix bug
Change-Id: Id6b041f71ee6e55e68a6937f24ce791caac8e708
2025-03-22 20:31:42 +08:00
xun.zhang db1bbc967a FIX: export 3mf fail in creality machine
1. Add place holder support

github:#5557,#5614,#5471

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I65e1d116b7af64ab15c3338f713fc3329b3e877d
2025-01-09 19:32:26 +08:00