Commit Graph
100 Commits
Author SHA1 Message Date
Vojtech Bubnik 264ce71e94 Bumped up wxWidgets version on OSX for X86. 2021-01-19 14:26:37 +01:00
Vojtech Bubnik 5294a48ee8 Fix of prusa 2.3.0 crash with 0.25 nozzle #5825
Importing a config bundle as a config file was broken for
multi material FDM printers, where a different filament was active
for each extruder.
2021-01-19 09:58:14 +01:00
Vojtech Bubnik 9a2310ae98 Fix of [prusa3d/PrusaSlicer] Remove unnecessary null pointer checks (#5813)
Don't use
if (ptr)
	delete ptr;
call
delete ptr;
directly, it contains the test for null ptr.
2021-01-18 09:33:19 +01:00
Vojtech Bubnik d06aa60691 Fixing Perl bindings after update of Boost. 2021-01-15 19:47:51 +01:00
Vojtech Bubnik d28d8dda75 Updated boost requies date_time library to be compiled. 2021-01-15 18:07:14 +01:00
Vojtech Bubnik dd9269a9d1 Bumped up boost version from 1.70.0 to 1.75.0 mainly due to an issue
with an updated Xcode / clang incorrectly reporting that it supports
__cpp_lib_uncaught_exceptions while it does not if targeting older
platforms. This issue has been fixed in boost 1.74.0 and 1.75.0
2021-01-15 13:46:33 +01:00
Vojtech Bubnik d63e681bf3 Further improvement of how to build on windows guide 2021-01-15 09:40:13 +01:00
Vojtech Bubnik 59911e7c35 Slight improvement in Hilbert infill by using constexpr 2021-01-15 09:34:50 +01:00
Vojtech Bubnik 21d01291fb Updated windows building guide to build dependencies out of the PrusaSlicer
source tree.
2021-01-15 09:34:03 +01:00
Vojtech Bubnik 63e666b8d6 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2021-01-14 12:51:38 +01:00
Vojtech Bubnik 48877614e2 Fix of --scale-to-fit not accepting any input as valid (#5772)
Fixed parsing of Point3, fortunately Point3 was used at just a single
command line parameter, thus this was not a big deal.
2021-01-14 12:51:28 +01:00
Vojtech Bubnik 293f85b6cf Fix of Invoking prusa-slicer from $PATH environment variable crashes #5542
Also it likely fixes Crashes when started from symbolic link #5751
2021-01-13 09:22:13 +01:00
Vojtech Bubnik fcabe8a0f4 Bumped up version number 2021-01-11 14:01:51 +01:00
Vojtech Bubnik 7d751753bc Replaced __linux macro with __linux__ 2021-01-11 13:31:30 +01:00
Vojtech Bubnik 5a1a41096b Fix of a crash when slicing an object producing no layers and
elphant foot compensation is enabled.
2021-01-11 12:20:50 +01:00
Vojtech Bubnik d46a756b98 Finally fixing the single instance for AppImage 2021-01-11 11:41:22 +01:00
Vojtech Bubnik a900b7767b Fix of previous commit 2021-01-11 11:29:27 +01:00
Vojtech Bubnik 7780221683 Fixed "Single instance" locking issue on Linux with AppImage,
where the PrusaSlicer binary is mounted at a different mount point
at each AppImage execution.
Fixes Lock files in the local configuration directory are not deleted (#5733)
2021-01-11 11:14:59 +01:00
Vojtech Bubnik fd7a555cb3 Bumped up vesion number 2021-01-08 11:06:35 +01:00
Vojtech Bubnik 2b02747ec5 On OSX, we use boost::process::spawn() to launch new instances of PrusaSlicer from another PrusaSlicer.
boost::process::spawn() sets SIGCHLD to SIGIGN for the child process, thus if a child PrusaSlicer spawns another
subprocess and the subrocess dies, the child PrusaSlicer will not receive information on end of subprocess
(posix waitpid() call will always fail).
https://jmmv.dev/2008/10/boostprocess-and-sigchld.html
The child instance of PrusaSlicer has to reset SIGCHLD to its default, so that posix waitpid() and similar continue to work.
Fixes #5507
2021-01-07 19:14:48 +01:00
Vojtech Bubnik 71808dc006 boost::process::spawn() sets SIGINT to SIGIGN, which collides with boost::process waiting for a child to finish!
https://jmmv.dev/2008/10/boostprocess-and-sigchld.html
Thus reset the SIGINT to its default, so that posix waitpid() and similar continue to work.
Fixes Crash on Eject in Second Instance on macOS #5507
2021-01-07 17:38:56 +01:00
Vojtech Bubnik 2ad4447035 Fix of Ejecting of device has failed on Ubuntu Linux #3975
Eject failed due to superfluous escaping of spaces in path to the SD card
mount point.
2021-01-07 14:17:09 +01:00
Vojtech Bubnik 4988b93b8d Merge remote-tracking branch 'remotes/origin/master' into vb_osx_eject 2021-01-07 14:12:40 +01:00
Vojtech Bubnik 8c597e9533 Merge remote-tracking branch 'remotes/origin/dk_refresh' into vb_osx_eject 2021-01-07 14:00:21 +01:00
Vojtech Bubnik c227e15794 Fixed compilation on OSX 2021-01-07 13:13:35 +01:00
Vojtech Bubnik 546fbe1e8e Fix of previous commit for OSX 2021-01-07 12:19:41 +01:00
Vojtech Bubnik 961abd75e8 Fix of previopus commut 2021-01-07 12:09:47 +01:00
Vojtech Bubnik 18cf1fdb43 Fixing the SD card eject issue on OSX by pushing the call to
"diskutil eject" to a worker thread.
Hopefully fixes Ejecting an SD card is slow and locks UI #4844
2021-01-07 12:02:44 +01:00
Vojtech Bubnik daa0bbdb0c Fix of slow update when dragging the vertical slider in G-code viewer
with volumetric flow color mapping enabled.
Fixes "Volumetric flow rate computes very slowly #5572"
2021-01-06 15:32:31 +01:00
Vojtech Bubnik 67256d6bb0 Added a FIXME comment for
Sequential tool path ordering of multiple parts within the same object, aka. perimeter tracking (#5511)
2021-01-06 12:19:08 +01:00
Vojtech Bubnik 93a5906a18 Fixed numerical issue with the new algorithm to connect infill lines
with perimeters:
1) Increased accuracy of the contour length parametrization from
   float to double, as double should capture the difference of
   32bit coord_t with full accuracy (or at least very close).
2) The algorithm to insert the T-joint points into the infill perimeter
   contour was improved to avoid inserting duplicate points.
2021-01-06 12:18:05 +01:00
Vojtech Bubnik 3c9f3d2b66 Fixing the infill order for concentric infill to outside-in.
Relies to:
Concentric Fill Start Point - New Feature Request #4948
Feature Request: Archimedean Chords - Option to define direction of travel (Inside-Out or Outside-In) #5214
2021-01-06 11:05:32 +01:00
Vojtech Bubnik fb29325b14 Fix of G-code Viewer not loading .gco files #5536
".gcode", ".gco", ".g" and ".ngc" were considered to be G-code file
extensions by the G-code import / export file dialogs, but not by
various other functions. Now the G-code extension is tested by
a single function is_gcode_file(string).
2021-01-05 12:26:11 +01:00
Vojtech Bubnik 1076e077ce Fix of Adaptive cubic infill weird behavior #5633
Enabling reordering of infill paths for Support Cubic and Adaptive Cubic
infill types.
2021-01-04 15:42:23 +01:00
Vojtech Bubnik 2d428198b1 Fix of 2.3 rc1 can't load its own 3mf files (if they contain custom gcode) #5550
The issue was handling of the special "default_filament_profile" vector,
which is not being normalized in length to the number of extruders,
as this vector is being shown to the user at the Printer dependencies page,
and we don't want to present empty fields there, if the default filament
profile was not defined in the system preset.
2021-01-04 11:13:44 +01:00
Vojtech Bubnik b002c1485d Fix of PrusaSlicer hangs on Linux when run with non standard task affinity #5661 2021-01-04 09:03:49 +01:00
Vojtech Bubnik ba9a9b4e7a Fixed buffer overflow in the OBJ parser.
Improved error reporting on OBJ parser.
2020-12-17 09:53:21 +01:00
Vojtech Bubnik 7df9f3e422 Improvements of OBJ parser robustness. 2020-12-17 09:17:07 +01:00
Vojtech Bubnik 1dae057f15 Some refactoring of the fade out of notifications:
1) Use different wxWidgets call to get current time on Windows vs Unix
   for efficiency reasons.
2) Don't call this function multiple times in a single function, it is
   both expensive and not correct: One shall work with the same timestamp.
3) Added missing unbind of the new timer.
2020-12-16 16:15:58 +01:00
Vojtech Bubnik 08c4f674f7 Disabled "error" outputs
1) they should have been trace and
2) likely they should have been only enabled in debug mode and only
   through conditional compilation
2020-12-16 14:40:56 +01:00
Vojtech Bubnik 4d459f37de Merge branch 'lm_230beta3_fixes' 2020-12-16 13:51:09 +01:00
Vojtech Bubnik 2f71af1ee4 Saving "converted from inches" to 3MF and AMF even if the file source
information is empty.
2020-12-16 12:05:29 +01:00
Vojtech Bubnik 8f04d0e0e2 Reverted escaping of ampersand where the escaping was not needed
/ lead to errors.
2020-12-16 11:46:27 +01:00
Vojtech Bubnik 0ad3a63a3b Merge branch 'master' of https://github.com/Prusa3D/PrusaSlicer 2020-12-15 15:15:46 +01:00
Vojtech Bubnik 20f5b7a7cd When activating the PrusaSlicer main window, focus the Plater 3D view
or G-code preview if it is marked as Active.
Fixes 3Dconnexion not work directly after importing stl (focus problem ?) #5141
Keep your fingers crossed that it will not break something else.
2020-12-15 15:14:59 +01:00
Vojtech Bubnik aa8f97fce2 Fix of 3DConnexion 3D SpaceMouse Jumpy Pan moves on Linux #5233
Also improved error reporting on Linux about the 3DConnexion device
access issues.
2020-12-15 14:27:07 +01:00
Vojtech Bubnik a13b35ce92 Support for HiDPI in OpenGL on Linux / GTK3.
wxGTK3 HiDPI support seems to emulate what OSX does quite closely,
thus the changes are relatively minimal.

Also fixed an ugly rounding issue when populating the ImGUI font map
with image thumbnails.

Fixes Gtk3 issue on 4k+ screens #4135
Fixes HiDPI screens with Wayland on Fedora 30 cause Plater view to be too small. #3245
2020-12-15 12:14:38 +01:00
Vojtech Bubnik b9bdfd26e3 Linux locales detection: A little refactoring 2020-12-14 22:59:02 +01:00
Vojtech Bubnik d70d54d4d3 UndoRedo extension::
has_undo_snapshot(timestamp) to query whether one can undo to a snapshot
with a specific timestamp. Useful for notifications, that want to Undo
a specific operation, to verify whether such operation is still valid.
2020-12-14 16:22:40 +01:00
Vojtech Bubnik 7b9f2093bb Configuration layer: Support for vectors of FloatsOrPercents and
FloatsOrPercentsNullable, to support further filament overrides
of Print preset values, namely Avoid Crossing Perimeters.
2020-12-14 15:58:47 +01:00
Vojtech Bubnik 12303d93d5 Fixed previous merge 2020-12-14 12:49:16 +01:00
Vojtech Bubnik e90120994e Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-12-14 12:47:59 +01:00
Vojtech Bubnik b5f95dd4b4 Avoid crossing perimeters max detour could newly be specified
in percentage of the direct path.
2020-12-14 12:45:49 +01:00
Vojtech Bubnik 530148575b Avoid crossing perimeters max detour could newly be specified
in percentage of the direct path.
2020-12-14 12:36:55 +01:00
Vojtech Bubnik fef729b75a Follow-up to c34b683970
Fix of Slic3r::GUI::format/format_wxstr() for wxString&&
2020-12-14 12:23:29 +01:00
Vojtech Bubnik c34b683970 Fix of Slic3r::GUI::format/format_wxstr() for non-const wxString references.
Vojtech seemingly does not understand perfect forwarding:
Why Slic3r::internal::format::cook(T&& arg) is taken for non-const wxString reference?
2020-12-14 12:06:39 +01:00
Vojtech Bubnik 57ba953b2e PresetUpdater - exceptions reformatted, not throwing an exception
on Linux when changing file attributes, as changing file attributes
may fail when writing onto FAT file system, which does not support
some of the common Unix file attributes.
2020-12-14 11:05:12 +01:00
Vojtech Bubnik 9fdf8c8b8d Fixed retrieving of the "saved in inches" flag from 3MF.
Fixed "import STL from Inches" - it should always scale up even if the
object is bigger than 3x3x3mm.
2020-12-12 18:54:34 +01:00
Vojtech Bubnik 3795f6b779 Bumped up version number 2020-12-12 16:28:01 +01:00
Vojtech Bubnik d3bf130e66 Merge remote-tracking branch 'remotes/origin/lm_linux_locales' 2020-12-12 12:39:17 +01:00
Vojtech Bubnik 5605088aad Follow-up on aaaa85c1f8
Fix of #5007 - "Reload from disk" causes objects converted to inches to revert to mm
1) Storing and reloading the "source_in_inches" source flag from AMF and 3MF
2) When converting objects with mixed "inches" volumes, do the right thing
   and do not convert those that do not need conversion.
2020-12-12 12:06:15 +01:00
Vojtech Bubnik b62a781417 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-12-12 11:26:24 +01:00
Vojtech Bubnik ccad84fb42 Follow-up on 3523bb421f
(Ongoing uploads while exiting dialog):
Fixed some string conversion issues.
2020-12-12 11:26:17 +01:00
Vojtech Bubnik 0884f4fbf5 Slight rewording of the keyboard shortcuts dialog. 2020-12-12 09:11:10 +01:00
Vojtech Bubnik 621610da75 Follow up on 569200eb99
Improved formatting of the vector of dimensions, improved wordings
of error messages and tooltips.
2020-12-12 08:34:43 +01:00
Vojtech Bubnik e78ad6ffa9 Fixing unit tests for supports. After "dont_support_bridges" was fixed
for perimeters, no support was rightfully generated for a preset
using a default "dont_support_bridges" = off.
2020-12-11 17:57:49 +01:00
Vojtech Bubnik 5580a77db4 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-12-11 15:15:53 +01:00
Vojtech Bubnik 7de0f46db4 Merge of Fix support doesn't ignore overhangs bridge anymore #5164 2020-12-11 15:14:16 +01:00
Vojtech Bubnik a2968df04c Merge of Fix support doesn't ignore overhangs bridge anymore #5164 2020-12-11 15:04:14 +01:00
Vojtech Bubnik 2c8a92cacb Some shader compilers did not seemingly like #if XXX blocks
if XXX was not defined. Changed to #ifdef XXX.
2020-12-11 12:27:07 +01:00
Vojtech Bubnik 9f6bf5a835 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-12-11 12:21:13 +01:00
Vojtech Bubnik a2959ec944 Fix of re-slicing with multiple regions.
This is a fix of a bug, which was in Slic3r forever, where raw slices
were not cached, but recalculated from classified regions, where
merging the regions did not produce the original contour reliably.
Fixes [2.3.0-beta2] Odd bad slicing related to infill (?) percentage #5407
2020-12-11 12:21:07 +01:00
Vojtech Bubnik cc7dbf8925 Fix of compilation on OSX 2020-12-10 14:45:23 +01:00
Vojtech Bubnik 8d644fbcb6 1) Shader manager: Allow to override #defines programatically
when loading a shader file.
2) Conditional compilation of environmental mapping in gouraud.fs
   using 1)
2020-12-10 13:20:25 +01:00
Vojtech Bubnik 48a21cae93 BitmapCache: a bit of clean-up 2020-12-10 08:54:21 +01:00
Vojtech Bubnik bd79036d13 Replaced all "long long" types with int64_t
Replaced all "unsigned long long" types with uint64_t.
These "new" types better communicate their meaning and they are
guaranteed to behave the same on all platforms & compilers.
2020-12-10 08:40:15 +01:00
Vojtech Bubnik e7bf03f006 Improved error reporting on misformated boost::format string.
Improves Prusa slicer 2.3.0 BETA 2 crash when attempting to save a machine change #5418
2020-12-10 07:56:43 +01:00
Vojtech Bubnik 63a7078432 Fixed localization issue in pt_BR
Fixes Prusa slicer 2.3.0 BETA 2 crash when attempting to save a machine change (#5418)
2020-12-10 07:46:18 +01:00
Vojtech Bubnik 06df87da35 Fix of 298b730589
(linear tapering of extrusion rate for the 1st spiral vase layer)
Linear tapering could only be implemented for relative extruder distances.
For absolute extruder distances, all the G1 Exxx in all spiral vase layers
would have to be adjusted, which is much more complex and risky to do now
before release.
2020-12-09 16:52:41 +01:00
Vojtech Bubnik 11b4b3f4f9 Fixing vase mode Perl tests. 2020-12-09 16:37:44 +01:00
Vojtech Bubnik fb7098e542 Sequential Mode: Improved error message to explain that the spiral mode
may be enabled for multiple objects in sequential mode.
Fixes Allow for multiple objects while Spiral Vase mode is on #2500
2020-12-09 15:40:21 +01:00
Vojtech Bubnik 13b968186e fix of unit tests 2020-12-09 15:12:17 +01:00
Vojtech Bubnik 298b730589 Implemented linear tapering of extrusion rate for the 1st spiral vase layer
above the solid infill. Should fix
first layer of vase (after bottom layers) is bulging (0.6nozzle, 0.4 layerhight) #3712
Adjust flow of the "second" layer in spiral vase mode #2795
2020-12-09 14:54:26 +01:00
Vojtech Bubnik 364300055e Fix of spiral vase mode with holes in the bottom: Holes in the bottom layers
(non-spiral vase layers) were being closed.
Fixes Bad slicing in vase mode (unexpected bridge and solid infill layers) #3326
Fixes Model with holes in the base does not slice properly in "Vase Mode" #5359
2020-12-09 14:54:26 +01:00
Vojtech Bubnik 1210a250c8 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-12-09 11:02:45 +01:00
Vojtech Bubnik 4af3819c85 Fixing the unit tests of PlaceholderParser. 2020-12-09 11:02:31 +01:00
Vojtech Bubnik 562c0bd563 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-12-09 09:27:03 +01:00
Vojtech Bubnik 7353d8c6e9 Rework of Add random function for gcode macros. #5219 after merge:
The thread local storage variables for the random number generator
were replaced by an external context variable.
Thread local storage is a scarce resource.
2020-12-09 09:19:46 +01:00
Vojtech Bubnik 1e190affcf Merge branch 'pa_macro_random_support' of https://github.com/ardenpm/PrusaSlicer into ardenpm-pa_macro_random_support 2020-12-09 07:33:41 +01:00
Vojtech Bubnik 2d6b694261 Fix of Place on face:
1) Decreased "gimbal lock" epsilon 10x
2) Got rid of unnecessary back and forth conversions which led to numerical inacurracies

This should fix issues #5172, #5011 and #5398
2020-12-09 06:20:41 +01:00
Vojtech Bubnik 6e3fae3865 Fix of #5319 - presets inherited from renamed presets using the old
preset name in the "inherits" field were losing the "inherits" flag.
2020-12-08 17:45:59 +01:00
Vojtech Bubnik 5f456ebbe7 Merge branch 'lh_avoid_crossing_perimeters' 2020-12-08 13:39:33 +01:00
Vojtech Bubnik ca2691c67c Fix for OSX 2020-12-08 10:49:30 +01:00
Vojtech Bubnik c7aee35552 Merge of Fix proposal for crash on rectilinear #5399 2020-12-08 08:45:16 +01:00
Vojtech Bubnik 6fe0b09a04 Fixes "Add instance" and "Remove instance" hotkeys don't work when object is selected via de object browser #5350
Captures the +- hotkeys in the object list to add / remove an instance.
2020-12-08 08:30:15 +01:00
Vojtech Bubnik 3e22b39a42 Improved error handling when loading invalid preset bundle. Improves
Import Configuration bundle can fail if profile names have spaces at the end #5291
2020-12-07 21:10:20 +01:00
Vojtech Bubnik 59d9f35439 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-12-07 19:47:57 +01:00
Vojtech Bubnik ffea00454e Fixed missing include. 2020-12-07 19:47:37 +01:00
Vojtech Bubnik c7586e5713 Fix of Command line slicing bad gcode #5029
SL1 file was exported with a .gcode suffix if the user did not provide
output file name for SLA command line slicing.
2020-12-07 18:39:33 +01:00
Vojtech Bubnik b27e18c970 Fix of fill_pattern handling in the GUI with 100% infill off-by-one #4999 2020-12-07 17:52:45 +01:00