Commit Graph
100 Commits
Author SHA1 Message Date
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
bubnikv c73493eba5 Manual merge of @BoaImpressao3D Added_translation_pt_br 2020-03-12 09:42:25 +01:00
bubnikv 6664a548d6 Show busy cursor on eject, improves
2.2.0-RC Eject is very slow in Linux #3795
2020-03-11 18:25:05 +01:00
bubnikv bbf212d5f6 Fixes to the BIBO profile. 2020-03-11 18:13:13 +01:00
bubnikv 88fcdf4b97 num_extruders is now available from the output_file_name template. 2020-03-11 18:12:44 +01:00
bubnikv cd381d6b4f More robust vendor profile parsing. 2020-03-11 18:12:16 +01:00
bubnikv a4a6ef3c72 BIBO2 profile:
Removed compatible_printers_condition = printer_family=="BIBO2"
printer_family variable is not supported, though it is a good idea.
Fortunately it was not needed for the BIBO2 printer as of now.
2020-03-11 16:35:21 +01:00
bubnikv e6b0be918d Bumped up version number. 2020-03-11 15:39:06 +01:00
bubnikv 8603a1a7cc Merge branch 'ulsanether-master' 2020-03-11 15:33:44 +01:00
bubnikv f94d779621 Merge branch 'master' of https://github.com/ulsanether/PrusaSlicer into ulsanether-master 2020-03-11 15:33:31 +01:00
bubnikv 9d1fa809dd Updated pot file 2020-03-11 15:29:31 +01:00
bubnikv 04d1fc0633 BIBO2 Touch profile updates by @rtyr 2020-03-11 15:29:15 +01:00
bubnikv 1484d98997 Merge remote-tracking branch 'remotes/origin/vb_add_layer_range_osx' 2020-03-11 14:33:40 +01:00
bubnikv ed760ae932 Fixed a fishy null pointer reference bug reported by ASAN time to time. 2020-03-11 13:58:31 +01:00
bubnikv cbd80685c2 Fix of Print settings dropdown list messed up after deleting an entry (#3800) 2020-03-09 12:29:40 +01:00
bubnikv aac691c0e7 Forced SD card / USB drive eject now sends out the event immediately
on Windows as well as on Unix platforms including OSX.
2020-03-09 11:47:20 +01:00
bubnikv e83fb4582c Reworked the eject on unix systems to wait for the return of the
system call to the command line utility and send out the unmount
wxWidgets event immediately.
Hopefully improves 2.2.0-RC Eject is very slow in Linux (#3795)
2020-03-09 10:56:51 +01:00
bubnikv ec75b760b8 Fix of saving the 3DConnexion status on OSX.
Fixes 2.2.0 RC2 - 3Dconnexion settings not saved / Zoom digital (#3791)
2020-03-09 10:36:55 +01:00
bubnikv 6723b5f3cd Vojtech's adjustments to Lutzbot config, now it installs. 2020-03-07 16:33:03 +01:00
bubnikv cbf5459f5d Initial Lutzbot printer definition by Mikolas Zuza 2020-03-07 16:31:46 +01:00
bubnikv 76fecc91a5 Improved error reporting and error handling when loading
vendor config bundles into installation wizard.
2020-03-07 16:31:14 +01:00
bubnikv 93f2be7ac4 Fixed localization of "Save preset as" dialog message. 2020-03-07 14:21:05 +01:00
bubnikv d4ac4df21c Fixed crash on switching the application language.
This crash was caused by the RemovableDriveManager and 3DConnexion
detection services not being stopped correctly.
The fix executes all the tasks of the MainFrame at the language switch,
that are normally performed on application shut down.
2020-03-07 12:24:53 +01:00
bubnikv c5d2507dd4 Bumped up version number. 2020-03-07 10:36:06 +01:00
bubnikv b6ee1c1263 Updated dictionaries. 2020-03-07 10:34:54 +01:00
bubnikv 1efa21c882 Polished the new "detach preset from the system preset" messages. 2020-03-07 10:26:40 +01:00