Commit Graph

374 Commits

Author SHA1 Message Date
10a39ceba9 Port libvgcode from PrusaSlicer 2.8.0
Includes (but is not limited to) the following commits:

SPE-2218 - libvgcode - Fixed color of wipe moves for speed range view
SPE-2218 - libvgcode - Fixed detection of fan speed range
SPE-2218 - libvgcode - Fixed detection of temperature range
SPE-2218 - libvgcode - Fixed colors for Actual volumetric flow rate view
SPE-2214 - Fixed detection of toolpaths bounding box in GCodeViewer
SPE-2206 - Modified LibBGCode.cmake to get latest version of libbgcode which fixed parsing of gcode lines G4
libvgcode - Fixed potential out of bound access in ViewerImpl::update_view_full_range()
Tech ENABLE_GL_CORE_PROFILE set as default
Tech ENABLE_OPENGL_ES replaced by build option SLIC3R_OPENGL_ES
libvgcode - Precompiler definition of ENABLE_OPENGL_ES moved into CMakeLists.txt
Added missing include
libvgcode - Textures setup modified to work when building using emscripten
libvgcode - small optimization
libvgcode - fixed OpenGLWrapper::unload_opengl()
libvgcode - CMakeLists.txt modified to work with emscripten
libvgcode - Replace 'glVertexAttribIPointer()' with 'glVertexAttribPointer()' in SegmentTemplate::init() for OpenGL ES
libvgcode - Replace 'xor' with '^' Bitset.hpp
libvgcode - Newer glad library for OpenGL 4.6 and OpenGL ES 3.0
libvgcode - Alternate fix in method ViewerImpl::update_heights_widths() for OpenGL ES
libvgcode - Fixes in glAssertRecentCallImpl()
libvgcode - Fixes in method ViewerImpl::update_heights_widths() for OpenGL ES
Fixed ES shaders so they work with OpenGL ES 3.0
libvgcode - Use multiple plain textures in place of texture buffers for OpenGL ES
libvgcode - Use plain textures in place of texture buffers for OpenGL ES (partial implementation using one texture per buffer)
libvgcode - refactoring of class OpenGLWrapper
libvgcode - small refactoring in shaders
libvgcode - replacement of glMapBuffer() call for OpenGL ES
Fixed warning
libvgcode - Changes into CMakeLists.txt
Fixed debug export of gcode data to be configuration indipendent
Disabled tech ENABLE_NEW_GCODE_VIEWER_DEBUG
Removed obsolete tech ENABLE_GCODE_VIEWER_DATA_CHECKING
Code cleanup and techs removal - completed
Code cleanup and techs removal - step 1
SPE-1872: Implemented G2/G3 lines discretization for gcfMarlinFirmware firmware flavour
SPE-1872: Corrections into GCodeProcessor::process_G2_G3() to match firmware code
SPE-1872: Actual speed profile - Further enhancements of imgui debug window
SPE-1872: Actual speed profile - Rework in its calculation + enhanced imgui debug window
SPE-1872: New imgui widget to show actual speed profile
SPE-1872: Fixed actual speed for seam moves and at extrusion/travel/wipe start
SPE-1872: Fixed rendering of wipe moves when actual speed view is selected
SPE-1872: Actual speed profile extended to travel and wipe moves
SPE-1872: Fixes in function recalculate_trapezoids() and method GCodeProcessor::TimeMachine::calculate_time() to smooth actual speed profile
SPE-1872: Added debug graphic to show move actual speed profile
SPE-1872: libvgcode library: replace volumetric flow rate data with mm3_per_mm to reduce memory usage
SPE-1872: Added visualization of actual volumetric flow rate
SPE-1872: Fixes in calculating actual speed
SPE-1872: Added visualization of actual speed in gcode preview
SPE-2124: Added command line option 'opengl-aa' to allow the user to turn on the automatic selection of max number of supported samples for OpenGL antialising
#12117: Reduced moire patterns by using the highest number of samples available for multisampling
New gcode visualization integration - Partially enabled imgui debug window
New gcode visualization integration - Fixed center of gravity calculation and rendering
New gcode visualization library - Interface for estimated times
New gcode visualization library - Tool marker rendering
New gcode visualization library - Axes aligned bounding boxes calculation
Removed obsolete debug code
New gcode visualization library - Added statistic of used memory
New gcode visualization library - Separation of tool colors and color changes colors to simplify client code
Added missing include
New gcode visualization library - Added print color changes detection
New gcode visualization library - Modified OpenGL ES context detection
New gcode visualization library - Another makefile cleanup
New gcode visualization library - Makefiles cleanup
New gcode visualization library - Added suppression of error 'This function or variable may be unsafe' in VS2022
New gcode visualization library - Compatibility with OpenGL ES
New gcode visualization library - Interface cleanup and documentation
New gcode visualization library - Extended interface to give access to estimated times
New gcode visualization integration - Toggling of top layer only view state
New gcode visualization integration - Removed imperial units from tool position data
Small refactoring
New gcode visualization library - Custom values for travel and wipe moves radius
New gcode visualization library - Allow customization of range colors
New gcode visualization library - Partial update of interface comments/documentation
New gcode visualization integration - Follow-up of 35ee55e29bb231fd01a2eb71ae293832a37ca65d - Better fix for toolpaths visible range when toggling options' visibility
New gcode visualization integration - Fixed toolpaths reset
New gcode visualization library - Fixed method set_option_color()
New gcode visualization library - Fixed method ViewerImpl::set_extrusion_role_color()
New gcode visualization library - Added methods to release gpu resources on demand.
New gcode visualization library - Travel and wipe moves as options
New gcode visualization integration - Fixed toolpaths visible range when toggling options' visibility
New gcode visualization integration - Fixed management of gcode preview view type
New gcode visualization - Fixed wrong include
New gcode visualization - Added missing headers
New gcode visualization - Refactoring + added missing headers
New gcode visualization - New code set as standalone library + embed glad library to load OpenGL functions
New gcode visualization - Fixed errors and warnings when building the new code as a standalone library
New gcode visualization integration - Fixed layers ordering in pre-gcode preview
New gcode visualization integration - Fixed objects' tool colors in pre-gcode preview
Code cleanup
New gcode visualization integration - Tool position properties data window
New gcode visualization integration - Fixed in export toolpaths to obj
New gcode visualization - Inlining in source code
Refactoring
New gcode visualization integration - Export toolpaths to obj
Some refactoring and warning fix
New gcode visualization integration - Customizable travel moves colors
New gcode visualization integration - Customizable options colors
New gcode visualization integration - Customizable extrusion roles colors
New gcode visualization integration - Fixed pre-gcode preview layers times
New gcode visualization integration - Modify pre-gcode preview to use the new toolpaths renderer, objects WIP
New gcode visualization - Modify pre-gcode preview to use the new toolpaths renderer, WIP (brim/skirt/wipe tower)
New gcode visualization integration - Do not reset visible range when toggling options/roles visibility
New gcode visualization - Fixed color of first vertex of top layer (when top layer only option is enabled)
New gcode visualization - Customizable travels and wipes segment radius
New gcode visualization integration - Removed tech ENABLE_GCODE_VIEWER_STATISTICS
New gcode visualization integration - Added check of OpenGL version
New gcode visualization integration - Removed GCodeProcessorResult::spiral_vase_layers
Another bunch of warnings fixes
Fixed warnings
New gcode visualization integration - Removal of old visualization
Fixed includes
New gcode visualization integration - File structure of new code separated in api + src
New gcode visualization integration - View ranges management moved to new visualizer
New gcode visualization integration - Fixed top layer only visualization for MMU printers
New gcode visualization integration - Removed dependency on imgui from new visualizer
Some refactoring
New gcode visualization integration - Removed dependency on Slic3r::GCodeProcessorResult from new visualizer
New gcode visualization integration - Moves' data conversion moved to client side
New gcode visualization: layers times refactoring
A bunch of fixes for the new gcode visualization
New gcode visualization: render in gray color layers containing pause print or custom gcode options when in Color Print view
New gcode visualization integration - Tool colors
New gcode visualization integration - Layers times
New gcode visualization integration - Travels and Extrusion roles times
Fixed detection of start/end of contiguous extrusion paths
New gcode visualization integration - Extrusion roles
New gcode visualization integration - Colors
New gcode visualization integration - Tool position
Center of gravity and tool marker may both be rendered with fixed screen size and a scaling factor
Fixed rendering of options in new gcode visualization
Tool marker NOT rendered by the new visualization code
Center of gravity marker NOT rendered by the new visualization code
Fixed toolpaths_cog shaders
Tool position window for new gcode visualization
Top layer only coloring for neww gcode visualization
Refactoring in preview's new visualization
Hidden imgui debug dialog for new visualization in preview
Synchronization of moves between old and new visualization
Fixed missing gcode window in new visualization
Rendering of debug imgui dialog moved from class libvgcode::Viewer to class libvgcode::Toolpaths + warnings fixing
Some functionality moved from class libvgcode::Viewer to class libvgcode::Toolpaths
Some refactoring and cleanup
Refatoring of PathVertex and Toolpaths::load()
SPE-1982: Tech ENABLE_NEW_GCODE_VIEWER - 1st installment of new toolpaths rendering code (WIP)
2025-09-24 22:49:14 -04:00
4031b7db11 Refactor folder (#10475)
Move many third-party components' source codes from the src folder to a new folder called deps_src. The goal is to make the code structure clearer and easier to navigate.
2025-08-22 20:02:26 +08:00
4f891cb6fa Update BBL network plugin to 2.1.1 which allows debugger again (#10320)
* Update to latest bbs network plugin, which should allow debugging

* Remove debugger detection and warnings

* Downgrade to 2.1.1 as 2.2 seems to be unstable
2025-08-05 22:57:41 +08:00
4acda7d003 Do not connect to default BBL device during app startup (#10214)
* Do not connect to default device during app startup

* Connect to last selected machine automatically even if it's lan machine
Simplify default machine connection logic

* Select last machine automatically when available

* Check for LAN connection state after updating combobox selection.
This matches the logic of `SendPrint.cpp`.

* Avoid showing same error message multiple times until next connection attempt.

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-07-26 00:18:56 +08:00
f1af2a1cc2 Merge branch 'main' into dev/bbl-network-upd 2025-06-16 14:02:04 +08:00
5f4b129ef4 Fix english strings punctuation mistakes (#8901)
* Fix punctuation of enumerations

* Add missing '?' at the end of questions on hints

* Add periods after error messages

* Add punctuation to all tooltips

* Add missing periods on the pt-BR translation
2025-06-15 16:12:03 +08:00
76fcaa52b4 Merge branch 'main' into dev/bbl-network-upd
# Conflicts:
#	src/slic3r/GUI/SelectMachine.cpp
2025-06-15 15:28:10 +08:00
de66749a11 fixes compiler warnings (#9619)
* compiler warnings: adds SYSTEM to [target_]include_directories to skip warnings originating from dependencies

* compiler warnings: uninitialized/unused variables, missing parenthesis, pragma

* compiler warnings: redundant template type, missing curly braces, pass 0 instead of NULL as int argument

* compiler warnings: removes fclose(fp) where fp==nullptr since fclose() has attribute __nonnull((1))

* compiler warnings: uninitialized variables, missing parentheses, missing curly braces

* compiler warnings: ? as lower precedence than <<

* compiler warnings: unused variable

* compiler warnings: unused result

* compiler warnings: undefined/unused variable

* compiler warnings: uninitialized variable
2025-06-14 21:05:25 +08:00
8ef18bad2d Log network msg 2025-06-02 21:20:43 +08:00
4e21d0e545 Add debugger detector for Linux 2025-06-02 16:48:58 +08:00
14063968d8 Add debugger detector for macOS 2025-06-02 16:17:11 +08:00
f9301902e0 Only download ARM version when not using legacy plugin 2025-05-19 10:51:55 +08:00
7f9280eb85 FIX: app: fix the crash issue on win-7 again
jira: no-jira
Change-Id: I96e713513270270db3abcfdd67792b0a3ac92619
(cherry picked from commit caff5d9f38cdb962ca4069f8b0b5696d140aac6d)
2025-05-19 09:58:52 +08:00
7fa58a8dbc FIX: app: fix the issue on win-7
use typedef instead of IsWow64Process2

jira: no-jira

Change-Id: I3d5c4becca1586094b6950431470b12bd71a0056
(cherry picked from commit c34e985f188c206d588ee8da7149ded2516981cf)
2025-05-19 09:58:46 +08:00
7bdff75f9b FIX: fix studio not launch issue on windows-7
jira: no-jira
Change-Id: I531e009c0547d3a5d86d48e990d930eb8fa6ba00
(cherry picked from commit 3d02f03ef4ba229ebf9e28cd99a5d871916994dd)
2025-05-19 09:58:06 +08:00
3d3f3ed331 FIX: GUI: use another api to get process type
jira: no-jira
Change-Id: I43fb1738b9b0173704c17c0d92df06f3c78fcde6
(cherry picked from commit af8926ea396480ea06222d421a2ecb704df04218)
2025-05-19 09:56:56 +08:00
1556fb0619 ENH: init: output the process architecture when init
jira: no-jira
Change-Id: Id5acb828269565945d887c6de4e32d715f83f503
(cherry picked from commit a29cb80bc7f959b5df44238a0a7f0a08948ff2a3)
2025-05-19 09:54:24 +08:00
50b7aa23ad FIX: gui: fix the crash issue on arm64 plateform
jira: no-jira
Change-Id: Ib95ffc3ceb421af345418d73af0261d3c25464a3
(cherry picked from commit 132d87b687f4b3bd016539380d7e9268d817ac40)
2025-05-18 22:47:42 +08:00
8f1c150580 ENH: GUI: rename win_arm64 to windows_arm
jira: no-jira
Change-Id: I01eeb96efb06ec779f1338d1207f7f6641c2bc58
(cherry picked from commit bbf32fd6f7ffbf543c28882ff3801108942fb399)
2025-05-18 22:47:18 +08:00
d3640901f2 ENH: GUI: add arm64 check logic for windows
jira: no-jira
Change-Id: Ic788d4ae9218b909eae5ce571d4436c39e77230a
(cherry picked from commit 323184e42c5f85c8738b03b890e5aaf3818e8858)
2025-05-18 22:46:50 +08:00
16b8b90ca5 ENH: gui: add win_arm64 support
jira: no-jira
Change-Id: I43f66be1f264434a9bb26a9dd3fff1fb5c36d57c
(cherry picked from commit 659f758e451d20d3a6c5505a2530be578dd584dd)
2025-05-18 22:46:00 +08:00
ed42c5e1f3 FIX: ams_id out of bounds crash
jira: none

Change-Id: Icfc5555e4772cd70a9f018f0c734e2edb8b7d626
(cherry picked from commit aa03f489dcc6bd737d2d12c53adfb90a01270d66)
2025-05-18 16:49:33 +08:00
afb17f1d4f ENH:show n3f/n3s version info
jira:[for n3s]

Change-Id: Ia0056dfdf7157036008cc63a37c9fd8076063a6a
(cherry picked from commit a44ff5a95a6774b4eed1238bde12d0a750c24a10)
2025-05-18 16:35:09 +08:00
67468b22a8 Update transition_tridid to support newer ams 2025-05-18 16:32:09 +08:00
bd34ae53b4 Merge branch 'main' into dev/bbl-network-upd
# Conflicts:
#	src/slic3r/GUI/SelectMachine.cpp
2025-05-17 00:22:09 +08:00
cf71e4f2c7 Fix the spacing on the original english strings (#9596)
* Remove extra spaces between words

* Remove extra spaces after punctuation

* Remove extra spaces before punctuation

* Always needs a space after punctuation

* Always needs a space before parens

* Remove trailing spaces before newline
2025-05-16 16:31:58 +08:00
6fda935050 Fix startup crash when network plugin is not enabled 2025-05-14 11:26:24 +08:00
4e7a874992 Merge branch 'main' into dev/bbl-network-upd 2025-05-05 15:21:17 +08:00
3e41354b7b Fix Xcode 16.3 build (#9422)
* Fix build with Xcode 16.3

* Simplify OpenVDB patch, from 930c3acb8e (diff-bc3061cc2fe6c64a3d67c8350330bb3a530d01037faace6da27ad9a12aa03e29)

* Fix CGAL header under clang 19
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=281880

* Fix compile error due to removal of base template for `std::char_traits` in clang 19
https://releases.llvm.org/19.1.0/projects/libcxx/docs/ReleaseNotes.html#deprecations-and-removals
2025-05-01 17:09:45 +08:00
b212ce8bb1 Add option to toggle between legacy and new network plugins 2025-05-01 16:23:56 +08:00
702755548c Support both old and new version of BBL network plugin 2025-05-01 15:54:17 +08:00
1515284df3 Add translation markers on more unstranslated strings (#9134) 2025-04-26 23:11:36 +08:00
2638904159 Finished Lithuanian translation - OrcaSlicer_LT.po (#9000)
# Description

Finished Lithuanian translation
Still some work with *.js (C:\Program
Files\OrcaSlicer\resources\web\***) files:


![image](https://github.com/user-attachments/assets/b6c47fe8-fef0-4249-93e3-bd553678dfa6)
****

Not found where can add Lithuanian language into preferences menu:

![image](https://github.com/user-attachments/assets/ea02a8e5-6464-4c59-b127-caffa9ca7d12)


<!--
> Please provide a summary of the changes made in this PR. Include
details such as:
  > * What issue does this PR address or fix?
  > * What new features or enhancements does this PR introduce?
> * Are there any breaking changes or dependencies that need to be
considered?
-->

# Screenshots/Recordings/Graphs


![image](https://github.com/user-attachments/assets/de541508-7abe-40c3-9bfc-e10dd4f725f7)

<!--
> Please attach relevant screenshots to showcase the UI changes.
> Please attach images that can help explain the changes.
-->

## Tests

Used internal Poedit tests and alredy loaded this language for my
working program interface.
<!--
> Please describe the tests that you have conducted to verify the
changes made in this PR.
-->
2025-04-10 14:02:38 +08:00
c3ee9f24ce Disable BBL server error dialog (#9060)
* Disable BBL server error dialog (SoftFever/OrcaSlicer#9045)

* Log server error
2025-04-01 22:53:57 +08:00
34549c5abd fix a bug for OTA updating feature.
Add a help script to pack OTA package
2025-03-31 23:17:02 +08:00
b8e659cb7e Use boost::nowide directly from boost (#9037)
* Use `boost::nowide` directly from boost

Cherry-picked from prusa3d/PrusaSlicer@bffa3f8578

Co-authored-by: tamasmeszaros <meszaros.q@gmail.com>

* Replaced all occurrences of boost::nowide::narrow for wxStrings with into_u8

Cherry-picked from prusa3d/PrusaSlicer@8d6497297a

Co-authored-by: tamasmeszaros <meszaros.q@gmail.com>

* Fix flatpak build
2025-03-29 20:14:10 +08:00
cc08aa0b33 backup user folder for each version (#8939)
* backup user folder for each version
2025-03-18 00:37:47 +08:00
7ad6706ef2 Use .gcode.3mf as ext for gcode 3mf files (#8928) 2025-03-16 22:17:38 +08:00
3662909382 Fix gcode viewer not working properly when opening .gcode files (#8761)
* Fix crash during project openning due to preset sync

* Don't reset gcode preview when open as gcode viewer
2025-03-08 21:26:59 +08:00
4940a722cc Avoid message box if font load failure during startup (#8610)
Move init sys font into GUI_App, after logging has been set up properly (#8603)

This avoid annoying messagebox if somehow failed to load font on windows, and write the message into log files instead
2025-03-01 13:22:05 +08:00
08c090b9ba FIX: do not break bridges in tree support
jira: STUDIO-7424
github: #4318
Change-Id: Icccf56b129c4910f3b0a49d69871b8df1375a6d9
(cherry picked from commit 99211cde5f2114fd64e2724069540577793f889a)
(cherry picked from commit 6a130a19ef2e881a7853183123163ce67d63bc37)
2025-02-08 11:34:36 +08:00
d198f610d7 Don't reset access code unless wrong password 2025-01-31 16:33:58 +08:00
a23d28787c Merge branch 'main' into dev/update-bbs-network 2025-01-28 21:57:04 +08:00
c8f190b5ce Sync with bbs 2025-01-23 13:29:27 +08:00
0af769496c NEW:clear token when account logs out
jira:[for logout]

Change-Id: Iafbdc9244419bb689a9626251064517ec5544c3d
(cherry picked from commit 6472fbdc6a7e7380538b6e2da29f802831a93157)
2025-01-23 13:05:42 +08:00
8859248407 FIX:will not display 500 error dialog when sending print
jira:[for network error]

Change-Id: Id5fbd2182d3c1948f67382d81f8bf558daffa1c6
(cherry picked from commit 5b7cc2495cdfe8889cbddc9390bf096f72e52604)
2025-01-23 11:38:22 +08:00
2260263d3c NEW:add options that are dont show again
jira:[dont show again]

Change-Id: I6a025f7eb0902a36088f712e7dd511e4c35411d2
(cherry picked from commit 3be065d5676a7b74611dedfad8c67a8661950860)
2025-01-23 11:38:22 +08:00
a78dc64729 ENH:prevent 500 error pop from popping up multiple times
jira:[for 500 err]

Change-Id: I81c74e75ebaeb3fdc18d0fb34a63205e2be06878
(cherry picked from commit 2fcc7f826482644496db25e096f11334b7e539bf)
2025-01-23 11:38:21 +08:00
3d44ca88a3 ENH:optimized the retry of requests
jira:[for network optimized]

Change-Id: Iea43f4a97c7cd568171287278a07689e954d1093
(cherry picked from commit 35d3de8abe63a0cba30948581ed26a8bc7f94162)
(cherry picked from commit 30bad38fb979f5c5a10e4b869ec2e41fa99857f8)
2025-01-23 11:38:20 +08:00
4ba5960dd4 ENH: liveview remote protocols with agora
Change-Id: Id86aa4bfa5f5e09675a6fe627668c63d20c7d1bf
Jira: none
(cherry picked from commit 46eba0048b73f1741b4b7b57f788830c08a8d7f1)
2025-01-23 10:13:24 +08:00