Commit graph

69 commits

Author SHA1 Message Date
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
lane.wei
c93f3f0a6b FIX: fix a config loading issue under CLI
wrongly use machine config as process config

Change-Id: I63a7757ca3b8f178ca424624d874f3472b694a0e
(cherry picked from commit 5fe90491d182fe92c48bd35b5c527d0be98120d8)
2023-07-07 17:52:43 +08:00
lane.wei
d385384907 ENH: skip_objects: optimize the label_id logic in ModelInstance
Change-Id: Id20fe9b084426036d6cf4f54859655579bec7197
(cherry picked from commit ebb5343eef6aea9e54d11f3d6b98cf11ff941aa5)
2023-07-07 17:52:43 +08:00
lane.wei
ef06dfc931 ENH: object_skip: use identify_id for cli when skipping object
Change-Id: Ibbe3262b4817f82b7ac824ba6d4b3efd7f0ed886
2023-07-07 17:52:43 +08:00
Arthur
0cad88309c FIX: fitst layer bbox was wrong for multiple plates
brim bounding box is now shifted w.r.t. plate origin, need to modify the
no-brim shift the same way.

Change-Id: Iefa7287e2848aadbfc4a468bca394ecec48a1e7c
2023-07-07 17:52:43 +08:00
lane.wei
b9afbd92c3 ENH: CLI: add logic to recompute flush volume matrix for mmu
Change-Id: Id9ce0cc054492762da31d2bd9dea53c73421d972
2023-07-07 17:29:08 +08:00
lane.wei
c7775ace16 ENH: skip_objects: add the skipped_objects into sliced_info
Change-Id: I2a04aa00503a04cfe3e9d680ceabdb4947142d34
(cherry picked from commit ca548d69daa0bc2970efc080fcf1537e6babb278)
2023-07-07 17:29:08 +08:00
lane.wei
5ddb47a8cd ENH: CLI: output stl files into a subdirectory
Change-Id: I3d1a3685713a498d7d66e9d5cbabf90aaa3ffe43
(cherry picked from commit bcb352f48995f7c3488bdf8d5636499fcd2b714c)
2023-07-07 17:29:08 +08:00
lane.wei
535db60e70 ENH: CLI: check the compatability when not change the settings
Change-Id: I977e98fcdd8c6a84ad68d0a1cc6f8eef5075b537
(cherry picked from commit ce17360aba5a463cdec788e7cb0897e33dfa1042)
2023-07-07 17:29:08 +08:00
lane.wei
6968eb5d82 ENH: support export multiple model objects as stl under CLI
Change-Id: Ib6cb68624d111971dc763901f3a8414673d9a546
2023-07-07 17:29:08 +08:00
maosheng.wei
f1a99020f6 FIX: Direct crash when bad_alloc
Change-Id: If8e26218efa1750a7cbdced4f4b7db19d3a14db0
2023-07-07 17:25:51 +08:00
lane.wei
84b89094b2 ENH: cli: refine the progress logic
update 1% at the very beginning

Change-Id: I85e19ad5c8ed4b8465510ffb3db4fac12c0f20b9
(cherry picked from commit 5d4ca3be8e6af2c66ecd5d51fead3e7ca5ffa7f5)
2023-07-07 17:25:51 +08:00
lane.wei
2c620aa855 ENH: debug: set the crash dump to SetUnhandledExceptionFilter
AddVectoredExceptionHandler is too heavy now

Change-Id: I354a023723d16cfa5d20c282bb6d98773dcde74f
(cherry picked from commit c213904026960ebbc6621aa5413ad944af13cb97)
2023-07-07 17:25:51 +08:00
lane.wei
33ae019a95 ENH: CLI: don't popup dialog when loading shader failed
STUDIO-2855(github issue-1703)

Change-Id: I46476e94951aa2337fee3439159e777773366c59
2023-07-07 17:25:51 +08:00
lane.wei
53dc1694a3 FIX: fix the cached id related issue after 3mf format adjust
Change-Id: Ie3da4a672d166f0cf23efc29faf02de633b3484e
(cherry picked from commit 842fe9310c0cdb18e7a491dae2c8ebc7a5753136)
2023-07-07 17:25:51 +08:00
lane.wei
b2d82e7bbb ENH: thumbnail: regenerate thumbnail for old 3mfs in cli
Change-Id: Ia420b4c6aee072eb2a542dff574260c40de47f7d
2023-04-17 15:39:02 +08:00
lane.wei
98f3aaa4bf ENH: CLI: add the gcode path check logic for cli
Change-Id: I424a93d9ca945598da861a1905da07ae14663157
2023-04-17 15:39:02 +08:00
lane.wei
90760e0d07 ENH: refine the thumbnail rendering
1. add specific shader for thumbnail
2. do not render the negative-z part
3. fix the sinking related issue under cli

Change-Id: Ia59083437544c1c0bd924c811274ccbb137e9eb7
2023-04-17 15:39:02 +08:00
lane.wei
4e5ed34fde ENH: CLI: set the default pipe to null to remove warning
Change-Id: I9e2cbb3bba02892a6a97a6a3e0bd9b0f729d202a
(cherry picked from commit 1b94c924919c60231e9a87717d0b51204e37dcbc)
2023-04-17 15:39:02 +08:00
lane.wei
b30644c84d ENH: CLI: add the cache logic of brim data
1. cache the first layer group cache data for brim
2. fix some crash under debug mode when app exits

Change-Id: I81d716564af414353e9dfeed42e5f4eef08b2d6f
(cherry picked from commit a6ecdaed6f63f1c5c41fd343f72165fe27fda9d3)
2023-04-17 15:39:02 +08:00
lane.wei
cf6077fe7d FIX: CLI: fix the no-check not work issue
1. no-check not work
2. refine the progress updating logic

Change-Id: I8acf18d8ab8958310fa3375de50cc9692b3408c1
2023-04-17 15:39:02 +08:00
lane.wei
e2f96590cf ENH: CLI: add normative_check logic
Change-Id: I7a02fefb2a161b27a35ad73102d8c57dbffa7c6b
(cherry picked from commit 3de468b341e95336611ff527453160131ec04b65)
2023-04-17 15:39:02 +08:00
salt.wei
e2d6ed99d1 ENH: add post_process back
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I05fc655080f3888255297d689552de84a81ed849
2023-04-17 15:39:02 +08:00
miaoxin
d43c7d5c92 NEW: add gcode conflict checker
1. add gcode conflict checker
2. add a new command line option: --no_check. When it's provided, gcode
   conflict check is skipped.

Change-Id: I6feafca8c5fa6c3c5eae1f0e541ce59d2f03dedf
(cherry picked from commit 5a39afb64e826a960d9673dcada89d02d62b3911)
2023-04-17 15:39:02 +08:00
lane.wei
c65a5f8bf5 ENH: thumbnail: add top_view thumbnails and picking thumbnails
1. add top view thumbnail for each plate
2. add picking thumbnails for each plate
3. save model object id for picking

Change-Id: I1d7f6ade22726ff12c282cb12e4a78e6b444a070
2023-04-17 15:39:02 +08:00
lane.wei
4651927869 FIX: CLI: fix the filament_type not correct issue for support-w
1. filament_type not correct in slicedinfo
2. missing serveral information in bbox

Change-Id: I0393ebc887591548a5a1d883661b28876b9ede6e
2023-04-17 15:39:02 +08:00
lane.wei
23db223364 ENH: CLI: adjust the thumbnail size to 512
Change-Id: I79c8d584b23e7d4d9c27ce1859b322d9fddebc90
2023-04-17 15:39:02 +08:00
lane.wei
088f2a4ace ENH: cli: add pre-check logic when slicing all
Change-Id: Ib13a5dd11175c0835b7a1362317941aa6a04474b
(cherry picked from commit a6f7ad231e5694ce12f9fd34518425f31c3bb5bd)
2023-04-17 15:39:02 +08:00
lane.wei
662453f419 ENH: add the time limit and triangle limit for cli slicing
Change-Id: I80d6e58dca6648427dbe4cfbc01eabdedfa79f52
2023-04-17 15:39:02 +08:00
lane.wei
6fab32c98b ENH: backup: add logic to cleanup directory under cli
Change-Id: I7a846e362f45d1c7e34bef59be3b2c312799d0d2
2023-04-17 15:39:02 +08:00
lane.wei
e20adc16dc FIX: fix the bed shape not correct issue when loading old 3mf
Change-Id: I924c47ea4a1f21b5e9854abdcedfe8b689ddcb67
2023-02-28 18:44:28 +08:00
lane.wei
5806263731 FIX: cli: fix a crash caused by log
Change-Id: I3dad5a47241ff57818e68fda58d7f70f497bf5e1
2023-02-24 17:44:15 +08:00
tao.jin
e422797292 ENH: create new page on click of privacy policy
Change-Id: I20026514c1e880986f24716c9f473507f608cd67
2023-02-22 20:09:17 +08:00
lane.wei
f3af4558ce ENH: translate old models to correct position
Correct the position of some old models

Change-Id: I5105dacff5d6b2895507fb57d77197334a651b47
2023-02-22 20:09:17 +08:00
lane.wei
9dceb42ba3 ENH: validate the config from 3mf and give some hints when there are errors
Change-Id: Ic25e5426e4e85a35a6a2413109f47b653955ec78
2023-02-22 20:09:17 +08:00
lane.wei
84eebfc729 ENH: refine log level for cli
Change-Id: I781319ae85bff77f58931689f589b53e0e778389
2023-02-22 20:09:17 +08:00
Joshua Wise
43a7f88c6c Add support for Bambu Lab X1 series live video stream on Linux.
wxWidgets on Linux uses GStreamer as its back-end for wxMediaCtrl, which
doesn't have a bambu: URI handler.  On Windows, this is handled by a Windows
Media subsystem plugin, and on Mac, this is handled with a BambuPlayer
class.  Luckily, the libBambuSource.so binary that is distributed with the
network plugin package already contains support for receiving h.264 data
from the network, and the API is the same as is used by the tiny
bambusource.exe binary on Windows; we glue this into a GStreamer source
plugin that registers a URI handler for bambu:.

To make this work, we make a few additional changes elsewhere.  GStreamer
seems to have trouble rendering an Xv overlay onto a 32bpp X visual, but
Bambu Slicer seems to request a 32bpp visual for some background
transparency in the Notebook; it doesn't seem to use it in an interesting
way on Linux, though, so we remove that request for transparency to allow
Bambu Studio to render to a 24bpp visual.  The media controller
infrastructure also makes a few assumptions about when sizing information
can be queried from a wxMediaCtrl backend that do not hold true on Linux; we
either fix those assumptions, or fake them out, as needed.  We also make a
few changes needed to successfully compile C.

This has only been tested with the GStreamer backend for wxWidgets --
notably, not the GStreamer-play backend (these are, astonishingly, two
different things!).  If you find that this seems not to work, consider
*un*installing the libgstreamer-plugins-bad1.0-dev package and then
rebuilding wxWidgets.
2023-01-12 14:56:04 +08:00
lane.wei
57a57fc429 FIX: bed_type: fix the bed_type issue when already set in plate
Change-Id: Ieb9c432051aeaf1dbb94c75f95974ff41c0713a0
(cherry picked from commit 73de2ea2cfcfa6b09373f4faa2d84f0b6e2f4ffc)
2023-01-10 19:08:26 +08:00
lane.wei
8183b7d333 ENH: debug: when not release to public, use vectored exception handler
Change-Id: I2f80f07e035d6a6652574470ac13631baba7cf7d
2023-01-10 19:08:26 +08:00
lane.wei
8375c73ac9 ENH: CLI: some refines on compatible logic
1. export compatible related values to 3mf
2. process compatible related values when loading

Change-Id: Ib7ed3d165cda5d62e0074652d474567494141631
(cherry picked from commit 989fe6439d573457fa78afc5376d04d3120dbbfd)
2022-12-15 04:38:15 -05:00
lane.wei
c3abc64b61 ENH: slicing: add cache data load/export for slicing
Change-Id: I88b7c79b6f79ec6bed0f829316b67310cac99b44
(cherry picked from commit 67c1d2e8dd459cc4450ce580632f01e25db038ac)
2022-12-15 04:38:15 -05:00
lane.wei
776137aaaf ENH: CLI: support filament mapping
support null filament when mapping

Change-Id: I9384fc5a8e78aa8467eef1610d49b92d87512720
2022-12-15 04:38:15 -05:00
lane.wei
08494b5f6f ENH: 3mf_importer: optimize the load speed of 3mf
1. parallel load object files
2. only load object used by some plate(cli)
3. improve the loading speed when generate objects by using reference

Change-Id: I2719651e715f2e35326e760c4b7cdb3114f54992
2022-12-15 04:33:48 -05:00