Commit graph

206 commits

Author SHA1 Message Date
SoftFever
1b355be432
Merge branch 'main' into libvgcode 2026-01-06 11:09:09 +08:00
Ioannis Giannakas
2026a0cf0c
Fix defaulting to filament preview when multiple tools are available but only 1 is used (#11734)
Some checks are pending
Build all / Build Linux (push) Waiting to run
Build all / Build Non-Linux (push) Waiting to run
Build all / Unit Tests (push) Blocked by required conditions
Build all / Flatpak (push) Waiting to run
2025-12-24 14:50:48 +02:00
Rodrigo Faselli
29f4e66715
Line type by default for single extruder single material (#11397)
Some checks are pending
Build all / Build Linux (push) Waiting to run
Build all / Build Non-Linux (push) Waiting to run
Build all / Unit Tests (push) Blocked by required conditions
Build all / Flatpak (push) Waiting to run
* line type by default single extruder

* Defautl to color print if use multicolor

* Update condition for setting view type in GCodeViewer

* Refine default view type selection in GCodeViewer

Improves logic for selecting the default view type based on nozzle and filament preset counts. Now selects 'Summary' for multiple nozzles, 'ColorPrint' for single nozzle with multiple filaments, and 'FeatureType' otherwise.

* Refactor multimaterial detection in GCodeViewer

Introduced a 'multimaterial' boolean to clarify logic for detecting multiple filament presets. This improves readability and maintains consistent behavior when setting the view type based on extruder and filament count.
2025-12-18 16:55:19 +00:00
Kiss Lorand
9a30704194
GPU overdrive fix (#4) 2025-11-25 12:25:03 -05:00
Kiss Lorand
a87df7f0b5
Bugfixes (#2)
* Bugfixes

* Reduce size of diff

to avoid merge conflicts when we cherry-pick from upstream :)

* remove extraneous space

---------

Co-authored-by: Andrew Sun <as-com@users.noreply.github.com>
2025-11-18 19:50:48 -05:00
Andrew Sun
7408f333a6 Merge remote-tracking branch 'upstream/main' into libvgcode
# Conflicts:
#	src/slic3r/GUI/GLCanvas3D.cpp
2025-11-16 22:53:04 -05:00
Alexandre Folle de Menezes
8ec2454835
Standard units need translation for CIS Languages (#11376)
* Standard units need translation for CIS Languages
2025-11-17 10:29:44 +08:00
Andrew Sun
7de779a0e0 Remove unnecessary requires_extra_frame call 2025-11-15 12:00:24 -05:00
Andrew Sun
fcdd3d3b2a Don't hide some properties for non-extrusion moves 2025-11-15 11:11:25 -05:00
enricoturri1966
e0cdae0cb4 SPE-2359: Added speed and volumetric flow rate to imgui vertex properties dialog (#12840)
(cherry picked from commit 0602723695664eb77570c1ea04971f55a8779d6c)
2025-11-15 11:11:25 -05:00
Andrew Sun
7814605906 Merge remote-tracking branch 'upstream/main' into libvgcode
# Conflicts:
#	src/libslic3r/GCode/GCodeProcessor.cpp
#	src/libslic3r/GCode/GCodeProcessor.hpp
#	src/slic3r/CMakeLists.txt
#	src/slic3r/GUI/GCodeViewer.cpp
#	src/slic3r/GUI/GCodeViewer.hpp
#	src/slic3r/GUI/GLCanvas3D.cpp
#	src/slic3r/GUI/GLCanvas3D.hpp
#	src/slic3r/GUI/GUI_Preview.cpp
2025-11-15 11:11:20 -05:00
yw4z
b62187f076
Match UI of filament grouping & fixes (#11238)
* init

* update

* match radio icons

* fix background

* Show only on "summary" and "filament" tab

* delete unused icons
2025-11-08 20:44:37 +08:00
Noisyfox
9e889afb53 Fix issues with non-bbl multi-head printers 2025-10-19 22:54:48 +08:00
Noisyfox
01c02051f2
Merge branch 'main' into dev/h2d 2025-10-18 19:20:09 +08:00
Noisyfox
f12602c0bc
Fix several imgui UTF8 related issues (#11078)
Some checks are pending
Build all / Build All (push) Waiting to run
Build all / Flatpak (push) Waiting to run
* FIX:add  tooltip(const std::string &label, float wrap_width) api

jira: none
Change-Id: I2372f57177a362f540e509747552a4a27f23fe8f
(cherry picked from commit 9d690cddd60245cd3c16498e6c83183ec8446241)

* Fix crash when rendering text icons

---------

Co-authored-by: zhou.xu <zhou.xu@bambulab.com>
2025-10-18 19:17:50 +08:00
Noisyfox
6ea106f754 Update gcode legend window to match orca style, also make it more space efficient 2025-10-11 10:27:12 +08:00
Noisyfox
a9c0490c68 Update color 2025-10-05 16:02:17 +08:00
songwei.li
e8d8fb5c7a FIX: the exported Gcode file is stuck when imported on Mac
suppressed_backround_processing_update when loading gcode to prevent deadlock.

jira: STUDIO-13899
Change-Id: Iad4f20cd5249bb5133146197bb1bc32101b08bdf
(cherry picked from commit 2579cdc7adb98c1f21c3169a9fcebba60597fb43)
(cherry picked from commit 13b14414e03e3907d9d1662cdab570c754200618)
2025-10-05 00:09:09 +08:00
zhou.xu
ef5458d231 FIX:Add array out of bounds protection
jira: none
Change-Id: I038e45be00664ab35dfbc2d59ddfa6c018cd2873
(cherry picked from commit d4967c8c269d0f9b918e9049addcd7d6f6fd2656)
2025-10-03 22:27:04 +08:00
shan.chang
bd066e7f96 ENH: add new arrangement features for wrapping detection area
Jira: STUDIO-13735

Change-Id: I198d19f5e6ef70f0adfa6370269290c81d21a557
(cherry picked from commit dc83637652526111611d0833d5f5798aaa3e7be7)
2025-10-02 17:41:41 +08:00
songwei.li
03eeb2bcd9 FIX: Slicing Result Color Mapping Makes No Sense
The extreme extrusion in the H2D first layer's start code caused the color range in the preview to be too large. Add a constraint to eliminate the effect of this start extrusion.

jira: STUDIO-13830
Change-Id: Ifccbd14449d1c424f0bb3c1e3d254bddffa41a7c
(cherry picked from commit 6b935a9de0f9fe98f041f509ab6d2d72b59e957b)
2025-10-02 17:07:20 +08:00
Andrew Sun
2cb5b02708 Fix crash in filament/color print view 2025-09-24 22:49:14 -04:00
Andrew Sun
9bee05744d Fix auto-switch to color print view type 2025-09-24 22:49:14 -04:00
Andrew Sun
f8a7589354 Clean up TODOs and commented out code 2025-09-24 22:49:14 -04:00
Andrew Sun
8ed12a8023 Styling changes for position window 2025-09-24 22:49:14 -04:00
Andrew Sun
8552f2efbf Wire up new position window from PrusaSlicer 2025-09-24 22:49:14 -04:00
Andrew Sun
d539540a65 Add support for Orca-specific extrusion roles 2025-09-24 22:49:14 -04:00
Andrew Sun
9359aa8607 Fix nozzle marker position 2025-09-24 22:49:14 -04:00
Andrew Sun
f696d19181 Add seq_top_layer_only config default to fix moves slider 2025-09-24 22:49:14 -04:00
Andrew Sun
2c342875c2 Expose actual speed/actual volumetric speed view modes, misc fixes 2025-09-24 22:49:14 -04:00
Andrew Sun
c92328c9cc 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
xun.zhang
1a59af5b2c FIX: wrong desp for color scheme
jira: STUDIO-11215

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Iaf78c825cbc99a43c4614e20ea9fdc683cf11784
(cherry picked from commit aca4968ab779bbbbe148ca520bc0819bd92f0c03)
2025-09-21 13:48:04 +08:00
xun.zhang
cd9fd28c4e ENH: default turn to color scheme
github: 6299

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I4ec38a63110cab4560034948e75c2ced45ed1f5a
(cherry picked from commit 3eac767b14bc0d7652cc9fd157ee1e0d8672d38c)
2025-09-21 13:48:02 +08:00
jun.zhang
649eacd801 FIX: gcode viewer: always update top_layer_endpoints if top_layer_only is enabled
jira: STUDIO-11141

Change-Id: I1c8eb3234401ee64576212a08764170577855a8c
(cherry picked from commit 2c718bb376c4d26249f1942e9f076bf6e99d9f23)
2025-09-21 13:47:50 +08:00
xun.zhang
5880625b9c FIX: dark mode in filament group pop up
1.Also modify some tips

jira: NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I4e2abfe24afdf7f0d728a486aa248b8e5accbdf4
(cherry picked from commit 98dad923f8ee3001add10837a9b0a6c1507b47e0)
2025-09-18 14:33:04 +08:00
xun.zhang
7e98754e9b FIX: negtive value in grouping stats
jira:STUDIO-10772

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I90b88c7d96f6aeb31df36233efab5b9059ad2622
(cherry picked from commit f6a46d9b95aca66e49c89485424637b5eeae35ec)
2025-09-18 11:29:42 +08:00
Mack
61a68460bf Fix:fix filament arrange ui
jira: nojira
Change-Id: I543c212d8e28f2701f8494f031c24090d9fe7617
(cherry picked from commit dcfc5af245d1cc27dfc8e1519dd3dfcbb2864af3)
2025-09-17 15:10:47 +08:00
Mack
3dd369ad4e ENH:FilamentMapDialog add filament type
jira: nojira
Change-Id: I08a3c037ffa6227602e71b97697a1bc61e3d5050
(cherry picked from commit 6621fd0e20bce4c32788a86a6fde018f3a7f41ef)
2025-09-17 14:35:02 +08:00
xun.zhang
60df338ac5 ENH: initialize nozzle num in gcodeviewer
jira:none

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I44827eb7adb457823b3da1d6b45a6003864294b6
(cherry picked from commit 129134f6df3fbad88d3b83a901b665da5c66f5c3)
2025-09-17 12:12:56 +08:00
xun.zhang
ab42d424a9 FIX: support filament display in group result
1. Add "Sup." prefix for support filament
2. Align the filament group elems

jira:STUDIO-10263

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Idd6d11d14cd378142dff03596eea5efb47dde79f
(cherry picked from commit 038df3180a5b79cde7980b0f3cdecb4bbfffc820)
2025-09-16 22:08:07 +08:00
zhou.xu
7d3acd75ae FIX:fix crash for no valid filaments
jira: none
Change-Id: I9433da99d2ad355f088917e88350c5fd36bd1aea
(cherry picked from commit 52442fa6d58d4d9204c386ec1a2ccfedf7115151)
2025-09-16 15:55:01 +08:00
Noisyfox
2375ab860a Merge remote-tracking branch 'upstream/main' into dev/h2d
# Conflicts:
#	resources/profiles/BBL.json
#	src/slic3r/GUI/AmsMappingPopup.cpp
#	src/slic3r/GUI/MediaFilePanel.cpp
#	src/slic3r/GUI/Plater.cpp
#	src/slic3r/GUI/StatusPanel.cpp
2025-09-16 14:46:40 +08:00
xun.zhang
606d28dc26 ENH: add tip link for filament group in viewer
1.Also update wiki

jira:STUDIO-9944

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Iaa282054da40b6936dc6c741fe7ef7ca62f868f2
(cherry picked from commit caa51852afcaa207d4204b420612524cb0f7017a)
2025-09-10 16:55:08 +08:00
xun.zhang
6a2d4b878b ENH: refine logic in filament group in gcodeviewer
jira: NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Id89daec05f2d4017d326c6473bd62008dd9f0b11
(cherry picked from commit 2e26c5812a98e47a25d97e7f574e8a4d8e8f7f9e)
2025-09-10 16:29:49 +08:00
xun.zhang
c605f73d80 ENH: update translation
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I9b260cb3e21b9052c9a2d65378bd0e795f6db6f3
(cherry picked from commit 2507eba37d5f09cca51b3e9f9f281b2208e57eb1)
2025-09-10 15:02:23 +08:00
xun.zhang
f9869d4b5b 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
(cherry picked from commit 95e49986f32070756182a31843f4f37f863f07ac)
2025-09-06 23:52:55 +08:00
xun.zhang
057a1a4f5d ENH: refine ui logic with filament group
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
(cherry picked from commit f1702a5c3604f685a3b35ea0e83d29bdbbd90f70)
2025-09-06 23:52:20 +08:00
xun.zhang
05bf5c114b 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
(cherry picked from commit e45f8c6dc2146e1e31a1c21e8aaada540af112d0)
2025-09-06 23:49:11 +08:00
Mack
e0435c3e31 ENH:Optimize the gcode viewer and STEP mesh UI
jira: nojira
Change-Id: Ie8d4f1eace04b2c51d4975c67b9a4deb7d88a56f
(cherry picked from commit b9aa0397600ab0f5040ac719277c7b16b1371435)
2025-09-06 23:08:56 +08:00
yw4z
38ed01f61f
gCode Legend Fixes / Improvements (#10501)
* Update GCodeViewer.cpp

* Update GCodeViewer.cpp

* Update GCodeViewer.cpp

* Update GCodeViewer.cpp

* Update GCodeViewer.cpp

* Update GCodeViewer.cpp

* Update GCodeViewer.cpp

* Update GCodeViewer.cpp

* Update GCodeViewer.cpp

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-09-04 00:00:26 +08:00