Commit Graph

65 Commits

Author SHA1 Message Date
125a71f7ae Localization: Updated CZ, DE, ES, FR, IT and PL dictionaries.
+ Fixed some of phrases and updated POT-file
2021-12-01 13:07:25 +01:00
537df6b503 New BuildVolume class was created, which detects build volume type (rectangular,
circular, convex, concave) and performs efficient collision detection agains these build
volumes. As of now, collision detection is performed against a convex
hull of a concave build volume for efficency.

GCodeProcessor::Result renamed out of GCodeProcessor to GCodeProcessorResult,
so it could be forward declared.

Plater newly exports BuildVolume, not Bed3D. Bed3D is a rendering class,
while BuildVolume is a purely geometric class.

Reduced usage of global wxGetApp, the Bed3D is passed as a parameter
to View3D/Preview/GLCanvas.

Convex hull code was extracted from Geometry.cpp/hpp to Geometry/ConvexHulll.cpp,hpp.
New test inside_convex_polygon().
New efficent point inside polygon test: Decompose convex hull
to bottom / top parts and use the decomposition to detect point inside
a convex polygon in O(log n). decompose_convex_polygon_top_bottom(),
inside_convex_polygon().

New Circle constructing functions: circle_ransac() and circle_taubin_newton().

New polygon_is_convex() test with unit tests.
2021-11-16 10:15:51 +01:00
d4242c3a32 Fix hanging status indication if a UI job gets started over another.. 2021-11-11 17:07:35 +01:00
6e81ec86c8 Fix some mesh errors in sl1 archive reconstruction 2021-11-05 15:43:40 +01:00
2aff8076a6 Do not reset sl1 import dialog settings between imports 2021-11-05 15:31:27 +01:00
06d4d24054 Slightly reworded error messages for
Cannot import .sl1 files into PrusaSlicer
2021-10-01 15:07:09 +02:00
bcf4e3781c Switch to current SLA profile if an imported archive doesn't contain it.
Send a warning notification if this happens. Also,if  there is no current SLA profile initialized, an error message will tell the user to switch to an SLA profile before importing.

fixes #6915
2021-09-27 10:00:21 +02:00
d6640faed0 Add dedicated subclass NotificationProgressIndicator
to replace ProgressStatusBar and revert changes from b9dab754, keep UI jobs untouched
2021-09-21 12:34:40 +02:00
817c151550 Removes bottom status bar.
StatusBar class calls are commented out and replaced with notifications.
SlicicingProgress notification shows progress of slicing, ProgressIndicator notification handles other progress information, like arrange objects etc.
2021-09-10 14:35:13 +02:00
d0b3e6d1ed Fix UI glitches when "fill bed" fails to add any additional instances 2021-08-25 13:01:08 +02:00
04b2cb1a3a Change UI job's process() method to be protected, as it should have been
Also add some comments to the interface of Job class
2021-08-20 13:43:52 +02:00
cfe33cfc37 Remove code duplication, clarify naming of orientation searches 2021-08-18 16:48:51 +02:00
0f0fc43bb3 Add min z height orientation search 2021-08-18 16:48:51 +02:00
d0bf4aaca1 Add better defined names for orientation optimizer goals 2021-08-17 15:35:52 +02:00
b5f7fd8793 Extend tooltip texts 2021-08-16 16:42:56 +02:00
faeef15a4d Add tooltips for combo items in rotation optimization dialog 2021-08-16 16:03:20 +02:00
7053d6ab91 Fixes after merging 2.3.2/2.3.3 changes from stable to master. 2021-08-13 14:53:13 +02:00
e455b5817e Ammended the previous commit (SL1 / SL1S in file picker) 2021-08-13 13:40:25 +02:00
498db5cb01 Support for SL1S printer:
Where SL1 is mentioned, mention it as SL1 / SL1S.
Support loading / saving of SL1S files in addition to SL1.
2021-08-13 13:40:13 +02:00
8eea7d4724 Move show_substitutions_info() call into UI thread 2021-08-13 13:39:33 +02:00
dad7e8cf9b Substitutions : Implemented InfoDialog 2021-08-13 13:30:50 +02:00
1f82670fb3 Add notification if some objects are ignored after arrange 2021-07-08 13:35:40 +02:00
c5304750d9 Support for forward compatibility of configurations, user and system
config bundles, project files (3MFs, AMFs). When loading these files,
the caller may decide whether to substitute some of the configuration
values the current PrusaSlicer version does not understand with
some reasonable default value, and whether to report it. If substitution
is disabled, an exception is being thrown as before this commit.
If substitution is enabled, list of substitutions is returned by the
API to be presented to the user. This allows us to introduce for example
new firmware flavor key in PrusaSlicer 2.4 while letting PrusaSlicer
2.3.2 to fall back to some default and to report it to the user.

When slicing from command line, substutions are performed by default
and reported into the console, however substitutions may be either
disabled or made silent with the new "config-compatibility" command
line option.

Substitute enums and bools only.  Allow booleans to be parsed as
    true: "1", "enabled", "on" case insensitive
    false: "0", "disabled", "off" case insensitive
This will allow us in the future for example to switch the draft_shield
boolean to an enum with the following values: "disabled" / "enabled" / "limited".

Added "enum_bitmask.hpp" - support for type safe sets of options.
See for example PresetBundle::load_configbundle(...
LoadConfigBundleAttributes flags) for an example of intended usage.

WIP: GUI for reporting the list of config substitutions needs to be
implemented by @YuSanka.
2021-06-27 16:57:05 +02:00
0ecba516a3 Get rid of Contour3D 2021-06-08 10:28:23 +02:00
d4ceb928ba Fix warning of ignored variable in structured binding 2021-05-19 10:08:41 +02:00
2bea4ccf9d Merge remote-tracking branch 'origin/tm_sl1_import_fix' 2021-04-07 13:56:14 +02:00
389a3d0a6a Better naming of gui controls 2021-04-07 12:51:02 +02:00
a2be47a6e6 Allow rotation of multiple selected items. Disable auto positioning 2021-04-07 12:51:02 +02:00
6f04f1b1d9 Allow auto-rotation of objects not completely inside bed.
Don't use SLAPrintObject as the input for optimization. Use ModelObject and pass the print config to the optimization in RotoptimizeJob::prepare()
2021-04-07 12:51:02 +02:00
785c7e97ec Change configuration bank name for SLA auto rotation 2021-04-07 12:51:02 +02:00
f21e0ae0ff Least supports optimization revived.
Fix missing include on Win32


Cleanup benchmarking code
2021-04-07 12:51:02 +02:00
97e7350911 Method selection implemented 2021-04-07 12:51:02 +02:00
c9b787af67 Unite cancel callback and status function 2021-04-07 12:51:02 +02:00
44076d12db Reverting to old rotation optimizer object-function.
Keep the performance optimizations though
2021-04-07 12:51:02 +02:00
f5ba2a1441 Fix duplicated error message dialog from GUI jobs. 2021-04-07 12:41:52 +02:00
27c779cc16 Fix issue with importing sl1 files with non-ascii filenames. 2021-04-07 12:41:38 +02:00
d62aace663 Reduction on compiler warnings, mainly on MSVC.
Fix of the new gap_fill_enable flag: Take it into account when comparing
regions.
2021-02-10 17:29:07 +01:00
9dc1b45735 Refresh object manipulator fields in sidebar after arrange 2021-01-28 12:44:38 +01:00
7e1deed915 Implement exception rethrow for ui jobs 2021-01-19 15:01:20 +01:00
b6fff21c0d Fix for "bed fill" discarding selected instance transformation.
fixes #5621
2021-01-04 20:33:17 +01:00
58382b2aea Fix for bad wipe tower handling in arrangement
fixes #5320
2020-12-07 18:00:10 +01:00
d65def7678 Follow up fix for bed filling
fixes: 2813db8906
2020-12-02 18:08:30 +01:00
93b13c94b1 Fix for bed filling with some existing items out of bed. 2020-12-02 17:52:40 +01:00
4c2fa51c61 Fix status indication glitch for bed filling 2020-12-02 17:50:12 +01:00
1fe708f9ce Further improvement on arrange settings handling 2020-12-02 14:04:39 +01:00
7cbf4a3209 Fix arrange distance with enabled sequential printing
fixes #5258
2020-12-01 14:08:07 +01:00
11cf9ec6b8 Don't apply result if fill bed was canceled. 2020-11-30 09:38:22 +01:00
4e75d0ad88 Fix bed filling with more existing instances than needed 2020-11-26 15:11:54 +01:00
28387920df Stop bed filling if enough instances are generated 2020-11-24 14:41:36 +01:00
ea14735edf Fix broken wipe tower arrangement
fixes #5207
fixes #5216
2020-11-23 16:05:24 +01:00