Commit Graph

111 Commits

Author SHA1 Message Date
lane.wei fc24aa6ead FIX: CLI: fix the slicing issue while only one object with multicolor using seq-print
JIRA: no-jira
Change-Id: Iea2d23ff8e484bf2fd58aa2f596a8e4e4292fe39
2023-11-22 08:23:38 +08:00
lane.wei 72989c8a2f ENH: CLI: skip layer height limit validate when slicing for existing models
JIRA: no jira
Change-Id: I1444a28b500ca7d08ed2606eecfa5cfaf261105e
2023-11-22 08:23:38 +08:00
lane.wei 6412bb9b4d ENH: CLI: support load_assemble_list
JIRA: STUDIO-4848
Change-Id: Ife11533740988331ea71eac86c370e625970cb8b
2023-11-22 08:23:38 +08:00
lane.wei ccdb03c873 ENH: CLI: clear custom gcodes when skip_modified_gcodes
JIRA: STUDIO-5112
Change-Id: I2e7346d2ac57519029a4e80e5492c34d3d91ed77
2023-11-09 10:09:10 +08:00
lane.wei 48644e1fb4 ENH: CLI: add some params to support more functions
1. uptodate_filaments to support update the original filaments to newest config
2. allow_rotations/avoid_extrusion_cali_region for auto-arrange
3. skip_modified_gcodes to support skip modified gcodes

JIRA: STUDIO-5112
Change-Id: I95c09af1b5462cce3bf27aea32228d6d1d1d201d
2023-11-09 10:09:10 +08:00
lane.wei 6f8f0b1b7a ENH: CLI: disable wipetower when all filaments mapped to one
JIRA: STUDIO-4899
Change-Id: I8dc8883fc5a70089d3e21dc82faf04f12532092a
(cherry picked from commit 7e21f8ef84e7d96ed2668cd8a4f67e6376e96c74)
2023-11-09 10:09:10 +08:00
Arthur 95430ee68d NEW: add some cli options to support more function
1. Option "assemble" assembles multiple input meshes into a single object.
2. Option "load_filament_ids" sets filament ids for each loaded object.
3. Option "clone_objects" add multiple copies for each loaded object

Jira: STUDIO-4848

Change-Id: I707b48767a7c978118490398da440f0fb54351fa
(cherry picked from commit 8ddb456375be1abc6a0f692096068d8eda89b0eb)
2023-11-09 10:09:10 +08:00
lane.wei abd220dadd ENH: CLI: refine some texts for slicing errors
JIRA: no jira
Change-Id: I373723290777b8097eb70bce7c26463044c9aaf9
2023-11-09 10:09:10 +08:00
lane.wei 1a8bd061d1 ENH: CLI: add logic to check the max/min layer height
JIRA: no jira
Change-Id: I71ae31b6cb3be9c732ffc1eda4e67092eb5b8666
(cherry picked from commit d5170e15613233685d4806af500df605c73b8525)
2023-11-09 10:09:10 +08:00
Stone Li e76f7ae0c9 NEW: add model_id in sliced_info.config
JIRA: STUDIO-4824

add model_id to each plate config

Change-Id: Icdc234fe3b17493016037128f1c187b14014276a
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-11-09 10:09:10 +08:00
lane.wei c6af13a612 ENH: CLI: retry pipes no matter which error found
JIRA: no jira
Change-Id: Ic49dd1a55e83485eb72b5be97ba9509261f6c133
2023-11-09 10:09:10 +08:00
lane.wei 4d1eae0046 ENH: CLI: return error when the printable size exceeds the default one
also refine some logs

JIRA: XXXX
Change-Id: Ibec090e98b8d93b1396e691ecff97ced13b1d8c8
2023-11-01 09:33:21 +08:00
lane.wei 5f5fde3651 ENH: CLI: add time estimation for non-cache slicing
JIRA: XXXX
Change-Id: Ifed2d70e8d6355087694df96e413cdbcf792d6d9
2023-11-01 09:33:21 +08:00
Arthur 590444d92f FIX: cli arrange failed in some cases
1. set different bed_shrink for seq_print and layered print
2. fix the bug that seq_print arranging may get collision with exclusion
   area.
3. remove unused functions.

Jira: STUDIO-4663

Change-Id: I8b726704cca33fe37bb3cb7c4502963a9ad8d16b
2023-11-01 09:33:21 +08:00
lane.wei caedbfd24c FIX: CLI: fix the wipe tower depth not correct issue
estimate the wipe tower depth using more logic
JIRA: MAK-XXXX

Change-Id: Ieb66ebb7e75b20e61b7c0cb8e60496287434d31b
(cherry picked from commit 6b4d9d054fa52f7ff8ffd16461f686f54cab97fb)
2023-11-01 09:33:21 +08:00
lane.wei 35b15a1aa1 ENH: CLI: refine some logs
JIRA: STUDIO-XXXX
Change-Id: Ic61f7fbffabc28a76ac186c33182b9284c1c2da1
2023-11-01 09:33:21 +08:00
lane.wei b0c9b14b0d ENH: CLI: add more logic to improve slicing
1. only report slicing error when no-check not set
2. skip duplicate when under spiral_mode with by-layer print

JIRA: STUDIO-XXX
Change-Id: I03bf7f45b4cc43dcc1fd2ffb6b53321fe3324dad
(cherry picked from commit 083684c01194787f54fb88787b76c1e16179c6de)
2023-11-01 09:33:21 +08:00
lane.wei 9de7561155 FIX: CLI: refine some logic
1. sometimes the pipe open failed,
add some retry logic;
2. return the reason when no-check=1 while validate fail;
3. return an error when duplicate object under spiral-mode when not using
   by-object print sequence

JIRA: MAK-xxxx
Change-Id: I3792d89dbbe560a8febe0f0154bccb8f573959a5
2023-11-01 09:33:21 +08:00
lane.wei ec8d681981 ENH: 3mf: improve some logic
1. skip file including /../
2. use snprintf instead of sprintf

JIRA: jira-xxxx
Change-Id: I6695dc11f9f4af4318038e6db5c219fd14e73aef
2023-11-01 09:33:21 +08:00
shuai.liu a939c6e434 ENH: auto adapt distance in arrangement
JIRA: STUDIO-4408
1. if min_obj_distance is 0, use auto mode
2. normal support, 5mm gap, tree support, 22mm gap, no support, 0.1mm
   gap

Change-Id: I906ccf267bef1f33a946572614d658fd50cfcda3
(cherry picked from commit 771efc935da625d8faa4cc5b77fedc5055f93c6c)
2023-11-01 09:33:21 +08:00
lane.wei 1340eccb87 FIX: CLI: disable wipe tower under sequent-print mode
JIRA: STUDIO-4409
Change-Id: I7a3552180a31613244afeebdfcd9bc6b4d8b13b5
2023-11-01 09:33:21 +08:00
lane.wei ae7b205e10 ENH: 3mf: refine the rels to correct link
JIRA: STUDIO-4231
Change-Id: I02ff6343124ef2ea3642e5799469249538a4b97f
2023-11-01 09:33:21 +08:00
Arthur 641a4fd1f2 ENH: add load_model_objects_and_custom_gcodes
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
2023-11-01 09:11:19 +08:00
lane.wei 2a6bb02d60 FIX: CLI: fix the thumbnail color not correct issue
JIRA: MAK-1812
Change-Id: I61832ffeea75b9423d85ccd81d5602a3e7d288b8
2023-11-01 09:11:19 +08:00
lane.wei c2f8993828 ENH: CLI: add support of rotate
JIRA: STUDIO-4183
Change-Id: I091cc3142ce867d2ac75ba27b3cb2e4e569c9681
2023-11-01 09:11:19 +08:00
lane.wei 5001a02409 FIX: CLI: fix the compiling issue under windows
JIRA: STUDIO-4217
Change-Id: Id937f921aa6d1f5cbc2300ba7395df71c3cd147a
2023-11-01 09:11:19 +08:00
lane.wei 60333adc96 ENH: CLI: optimize the logic for message
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
2023-11-01 09:11:19 +08:00
manch1n 2a79af5729 NEW: add align_to_y_axis option for auto-arrange
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)
2023-11-01 09:11:19 +08:00
lane.wei 8bf9c7a5b4 FIX: CLI: fix the wipetower wrongly generated issue
JIRA: MAK-xxx
Change-Id: I6d6af58c7106df4dacb51e98dd607ff77c058c13
(cherry picked from commit 080c6ced15bf9eb6e490fbd3616667d66ecbff86)
2023-11-01 09:11:19 +08:00
lane.wei 9755a65289 FIX: CLI: fix the brim related issues
1. move the global functions to Model
2. set brim automation paremeters before process
JIRA: STUDIO-4208

Change-Id: I3f75175ec74d214ca2a6d5f3ade56d08e0ecd4f3
2023-11-01 09:11:19 +08:00
lane.wei 7be9b591b8 ENH: CLI: add the re-arrange logic when the printer type change with different extruder_clearances
JIRA: STUDIO-4214

Change-Id: I6a8862b4da9812d38522fba2235d5e02f421878b
2023-11-01 09:11:19 +08:00
lane.wei 342b8d7338 FIX: CLI: fix some issues
1. JIRA: MAK-1727, color of thumbnail not correct
2. JIRA: MAK-1723, model upload outside issue

Change-Id: I1754d730021c9df8044248e931023899d410d8de
2023-11-01 09:11:19 +08:00
lane.wei c8651b43f1 FIX: CLI: fix a wipe tower position issue
when arrange failed and restore to original
we will compute the position of wipe tower again
we should skip this case
JIRA: STUDIO-4048

Change-Id: I19edc36dfa7ec5a9f6b5ba3a1c1e0767361b3e33
2023-11-01 09:11:19 +08:00
lane.wei b94dee2460 ENH: CLI: add a flag to allow minimum size save
JIRA: STUDIO-3752
Change-Id: I0277c34d108185d10130630a72811122f8ee9ae2
2023-11-01 09:11:19 +08:00
lane.wei 6ae7228f9e FIX: CLI: fix serveral issues of CLI
1. duplicate id issue, MAK-1702
2. shrink issue, STUDIO-4048

Change-Id: Ie952f1ecc5267a60f0ce3220c4a5ea31cf7199ff
2023-11-01 09:11:19 +08:00
lane.wei ecaa5fa2e6 FIX: CLI: add logic to allow use cached_data while printer size change
when print profile created on small printers
the cached data should also be used
JIRA: MAK-1658

Change-Id: I31e801bd3116838baaeaef44f4aa6d53d65aa058
2023-11-01 09:11:19 +08:00
Arthur e88550b206 FIX: unify cli and GUI auto-arrange
Make sure cli uses same params as GUI's auto-arrange.
Previously cli uses wrong skirt_distance.

Jira: BLPIOT-255
Change-Id: Iaccfb76acf7413ec614fff006feb770dcd6783cf
2023-11-01 09:11:19 +08:00
lane.wei 5efc5ba6ea FIX: CLI: fix serveral bugs
1. bed index not correct issue
2. pick thumbnail not correct when repetitions

Change-Id: Ie846432e29c596f95da30c7df199c252873504f3
2023-11-01 09:11:19 +08:00
lane.wei 7c905f93c3 ENH: CLI: add time record for prepare/slice/export
Change-Id: I4004a9af3823223c885f428f5a2f180f9d9074e5
2023-11-01 09:11:19 +08:00
lane.wei ddb20e0b13 ENH: CLI: add more logic to support repetitions
1. add identify_id for those clone objects
2. ensure succuss when copy multiple objects

Change-Id: I8a92f485442577ce70b1f5c46449dae1ae07b713
2023-11-01 09:11:19 +08:00
lane.wei c31ff2d43c ENH: CLI: support system preset passed to CLI
Change-Id: I933d49e677c8610c3fe90bbe7d455f94d950ae96
2023-11-01 09:11:19 +08:00
maosheng.wei d980aba29d FIX: [STUDIO-3531] Differentiation of Memory Exhaustion
Change-Id: I009b78f1f3d4339745e44208f10b91083efaf744
2023-11-01 09:11:19 +08:00
lane.wei 85e2868110 FIX: CLI: fix a compatible check issue for old printer and process
Change-Id: I74c75984d1abd0d1c52d8d4a19b6410c0041f280
2023-07-31 14:29:15 +08:00
Vojtech Bubnik 153c9517ce FIX: fix the crash issue #1944 caused by wronog thread name in some
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
2023-07-31 14:29:15 +08:00
lane.wei 0c45cac1a8 ENH: CLI: refine some logic of repetions and load configs
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
2023-07-31 14:29:15 +08:00
lane.wei 8c29a57be4 ENH: CLI: add logic of uptodate_settings
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
2023-07-31 14:29:15 +08:00
lane.wei 99bbce0f0f ENH: CLI: add the repetitions logic
support to duplicate object in a plate

Change-Id: I6bc964a2b9660adf3be7919f230524c979da9d50
2023-07-31 14:29:15 +08:00
lane.wei 387f8838f2 ENH: CLI: add logic to translate objects between different bed size
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
2023-07-31 14:29:15 +08:00
lane.wei bb4f425027 ENH: add the error codes return logic
1. write a json to the outputdir
2. including message/error code/plate id

Change-Id: If2a13a89d34982a86102162c9c968cdf60702f19
2023-07-31 14:29:15 +08:00
lane.wei 7c76cf99b9 ENH: CLI: add option repetitions for future use
Change-Id: I97bdc04b542f9725a047348450c2c677d8807427
(cherry picked from commit d5a20f689cade6cc5b28bbec70931c6d122ef6f4)
2023-07-07 17:52:43 +08:00