Commit Graph

17610 Commits

Author SHA1 Message Date
Vojtech Bubnik
30b3514b5f 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
YuSanka
f587beb00e Follow-up d8ecc191da - Remove from code a condition which has opposite effect effect now.
+ OptionsGroup::activate_line():Add same as at OG_CustomCtrl::CtrlLine::render() condition for the drawing of a option label.
It means that we draw option labels only, if line has more than one option.
2021-12-07 10:55:27 +01:00
YuSanka
1a2f51630b Added a check that first layer height is not expressed as a percentage (related to https://github.com/prusa3d/PrusaSlicer/issues/7418)
first_layer_height cannot be changed to ConfigOptionFloat, that would break loading of old 3MFs.
The relative values from 3MFs should already be converted to absolute in `Preset::normalize`, what is missing is the UI check.

+ Code refactoring for OptionsGroup::create_single_option_line():
Don't clear label value in an Option. This value is used in Field::get_value_by_opt_type() to show error "%s doesn't support percentage".
=> At functions OG_CustomCtrl::CtrlLine::render() and OG_CustomCtrl::CtrlLine::get_pos() added check if current line has more than one option.
=> Draw option's label only when line has several options.
2021-12-07 09:20:36 +01:00
David Kocik
c2d22bd130 Followup on 6490456ec4
Rename variable
2021-12-06 17:24:54 +01:00
David Kocik
468f63e63e Do not perform config check if conf folder is redefined 2021-12-06 17:15:22 +01:00
enricoturri1966
5f1c8c37a3 Follow-up of 2ed57d1ba5 - Removed unneeded sort 2021-12-06 14:25:17 +01:00
Vojtech Bubnik
3873630520 Fixed 3mf unit tests to pass on ARM 64bit 2021-12-06 14:20:52 +01:00
Vojtech Bubnik
484cad81ad Further optimization of G-code viewer: Replaced std::set<RenderPaths>
with std::vector.
2021-12-06 13:21:34 +01:00
Vojtech Bubnik
f007565e3f Optimization of G-code rendering, may improve speed issues mentioned in #7415 2021-12-06 11:52:27 +01:00
Vojtech Bubnik
379d07adef Caching of shader program attribute and uniform IDs from strings. 2021-12-06 11:52:27 +01:00
YuSanka
9165c2482d Allow a "Dark mode" in Preferences for G-code viewer 2021-12-06 11:44:29 +01:00
YuSanka
0fbc5dd73b Fix for #7419 - Non-modal settings window loses focus after accepting dialog (MSW specific issue)
MessageDialog is used instead of wxMessageDialog on MSW for supporting of the Light/Dark color mode.
But a constructor of the MsgDialog replaces a parent which is equal to nullptr with the MainFrame .
That is why non-modal dialog with Preset Settings loses a focus after close of the MessageDialog.

"m_msg_dlg_parent" is added to ConfigManipulation class. ConfigManipulation's instance owed by Tab will use the Tab as a parent for MessageDialogs.
=> The MessageDialog with information about configuration incompatibility will always appear over related SettingsTab
and a non-modal dialog with Preset Settings will not lose the focus.
2021-12-06 11:44:29 +01:00
enricoturri1966
58c8bcbfad #7415 - GCodeViewer::refresh_render_paths() - Remove empty render paths to avoid calling glMultiDrawElements() with empty data while rendering toolpaths. 2021-12-06 11:39:10 +01:00
Vojtech Bubnik
5180a237e1 Fix of GCodeViewer crashes when opening app preferences #7430 2021-12-06 08:23:19 +01:00
Vojtech Bubnik
1c7fb34e56 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
864583f84c Fix of Upload and simulate wrong label (Issue #7424) 2021-12-05 08:45:31 +01:00
Spencer Owen
d16a98fe7c Ingore DS Store files on mac (#7420) 2021-12-04 21:54:08 +01:00
Vojtech Bubnik
97f367a093 Bumped up version to 2.4.0-beta3 2021-12-04 10:12:59 +01:00
YuSanka
e523e6f6a2 Fix for #7408 - Crash after closing error for deleting box shape with cylinder negative volume 2021-12-04 10:05:14 +01:00
bubnikv
f701f84b83 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
9f039bad40 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
kangkang
72e2bf2f46 Localization support for languages with country code on Linux. (#7410) 2021-12-04 05:57:15 +01:00
YuSanka
7912e91c42 Suppress to use info line "Post processing scripts shall..." on Linux.
Otherwise click on this line causes a strange frizz of the settings page.
And line hovering by the mouse has no visual effect on Linux.
(Neither wxEVT_ENTER_WINDOW nor wxEVT_LEAVE_WINDOW isn't catch by wxStaticText for some reason)

+ Call of the SetToolTip() moved from constructor to wxEVT_ENTER_WINDOW. In this case Tooltip text will always respect to the "suppress_hyperlinks" value.
2021-12-03 16:47:31 +01:00
bubnikv
3790884312 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
YuSanka
36b74e0845 Localization.
* --boost option is added to gettext_make_pot script to recognize Boost format strings.
* New script gettext_merge_po_with_pot is added to merging new lines from POT to current PO
* --check-format option is added to gettext_po_to_mo script to check language dependent format strings during generation MO from PO.
* POT is updated and all PO files are merged with it. So, community can just load needed PO file and continue in translation.
* ExtruderSequenceDialog: Added messed localization markers
2021-12-03 16:19:09 +01:00
Lukáš Hejl
bdab3b8a5a Fixed a bug in the precomputation of the data for bucket fill that was triggering assert in TriangleSelector::neighbor_child(). 2021-12-03 14:06:53 +01:00
David Kocik
4a1507a1f6 Deleted unused function in Octoprint 2021-12-03 09:47:56 +01:00
tamasmeszaros
ea5916bd4c Fix CGAL build with major version > 4 on Linux
fixes #7341

CGAL upstream CMake config will lock in the major version if installed as a distro package and will not provide any version info if compiled and installed from upstream. As of this commit, PrusaSlicer can be built with CGAL 4.13.2, and 5.0 but there is no universal way to specify the minimum version that would work with static dependencies and linux packages.

sorry #4912
2021-12-03 09:46:07 +01:00
Vojtech Bubnik
f5aefbf21e Follow-up to c6de3e84eb
Fixed typos in option labels.
2021-12-03 09:40:00 +01:00
YuSanka
50737966ac Follow-up to 7272b2b083
Comment is extended
2021-12-03 09:39:37 +01:00
Vojtech Bubnik
8ad6c92565 Windows specific: Only start the 3rd party updater application
if enabled in PrusaSlicer preferences.
2021-12-03 09:26:44 +01:00
Vojtech Bubnik
7cc5d0df78 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
4ee296d9c5 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
a8f8563b29 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
Lukáš Hejl
a30b41195e Added a missing include (GCC11.1 without PCH). 2021-12-02 21:04:55 +01:00
Vojtech Bubnik
a0fbec142e 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
YuSanka
139121e649 Fix for #7207 - Display of object labels does not match with the "View"-menu, if "Complete individual objects" is used 2021-12-02 17:08:03 +01:00
Vojtech Bubnik
a9886b3381 Merge branch 'master' of https://github.com/Prusa3D/PrusaSlicer 2021-12-02 16:40:26 +01:00
Vojtech Bubnik
78612b6f04 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
David Kocik
000daaa612 Substitution of host during ip resolve: correct handling of ipv6 2021-12-02 16:31:19 +01:00
YuSanka
a889a6c8b0 ObjectList: Fixed update of the icons for InfoItems, when color mode was changed
Sidebar:ObjectInfo: Fixed update of the icon, when color mode was changed
+ Added new icons for "Sinking" and "ShapeGallery"
2021-12-02 16:11:52 +01:00
YuSanka
bae65de75c Added description line for the "Post-processing scripts".
ogStaticText id extended for SetPathEnd() function. It allows to use description line like a hyperlink
2021-12-02 15:18:05 +01:00
David Kocik
1737d02c85 Merge branch 'dk_notifications' 2021-12-02 14:12:47 +01:00
David Kocik
93fad4a975 Load basic notifications later so the translations are correct. 2021-12-02 13:57:49 +01:00
David Kocik
679dc38c9d few asserts in notifications manager 2021-12-02 13:57:02 +01:00
enricoturri1966
88bed127e3 Fixed build when tech ENABLE_SMOOTH_NORMALS is enabled 2021-12-02 13:42:26 +01:00
Lukáš Hejl
cc6d3c1c86 Merge branch 'lh_cursors' 2021-12-02 12:41:03 +01:00
Lukáš Hejl
0110b4c9e2 Replaced the repeated application of Cursors (Sphere or Circle) in painting using 2D and 3D Capsules.
Previously, the Cursor (Sphere or Circle) was repeatedly applied between two mouse positions, creating brushstrokes with ripples on the edges between those mouse positions.
Now, a single capsule (3D or 2D) is applied between those mouse positions, which creates brushstrokes without these ripples.
2021-12-02 12:36:48 +01:00
Lukáš Hejl
2d306da4a0 Refactoring of Cursors in TriangleSelector as preparation for upcoming improvements of painting. 2021-12-02 12:36:48 +01:00
YuSanka
05bbd0b50a Code refactoring for d88ef826cd
reload_scene() call were followed by update(). It synchronizes back-end with front-end and then it calls reload_scene() again.
However in SLA mode reload_scene() expects the back-end to be synchronized with front-end, thus we get asserts that we all have ignored for a long time.

So, we call ObjectList::update_info_items() after the call of update() where reload_scene() is already called and GLCanvas3D::is_object_sinking() will return correct value
2021-12-02 11:26:20 +01:00