Commit Graph
100 Commits
Author SHA1 Message Date
Vojtech Bubnik 71be87ecef Fixed crash if toolchange G-code modifies final position,
because the extruder was not set yet.
2024-07-15 21:47:10 +08:00
Vojtech Bubnik 0c3802ac4c GCodeGenerator / custom G-codes: Added new read/only options providing
the amount of total extruded material and per extruder extruded material
up to the point the value is evaluated:
"extruded_volume", "extruded_weight",
"extruded_volume_total", "extruded_weight_total"
2023-08-30 23:37:51 +08:00
Vojtech Bubnik 05194ab1f4 PlaceholderParser: new interpolate_table() "function"
interpolate_table(x, (x0, y0), (x1, y1), (x2, y2), ...)
interpolates a table at position x.
2023-08-30 23:37:30 +08:00
Vojtech Bubnik a202fde769 Fix of #6336 #5073: Throw an error if G92 E0 is missing in layer change
G-code with relative extruder addressing. Also thrown an error,
if G92 E0 is used with absolute extruder addressing.
2023-08-20 20:00:49 +08:00
Vojtech Bubnik 153c9517ce FIX: fix the crash issue #1944 caused by wronog thread name in some
corner cases

this patch is cherry-picked from PrusaSlicer's 84722876012ca310e29b291e10fef9d18ae26cea
thanks to 'Vojtech Bubnik' for the fix

Implementing a test whether the current thread is the main (UI) thread
and using it on AppConfig::save() to assert if save is called
from a worker thread.
The old assert was using thread names, which did not always work
on Windows.
Fixes #7839 #9178 #9370 #9420
2023-07-31 14:29:15 +08:00
Vojtech Bubnik 215e845c31 Fixed FDM support generator for object layers lower than minimum
layer height enabled for an extruder.
2021-12-21 16:57:35 +01:00
Vojtech Bubnik 15d95e4264 Fix of Can't add Filament in RC2 #7544 2021-12-21 13:20:47 +01:00
Vojtech Bubnik f3e6a50d44 Merge branch 'master' of https://github.com/Prusa3D/PrusaSlicer 2021-12-21 10:35:04 +01:00
Vojtech Bubnik 53af2fc0b8 Fixed crash in send system info dialog due to empty prerelease string. 2021-12-21 10:34:55 +01:00
Vojtech Bubnik cc66d1e27b Bumped up version number. 2021-12-20 16:05:57 +01:00
Vojtech Bubnik 942c6ea7d8 Follow-up to 2e250c1463
2f63805857
The issue was caused by 2e250c1463
that did not do the binning of floating values well for small numbers,
small numbers were rounded to zero.
The new code now rounds to two significant digits similarly to
sprintf(buf, "%.2g", value)
2021-12-20 14:47:51 +01:00
Vojtech Bubnik ef66087355 Fixed crash when exporting G-code with no extrusions generated
for printable object.
Fixed by cancelling slicing process and emitting an exception
to show a notification.
Fixes carsh #7538
2021-12-20 08:30:54 +01:00
Vojtech Bubnik 5dc2a5a24e Bumped up version to rc2. 2021-12-17 15:00:02 +01:00
Vojtech Bubnik 93c4b941b5 Importing newer configuration data: Fixed compiler warning,
improved error reporting when deleting old cache and vendors directory.
2021-12-16 17:51:40 +01:00
Vojtech Bubnik 13566e3f93 Follow-up to acee3ff1f9
Fixed crash when changing modifier type on a circular printbed
2021-12-16 17:50:36 +01:00
Vojtech Bubnik 2dc461719f Importing newer config when starting the application:
Cache directory is newly deleted before it is imported from the newer
config location.

Linux specific: When asking for certificate directory, perform import
of configs first.
2021-12-15 16:09:22 +01:00
Vojtech Bubnik b2bcf17dfa Fixed previous commit 2021-12-15 14:52:01 +01:00
Vojtech Bubnik 5ba9d59307 If taking configuration snapshot before importing newer configuration fails,
offer to stop importing configuration.
2021-12-15 14:27:25 +01:00
Vojtech Bubnik 56d50d7707 Delete existing vendors before importing newer vendors, as the existing
vendors may not be referenced by newer PrusaSlicer.ini imported.
2021-12-15 13:43:37 +01:00
Vojtech Bubnik 41fa4a05f9 Fixing AppConfig::reset(), calling reset() before load().
This fixes some issues when importing newer configuration over the current.
2021-12-15 12:04:43 +01:00
Vojtech Bubnik 12756e7979 Fixing previous commit on AppConfig and loading newer configuration. 2021-12-15 11:22:44 +01:00
Vojtech Bubnik 87880022fc Some improvements to copying of newer configuration to current folder:
1) Less context is kept in GUI_App.
2) Copying is not being done if loading current PrusaSlicer.ini fails
3) AppConfig (PrusaSlicer.ini) is saved first after the newer configuration is installed.
2021-12-15 11:09:34 +01:00
Vojtech Bubnik b95a83aec1 Bugfix: Loading of AppConfig from an alternate locations. 2021-12-15 10:30:22 +01:00
Vojtech Bubnik b3d42df0f7 Bumped up version to release candidate,
changed the configuration directory from beta to final.
2021-12-14 14:49:32 +01:00
Vojtech Bubnik 373ea7ce75 Merge branch 'master' of https://github.com/Prusa3D/PrusaSlicer 2021-12-13 11:18:55 +01:00
Vojtech Bubnik e3d345aa17 Fix of PrusaSlicer crashes when using fuzzy skin and setting 0 for values #7468
Fuzzy skin will be disabled for regions with
with fuzzy_skin_point_dist < 0.01 or fuzzy_skin_thickness.value < 0.001
as the first one creates excessive long extrusions while the second
one does not modify the perimeters.
2021-12-13 11:18:43 +01:00
Vojtech Bubnik 021457d40f Fixed minor typo in wording. 2021-12-12 14:44:12 +01:00
Vojtech Bubnik 23e4ecdf0f Follow-up to c772d28070
Support for oneTBB from oneAPI, where Intel reworked and deprecated
some interfaces.
Implements some of TBB universal fix (2020/2021 fixes) #7332
This one adds TBB_HAS_GLOBAL_CONTROL for the up to date oneTBB.
2021-12-12 14:14:43 +01:00
Vojtech Bubnik c772d28070 Support for oneTBB from oneAPI, where Intel reworked and deprecated
some interfaces.
Implements some of TBB universal fix (2020/2021 fixes) #7332
2021-12-12 14:01:06 +01:00
Vojtech Bubnik a9dfb74c67 Fix of Bed shape inverted origin position #7474
The bug was introduced with cc44089 due to out of print bed detection refactoring.
2021-12-12 08:38:56 +01:00
Vojtech Bubnik f589dd7851 Added asserts to check for empty calls to glMultiDrawElements().
Some OpenGL drivers crash on empty glMultiDrawElements, see GH #7415.
2021-12-12 07:35:13 +01:00
Vojtech Bubnik 3b1f6d33cc Updating wxWidgets SHA due to
"Fixed HiDPI scaling issue of dark moded spin control buttons"
https://github.com/prusa3d/wxWidgets/commit/2052db1e5d8a2398f3cfe8f5eaf2ebd0657c5b3d
2021-12-12 06:26:15 +01:00
Vojtech Bubnik 45038f2ccc Fix of PS 2.4.0 Beta 4: No image handler for type 15 defined. #7469
On Linux, image handlers need to be initialized before showing
any PNG.
2021-12-11 16:59:21 +01:00
Vojtech Bubnik f033a79a2a Bumped up version number. 2021-12-11 10:28:20 +01:00
Vojtech Bubnik 121bb260db Fix of disabling thick bridges adds unnecessary support interfaces #7260
Improved numerical robustness when removing bridging perimeters from
overhangs to be supported.
2021-12-10 18:27:10 +01:00
Vojtech Bubnik baee1671ef Fix of Bug in First Layer Expansion: Support material base layer intersects/overlaps with interface layer
First layer support expansion was only trimmed with contacts, not with
support interface layes (dense supports supporting contact layers).
2021-12-10 16:42:03 +01:00
Vojtech Bubnik cad459c6ad Fix of "solid_infill_every_layers = 1" does not generate valid infill for some geometries #6736
With solid_infill_every_layers = 1 the new solid layer should be solid
infill not solid bridging infill. Once the layer is correctly classified
as solid with solid_infill_every_layers = 1, everything works as expected.
2021-12-10 16:42:03 +01:00
Vojtech Bubnik 26008adfa1 Trying to fix #7176:
Incorrect vertical size of a wxBitmapComboBox selecting presets
at the Persets page due to likely incorrect setting of a "rubbery"
scale factor of one of the box sizers.
2021-12-10 09:38:57 +01:00
Vojtech Bubnik 63a3971091 Windows specific: Fixes layout issues on plater, short BitmapComboBoxes
with some Windows scaling, see GH issue #7414.
The issue was most likely due to the initial main frame size
generated by Windows based on some unknown rule based on font scaling
and possibly display size and something else. If the initial window height
is short, then the last controls in a "rubbery" sizer are trimmed
and wxBitmapComboBoxes then remember the initial widget size indefinietly.
2021-12-10 09:34:28 +01:00
Vojtech Bubnik f697ede19a The default SLA material speed was set to fast. 2021-12-08 16:56:05 +01:00
Vojtech Bubnik 981e249927 Follow-up to c9727b5a57
Fixed incorrect use of a boolean config value
2021-12-08 11:22:43 +01:00
Vojtech Bubnik fe0d7691c1 Fixed incorrect case in include 2021-12-08 11:19:25 +01:00
Vojtech Bubnik c9727b5a57 Fix of Random placment of top fill throughout model #7442
For this particular model, ClipperLib numerical instability causes
one of the internal surfaces to turn into bridging surfaces
on reslicing. The issue was fixed by reverting to untyped slices if possible.
2021-12-08 09:45:59 +01:00
Vojtech Bubnik 89eabec582 Bumping up patched wxWidgets SHA after fixing a Win32 dark mode specific
GDI resource leak.
Should fix disappearing stuff #7369
2021-12-07 13:17:31 +01:00
Vojtech Bubnik 7f0fcd1354 Fix of infill_only_where_needed for complex objects:
When propagating overhangs to be supported, the regions are newly
properly merged and regularized.

Fix of Stuck at "preparing infill" with "only infill where needed" enabled 1.41.2 #1696
"Only infill where needed" makes slicer crash for some models #6385
[BUG] Slicing stuck for 14h now, 0.8 NZL Ender 5+ Gyroid infill only where need
2021-12-07 13:15:33 +01:00
Vojtech Bubnik d6bb8eead9 Fixed 3mf unit tests to pass on ARM 64bit 2021-12-06 14:20:52 +01:00
Vojtech Bubnik 2ed57d1ba5 Further optimization of G-code viewer: Replaced std::set<RenderPaths>
with std::vector.
2021-12-06 13:21:34 +01:00
Vojtech Bubnik c37090a64d Optimization of G-code rendering, may improve speed issues mentioned in #7415 2021-12-06 11:52:27 +01:00
Vojtech Bubnik 68d5a47121 Caching of shader program attribute and uniform IDs from strings. 2021-12-06 11:52:27 +01:00
Vojtech Bubnik d4d558ebee Fix of GCodeViewer crashes when opening app preferences #7430 2021-12-06 08:23:19 +01:00
Vojtech Bubnik bfce4f6901 Follow-up to 3622f06bed
Work around 3D scene focus after de-activation of the main
window without having to resort to CallAfter(), which breaks
on Linux with some window managers that follow mouser cursor.
Fixes #5620 #6870 #6992

3622f06bed was not a correct solution,
it broke focus for non-modal windows.
Fixes #7419

The actual issue seems to be caused by wxProgressDialog not playing
well with modal dialogs closed just before wxProgressDialog opens.
If wxProgressDialog parent was not a main frame, keyboard focus
was not restored correctly after the wxProgressDialog closed.
2021-12-05 09:09:34 +01:00
Vojtech Bubnik d44525d916 Fix of Upload and simulate wrong label (Issue #7424) 2021-12-05 08:45:31 +01:00
Vojtech Bubnik 8ee8b915a4 Bumped up version to 2.4.0-beta3 2021-12-04 10:12:59 +01:00
bubnikv 6122f630d4 Fixing broken scrolling with a touch pad on some Windows laptops.
This issue #2750 is old, it was fixed and broken again.
Now it is being fixed differently.
2021-12-04 09:37:09 +01:00
Vojtech Bubnik 303de63a90 Localization:
Renamed PrusaSlicer_pt_br.po to pt_BR.po
Added one libslic3r file to lists.txt
2021-12-04 06:05:13 +01:00
bubnikv 3622f06bed Trying to work around 3D scene focus after de-activation of the main
window without having to resort to CallAfter(), which breaks
on Linux with some window managers that follow mouser cursor.
May fix #5620 #6870 #6992
2021-12-03 16:20:01 +01:00
Vojtech Bubnik 7837070d29 Follow-up to c6de3e84eb
Fixed typos in option labels.
2021-12-03 09:40:00 +01:00
Vojtech Bubnik 50da39d30b Windows specific: Only start the 3rd party updater application
if enabled in PrusaSlicer preferences.
2021-12-03 09:26:44 +01:00
Vojtech Bubnik 45d9e6bddd Follow-up to 7828964f8c
Fixed no way of leaving the "export G-code" dialog loop.
Improved the error message by explaining that some characters
are not allowed by a FAT file system.
2021-12-03 09:05:14 +01:00
Vojtech Bubnik 4d1ce89c22 Follow-up to f4dfbb69e2
Now that libcurl is used for URL host substitution,
we want to make sure that the new code compiles on Windows only
because that is where we need to do the URL host substitution
due to Windows 10/11 mDNS resolve issues and
because we have a control on the libcurl version statically linked
on Windows, so we are sure the URL API is available.
2021-12-03 08:12:47 +01:00
Vojtech Bubnik f4dfbb69e2 Replaced the code to substitute host address part in URL
with libcurl library calls. This solution should be more robust
than a homebrew URL parser solution.
2021-12-03 08:02:16 +01:00
Vojtech Bubnik 26a6cb2129 Fixed ironing over areas with modifier meshes:
1) Areas inside modifier meshes were ironed multiple times.
2) Ironing areas were not properly merged.

Layer::lslices were not always properly merged with modifier meshes
applied, which lead to the ironed surface being split and not fully
ironed, as there were artificial gaps created between regions as if
they were covered by perimeters (we don't iron over perimeters).
2021-12-02 18:19:35 +01:00
Vojtech Bubnik a6202c8f16 Merge branch 'master' of https://github.com/Prusa3D/PrusaSlicer 2021-12-02 16:40:26 +01:00
Vojtech Bubnik 21e5481a58 Fix of fan control for raft layers.
Fixes Fan starts at first layer, even though disabled for first layer. #7232
This is a regression due to cooling refactoring, which cooled
support layers independently from object layers. The bug here was that
all the raft layers were cooled together with the first object layer.
2021-12-02 16:40:18 +01:00
Vojtech Bubnik 9ea81a9dbf Fixing Perl unit tests 2021-12-01 19:24:23 +01:00
Vojtech Bubnik 9cf483fe08 WIP Lightning infil: Cleaning up some compiler errors 2021-12-01 19:02:37 +01:00
Vojtech Bubnik 481def3205 WIP Lightning Infill, roughly integrated, untested, disabled with
HAS_LIGHTNING_INFILL
2021-12-01 18:11:41 +01:00
Vojtech Bubnik e8697d2fc2 WIP Cura Lightning infill, initial port. 2021-12-01 16:45:04 +01:00
Vojtech Bubnik a89020abd7 Trying to fix compilation issues due to _() macro being used by mpl. 2021-11-30 18:06:01 +01:00
Vojtech Bubnik 4158f9ec8e New config value "gcode_resolution" replaces the hard coded RESOLUTION
value, which was set to 0.0125mm.
2021-11-30 17:52:05 +01:00
Vojtech Bubnik f51162f238 Improved G-code post processor error reporting in case the G-code
post processor did not edit the G-code in place.
2021-11-30 14:16:04 +01:00
Vojtech Bubnik 5a873dd1e5 Fixing a loophole in GUI::format() for UTF8 template input. 2021-11-30 13:49:22 +01:00
Vojtech Bubnik c514f45260 Fix of #7386, missing include 2021-11-30 13:17:56 +01:00
Vojtech Bubnik 229c45c729 Linux checking for DISPLAY variable: Don't check for WAYLAND_DISPLAY,
PrusaSlicer does not use it.
2021-11-30 12:58:47 +01:00
Vojtech Bubnik a09b4ff5c8 Linux specific: Avoid crashing with DISPLAY variable not set. 2021-11-30 12:41:35 +01:00
Vojtech Bubnik d0014c3aa4 Fix of one more compiler warning. 2021-11-30 11:13:24 +01:00
Vojtech Bubnik 7a2bd9023a One more fix to run unit tests on Windows: Missing DLLS need to be copied. 2021-11-30 11:00:26 +01:00
Vojtech Bubnik 5fd279cbc8 Fixing clang compiler warnings 2021-11-30 10:50:27 +01:00
Vojtech Bubnik c5e8a1c409 Fixing linking on Windows after eddcd93e82
Merge branch 'RandoMan70-introduce-mks-wifi-support-2.3.0-rc2'
2021-11-30 09:40:40 +01:00
Vojtech Bubnik b553ef7478 Follow-up to 8967ee57ed
FlashAir does not support start of print
2021-11-30 09:18:05 +01:00
Vojtech Bubnik 8967ee57ed Start Simulation for Duet
Author: Martin Loidl <martin.loidl@gmail.com>

    * PrintHost can now return a set of possible actions to be done after a
      upload is finished
    * Added new Button for starting a simulation after upload
    * Duet Hosts are now able to start a simulation after upload instead of
      starting a print
    * removed now unneeded config key 'printhost_print'
2021-11-30 08:43:39 +01:00
Vojtech Bubnik 56d5a340ce Follow up to the MKS merge:
Reformatted for code conformity.
Changed the xxx_ member variables to m_xxx
Replaced std::list with std::deque
2021-11-29 18:12:35 +01:00
Vojtech Bubnik eddcd93e82 Merge branch 'RandoMan70-introduce-mks-wifi-support-2.3.0-rc2' 2021-11-29 17:36:41 +01:00
Vojtech Bubnik b02b33338c Merge branch 'introduce-mks-wifi-support-2.3.0-rc2' of https://github.com/RandoMan70/PrusaSlicer into RandoMan70-introduce-mks-wifi-support-2.3.0-rc2 2021-11-29 17:31:21 +01:00
Vojtech Bubnik 6883919a7b Fixed handling of "clip_multipart_objects".
This was a regression of 2.4.0-alpha1 wrt. 2.3.3, where handling of
multiple volumes was refactored.
As a result, handling multi-part objects with clip_multipart_objects
disabled was broken.

With clip_multipart_objects disabled, the multi-part objects no more
clip one another and it is sole responsibility of the user to handle
overlaps.

Fixes "add part" error - PrusaSlicer 2.4.0 b2 #7366
2021-11-29 16:33:44 +01:00
Vojtech Bubnik e7cc12b2c9 Fix of output file dialog extension template for OSX:
When opening a "Save" file dialog with a default output file name,
OSX file dialog strips the provided extension and replaces it
with the default extension. This causes issues with a custom
file output template, where a non-default file extension is specified.

This commit changes the function to generate file dialog templates
so that if a default extension is provided, it is emitted
as first into the extension template.

Fixes Post Processing passes wrong name #7190
2021-11-29 15:46:25 +01:00
Vojtech Bubnik 87b6073575 Follow-up to aed0003476
refactored for clarity
    Fix of SPE-1109 / #7285 (spiral vase+sequential printing)
    This was broken with ae7d6db, between 2.4.0-alpha1 and alpha2.
2021-11-29 10:26:53 +01:00
Vojtech Bubnik bcc02172f9 PrintApply: Limiting the update of a modifier to an intersection
of bounding boxes of all the modifiers up to the parent printable volume.
2021-11-29 10:13:09 +01:00
Vojtech Bubnik f458101db6 Fix of Resolution config setting appears to do nothing #7364
This is a regression wrt. to PrusaSlicer 2.3.3 due to refactoring
of the slicing process for better multi material support
and to support negative volumes.
2021-11-29 09:20:37 +01:00
Vojtech Bubnik a996f33579 Follow-up to a0ee41770d
see pull request #7323 for discussion what went wrong.

The original issue
    Fix of Print::apply() creating hierarchy of regions for complex scenarios:
    Unnecessary regions were created for a modifier over a volume or a modifier,
    where the modifier did not modify any of its parent's properties.
    This lead to an explosion of regions for this particular 3MF.
    Fixes Non Responsive & Memory Leak when opening or changing this 3MF project #7220

After a0ee41770d
quite often regions were not re-regenerated. This shoul now be fixed
together with the original slowness & memory leak issue.
2021-11-22 15:33:14 +01:00
Vojtech Bubnik 55a555c848 Tooltip for the new SLA material parameter "material_print_speed" 2021-11-19 16:30:37 +01:00
Vojtech Bubnik 6ebee079c9 Follow-up to 9994e0bcbc
Start updater during start of prusaslicer.
Don't search the directory if only verifying that a file exists
is sufficient.
2021-11-19 15:48:03 +01:00
Vojtech Bubnik 56f409921c Improved some string initialization and zeroing.
Assigning = "" in constructor does not make sense,
.clear() is better than = "",
default paramaeter = {} is cheaper than = ""
2021-11-19 15:34:22 +01:00
Vojtech Bubnik 4a7ac79637 Generalize PrusaLink 2021-11-19 15:32:42 +01:00
Vojtech Bubnik 05ed0a9b60 Removed check for a 64bit build running on a 32bit system,
such condition could never be fulfilled.

Slightly polished the wording of the warning.
2021-11-19 11:07:25 +01:00
Vojtech Bubnik d8590ac0a8 Tiny eigen vectorization beautification. 2021-11-19 10:56:07 +01:00
Vojtech Bubnik f5c23871e8 Follow-up to 77548df00f
(Fixed missing sinking property in objects list for multipart objects
with a part completely below the printbed):

It was not possible to slice an object with some part completely below
the print bed. The BuildVolume collision check newly supports
a "completely below print bed" return status,
Model evaluates this "completely below print bed status" allowing
objects with some volumes completely below the print bed to print.
2021-11-19 10:32:46 +01:00
Vojtech Bubnik ecd71e3e80 Some debugging code (asserts) for the optimized G-code number formatter. 2021-11-18 16:42:07 +01:00
Vojtech Bubnik e063fe920e Fix of the last commit, G-code resolution was increased 10x by mistake. 2021-11-16 15:59:43 +01:00
Vojtech Bubnik 135b3fcea8 Merge branch 'master' of https://github.com/Prusa3D/PrusaSlicer 2021-11-16 15:48:17 +01:00