Commit Graph
100 Commits
Author SHA1 Message Date
Vojtech Bubnik 2b8f655020 WIP AABBIndirect: Documentation, polishing. 2020-05-22 09:29:21 +02:00
Vojtech Bubnik eeb9590d28 WIP: own AABBTreeIndirect, builds up the tree 4x quicker than libigl. 2020-05-22 09:29:21 +02:00
Vojtech Bubnik abf279fc44 Fixed compilation with Shiny profiler. 2020-05-22 09:29:21 +02:00
bubnikv b73e675aaa Changed the Ironing G-code preview color based on Jindra's feedback. 2020-05-06 18:28:23 +02:00
bubnikv 0940db7b2e Improvements of the monotonous infill ordering:
Calculate the initial path length and set the initial pheromone level
accordingly.
Implemented a stopping criterion to ant colony optimization.
Fixed some compilation warnings.
2020-05-06 18:28:23 +02:00
bubnikv 5980d46e4c Bumped up version number to 2.3.0-alpha0 2020-05-05 13:11:32 +02:00
bubnikv 80b684b4b7 Fuzzy matching:
1) Handle localized and English searches as equivalent.
2) Search the whole section : group : label string, still give
   precedence to just the label.
2020-05-04 21:22:56 +02:00
bubnikv 0e87226ac9 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-05-04 16:18:32 +02:00
bubnikv 95cf8c2d30 Fuzzy matching of parameters in the search box:
Fix of https://github.com/forrestthewoods/lib_fts/issues/21 finally applied,
disabled CamelCase matching as we are not using CamelCase in Slicer parameters.
2020-05-04 16:18:20 +02:00
bubnikv 28c0880b24 ASCII folding applied over the matched string 2020-05-03 15:45:47 +02:00
bubnikv e27c6c7928 fts_fuzzy_match fixes:
Recursive fix https://github.com/forrestthewoods/lib_fts/issues/21
End of string penalty fix https://github.com/forrestthewoods/lib_fts/issues/24

Some refactoring for succintness (based on Vojtech's taste)
2020-05-03 14:14:40 +02:00
bubnikv 07ab5c31e6 WIP Fuzzy search rework.
1) fts_fuzzy_match has been extended to support wchar_t for a char
   type and uint16_t for an index type for the match indices.
2) fts_fuzzy_match has been extended to place a proper stopper character
   into the match buffer.
3) Slicer integration now uses the fuzzy match indices for highlighting.
4) Slicer integration now correctly highlights the matched word.
5) Slicer search dialog now sorts based on match AND category.

Further modifications are planned:
1) Matching in local language vs. English: Just show the English variant
   if matched in English. Don't mix the two together.
2) Matching the group or category: Continue matching the label.
3) For matches with equal match quality and category sort alphanumerically.
2020-05-01 08:57:24 +02:00
bubnikv f479b77e01 Fixed compilation warning. 2020-04-30 12:04:49 +02:00
bubnikv 18d08cc5cb Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-04-30 12:04:03 +02:00
bubnikv cc2d33f6a0 Search: Fixed returning of a pointer to temporary. 2020-04-30 12:03:49 +02:00
bubnikv 2875bc685c Fixed spelling of "sidebar" 2020-04-29 15:58:57 +02:00
bubnikv 8a82e3d5be Localization fixes. 2020-04-29 14:42:43 +02:00
bubnikv 4de4d765ee Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-04-28 19:31:18 +02:00
bubnikv ef89c73fd5 fixing a compilation issue on a buggy GCC on R-PI 2020-04-28 18:28:11 +02:00
bubnikv b8e02a5405 Fixed handling of fill_pattern field if not all patterns are allowed
for the internal infill.
2020-04-28 18:00:42 +02:00
bubnikv ec81de7553 Ironing and Monotonous infill - first working implementation. 2020-04-28 17:19:11 +02:00
bubnikv 033548a568 Introduction of Monotonous infill type. Fill no-sort only for monotonous
and ironing infills.
2020-04-25 08:15:04 +02:00
bubnikv e390ebc95c WIP: Monotonous infill 2020-04-24 09:41:48 +02:00
bubnikv 03eb5ffcd5 WIP: Reworking of FillRectilinear2 to support monotonous infill
with ant colony optimization and 3-opt flips.
2020-04-22 10:54:11 +02:00
bubnikv 10110ed307 WIP: Ironing over top surfaces. 2020-04-14 11:53:28 +02:00
Vojtech Bubnik b578b7ec87 New parameter DEP_WX_GTK3=on/off to build wxWidgets against GTK3. 2020-04-02 11:42:45 +02:00
bubnikv 31b0ae164d Optimization of the GCodeTimeEstimator to only keep a fixed number
of trapeziodal blocks around. The number is hard coded to 64,
and 3x64 blocks are flushed everytime the queue grows over 4x64 blocks.
This time estimator is slightly more close to what the firmware does, which
keeps a fixed number of blocks and it recalculates all the blocks
every time a new block is added while the oldest block is pushed out
of the queue. Therefore this optimization shall produce negligible
differences to what the previous code produced.
2020-04-01 13:42:26 +02:00
bubnikv f4cc0ce075 Fixed the new Slic3r::GUI::format_wxstr(): The arguments were not passed. 2020-04-01 13:27:12 +02:00
bubnikv 8027fc2fb2 Yet another missing include that windows compiler did not mind. 2020-04-01 10:42:10 +02:00
bubnikv 3a1bb2fece fixed missing include 2020-04-01 10:30:33 +02:00
bubnikv 22c671e593 Fixing OSX and Linux builds 2020-04-01 10:09:31 +02:00
bubnikv b843a094f6 Slic3r::format(), Slic3r::GUI::format_wxstr():
wrappers around boost::format using C++17 variadic templates,
replacing the ugly and verbose
	(boost::format("template") % arg1 % arg2).str()
syntax.
The wrappers also implictely convert input parameters including the template
from wxString to UTF8.

The new format wrapper has been applied at multiple places as a start,
also some double macros _(L()) with new single macro _L().
2020-04-01 09:49:04 +02:00
bubnikv 25d58faaad WIP: Windows specific 3Dconnexion using WM_INPUT.
This implementation works with the 3DConnexion driver (sic!)
if PrusaSlicer.xml is stored into c:\Program Files\3Dconnexion\3DxWare\3DxWinCore64\Cfg\

The implementation is inspired with Blender, see code inside WITH_INPUT_NDOF blocks.
2020-03-31 09:01:55 +02:00
bubnikv ec86d94f02 Workaround for the Prusa3D Fast (layer height 0.35mm) profile, which
collides with the maximum allowed layer height at the Printer Extruder
0.25mm.

Works around "MMU2s and supports on prusaslicer 2.2.0 issue #3919"
2020-03-27 14:15:09 +01:00
bubnikv 58192ba6c2 Win32 specific: Using SHChangeNotifyRegister to get notifications
on removable media insert / eject events.
From now on we no more poll for removable media on Windows.

Thanks @mjgtp from prusaprinters.org
See the following discussion:
https://forum.prusaprinters.org/forum/prusaslicer/prusaslicer-trying-to-access-my-floppy-disk-a

The final working code sample was taken from Chromium source code,
volume_mount_watcher_win.cc
2020-03-27 08:10:00 +01:00
bubnikv 3fdd643f49 Fix of PrusaSlicer trying to access my floppy disk (A:\)
Some customers seem to posses a floppy drive (sic!) and some floppy
drives start spinning if accessed just to check whether there is
a medium plugged in or not.

From now, the A: and B: drives are not checked anymore for removable
media. Now let's pray nobody maps an SD card or flash drive to A: or B:

Fixes
https://forum.prusaprinters.org/forum/prusaslicer/prusaslicer-trying-to-access-my-floppy-disk-a
2020-03-26 19:06:23 +01:00
bubnikv a1aee69c5a Fixed a logical error in substitution of the selected language with
the system language: System language returned by Windows for pt_BR
is pt_PT, and this language was then used incorrectly to select
the dictionary.

Now the selected language is stored into PrusaSlicer.ini and
if a substitution is to be performed to select locales (not the dictionary)
based on the system recommended locales, this substitution is being
done in runtime just before switching the locales.
Fixes PrusaSlicer 2.3.0 - Language Portuguese (Brazilian) dont work #3901

Also hopefully fixed
LANGUAGE environment variable not respected #2970
by calling
wxTranslations::Get()->GetBestTranslation()
on Unix systems as well, which reads the "LANGUAGE" environment.
2020-03-26 14:27:18 +01:00
bubnikv b3cebdb672 Fix after merge 2020-03-25 17:55:46 +01:00
bubnikv 750e704b37 Merge remote-tracking branch 'remotes/origin/et_slope_shader' 2020-03-25 16:09:04 +01:00
bubnikv 8d7f88b381 Imported error reporting when loading presets with option keys
or option values that our poor software does not understand.
This applies to configs added by some forks of slic3r, for example
slic3r++
PrusaSlicer has encountered an error: Failed loading the preset file: #3909
2020-03-25 16:04:11 +01:00
bubnikv faf8df7864 Show just a short build info at the application toolbar even on OSX. 2020-03-25 14:35:41 +01:00
bubnikv 4656102dba Compile with 32bit coord_t by default. 2020-03-25 14:35:41 +01:00
bubnikv c27297f6cc 64bit coord_t
Vec3i as a vertex index to TriangleMesh constructor
2020-03-25 14:35:41 +01:00
bubnikv c3a9915fa1 Added the order of the print parameter priorities when slicing
from command line to command line help.
Follow up on
PrusaSlicer Console --load my_config.ini doesnt overwrites the 3mf profiles or not used. #3893
2020-03-24 11:59:55 +01:00
bubnikv 015a4a37dc Fix of a wrong order of processing the config sources when slicing
from command line. Fixes
PrusaSlicer Console --load my_config.ini doesnt overwrites the 3mf profiles or not used. #3893

The priority of config values is now:

1) Config keys from command line, for example --fill-pattern=stars
   (highest priority, overwrites everything below)
2) Config files loaded with --load
3) Config from 3mf
   (lowest priority)
2020-03-24 11:52:43 +01:00
bubnikv ad5ae50933 Fix of Crash when trying to set up non-existent flashair (#3899)
fixed a typo in formatting text, throwing an exception.
2020-03-24 10:04:41 +01:00
bubnikv d5bcddeed3 Revert "Deps libdir for libcurl on linux to land to the same directory"
This reverts commit 38d06d57a0.
2020-03-21 11:55:51 +01:00
bubnikv bf64f0099b Bumped up the version number to final. 2020-03-21 11:28:15 +01:00
bubnikv 046f0dbfa2 Fixed a regression issue to PrusaSlicer 2.1.1
Custom printer with center of bed at 0,0 results in "toolpath outside print area" #3510
The G92 A0 B0 was incorrectly considered to be equal to just G92
to reset all axes.
2020-03-21 10:09:33 +01:00
bubnikv 1cbb822dd7 Enabled "clip multipart objects" by default, see discussion in
https://github.com/prusa3d/PrusaSlicer/issues/2803#issuecomment-524602137
2020-03-20 18:25:11 +01:00
bubnikv 92162d8fe5 Merge branch 'et_bug_fixes' 2020-03-20 17:19:46 +01:00
bubnikv 4938d5ab63 Fixed orientations of some 3D connexion axes when in the swapped YZ mode. 2020-03-20 17:19:20 +01:00
bubnikv a9fc39491e Fix of weird double extrusions with multiple regions and their
parameters being changed between slicing runs.
2020-03-20 13:37:13 +01:00
bubnikv 38d06d57a0 Deps libdir for libcurl on linux to land to the same directory
as openssl libraries.
Follow-up to 170650169c
2020-03-20 08:55:11 +01:00
bubnikv 170650169c Deps libdir for openssl on linux 2020-03-19 21:33:03 +01:00
bubnikv d5149275b0 Hopefully fixing missing OpenSSL dependency of libcurl on Linux 64bit. 2020-03-19 20:48:53 +01:00
bubnikv b1fbc2c59c Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-03-19 17:32:18 +01:00
bubnikv 20d33c19f4 Merge remote-tracking branch 'origin/et_gizmos_tooltip' 2020-03-19 17:31:25 +01:00
bubnikv be2fd7164c ImGUI characters for OSX keyboard keyboard modifiers are only contained
in the CJK fonts, not in the regular fonts. Load them from CJK fonts
even for non CJK languages.
2020-03-19 13:32:34 +01:00
bubnikv 966b2ce371 Fixing spurious deselection of objects when switching from 3d path
preview to plater using the bottom tool bar & left mouse click.
This is result of the recent commits refactoring the mouse focus
over toolbars handling. 739d8131ab
2020-03-19 12:39:25 +01:00
bubnikv 8f762168ba Adding special OS characters for keyboard shortcuts to ImGUI font map. 2020-03-19 09:52:24 +01:00
bubnikv a901b17d33 Merge branch 'et_gizmos_tooltip' of https://github.com/Prusa3d/PrusaSlicer into et_gizmos_tooltip 2020-03-18 14:28:54 +01:00
bubnikv 79951630ec Hiding the tooltip when the window gets deactivated and reactivated. 2020-03-18 14:28:43 +01:00
bubnikv 067e128651 Suppress tooltips when the mouse is processed by an ImGUI dialog. 2020-03-18 13:23:07 +01:00
bubnikv 98fb8b626f Fix of Wipe to Infill causes severe overextrusion (thicker walls & infill) (#3842)
Regressinon in regard to PrusaSlicer 2.2.1 due to Vojtech's refactorings
for efficiency.
2020-03-17 09:41:54 +01:00
bubnikv 6bace46be1 Revert "#3034 - Keyboard shortcuts for 'Delete selected' and 'Delete all' commands enabled also in Preview"
It is too late before 2.2.0-final.

This reverts commit 350a85cf43.
2020-03-16 14:25:05 +01:00
bubnikv c1e92a5759 Fix of
"Print settings reloaded with 0.05 layer and fill percentage changed
after click on modified profile #3755"

Combo box callback was not removing the "(modified)" suffix.
2020-03-16 09:57:20 +01:00
bubnikv 6bf56d5cb4 Updated the "Remove user profiles" message at the install wizard to
indicate that it does nothing to user profiles.
2020-03-15 12:19:56 +01:00
bubnikv 707bc09be5 Changed PrusaResearch extruder clearance 2020-03-15 09:04:00 +01:00
bubnikv 2e1aef87a1 The import of system profiles was improved to not inherit
the "renamed_from" field as it is specific to a concrete profile.

Prusa Research system profile was annotated with "renamed_from"
to indicate that the PETG profiles were renamed from PET somewhere
after PrusaSlicer 2.2.1 release.
2020-03-15 08:38:17 +01:00
bubnikv 7f3ac39757 Fixed conversion of installed presets from PrusaSlicer 2.1.1 to 2.2.0 2020-03-14 20:18:31 +01:00
bubnikv a3ded8fa95 Reworked filaments / SLA materials in installation wizard:
1) When the wizard is initialized, filament and SLA profile names
   are verified and current names of renamed profiles are resolved.
   Fixes "Add/Remove Filaments is not hiding all of the un-checked filaments #3835"
2) When adding a printer model, default materials are installed in case
   the printer model has no default material installed.
3) When leaving the Filaments or SLA materials page, and some printer models
   have no material installed, those Printer Models are listed
   in a message box and only for those printer models the default
   materials are installed.
2020-03-14 18:35:42 +01:00
bubnikv fcb04039e8 New shorcut _L() for _(L())
New shorcut _u8L() for _utf8(L())
2020-03-14 17:51:56 +01:00
bubnikv 7f376fa927 Fix of infill type update with vase mode enabled after change
of the number of bottom layers.
related to [2.2.1-RC] Vase mode prints base no matter what #3823
2020-03-14 11:59:50 +01:00
bubnikv bd1a128ef8 Bumped up version number to 2.2.0-rc4. 2020-03-14 09:56:49 +01:00
bubnikv dc1ffe15a8 Revert "Added "Filament spool weight" option to filament options"
This reverts commit 3d3e36ba8d.

The change is too risky just before the PrusaSlicer 2.2.0 final release
and the feature may need a bit of polishing before release.
2020-03-14 09:49:12 +01:00
bubnikv 99ff6763a1 Layer height editing: Fixed to satisfy the minimum layer heigth,
improved wording of the tooltips indicating why a new layer height range
cannot be inserted.
2020-03-14 09:44:29 +01:00
bubnikv af4a5c3f8a Synchronization of skirt input field enable / disable state
in the parameter tab.
An inconsistency between the slicing back-end and the parameter page
has been fixed, where the slicing back end only creates skirt for
non-zero number of skirt loops even if the minimum skirt extrusion is set.
2020-03-14 09:44:28 +01:00
bubnikv 6b58f67fb8 "inifinit_skirt" renamed to "draft_shield"
Polished the tooltip for the draft shield.
Legacy conversion from old skirt_heigth == -1 to draft_shield = 1
2020-03-14 07:46:39 +01:00
bubnikv b97a12da98 Documented the previous merge. 2020-03-14 07:14:45 +01:00
bubnikv 37b3780a72 Merge remote-tracking branch 'remotes/origin/et_free_camera' 2020-03-14 07:02:08 +01:00
bubnikv 87303951a7 Little refactoring of get_mouse_position_in_control() for const
correctness and readability.
2020-03-14 07:00:09 +01:00
bubnikv 3234823a1a Windows do not send an update on insert / eject of an SD card into
an external SD card reader. Windows also do not send an update
on software eject of a FLASH drive. We can likely use the Windows
WMI API, but it will be quite time consuming to implement,
therefore we lower the polling interval back to two seconds.

https://www.codeproject.com/Articles/10539/Making-WMI-Queries-In-C
https://docs.microsoft.com/en-us/windows/win32/wmisdk/wmi-start-page
https://docs.microsoft.com/en-us/windows/win32/wmisdk/com-api-for-wmi
https://docs.microsoft.com/en-us/windows/win32/wmisdk/example--receiving-event-notifications-through-wmi-
2020-03-13 19:30:41 +01:00
bubnikv d3236f5e70 Merge remote-tracking branch 'remotes/origin/ys_improvements' 2020-03-13 16:52:12 +01:00
bubnikv 76f9aaf13c Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-03-13 16:52:07 +01:00
bubnikv c8b177966d Merge remote-tracking branch 'remotes/origin/ys_improvements' 2020-03-13 16:01:30 +01:00
bubnikv 2e6a5e7783 Fixed crash in skirt preview for multiple objects with different height
and full size skirt used as a draft shield.
2020-03-13 15:57:07 +01:00
bubnikv 324b9d4f67 Fixed compilation on Linux / OSX 2020-03-13 15:11:40 +01:00
bubnikv 98fc01afe7 Fix of compilation on OSX and Linux, update of camera after 3D mouse
disconnect moved to the main thread.
2020-03-13 14:57:45 +01:00
bubnikv 9b26f8a18b Updated dictionaries. 2020-03-13 14:39:26 +01:00
bubnikv 2f6326a2eb Windows specific refactoring of Mouse3DController and RemovableDriveManager.
PrusaSlicer newly registers by Windows operating system for HID USB
plug / unplug notifications and for Volume attach / detach notifications,
and the background threads of the two respective services are waken up
on these Windows notifications.
The RemovableDriveManager also wakes up every 30 seconds to cope with
the drives ejected from Windows Explorer or from another application,
for example Cura, for which Windows OS does not send out notifications.
2020-03-13 14:19:14 +01:00
bubnikv 45e0079356 Refactoring of suppress background process update for clarity. 2020-03-12 16:11:25 +01:00
bubnikv 1d5249f9b0 Fix of #3660 : Background processing restart and error messages
are suppressed while tracking a pop-up menu.
2020-03-12 16:05:39 +01:00
bubnikv 6866c2bdd4 Refreshed pot dictionaries. 2020-03-12 14:13:32 +01:00
bubnikv f71d3e63f2 Changed location of vendor specific thumbnail images of printers:
These images are newly stored inside the resources/profiles/VENDOR_NAME/,
they should be named by the printer_model identifier suffixed with
"_thumbnail.png"

All the existing printer thumbnails were moved and renamed,
thumbnails for the 3rd party printers were added, marked as Beta.
2020-03-12 14:13:08 +01:00
bubnikv b71161265f Follow-up on 550e5c2fbb3a5151e18b573f246fa78dcef8e964
Fixed some spurious moves of data that should have not been moved.
2020-03-12 12:57:52 +01:00
bubnikv e2274bfc83 Saving one enumeration of external drives when deciding whether
to verify the file saved or not.
2020-03-12 12:43:09 +01:00
bubnikv c145d60df4 Improvement in the RemovableDriveManager update function:
Don't call the update() if it is already running. Wait for the
other instance to finish instead.
2020-03-12 11:30:58 +01:00
bubnikv 84c9136e2d Fixed formatting error in preset update from the net. 2020-03-12 09:42:25 +01:00
bubnikv ccbf5379ab More detailed logging of hid_init() on unixes to detect why
loading of "libudev.so.1" or "libudev.so.0" failed.
2020-03-12 09:42:25 +01:00