138 Commits

Author SHA1 Message Date
enricoturri1966
2eeca737ea Technology ENABLE_OPENGL_AUTO_AA_SAMPLES set as default 2024-05-02 13:23:26 +02:00
enricoturri1966
c2b8914ed0 Tech ENABLE_GL_CORE_PROFILE set as default 2024-03-26 14:41:57 +01:00
enricoturri1966
82001626dd 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 2024-03-26 14:27:01 +01:00
YuSanka
d0e31a0e61 CLI: If model for slicing is loaded from 3mf file, then its geometry has to be used and arrange couldn't be apply for this model.
So, check a state of "dont_arrange" parameter and set it to "true", if its value is "false".
2024-03-11 10:27:22 +01:00
YuSanka
ce910eb60a CLI: Fixed "query-printer-models".
If printer_technology options isn't used, then ALL installed printer models will be returned.
2024-03-11 10:27:22 +01:00
YuSanka
a46980ca47 Added CLI options to slice using the installed profiles
SPE-2164
2024-03-11 10:27:22 +01:00
Lukas Matena
fbe63ba1ab Improvements and refactoring of datadir handling 2024-03-11 10:27:22 +01:00
YuSanka
5bea4e7104 Follow-up 85c0d636 - Fix for get_printer_profiles_node()
Clear nodes before filling.
+ Fixed tooltips for "query-..." options
2024-03-11 10:20:29 +01:00
YuSanka
5f5147377e Move ProfilesSharingUtils to backend (to libslic3r from GUI) 2024-03-11 10:20:29 +01:00
YuSanka
02b65b2366 ProfilesSharingUtils : Implemented load_full_print_config() function to load full print config from PresetBundle. 2024-03-11 10:20:29 +01:00
YuSanka
61ceac8ea2 ProfilesSharingUtils : Improvements for requests.
* "query-printer-models" is extended to expose printer presets for each printer variant
* "query-printer-profiles" is currently commented as not-used
* "query-print-filament-profiles" is extended to expose "is_user_profile" state for each print/material profiles

+ Removed includes related to GUI.
+ Removed a code to loaded all known vendors.
2024-03-11 10:20:29 +01:00
YuSanka
4f0894aa6c SPE-2028 : Implement the command line interface for querying presets 2024-03-11 10:17:36 +01:00
Lukas Matena
a42223f963 Merge branch 'master_27x' 2024-01-26 13:07:19 +01:00
enricoturri1966
df14f7518d SPE-2092: Fixed OpenGL initialization when user specifies invalid value for command line option 'opengl-version' 2024-01-25 09:33:16 +01:00
Lukas Matena
3cab0cbecb Using Semver to check minimum required OpenGL version 2024-01-22 12:17:07 +01:00
enricoturri1966
1832c833a1 #12000: Fixes incorrect detection of supported OpenGL version (SPE-2092)
1) Force OpenGL 3.2 as minimum required. If the graphic card does not support it, automatically switch to software renderer.

2) command line option: --opengl-version=X.Y -> allows to select core profile of version X.Y.

3) command line option: --opengl-compatibility -> allows to select compatibility profile of the highest OpenGL version supported by the graphic card.

4) command line option: --opengl-debug -> enable OpenGL debug output on card supporting OpenGL 4.3 or higher (output on console).
2024-01-22 12:16:55 +01:00
Martin Šach
eff53d4dba Add option cmd option to limit the number of threads 2024-01-17 10:45:13 +01:00
Lukas Matena
b82aa37bf5 Fixed build when building without GUI 2024-01-02 16:01:14 +01:00
tamasmeszaros
bffa3f8578 Get rid of in-source boost::nowide. Use upstream instead 2023-12-18 12:10:37 +01:00
enricoturri1966
d0dc6b99b6 SPE-1954: Fixed 3MF file containing post-processing script cannot be open as 'Start new PrusaSlicer instance' 2023-10-18 16:22:19 +02:00
enricoturri1966
3f3a3dd190 SPE-1954: Inform the user when loading/importing a project or a config file containing a post-processing script 2023-10-18 16:22:19 +02:00
Vojtech Bubnik
dd88e0c5df Fixed some duplicate macro definition warnings 2023-09-11 11:11:35 +02:00
YuSanka
55d5921d53 Editing of Custom G-code: Partially automation to get a list of placeholders for custom gcodes
+ Added missed resources
2023-08-29 11:47:44 +02:00
tamasmeszaros
0b31ef6e1e Beginning of arrange gen2 2023-08-16 09:59:10 +02:00
YuSanka
1b451cdf9f CutGizmo: Big code refactoring.
All manipulations related to cut are extracted to CutUtils now
2023-08-09 13:22:11 +02:00
Vojtech Bubnik
3349644964 Reworked handling of approximate / snug bounding boxes
at Model / ModelObject / PrintObject
Fixes #9467 #9519 #9646
Also fixed variable layer height editing for case such as mentioned
in the github issues above.
Also likely fixed some of the sinking objects issues.
2023-02-28 11:27:15 +01:00
Vojtech Bubnik
8472287601 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-02-07 16:17:26 +01:00
David Kocik
ce38e57ec4 Downloader feature - Downloads from Printables.com
Custom URL Registration:
 - Windows - writes to registers.
 - Linux - desktop integration file.
 - Macos - info.plist.in creates registration and is controlled only via app config.
Registration is first made in Config Wizard. Or is triggered from Preferences. Path to downloads folder can be set.
URL link starts new instance of PS which sends data to running instance via SingleInstance structures if exists.
New progress notification is introduced with pause and stop buttons.
Downloader writes downloaded data by chunks.
Support for zip files is introduced. Zip files can be opened, downloaded or drag'n'droped in PS. Archive dialog is opened. Then if more than 1 project is selected, only geometry is loaded.
Opening of 3mf project now supports openning project in new PS instance.
2023-01-05 16:00:04 +01:00
enricoturri1966
569db9689f Removal of calls to Geometry::assemble_transform() 2022-11-24 14:58:20 +01:00
YuSanka
e689be65db Code cleaning 2022-09-27 09:10:09 +02:00
enricoturri1966
8db552ce26 Tech ENABLE_GL_CORE_PROFILE - Command line option '--opengl-core=M.m' renamed as '--opengl-version=M.m'
use case 1 - the option is not added to the command line - PrusaSlicer defaults to the highest available core profile OpenGL version

use case 2 - the option specify an OpenGL version which supports core profile - PrusaSlicer select the required OpenGL version, if available

use case 3 - the option specify an OpenGL version which does not support core profile - PrusaSlicer defaults to the highest available compatibility profile OpenGL version

use case 4 - the option contains invalid OpenGL version - PrusaSlicer defaults to the highest available core profile OpenGL version
2022-07-18 15:33:24 +02:00
enricoturri1966
e0c8ffc524 Tech ENABLE_OPENGL_DEBUG_OPTION - Let option opengl-debug be always available to avoid error unknown option at startup 2022-07-13 10:06:57 +02:00
enricoturri1966
22b634ca1d Fixed crash at startup on Mac OS 2022-07-13 08:56:00 +02:00
enricoturri1966
a6a0e3e759 Another attempt to fix crash at startup on Mac OS 2022-07-11 12:57:44 +02:00
enricoturri1966
a10495f132 Added some debug output to help finding the reason of crash at startup on Mac OS 2022-07-01 09:21:41 +02:00
enricoturri1966
38683ee221 Tech ENABLE_OPENGL_DEBUG_OPTION - Add new command line option '--opengl-debug' to allow users to force PrusaSlicer to output to console OpenGL related errors on graphics cards supporting it. 2022-06-30 09:49:29 +02:00
enricoturri1966
8d0780aabe Tech ENABLE_GL_CORE_PROFILE - Added command line option '--opengl-core=M.m' which allows the user to select a specific OpenGL version supporting core profile 2022-05-30 16:15:25 +02:00
Lukáš Hejl
bd644df2f7 Suppressed reports of memory leaks from AMD driver and D-Bus library. 2022-05-05 13:39:35 +02:00
Lukáš Hejl
7cc4b1d8b4 Suppressed reports of memory leaks from Mesa 3D software driver in WSLg. 2022-02-05 13:26:52 +01:00
tamasmeszaros
7f153a55b3 SLA archiver implemented for svg output, switchable in config.
new config is sla_archive_format as a string.
WIP


Get rid of SVG class, use manual svg creation


Revert changes in SVG.hpp and SVG.cpp
2022-02-03 16:09:57 +01:00
Lukáš Hejl
5f0fea4d58 Added option to enable UndefinedBehaviorSanitizer on Clang and GCC. 2022-01-28 14:52:22 +01:00
Lukáš Hejl
7f7af8d4a0 Suppressed reports of memory leaks from libfontconfig, libfreetype, and some GPU drivers. 2022-01-28 14:43:10 +01:00
Vojtech Bubnik
229c45c729 Linux checking for DISPLAY variable: Don't check for WAYLAND_DISPLAY,
PrusaSlicer does not use it.
2021-11-30 12:58:47 +01:00
Vojtech Bubnik
a09b4ff5c8 Linux specific: Avoid crashing with DISPLAY variable not set. 2021-11-30 12:41:35 +01:00
tamasmeszaros
ed67fb506e Fix some warnings on gcc 11 2021-10-20 15:08:43 +02:00
Vojtech Bubnik
8a2a9dba2f Eradicated admesh from TriangleMesh:
TriangleMesh newly only holds indexed_triangle_set and
TriangleMeshStats. TriangleMeshStats contains an excerpt of stl_stats.
TriangleMeshStats are updated when initializing with indexed_triangle_set.

Admesh triangle mesh fixing is newly only used when loading an STL.
AMF / 3MF / OBJ file formats are already indexed triangle sets, thus
they are no more converted to admesh stl_file format, nor fixed
through admesh repair machinery. When importing AMF / 3MF / OBJ files,
volume is calculated and if negative, all faces are flipped. Also
a bounding box and number of open edges is calculated.

Implemented its_number_of_patches(), its_num_open_edges()
Optimized its_split(), its_is_splittable() using a visitor pattern.

Reworked QHull integration into TriangleMesh:
    1) Face normals were not right.
    2) Indexed triangle set is newly emitted instead of duplicating
       vertices for each face.

Fixed cut_mesh(): Orient the triangulated faces correctly.
2021-09-20 17:12:22 +02:00
Lukas Matena
e76b54b770 Follow-up of bc81c22e (renamed the new CLI option --dont-ensure-on-bed to avoid double negatives) 2021-08-04 15:44:35 +02:00
Lukas Matena
bc81c22ea9 CLI: Ensure that objects are on bed by default, new CLI config option:
'dont-ensure-on-bed' (which allows to override). This was the original
behaviour in Slic3r and Sli3rPE, probably broken long ago when CLI
was ported from  Perl.
Also, --scale-to-fit should now work again (#5772)
2021-08-04 12:15:37 +02:00
Vojtech Bubnik
2f6f1f0e55 WIN32 specific Blacklisted libraries check:
1) Polished up wording of the error messages.
2) Made some messages in the SysInfo dialog localized.
3) Renamed LibraryCheck.cpp/hpp to BlacklistedLibraryCheck.cpp/hpp
4) CPPized the BlacklistedLibraryCheck WIN32 C code.
2021-07-30 15:52:52 +02:00
YuSanka
4257ffddde GalleryDialog: Changes the paths to the system and custom galleries 2021-07-14 17:41:37 +02:00