Commit Graph
100 Commits
Author SHA1 Message Date
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
Vojtech Bubnik 333577b905 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-12-07 17:09:11 +01:00
Vojtech Bubnik 780418435a Fix of Custom profiles prevent the slicer from starting up #4996
Creative user made a profile inherit from itself.
2020-12-07 17:09:02 +01:00
Vojtech Bubnik 82dfb990ef Fix of [BUG]Post-Processing Scripts not called while slicing from command line #4903 2020-12-07 15:21:36 +01:00
Vojtech Bubnik b909ce7a3d Fix of [BUG]Environment variables not all exported while calling Post-Processing Scripts #4901 2020-12-07 14:59:36 +01:00
Vojtech Bubnik 8bf55273c3 fix of incorrect keyboard prefix shown on OSX for Arrange edit field
Arrange Options dialogue improvement request #5217
2020-12-07 10:02:31 +01:00
Vojtech Bubnik 44dacdd4f8 Manual merge of fix png alpha channel support for gtk3 #5298 2020-12-07 09:20:12 +01:00
Vojtech Bubnik ac05849582 Bumped up version number 2020-12-05 12:00:38 +01:00
Vojtech Bubnik 625e69a199 Fixed typo (incopatible -> incompatible) 2020-12-05 10:56:58 +01:00
Vojtech Bubnik f904752ba7 Fix of install wizard: Escape ampersands in printer models. 2020-12-05 09:55:09 +01:00
Vojtech Bubnik 575ec6ef65 Linux specific: Documented an improved way of offering language
selection on Linux.
2020-12-05 09:12:28 +01:00
Vojtech Bubnik 9b05513ea9 Fix of rework of loading configs from 3MFs, AMFs, gcodes
as modifications of existing user or system presets.
2020-12-05 08:14:04 +01:00
Vojtech Bubnik 9c959d14e0 Limiting the resolution of G-code export for retract/deretract feedrate
to three digits.
Fixes excessive precision in gcode? #5362
2020-12-04 13:37:36 +01:00
Vojtech Bubnik efc1100eb0 Fixed missing include 2020-12-04 13:37:36 +01:00
Vojtech Bubnik 6981372da0 Fixed missing include (OSX - clang specific) 2020-12-04 13:17:30 +01:00
Vojtech Bubnik 4f4d136f19 Fix of cooling preset hints 2020-12-04 13:05:25 +01:00
Vojtech Bubnik 0688778a24 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-12-04 11:53:29 +01:00
Vojtech Bubnik e1fc0b17a2 Ramp up layer cooling fan over X layers #848
Fan speed will be ramped up linearly from zero at layer disable_fan_first_layers
to maximum at layer full_fan_speed_layer. full_fan_speed_layer will be
ignored if lower than disable_fan_first_layers, in which case
the fan will be running at maximum allowed speed at layer
disable_fan_first_layers + 1.;

WIP: The cooling PresetHints are likely not finalized yet.
2020-12-04 11:53:02 +01:00
Vojtech Bubnik e42e25c933 1) Storing the physical_printer_settings_id into the 3MF, AMF, GCode.
2) Activating the physical_printer_settings_id when loading from 3MF, AMF, GCode.
   The physical printer is only activated if it references the printer_settings_id
   loaded from the same file.
3) When loading the presets from 3MF, AMF, GCode, the "external" profiles
   are no more created for profiles which differ from the local profiles
   the loaded profiles reference. Instead, the referenced profile is activated
   and modified with the loaded preset. If the referenced profile does not
   exist, but the profile refers to a system profile with the "inherits"
   fileds, the system profile is loaded and modified instead.
   This works for all profiles with the exception of multi-extruder
   printer with multiple filament profiles modified. In that case
   the first modified filament profile will be loaded as modified,
   while the other modified profiles will be loaded as "external".

This should fix
Physical printer + 3mf file, wrong preset used to generate gcode #5178
and possibly
https://github.com/prusa3d/PrusaSlicer/issues/5272
2020-12-04 10:48:51 +01:00
Vojtech Bubnik dea4c13677 Revert "Fix of Proxy secured print host URL. Special character on password #4187"
The whole URL line was incorrectly escaped including the http:// prefix,
which is not correct.
This reverts commit 1b720dbc3d.
2020-12-03 14:20:04 +01:00
Vojtech Bubnik 6fd1143b1c Fix of Unexpected Behavior @ Application Open and When GCODE is Generated #5254
Icon not loaded from the exe on Windows.
2020-12-03 14:14:40 +01:00