Commit Graph

8607 Commits

Author SHA1 Message Date
Vojtech Bubnik
0f3cabb5d9 Support for forward compatibility of configurations, user and system
config bundles, project files (3MFs, AMFs). When loading these files,
the caller may decide whether to substitute some of the configuration
values the current PrusaSlicer version does not understand with
some reasonable default value, and whether to report it. If substitution
is disabled, an exception is being thrown as before this commit.
If substitution is enabled, list of substitutions is returned by the
API to be presented to the user. This allows us to introduce for example
new firmware flavor key in PrusaSlicer 2.4 while letting PrusaSlicer
2.3.2 to fall back to some default and to report it to the user.

When slicing from command line, substutions are performed by default
and reported into the console, however substitutions may be either
disabled or made silent with the new "config-compatibility" command
line option.

Substitute enums and bools only.  Allow booleans to be parsed as
    true: "1", "enabled", "on" case insensitive
    false: "0", "disabled", "off" case insensitive
This will allow us in the future for example to switch the draft_shield
boolean to an enum with the following values: "disabled" / "enabled" / "limited".

Added "enum_bitmask.hpp" - support for type safe sets of options.
See for example PresetBundle::load_configbundle(...
LoadConfigBundleAttributes flags) for an example of intended usage.

WIP: GUI for reporting the list of config substitutions needs to be
implemented by @YuSanka.
2021-06-27 16:57:05 +02:00
Vojtech Bubnik
ad336e2cc0 Because of a crash in PrusaSlicer 2.3.0/2.3.1 when showing an update
notification with some locales, we don't want PrusaSlicer 2.3.0/2.3.1
to show this notification. On the other hand, we would like PrusaSlicer
2.3.2 to show an update notification of the upcoming PrusaSlicer 2.4.0.
Thus we will let PrusaSlicer 2.3.2 and couple of follow-up versions
to download the version number from an alternate file until
the PrusaSlicer 2.3.0/2.3.1 are phased out, then we will revert to
the original name.
2021-06-25 17:54:43 +02:00
Vojtech Bubnik
9b70efc46a Windows specific: Transactional saving of PrusaSlicer.ini to ensure
that configuration could be recovered in the case PrusaSlicer.ini
is corrupted during saving. The config is first written into a temp file
marked with a MD5 checksum. Once the file is saved, it is
copied to a backup file first, then moved to PrusaSlicer.ini.

When loading PrusaSlicer.ini fails, the backup file will be loaded
instead, however only if its MD5 checksum is valid.

The following "Fixes" comments are for github triggers. We implemented
a workaround, not a fix, we don't actually know how the data corruption
happens and why. Most likely the "Move file" Windows API is not atomic
and if PrusaSlicer crashes on another thread while moving the file,
PrusaSlicer.ini will only be partially saved, with the rest of the file
filled with nulls. We did not "fix" the issue, we just hope that our
workaround will help in majority of cases.

Fixes prusaslicer wont open 2.3 windows 10 #5812
Fixes Won't Open - Windows 10 #4915
Fixes PrusaSlicer Crashes upon opening with "'=' character not found in
line error" #2438
Fixes Fails to open on blank slic3r.ini %user%\AppData\Roaming\Slic3rPE
2021-06-25 16:44:06 +02:00
YuSanka
1378d2084a Fix of #6650 - show estimated print time on ruler is not working
+ Parent center of the MessageDialogs
2021-06-24 13:59:48 +02:00
Vojtech Bubnik
204ae62449 Slight improvement in cost of background slicing cancellation. 2021-06-23 16:37:18 +02:00
Vojtech Bubnik
3a5a0575ef Fixed after removing TBB deprecated APIs 2021-06-23 15:24:05 +02:00
Filip Sykala
38c83844a2 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-06-23 13:59:03 +02:00
Filip Sykala
f8d759ad64 Assert check of new vertex can't be used general on All models(depends on scale)
Fix variable name in compare function
Remove second triangle from  MPQ
2021-06-23 12:16:22 +02:00
Roman Beránek
e13535f822
drop deprecated TBB components (#6590)
Quite some time ago, many of the TBB components were deprecated in favor
of their near-equivalents in the STL or, in the case of task_scheduler_init,
were broken up and reconstituted under a less ad-hoc logic. Every time a header
file marked deprecated gets included, a rather loud warning is emitted, which
leads to a complete TBB's domination over the stderr stream during build time,
making it harder to notice _legitimate_ warnings.

Instead of merely muting the output with TBB_SUPPRESS_DEPRECATED_MESSAGES,
perform a genuine migration away from the deprecated components with the added
benefit of achieving a source compatibility with oneTBB, the successor to TBB
which has dropped the deprecated API for good.

What got replaced for what?

| Deprecated				| Replacement					|
| ------------------------------------- | --------------------------------------------- |
| `tbb::atomic`				| `std::atomic`					|
| `tbb::mutex`				| `std::mutex`					|
| `tbb::mutex::scoped_lock`		| `std::scoped_lock<std::mutex>`		|
| `tbb::mutex::scoped_lock` (empty)	| `std::unique_lock<std::mutex>` (deferred)	|
| `tbb::task_scheduler_init`		| `tbb::global_control`				|
| `tbb::this_thread`			| `std::this_thread`				|

Signed-off-by: Roman Beranek <roman.beranek@prusa3d.com>
2021-06-23 11:48:48 +02:00
enricoturri1966
7a7108b2ad Fixed warning 2021-06-23 10:30:15 +02:00
Filip Sykala
1196fac551 Parallel QEC initialization 2021-06-23 09:50:27 +02:00
tamasmeszaros
2096a6dbbf Fix error reporting when cgal mesh boolean crashes.
Change error report when catching SEH on cgal mesh boolean.
2021-06-22 18:13:35 +02:00
tamasmeszaros
49c6ce76d0 Search for suitable rotation when arranging items larger than the bed 2021-06-22 11:23:32 +02:00
Vojtech Bubnik
d3233d66fb Fixing previous commit 2021-06-22 10:05:03 +02:00
Filip Sykala
892c246700 Fix Linux warnings
../src/libslic3r/QuadricEdgeCollapse.cpp:110:39: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
../src/libslic3r/QuadricEdgeCollapse.cpp:394:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
../src/libslic3r/QuadricEdgeCollapse.cpp:395:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
../src/libslic3r/QuadricEdgeCollapse.cpp:514:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
../src/libslic3r/QuadricEdgeCollapse.cpp:514:42: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
2021-06-22 10:01:14 +02:00
Vojtech Bubnik
c0715866ff Win32 specific: SEH handler on background thread. Catches Windows
structured exceptions (hard crashes, segmentation faults...),
converts them to Slic3r::HardCrash exceptions and displays the exception
using the usual PrusaSlicer way.
The SEH handler is installed on the main background slicing thread
as of now, therefore hard crashes in TBB worker threads are not handled.
2021-06-22 09:54:08 +02:00
Filip Sykala
7c13cfa1d9 Add test checking diference in volume before/after simplification
FIX warnings
..\src\libslic3r\QuadricEdgeCollapse.cpp(173): warning C4056: overflow in floating-point constant arithmetic
..\src\libslic3r\QuadricEdgeCollapse.cpp(232): warning C4056: overflow in floating-point constant arithmetic
2021-06-22 09:41:38 +02:00
Filip Sykala
e3cdeda673 Add quadric edge collapse 2021-06-22 09:21:16 +02:00
YuSanka
4e59fd504e DoubleSlider: Fixed out of range assert 2021-06-21 14:30:28 +02:00
Vojtech Bubnik
d291bb397b Fixed compiler warnings 2021-06-20 16:39:10 +02:00
Vojtech Bubnik
0d70a2be69 Renamed create_face_neighbors_index() to its_face_edge_ids().
Renamed its_create_neighbors_index() / its_create_neighbors_index_par() to its_face_neighbors() / its_face_neighbors_par().
New variant of its_face_edge_ids() to create edge IDs from face neighbors.
Fixed some incorrect use of _NDEBUG, it should be NDEBUG.
PrintObject::slice_support_volumes() returns newly Polygons, which are cheaper than ExPolygons.
Updated SeamPlacer and SupportMaterial to use regions defined as Polygons, not ExPolygons.
TriangleSelector::get_facets_strict() returning a patch with T-joints retriangulated.
New slice_mesh_slabs() - slicing projections of a triangle patch into top / bottom layers of slices, for MMU top / bottom segmentation.
TriangleMeshSlicer - use 64 mutexes instead of one when scattering sliced triangles into layers. This makes a big difference on modern many core desktop computers.
When applying MM segmented regions to input regions, the split regions are now re-merged with 10x higher positive offset epsilon to avoid creating gaps.
When testing for existence of paint-on supports or seam, use a more efficient has_facets() test, which does not deserialize into the expensive TriangleSelector tree structure.
GLIndexedVertexArray newly uses Eigen::AlignedBox<float, 3> for efficiency instead of our double based BoundingBoxf3.
Improved MMU painting refresh speed by optimizing generation of the vertex buffers.
Refactored MMU segmentation - projection of painted surfaces from top / bottom.
	1) Parallelized.
	2) Using the new slice_mesh_slabs() instead of projecting one triangle by the other and merging them with Clipper.
2021-06-20 15:21:12 +02:00
combolek
d08a70478e
Fixes Linux (and probably MacOS) build: wx/msw/registry.h is only available on Windows. (#6634) 2021-06-19 11:45:48 +02:00
YuSanka
5434a8980f Some code beautification for the last commit
+ Fix of the TabPresetComboBox layout for "light mode" + "tabs as a menu items" preferences
2021-06-18 21:54:20 +02:00
Oleksandra Yushchenko
fd071421cb
DarkMode for MSW (#6632)
* MSW specific: Dark Mode: First implementation

* Use menu instead of NoteBook

* Implemented MessageDialog
+ Fixed DarkMode for all dialogs and ColorPicker

* MSW DarkMode: Added missed updates for the switching between modes

* MSW DarkMode: Updated all existed context menus after switching of the mode
+ Added markers for the menu item witch is related to the selected tab

* Used wxFrame instead of wxDialog for SettingsDialog
(this change allow us to use menu bar in SettingsDialog)

+ fix for #6548 - Prusa Slicer 2.3.1 not activating non-modal settings window if settings window is minimized

* Implemented "Always use Dark mode colors" preference option

* Fixes for non_MSW build

* Next fixes for non-MSW builds

* Preferences: Fixed selection of the Settings Layout for non-MSW platforms
+ Updated DarkMode for colorpickers

* Windows DarkMode next fixes

* MSWDarkMode: Suppress to use system color to the PrusaSlicer
Select "Preferences -> Use Dark color mode (experimental)" to allow dark mode for the application

* Fixed MSW build

* MSWDarkMode: Upadteed color mode for ExtruderSequenceDialog and for dialogs related to the DoubleSlider

* Implemented Auto recreation of the PrusaSlicer when color mode is changed.

* Preferences: Added option "Set settings tabs as menu items (experimental)"
2021-06-18 19:46:04 +02:00
YuSanka
65f440c2ba Follow-up e3000c5305 - Fixed OSX build 2021-06-18 12:22:59 +02:00
tamasmeszaros
d3de14170a Fix build for unixes 2021-06-17 22:21:34 +02:00
YuSanka
e3000c5305 Implementation of the FR #3856 - Add option to replace stl in object list (right panel) 2021-06-17 21:29:18 +02:00
Lukáš Hejl
684b66125e Fixed an issue where multi-material segmentation ignored the last extruder. 2021-06-17 19:26:40 +02:00
tamasmeszaros
976dd72b8b Catching of sigsegv and sigfpe with structured exceptions on win 2021-06-17 15:17:21 +02:00
tamasmeszaros
a5529aff1e Implement custom integer->string conversion for hashing
Converts to hexadecimal, reversed order which is faster.
2021-06-17 15:40:22 +02:00
enricoturri1966
72df789077 Fixed the following crash:
1) Start PrusaSlicer

2) Add a box to the plater

3) Open Seam Painting or Paint - on supports gizmo

4) Save project

->crash
2021-06-17 08:16:54 +02:00
YuSanka
c5cb94d92c Follow up 0b5ea8f429
- Un-select random sequence by default
- Added a check for interval height. It have to be bigger then print layer height
2021-06-16 18:20:26 +02:00
Lukáš Hejl
2e54648b97 Fixed a multi-material painting gizmo crash when extruders colors aren't initialized, which happens when switching between SLA and FDM printer. 2021-06-16 17:05:24 +02:00
Lukáš Hejl
b32202e597 Fixed incorrectly displayed custom supports and seams in the support and seam gizmos after 7377fc34ac. 2021-06-16 13:41:35 +02:00
Vojtech Bubnik
d0411223be TriangleSelector:
1) Fixing yesterday's regression in deserialization of older painted 3MFs
   (order of triangle children is now reversed, thus the serialization
    / deserialization has to take it into account).
2) WIP extraction into facets to triangulate T-joints.
2021-06-16 10:52:00 +02:00
Lukáš Hejl
6ddd88e596 Fixed an issue where the color of the first extruder always replaced the default color after painting in a multi-material gizmo.
multi_material_segmentation_by_painting is now returning only the painted region. Regions with default colors that aren't painted by multi-material gizmo aren't returned.
2021-06-16 06:06:37 +02:00
Lukáš Hejl
ae1a799cf4 Fixed an issue for multi-volume objects where the seed fill visualization in the multi-material gizmo didn't disappear after the mouse was moved to another volume. 2021-06-16 06:06:34 +02:00
Lukáš Hejl
c59cf5de40 Fixed layers with the wrong color after multi-material segmentation on objects with multiple objects. 2021-06-16 06:06:34 +02:00
Lukáš Hejl
21b38db488 Added using the move operator in some parts of multi-material segmentation. 2021-06-16 06:06:34 +02:00
Lukáš Hejl
a06e42d01f Moved debug prints out of parallel cycles, and more debug prints were added for multi-material segmentation. 2021-06-16 06:06:34 +02:00
Lukáš Hejl
15a1b51339 Refactoring and cleanup of painting gizmos. 2021-06-16 06:06:34 +02:00
Lukáš Hejl
8a77fa38f0 Modified MMU painting gizmo behavior so that all triangles aren't painted by default by the first extruder, which was causing several problems.
This commit also fixed the following issues:
1) After loading a 3MF with painted triangles using the MMU painting gizmo, the painted triangles might not be displayed correctly in the MMU painting gizmo.
2) The MMU segmentation was unnecessarily executed for all layers and not just for the painted layers.
3) Object's base color wasn't changed when the assigned extruder for that object was changed while the MMU paint gizmo was opened.
4) Changing the base color of an object was only possible by removing all painted triangles.
2021-06-16 06:06:34 +02:00
Lukáš Hejl
b2677f513c Fixed a possible crash when closing the MMU painting gizmo cause by a non-virtual destructor. 2021-06-16 06:06:33 +02:00
Lukáš Hejl
7377fc34ac Fixed cracks in MMU painting gizmo. All triangles, even not painted triangles, are now rendered inside MMU painting gizmo.
The cracks were caused by using glPolygonOffset to resolve Z-fighting. All triangles of the object were firstly rendered entirely with a base color. And then paint triangles were drawn over these already rendered triangles.
2021-06-16 06:06:33 +02:00
Lukáš Hejl
de9ed9ee3e Follow-up of 39fd8065a1: Apply changes also for MMU painting gizmo, so shader->start_using() is called only once. 2021-06-16 06:06:33 +02:00
Lukáš Hejl
c751f2d638 Show info about multi-material segmentation in ObjectList. 2021-06-16 06:06:33 +02:00
Vojtech Bubnik
154e552006 TriangleSelector optimizations:
1) When splitting a triangle, vertices are now properly shared with
   the neighbor triangles, if these are already split.
   Please note that the splitting may not be regular if the splitting
   thershold is changed between splitting calls. Still the new code
   shares the vertices accross shared edges properly.
2) Triangles resp. vertices are newly reused after deleted using
   linked lists of released triangles resp. vertices.
   This mechanism replaces the old mechanism of reusing already split
   triangles.
2021-06-15 14:43:46 +02:00
YuSanka
0b5ea8f429 Random extruder sequence for MMU.
Related to https://github.com/prusa3d/PrusaSlicer/issues/1866
2021-06-15 12:38:05 +02:00
enricoturri1966
a2788f3a73 GCode Viewer -> Fixed used filament for gcode files produced by other slicers 2021-06-15 09:39:33 +02:00
Vojtech Bubnik
2f8190e6d0 Workaround of boost::filesystem::copy_file() incompatibility
on some file systems (eCrypt ...)
Should fix #4716 #6588
2021-06-14 12:19:13 +02:00
Lukáš Hejl
bfd83f925d Fixed build on MacOS.
Based on information in https://stackoverflow.com/a/46115028, structured bindings in C++17 don't name variables, and because of that, it is impossible to capture these variables in lambda functions.
2021-06-13 16:22:44 +02:00
Vojtech Bubnik
e17b57d6bd Fixing previous TriangleSelector refactoring. 2021-06-11 17:59:33 +02:00
Vojtech Bubnik
403bb926c8 Fixed regression bug after PrintRegions refactoring:
Fixed crash if an object is outside the print bed, its modifier inside
the print bed and the modifier gets deleted.
2021-06-11 17:29:16 +02:00
Vojtech Bubnik
6bade1b24a TriangleSelector - some memory optimization.
Don't store traingle normal, but reference the source triangle,
which stores its normal.
2021-06-11 12:27:58 +02:00
Vojtech Bubnik
74ab3e108e TriangleSelector refactoring for readability and a bit of performance,
added some comments, improved encapsulation through private attributes,
removed recursive call through std::function etc.
2021-06-11 11:02:47 +02:00
YuSanka
87a996d0d5 Code refactoring to avoid a call of update_ui_from_settings() every time when switching between "3D-View" and "Preview" 2021-06-11 10:34:13 +02:00
enricoturri1966
841f8c6715 Added missing assignment into ModelObject::assign_copy() 2021-06-10 13:32:53 +02:00
Vojtech Bubnik
4ada2ed093 TriangleSelector::get_facets() refactoring to share vertices.
TriangleSelector::valid refactored to m_valid and valid()
and bool members moved next to each other to shrink data structure
size due to memory alignment.
2021-06-10 12:43:31 +02:00
Vojtech Bubnik
95f4690e25 Support / seam / MMU painting serialization / deserialization:
Changed the serialization structure
	std::map<int, std::vector<bool>>
to a significantly more compact
	std::pair<std::vector<std::pair<int, int>>, std::vector<bool>>
Such change shall significantly improve efficiency of Undo / Redo stack.
2021-06-10 09:26:30 +02:00
YuSanka
b59ff2c294 Fixed a bug in update of the ObjectList when switching between 3d-View and Preview
Steps to repro:
1. start PrusaSlicer
2. add a box
-> watch the object list: only one item is shown in the list
3. switch to preview
-> the item in the object list gets a child
2021-06-09 17:21:39 +02:00
enricoturri1966
5631b2cb7c Follow-up of 2d9953069a 2021-06-08 15:10:01 +02:00
tamasmeszaros
cd19756a1d Merge branch 'tm_its_refactor_3' 2021-06-08 12:22:28 +02:00
tamasmeszaros
b5771a5787 try to fix build on windows 2021-06-08 11:53:38 +02:00
enricoturri1966
5bbc68df7b Do not close application when user select 'Cancel' in the save dirty project dialog 2021-06-08 11:51:41 +02:00
tamasmeszaros
904387520e Fix the build 2021-06-08 11:02:29 +02:00
tamasmeszaros
0ca17b0798 Make new split always default if feasible 2021-06-08 10:34:32 +02:00
tamasmeszaros
97529ff6b7 Add parallel version of neighbors index creation, make it default 2021-06-08 10:34:32 +02:00
tamasmeszaros
b4d540ec4c Improve its_split for large number of parts 2021-06-08 10:34:32 +02:00
tamasmeszaros
c4507842a0 Add new (winner) neighbor index based on measurements 2021-06-08 10:34:32 +02:00
tamasmeszaros
b14b000c73 Add triangle mesh split to perf comparison 2021-06-08 10:34:32 +02:00
tamasmeszaros
c8be2cdceb Added measuring sandbox for neighbors index creation 2021-06-08 10:34:32 +02:00
tamasmeszaros
c542e6e14b Corrected mesh split implementation 2021-06-08 10:28:23 +02:00
tamasmeszaros
8fdb0fddc0 Get rid of Contour3D 2021-06-08 10:28:23 +02:00
tamasmeszaros
e6f97358bc Refactored hollowing backend to use indexed_triangle_mesh 2021-06-08 10:28:23 +02:00
tamasmeszaros
f12187b53d wip on hollowing refactor 2021-06-08 10:27:35 +02:00
tamasmeszaros
1009f78862 SLA backend refactored, except Hollowing 2021-06-08 10:27:35 +02:00
enricoturri1966
1c35dfe591 Tech ENABLE_ALLOW_NEGATIVE_Z -> Added threshold to detect if an object is sinking 2021-06-08 10:07:47 +02:00
Lukas Matena
1f29a2593b Fixed two more locales-related issues
One warning was also fixed
2021-06-07 12:31:41 +02:00
enricoturri1966
8e75919948 #6587 - Fixed temporary .gcode file locked by gcode window visualizator while exporting to gcode 2021-06-07 11:54:16 +02:00
Lukas Matena
d2874f2e34 Fixed a memory leak during locales switching on macOS and
removed frequent locales switching during gcode processing
2021-06-05 07:09:23 +02:00
enricoturri1966
d8ac2ceaf6 Remove const_cast<> introduced with 0e3090fb28 2021-06-04 16:53:05 +02:00
enricoturri1966
90edccf772 Remove const_cast<> introduced with 4da8de5f49 2021-06-04 10:23:31 +02:00
Lukas Matena
39fd8065a1 Fixed clipping plane when used with painter gizmos (follow-up of 94877a0) 2021-06-04 09:34:55 +02:00
Vojtech Bubnik
8d325008d1 Small MMU segmentation optimization 2021-06-04 08:46:02 +02:00
Lukáš Hejl
cc913d52ef Added name for items in undo/redo stack inside multi-material gizmo. 2021-06-03 18:11:48 +02:00
Lukáš Hejl
94877a0ec0 Fixed the wrong transformation matrix for "Clipping of view" when is used a printer with multiple extruders. 2021-06-03 08:00:46 +02:00
Vojtech Bubnik
9efe58e6c7 Merge remote-tracking branch 'remotes/origin/master' into vb_print_regions 2021-06-02 18:25:11 +02:00
YuSanka
4b5e568f14 Follow-up 7eebd56b5f - fixed a typo
+ added add_negative.svg for dark mode
2021-06-02 14:36:49 +02:00
YuSanka
7eebd56b5f Fixed DnD for "Model part" volumes inside the object
Fixed volumes order inside the object
2021-06-02 12:54:56 +02:00
Vojtech Bubnik
2d9953069a Removed unnecessary const_cast calls inside Camera. 2021-06-02 12:19:55 +02:00
Vojtech Bubnik
a1283277d3 Fixing a regression crash in Preset Hints. 2021-06-02 11:28:55 +02:00
Lukáš Hejl
edf8d22aba Fixed an issue when the option "Inner brim only" doesn't generate brim inside the object in some cases, and issue that top-level brim was ignoring an offset around the object without a brim.
Also, some possible warnings were fixed.
2021-06-02 10:33:16 +02:00
Yuri D'Elia
35195dc593
Add <cfloat> for missing DBL_MAX declaration (#6582)
Fixes build on linux/gcc10.
2021-06-01 19:54:53 +02:00
Vojtech Bubnik
0bfc53f5a5 VertexFaceIndex: vertex index to incident face indices built for
indexed_triangle_set.
2021-06-01 19:30:26 +02:00
David Kocik
2d60c90ff5 Remove unused include_directory in cmake 2021-06-01 13:52:02 +02:00
Vojtech Bubnik
49c2fc160d Merge remote-tracking branch 'remotes/origin/master' into vb_print_regions 2021-06-01 12:46:37 +02:00
Vojtech Bubnik
9aa520baf3 Fix of previous commit: Mixed up ClipperLib::pftPositive and pftNonZero 2021-06-01 12:33:14 +02:00
enricoturri1966
6b7bd30da3 Show sequential print clearance regions when Move/Rotate/Scale gizmos are active 2021-06-01 11:36:12 +02:00
Vojtech Bubnik
73e0099c55 Merge remote-tracking branch 'remotes/origin/master' into vb_print_regions 2021-06-01 11:19:53 +02:00
Vojtech Bubnik
7681eb8496 PrintRegion refactoring: Fixed a crash when an object is moved from outside
the print bed inside and it becomes printable.
2021-06-01 11:12:55 +02:00
Vojtech Bubnik
20ba7c0a1f New parameter "Slicing Mode" for supporting 3DLabPrint airplane models.
S3D's strategy for merging self intersecting models is "Even / Odd"
which PrusaSlicer now supports as an alternative to "Positive" rule.
Also added a "Close Holes" option to fill in all internal structures.
3D-Labprint Models aren't sliceable (till years) #3062 #3708
2021-06-01 11:10:12 +02:00
enricoturri1966
1d4f7a8870 Changed logic to avoid saving a project while a gizmo is in editing mode 2021-06-01 08:32:58 +02:00
Lukas Matena
580dc890b8 Wipe tower: use normal retraction when moving to the tower, not toolchange retraction
This does not make sense, there is always an unretraction when the head arrives at the tower.
2021-05-31 21:23:03 +02:00
Lukas Matena
4657e0d670 Improvement related to 'separate z travel speed':
default to zero = use good old travel speed. This is to
ensure backwards compatibility with existing profiles
2021-05-31 21:21:53 +02:00
Martin Budden
bd6badf123 Added option to independently set z axis travel speed 2021-05-31 21:20:43 +02:00
Vojtech Bubnik
df87f1b929 Fixed some compiler warnings 2021-05-31 14:48:26 +02:00
Lukáš Hejl
660acede9e Sphere brush color in MMU painting gizmo is now the same as color used for painting. 2021-05-31 14:23:12 +02:00
Vojtech Bubnik
033d9f3a5e Merge remote-tracking branch 'remotes/origin/master' into vb_print_regions 2021-05-31 14:05:53 +02:00
Vojtech Bubnik
8c95212aae Bugfix of PrintRegion refactoring: Correct invalidation of regions
on object transformation.
2021-05-31 14:04:45 +02:00
enricoturri1966
54b69ea9e5 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential_limits 2021-05-31 12:55:03 +02:00
enricoturri1966
f0354b43c1 Fixed conflicts after merge with master + fixed rendering of hovered gizmo grabbers 2021-05-31 12:54:48 +02:00
Lukas Matena
b30a6d5883 Unify Delete/Backspace behaviour in gizmos with the rest of slicer. Also,
backspace on macOS in SLA gizmo now deletes points and not the whole object,
which was quite unexpected.
2021-05-31 11:50:00 +02:00
Lukas Matena
0d721bfb07 Slightly reworded 'missing layers' warning, to reflect that it is no longer considered an error 2021-05-31 11:16:28 +02:00
Lukáš Hejl
2438e3a891 Fixed issue that the lower half of the object was shown darker than the upper half of the object after slicing with MMU segmentation. 2021-05-31 07:26:38 +02:00
Lukáš Hejl
02a0955a5f Fixed possible wrongly filled ZIP headers in case that pState->m_zip64 is sets to true. 2021-05-29 19:56:20 +02:00
Lukáš Hejl
7f29647d67 Added missing includes (GCC 11.1) 2021-05-29 19:55:20 +02:00
Lukáš Hejl
2cbf7728bb Fixed that seed fill left all triangles split instead of merging them. 2021-05-28 17:42:28 +02:00
Lukáš Hejl
726a48383f Cleaned up of 0a6490bab9 2021-05-28 17:36:56 +02:00
Lukas Matena
8c560522a3 Fixed rendering of gizmo grabbers 2021-05-28 16:44:13 +02:00
enricoturri1966
e1d5d0804b Added missing uniform calls for emission_factor 2021-05-28 16:44:13 +02:00
enricoturri1966
f69bd75464 Fixed rendering of gizmos' grabbers 2021-05-28 16:44:13 +02:00
enricoturri1966
9605d10caa Unified color definition 2021-05-28 16:44:13 +02:00
enricoturri1966
e648368934 Removed unneeded calls to GL_LIGHTING 2021-05-28 16:44:13 +02:00
enricoturri1966
b63de990d4 Removed static members from GLGizmoBase and GLGizmoBase::Grabber to fix OpenGL error when closing the application 2021-05-28 16:44:13 +02:00
Lukas Matena
2e24e689fa Grabbers and support points appearence tweaking, some refactoring 2021-05-28 16:44:13 +02:00
Lukas Matena
846afdf7f3 Removed last GLU call, removed libGLU from CMakeLists 2021-05-28 16:44:13 +02:00
Lukas Matena
fd024eadcd Removed gluProject and gluUnProject calls 2021-05-28 16:44:13 +02:00
Lukas Matena
97b7ef7dc0 Removed GLU calls from all the gizmos 2021-05-28 16:44:13 +02:00
enricoturri1966
0c7095d807 Fixed crash when deleting last obejct from plater 2021-05-28 16:28:56 +02:00
Vojtech Bubnik
f5c7d14e85 Bugfix after refactoring of PrintRegions: Fixed handling of cached_volume_ids 2021-05-28 15:55:18 +02:00
Vojtech Bubnik
fe96a20b50 Fixed compilation on GCC 2021-05-28 15:22:00 +02:00
Vojtech Bubnik
7d3b2b5b6e Merge branch 'vb_print_regions' of https://github.com/Prusa3d/PrusaSlicer into vb_print_regions 2021-05-28 15:14:41 +02:00
Vojtech Bubnik
c02f95dfd6 Bugfixes after PrintRegion refactoring. 2021-05-28 15:14:34 +02:00
YuSanka
8e1cde43a6 Update extruder show/hide and default extruder color in respect to the volume type 2021-05-28 13:41:36 +02:00
Lukáš Hejl
0a6490bab9 Added cancellation to MMU segmentation. 2021-05-28 05:57:32 +02:00
Lukáš Hejl
281ac1f2f1 Added missing includes (GCC 9.3) 2021-05-27 16:47:31 +02:00
Vojtech Bubnik
3e28b4c967 Fix of previous commit 2021-05-27 16:14:54 +02:00
Vojtech Bubnik
99301f89f6 Merge remote-tracking branch 'remotes/origin/master' into vb_print_regions 2021-05-27 16:12:53 +02:00
Vojtech Bubnik
818cb703ed Refactored the ModelVolume bounding box to Eigen::AlignedBox<float>,
separated splitting of LayerRegions by MMU segmentation to its own
function.
2021-05-27 16:12:34 +02:00
Vojtech Bubnik
b5aa09e5ba WIP: Integration of MMU painting into the slicing back-end. 2021-05-27 14:29:51 +02:00
enricoturri1966
0b16ffaa07 Follow-up of b3ca8cb0af -> Fixed typo 2021-05-27 14:05:29 +02:00
enricoturri1966
b3ca8cb0af Fixed calculation of used filament for gcode viewer (take data from gcode file) 2021-05-27 12:25:59 +02:00
Vojtech Bubnik
9e4d483453 Merge branch 'vb_print_regions' of https://github.com/Prusa3d/PrusaSlicer into vb_print_regions 2021-05-26 16:15:01 +02:00
Vojtech Bubnik
409e1c5cc8 Some fixes after preceding merge. Moved mmu_segmented_region_max_width
from PrintConfig to PrintObjectConfig.
2021-05-26 16:14:52 +02:00
YuSanka
b7769856d1 Fixed DnD function for volumes inside the object in respect to the volume type 2021-05-26 15:36:48 +02:00
Vojtech Bubnik
980ca195f5 Merge remote-tracking branch 'remotes/origin/lh_multi_material_segmentation' into vb_print_regions 2021-05-26 15:23:35 +02:00
Vojtech Bubnik
0d081c90f0 Merge remote-tracking branch 'remotes/origin/master' into vb_print_regions 2021-05-26 14:38:34 +02:00
Vojtech Bubnik
7f1f0d29d0 Will gcc accept this? 2021-05-26 14:33:24 +02:00
Vojtech Bubnik
cba1950a4e Fixing compilation on gcc. 2021-05-26 14:30:25 +02:00
Vojtech Bubnik
e24026bfa5 Making the "Default" extruder transparent for modifier meshes and layer
range modifiers.
2021-05-26 14:25:33 +02:00
Vojtech Bubnik
b3195614cf WIP PrintRegion refactoring: Another round of bug fixing, negative volumes
seem to work.
2021-05-26 12:41:06 +02:00
Vojtech Bubnik
8ab6a615d0 Fixed another compiler warning 2021-05-25 21:17:07 +02:00
Vojtech Bubnik
dd79a2b832 Fixing some compiler warnings 2021-05-25 20:46:31 +02:00
Vojtech Bubnik
8a297be74e Fixing another clang complaint 2021-05-25 20:03:05 +02:00
Vojtech Bubnik
c3cd2c7f55 Fixing an OSX clang quirk. 2021-05-25 19:27:20 +02:00
Vojtech Bubnik
9b9354a2aa WIP: Rework of PrintRegions, bunch of bug fixes. 2021-05-25 18:12:38 +02:00
enricoturri1966
87815b0b16 Tech ENABLE_SEQUENTIAL_LIMITS -> Some refactoring 2021-05-25 15:55:37 +02:00
enricoturri1966
44e9693789 Tech ENABLE_SEQUENTIAL_LIMITS -> Fixed instance transformations 2021-05-25 13:34:51 +02:00
Lukáš Hejl
671c2ace17 Fixed a modification time for files appended using the streaming interface in the miniz library. 2021-05-25 10:38:29 +02:00
Vojtech Bubnik
701a0c9576 Two more bugs squished. 2021-05-24 18:07:12 +02:00
YuSanka
cf76b5c264 Added "Negative volume" type item to the ObjectList 2021-05-24 17:32:40 +02:00
Vojtech Bubnik
72d1faa03e WIP PrintRegion refactoring: Squashed some bugs. 2021-05-24 16:55:34 +02:00
Vojtech Bubnik
c8bdc62af4 Fixing compilation on Linux 2021-05-24 15:12:04 +02:00
Vojtech Bubnik
04014db136 Fixing compilation on Linux 2021-05-24 15:08:07 +02:00
Vojtech Bubnik
92b4f0542a Another compilation fix. 2021-05-24 15:00:08 +02:00
enricoturri1966
ec4bf90da3 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential_limits 2021-05-24 14:43:21 +02:00
enricoturri1966
9d216104e0 Fixed warning 2021-05-24 14:42:57 +02:00
Vojtech Bubnik
fd97a49ccc Fixing the previous commit. 2021-05-24 14:36:27 +02:00
enricoturri1966
7a14005f5a Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential_limits 2021-05-24 14:19:40 +02:00
enricoturri1966
9f6751586c Tech ENABLE_SEQUENTIAL_LIMITS -> Do not show sequential print clearance regions contours when there is only one instance on the plater 2021-05-24 14:18:52 +02:00
enricoturri1966
abbe7f7eea Tech ENABLE_SEQUENTIAL_LIMITS -> Reset sequential print clearance regions contours when clearing the plater 2021-05-24 14:11:09 +02:00
Vojtech Bubnik
e658fe0698 WIP: PrintRegion refactoring, it finally compiles!
Config/PrintConfig refactoring to support operator< for StaticPrintConfig
derived containers.
2021-05-24 14:10:04 +02:00
enricoturri1966
40b97c33c5 Tech ENABLE_SEQUENTIAL_LIMITS -> Another improvement in performance when showing sequential print clearance regions contours while dragging objects 2021-05-24 13:22:37 +02:00
Lukas Matena
afca744d37 Fixed a bug when reverting to an old value with comma-separated doubles 2021-05-24 12:23:44 +02:00
Lukas Matena
4960b125c5 Fixed incorrect locales handling in the UI (Field, ObjectManipulation, etc) 2021-05-24 12:23:39 +02:00
Lukas Matena
c05b8210f2 Fixed several locales issues on file import/export 2021-05-24 12:22:00 +02:00
Lukas Matena
4a7f078527 Fixed debug build 2021-05-24 12:20:29 +02:00
Lukas Matena
6b6b086948 Fixed tests and windows build 2021-05-24 12:20:29 +02:00
Lukas Matena
c5c6f51ae0 Fixed third batch of locale-dependent calls 2021-05-24 12:20:29 +02:00
Lukas Matena
fef385cd6b Fixed second batch of locale-dependent calls 2021-05-24 12:20:29 +02:00
Lukas Matena
9ee2fc8275 Fixed first batch of locale-dependent calls 2021-05-24 12:20:29 +02:00
Lukas Matena
5a1441f9b7 Created a RAII class to switch LC_NUMERIC to "C" and back 2021-05-24 12:20:29 +02:00
enricoturri1966
6192a3eaf7 Tech ENABLE_SEQUENTIAL_LIMITS -> Improved performance when showing sequential print clearance regions contours while dragging objects 2021-05-24 12:11:49 +02:00
Vojtech Bubnik
740773db85 WIP: Refactoring of PrintRegions. It nearly compiles! 2021-05-21 17:57:37 +02:00
enricoturri1966
77dfeb84bc Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential_limits 2021-05-21 14:58:41 +02:00
enricoturri1966
d5c462f5a6 Tech ENABLE_SEQUENTIAL_LIMITS -> Show sequential print clearance regions contours while dragging objects 2021-05-21 14:57:03 +02:00
Lukáš Hejl
ed9c93f85a Added missing includes (GCC 9.3) 2021-05-21 07:42:37 +02:00
Lukáš Hejl
f50046b31b Modified streaming interface in miniz library to use ZIP64 extension only for files exciding the limits.
The modification is based on a preallocation space in the Extra field using a phony custom block in the Local file header. This space is eventually overwritten by the ZIP64 extension if the file exceeds 4GiB.
Also were fixed differences from PKZip specification in the streaming interface.
2021-05-20 19:44:12 +02:00
enricoturri1966
38657d7e4e Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential_limits 2021-05-20 15:38:50 +02:00
enricoturri1966
d13c550968 Fixed conflicts after merge with master 2021-05-20 15:37:56 +02:00
enricoturri1966
6bb2982b98 Skip picking pass when plater is empty 2021-05-20 15:34:59 +02:00
enricoturri1966
2bd3e018b1 Follow-up of d54548367a -> Reintroduce GLCanvas3D::m_old_size to avoid unneeded calls to render() 2021-05-20 14:42:40 +02:00
Vojtech Bubnik
ef9004cee4 Fix of its_collect_mesh_projection_points_above()
Fix of perl integration tests after introduction of not using the mesh
below the print bed.
2021-05-20 13:58:27 +02:00
David Kocik
635bf8d9f1 Notifications: Calculating space left for hypertext with escaped text 2021-05-20 13:09:45 +02:00
Enrico Turri
eb431db7ed Test 2021-05-20 11:04:47 +02:00
enricoturri1966
33d489df30 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential_limits 2021-05-20 10:47:51 +02:00
enricoturri1966
a218e0ef18 Tech ENABLE_ALLOW_NEGATIVE_Z -> New implementation for method ModelObject::convex_hull_2d() 2021-05-20 09:32:17 +02:00
enricoturri1966
8377b6ef4f Fixed typo in its_collect_mesh_projection_points_above() and method TriangleMesh::slice() set as const 2021-05-20 09:09:19 +02:00
Vojtech Bubnik
ff6623b0f4 Fixing 2021-05-19 16:51:25 +02:00
Vojtech Bubnik
116e2b2112 Fixing the slice_mesh() after recent refactoring. 2021-05-19 16:09:45 +02:00
Vojtech Bubnik
68b0d92183 Merge remote-tracking branch 'remotes/origin/master' into vb_print_regions 2021-05-19 14:00:21 +02:00
Vojtech Bubnik
31942e03db Optimization of its_collect_mesh_projection_points_above(): Reserve points. 2021-05-19 13:59:34 +02:00
Vojtech Bubnik
e952aded78 cut_mesh(): new parameter to optionally not triangulate the caps. 2021-05-19 13:52:47 +02:00
Vojtech Bubnik
66cf7ea9d3 Extracting its_collect_mesh_projection_points_above() out of
its_convex_hull_2d_above(), so that the projected points may get
collected over multiple volumes before applying Geometry::convex_hull()
2021-05-19 13:39:56 +02:00
Vojtech Bubnik
5644b98d3b Factored out convex hull calculation from ModelObject::convex_hull_2d()
to Geometry::convex_hull().
Update Geometry::convex_hull() to handle duplicate points.
2021-05-19 13:23:19 +02:00
Vojtech Bubnik
8db2d96c75 Point::ccw() optimization: Calculate with int64, not doubles. 2021-05-19 12:01:30 +02:00
enricoturri1966
0d8a1c3d2a Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential_limits 2021-05-19 11:45:05 +02:00
Vojtech Bubnik
6b54f34ce1 New functions: its_convex_hull_2d_above() 2021-05-19 11:35:42 +02:00
tamasmeszaros
e892550cb0 Fix warning of ignored variable in structured binding 2021-05-19 10:08:41 +02:00
Vojtech Bubnik
682c405fc2 Merge remote-tracking branch 'remotes/origin/master' into vb_print_regions 2021-05-19 09:40:24 +02:00
Vojtech Bubnik
f5f912e6e9 WIP: Refactoring of PrintRegions 2021-05-19 09:38:51 +02:00
enricoturri1966
53397cee17 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential_limits 2021-05-19 08:40:32 +02:00
enricoturri1966
4a134f5320 Follow-up of c37d18f046 -> Removed assert 2021-05-19 08:39:04 +02:00
enricoturri1966
d60893b990 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential_limits 2021-05-19 08:27:27 +02:00
Vojtech Bubnik
c28cd957d5 New utility function its_merge_vertices().
Implemented contour simplification inside slice_mesh_ex().
2021-05-18 17:57:55 +02:00
YuSanka
dfc6d399f7 Fixed update of the ObjectManipulation when "autocenter" is on 2021-05-18 17:06:41 +02:00
Vojtech Bubnik
78c0199523 TriangleMeshSlicer: Optimized out unnecessary transformations. 2021-05-18 16:12:49 +02:00
Vojtech Bubnik
70b4915f9c TriangleMeshSlicer: Got rid of admesh! 2021-05-18 15:05:30 +02:00
YuSanka
1256aebd88 Fix of some warnings 2021-05-18 12:58:14 +02:00
enricoturri1966
e338eebade Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential_limits 2021-05-18 12:50:01 +02:00
YuSanka
6c47b15834 Follow-up of a5d5ceb30d - Fixed run on Windows 2021-05-18 12:32:37 +02:00
enricoturri1966
221c054e4f Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential_limits 2021-05-18 10:37:39 +02:00
YuSanka
a5d5ceb30d DoubleSlider: Fixed ruler for sequential print of the object with different heights 2021-05-17 21:12:19 +02:00
Vojtech Bubnik
308d6b7809 WIP: Reworked slicing
1) Slicing code moved to TriangleMeshSlicer.cpp,hpp from TriangleMesh.cpp,hpp
2) Refactored to use as little as possible of admesh.
2021-05-17 20:25:59 +02:00
tamasmeszaros
68d2427a34 Fix marching squares test crash in debug builds 2021-05-17 14:54:47 +02:00
enricoturri1966
40086784fe Small refactoring in GLCanvas3D 2021-05-17 13:14:19 +02:00
enricoturri1966
858ea16b95 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential_limits 2021-05-17 13:05:09 +02:00
enricoturri1966
0605813e68 Faster ModelObject::convex_hull_2d() by using ModelVolume 3D convex hulls 2021-05-17 13:02:38 +02:00
enricoturri1966
c37d18f046 Follow-up of ca14ea4c33 -> Fixed arrange with sinking objects 2021-05-17 12:53:05 +02:00
enricoturri1966
a929b29a0b Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential_limits 2021-05-14 15:06:44 +02:00
enricoturri1966
4aab49f591 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2021-05-14 15:03:51 +02:00
enricoturri1966
ca14ea4c33 Tech ENABLE_ALLOW_NEGATIVE_Z -> ModelObject::convex_hull_2d() and sequential_print_horizontal_clearance_valid() modified to take in account for sinking instances 2021-05-14 15:02:54 +02:00
Vojtech Bubnik
2b9e41e695 Fix of a special case in auto color print feature, which crashed with
single layer PrintObjects.
Fixes Segmentation fault (GLib-GObject null pointer) #6516
2021-05-14 14:57:41 +02:00
Vojtech Bubnik
221af991c2 Fixed update of PrintRegions after removing an object.
The bug has been introduced during recent PrintRegion refactoring.
2021-05-14 11:52:33 +02:00
enricoturri1966
b9011ca5f1 Tech ENABLE_SEQUENTIAL_LIMITS -> Do not show sequential print clearance regions while layers editing is enabled 2021-05-14 11:20:02 +02:00
enricoturri1966
b014e87ef7 Tech ENABLE_SEQUENTIAL_LIMITS -> Fixed z-fighting between sequential print clearance regions and objects 2021-05-14 11:13:46 +02:00
enricoturri1966
2cf5f83bb6 Tech ENABLE_SEQUENTIAL_LIMITS -> Do not show sequential print clearance regions while any gizmo is active 2021-05-14 10:52:18 +02:00
enricoturri1966
214f7bd092 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential_limits 2021-05-14 10:20:15 +02:00
enricoturri1966
e0dd7edb21 Removed obsolete method from GLVolumeCollection 2021-05-13 14:56:35 +02:00
enricoturri1966
6bddacee44 Fixed conflicts after merge with master 2021-05-13 14:10:42 +02:00
enricoturri1966
e330b66981 Small refactoring 2021-05-13 13:57:09 +02:00
enricoturri1966
d54548367a Fixed imgui out of synch with mouse after switching between preview and 3D view 2021-05-13 10:59:13 +02:00
YuSanka
044634d7d1 Fixed "Extruder sequence", when extruder changes are per mm 2021-05-13 09:50:09 +02:00
Lukas Matena
707ce9d3d4 Added a missing include (gcc) 2021-05-12 17:04:36 +02:00
YuSanka
4be1d62259 Fixed update of the "Supports" in frequently used parameters when Vase mode is selected 2021-05-12 15:54:20 +02:00
enricoturri1966
62772060f9 Tech ENABLE_SEQUENTIAL_LIMITS -> Do not show clearance regions while dragging an object 2021-05-12 14:56:14 +02:00
enricoturri1966
bc9fa18044 Tech ENABLE_SEQUENTIAL_LIMITS -> Fixed z-fighting between contours and fill 2021-05-12 14:35:57 +02:00
enricoturri1966
3006213d3b Removed obsolete member variable from Canvas3D::Slope 2021-05-12 14:25:13 +02:00
enricoturri1966
0d37f66f61 Tech ENABLE_SEQUENTIAL_LIMITS -> Improved rendering of clearance regions 2021-05-12 13:09:33 +02:00
YuSanka
82da1f8fc1 Code cleaning: Delete workaround code 2021-05-12 11:43:36 +02:00
enricoturri1966
ebe762f177 Add estimated printing time for first layer in legend 2021-05-12 11:21:18 +02:00
YuSanka
de1d36cc9a Probably fix for #6270 - Segfault during startup in prusa-slicer-git 2.3.0.r24.gd06aa6069-1 2021-05-11 18:03:57 +02:00
enricoturri1966
b875fd2755 Fixed project dirty state after changing language 2021-05-11 15:01:33 +02:00
enricoturri1966
75677ba810 Tech ENABLE_SEQUENTIAL_LIMITS -> 1st installment of visualization of objects clearance for sequential prints 2021-05-11 13:12:25 +02:00
Oleksandra Yushchenko
ab886e037b
Implementation for #6216
* Implementation for #6216 - Make number keys select extruder when object treeview has focus
+ deleted unused extruder_selection()
+ Fixed notification after splitting of the solid object

* Follow up 85a10268b9 - OSX implementation
+ Added shortcuts description to the "Keyboard Shortcuts" dialog

* Workaround to use "+/-" and numbers shortcuts on Linux
+ Fixed build on Linux

* OSX specific: fixed a work of keyboard accelerators from numbers on NumPad keyboard

* KBShortcutsDialog: fixed shortcuts for "Preferences" and "Show/Hide 3Dconnexion devices settings dialog, if enabled" under osx
and "Set Printable/Unprintable" and "Set extruder" under Linux
 + OSX specific: Added minimize of the application on "Cmd+M"

* Hot-fix for 6efeb9d6b4

* Removed Linux specific workaround
2021-05-11 11:02:12 +02:00
enricoturri1966
13b0757b8b Tech ENABLE_REDUCED_TOOLPATHS_SEGMENT_CAPS set as default 2021-05-11 10:28:04 +02:00
David Kocik
fabaee10a8 Additional controls in NotificationManager 2021-05-11 09:35:25 +02:00
David Kocik
d701b24bc0 Fix of crash when notification text + hypertext wont fit line length 2021-05-11 09:35:25 +02:00
YuSanka
b87c03fc09 Linux specific: Fixed ObjectDataViewModel::GetColumnType()
When "string" type was returned, strange editing TextControl was appeared.
+ Added check of the selection for ObjectList::toggle_printable_state() function
2021-05-10 17:57:44 +02:00
enricoturri1966
426d2cd725 Tech ENABLE_WARNING_TEXTURE_REMOVAL set as default 2021-05-10 16:05:16 +02:00
enricoturri1966
ca8a42c8b1 Tech ENABLE_SPLITTED_VERTEX_BUFFER set as default 2021-05-10 14:45:17 +02:00
enricoturri1966
137dbbd19f Fixed crash into ProjectDirtyStateManager::update_from_undo_redo_stack() when switching language 2021-05-10 13:06:13 +02:00
YuSanka
a49d34c6f3 Fix of #5437 - Make it clear on the G-code slider that color change is not supported for sequential print 2021-05-10 12:10:41 +02:00
enricoturri1966
f786d9c96e Fixed conflicts after merge with master 2021-05-10 10:25:57 +02:00
Vojtech Bubnik
5828decfc7 Fixing multi-material printing after recent refactoring (d21b9aa to 1c6333e) 2021-05-10 09:32:24 +02:00
YuSanka
f11b9a5b6a DiffPresetDialog: Fixed update of the related presets after changing selection of the Printer preset 2021-05-07 16:46:09 +02:00
enricoturri1966
89da02734e ENABLE_ALLOW_NEGATIVE_Z -> Ensure objects on bed when switching to SLA printer 2021-05-07 15:08:07 +02:00
enricoturri1966
62ad1904e2 Fixed warnings into DoExport 2021-05-07 14:46:10 +02:00
enricoturri1966
f1cb529a7b Fixed warnings into ProjectDirtyStateManager 2021-05-07 14:17:17 +02:00
enricoturri1966
389955966c Disabled tech ENABLE_PROJECT_DIRTY_STATE_DEBUG_WINDOW 2021-05-07 13:42:53 +02:00
enricoturri1966
ec9c3891cf Fixed conflicts after merge with master 2021-05-07 13:14:11 +02:00
Lukáš Hejl
4d2c2070f8 Added missing includes (GCC 9.3) 2021-05-07 12:51:10 +02:00
YuSanka
b9910669e8 Fix of #2825 - Add the length of each filament used 2021-05-07 12:48:34 +02:00
enricoturri1966
56aa45fa1f Fixed typo 2021-05-07 12:48:34 +02:00
enricoturri1966
c602e655e0 Tech ENABLE_SCROLLABLE_LEGEND -> Fixed layout of scrollable sub panels 2021-05-07 12:48:34 +02:00
enricoturri1966
49503db65e Tech ENABLE_SCROLLABLE_LEGEND -> Set legend max height 2021-05-07 12:48:34 +02:00
enricoturri1966
ddf59a4a8c Tech ENABLE_SCROLLABLE_LEGEND -> 1st installment of scrollable legend 2021-05-07 12:48:34 +02:00
YuSanka
96447de1d4 ConfigWizard:: Use wxTextCtrl instead of wxDoubleSpinCtrl for nozzle and filament diameters 2021-05-07 12:22:54 +02:00
Vojtech Bubnik
5c35fa4539 Commenting source of Polygon::centroid() algorithm 2021-05-07 11:54:25 +02:00
Vojtech Bubnik
52b3c655ff Fixed Polygon::centroid()
Ported Polygon unit tests from Perl to C++.
2021-05-07 11:42:21 +02:00
David Kocik
9cfcba78f7 text fix 2021-05-07 09:01:57 +02:00
David Kocik
963849e18b desktop integration functions and dialog 2021-05-07 09:01:57 +02:00
Vojtech Bubnik
68fabfea62 Fix of Polygon::area(). 2021-05-07 09:45:27 +02:00
Vojtech Bubnik
feefbc575a Refactored PrintObject::m_region_volumes for extensibility.
WIP for multi-material painting.
2021-05-06 15:48:38 +02:00
Vojtech Bubnik
dd72016159 FDM backend refactoring for const correctness, clarity ... 2021-05-06 15:08:57 +02:00
Vojtech Bubnik
b5573f959b Refactoring for code clarity: Replaced this->m_xxx with m_xxx
as the m_ prefix already signifies a class local variable.
2021-05-06 14:43:36 +02:00
Vojtech Bubnik
f16d4953be Removing offset2 from Perl bindings and other minor cleanup. 2021-05-06 14:29:20 +02:00
enricoturri1966
ff632a9ff2 Tech ENABLE_ALLOW_NEGATIVE_Z-> Disable sinking objects for SLA printer 2021-05-06 14:04:07 +02:00
Vojtech Bubnik
0ca6b12da1 Print/PrintObject/PrintRegion refactoring:
Newly the PrintObjects own PrintRegions and Print contains references
to PrintRegions owned by PrintObjects, so that a PrintRegion of the same
content is referenced by Print only once.

The refactoring is a WIP to support multi-material painting.
2021-05-06 13:01:09 +02:00
enricoturri1966
123c5af347 #6473 - Update titlebar when opening a project file by double-clicking the file icon 2021-05-06 10:11:53 +02:00
Vojtech Bubnik
ee15f00574 FDM backend refactoring: Return PrintRegion by reference, not by pointer.
Added PrintRegion hashing.
2021-05-05 18:13:58 +02:00
Vojtech Bubnik
714149dab2 WIP: Moving ownership of PrintRegions to PrintObjects. 2021-05-05 16:21:55 +02:00
Vojtech Bubnik
a7c67415c7 Another try of fixing compilation on gcc. 2021-05-05 14:34:54 +02:00
Vojtech Bubnik
18001fbb4e Fixing compilation on gcc 2021-05-05 14:32:19 +02:00
Vojtech Bubnik
d6c5961eb0 Factored out the Print::apply() method and its dependending free functions
into PrintApply.cpp module.
2021-05-05 14:30:09 +02:00
Vojtech Bubnik
72ce8cb28d PrintRegion refactoring: Getting rid of the Print pointer. 2021-05-05 14:17:36 +02:00
Vojtech Bubnik
a2de09e11e Fixing unit tests. 2021-05-05 13:19:01 +02:00
enricoturri1966
a91306032c Project dirty state manager -> Fixed crash when loading/saving a 3mf file 2021-05-05 13:17:20 +02:00
Vojtech Bubnik
7d4b3f2992 Fix of safety_offset() after ClipperUtils refactoring.
Fixes Solid infill where there should be none #6482
Also the safety offsetting was revised to be enabled only where needed,
the "do safety offset" is now easy to discover by
a new ApplySafetyOffset::Yes enum, and safety offset over union, which
is better done by offset() / offset_ex() has been replaced with
new union_safety_offset() / union_safety_offset_ex() functions, which
better convey their meaning and which could be better optimized than
union() with the safety offset applied.
2021-05-05 12:16:47 +02:00
enricoturri1966
bb18edde0a Tech ENABLE_ALLOW_NEGATIVE_Z-> Synchronize sinking instances 2021-05-05 11:53:24 +02:00
enricoturri1966
3f6123e653 Tech ENABLE_ALLOW_NEGATIVE_Z-> Added button in object manipulator to drop to bed a sinking object 2021-05-05 09:15:33 +02:00
Vojtech Bubnik
fd3dd1611c Fixed alignment of sparse infill over multiple layers of the same region,
which was broken with 68666de521b1cb15e41ac6728c0e8d3b4b0d4ed0
"Reworked the "new" bridging to respect the bridge_flow_ratio
by maintaining extrusion spacing, but modifying the extrusion width
and / or height."
2021-05-04 18:27:53 +02:00
Vojtech Bubnik
00835c7367 Fixing compilation on clang in debug mode. 2021-05-04 16:13:40 +02:00
Vojtech Bubnik
1aef86f650 Implemented generic mechanism for executing tasks on UI thread synchronously
from the background slicing thread, that supports cancellation.
The generic mechanism is used for generating thumbnails into G-code and
Fixes Fix deadlock when canceling the slicing while gcode is creating thumbnails #6476
Thanks @supermerill for pointing out the issue.
2021-05-04 16:07:32 +02:00
enricoturri1966
67572fad3f Tech ENABLE_ALLOW_NEGATIVE_Z-> Keep sinking objects and instances as sinking after copy/paste or add instance commands 2021-05-04 14:48:30 +02:00
YuSanka
4fe6f726de ObjectList: Fixed update of the selection, when some gizmo in 3D-Scene is activated 2021-05-04 14:20:19 +02:00
enricoturri1966
cb294e0b3e Follow-up of 15c32d636d -> Small refactoring 2021-05-04 13:31:07 +02:00
enricoturri1966
15c32d636d Seams detection for gcode saved with other slicers 2021-05-04 12:45:51 +02:00
Vojtech Bubnik
5cc6dc59dc Fixed compilation with GCC 2021-05-04 11:22:38 +02:00
Vojtech Bubnik
a7368b9deb Fixing thread-safe StaticConfig creations #6477
fix un-threadsafe code for creating config enum hashtable. #6475
2021-05-04 11:03:26 +02:00
Lukáš Hejl
46a14abbaa Added default object color in MMU segmentation according to the default extruder color for printing the object. 2021-05-04 08:13:04 +02:00
Lukáš Hejl
781e6607c8 Fixed updating of extruders list in MMU segmentation gizmo after adding extruders and reloading 3MF with different extruder count and colors. 2021-05-04 07:59:16 +02:00
Lukáš Hejl
71c60a5187 Follow-up of 168b4afbc2: Replaced forgotten lslices in the top and bottom layer propagation in MMU segmentation. 2021-05-03 22:11:04 +02:00
Lukáš Hejl
cd5fea8b42 Fixed compiler warnings 2021-05-03 21:50:40 +02:00
Lukáš Hejl
2d3eef4e84 Fixed possible warnings 2021-05-03 21:13:13 +02:00
Lukáš Hejl
fa8c319721 Fixed MMU segmentation for cases when a contour was whole colored by one color and a hole was whole colored by a different color. 2021-05-03 21:06:46 +02:00
Lukáš Hejl
5bfdaa7ac8 Parallelization of regions merging for MMU segmentation. 2021-05-03 21:01:52 +02:00
Lukáš Hejl
2e9f0d6eaf Fixed a few cases of missing colored segments in MMU segmentation.
Occasionally, some input polygons contained self-intersections that caused problems with Voronoi diagrams and consequently with the extraction of colored segments by function extract_colored_segments.
Also, occasionally input polygons contained several points very close together (distance between points is 1 or so). Such close points sometimes caused that the Voronoi diagram has self-intersecting edges around these vertices. This consequently leads to issues with the extraction of colored segments by function extract_colored_segments.
2021-05-03 20:56:39 +02:00
Lukáš Hejl
168b4afbc2 Fixed MMU segmentation for multi-volume objects.
MMU segmentation no longer works directly on lslices, instead of it works on custom merged regions. So lslices in PrintObject are no longer overwritten because of MMU segmentation.
All regions are scaled by SCALED_EPSILON before merging and shrunk back by SCALED_EPSILON after merging. That fixed issues with multi-volume objects when very close regions weren't merged.
Also, small expolygons and holes are filtered out that fixed missing segmentation at the boundary of two volumes in the case of multi-volume objects.
2021-05-03 20:37:14 +02:00
enricoturri1966
ede14251b1 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_project_dirty_state 2021-05-03 16:05:22 +02:00
enricoturri1966
164af0255a Tech ENABLE_ALLOW_NEGATIVE_Z -> Keep sinking objects as sinking after reload from disk 2021-05-03 16:02:06 +02:00
enricoturri1966
57199b4116 Tech ENABLE_ALLOW_NEGATIVE_Z-> Fixed build on non-Windows OS 2021-05-03 15:47:16 +02:00
Vojtech Bubnik
ab74ea5c90 One more fix after merge. 2021-05-03 15:30:10 +02:00
Vojtech Bubnik
2aadc1cefa Fixing after merge. 2021-05-03 15:28:03 +02:00
Vojtech Bubnik
eb66111eda Merge branch 'vb_clipper_optimization' 2021-05-03 15:24:04 +02:00
Vojtech Bubnik
ef07644bf2 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2021-05-03 15:23:57 +02:00
Vojtech Bubnik
7563c885a1 Fixing compiler warnings 2021-05-03 15:00:23 +02:00
enricoturri1966
1c3090b11f Tech ENABLE_ALLOW_NEGATIVE_Z-> Layers height editing related fixes 2021-05-03 14:28:55 +02:00
Vojtech Bubnik
96f8744e05 Another fix for C++ conformant compilers 2021-05-03 11:55:23 +02:00
Vojtech Bubnik
c7c7983e77 Fixing compilation on C++ conforming compilers 2021-05-03 11:50:05 +02:00
Vojtech Bubnik
09a80d954c Further rework of ClipperUtils: Replaced many to_polygons() /
to_expolygons() calls with templated ClipperUtils variants to avoid
memory allocation and copying.
2021-05-03 11:39:53 +02:00
Lukáš Hejl
62592cab48 Added missing include (GCC 11.1) 2021-05-01 22:33:59 +02:00
YuSanka
c414f932d4 Fixed a bug with selection from the 3D-scene when ObjectSettings item is selected in ObjectList
Steps to repro:
1. Add 2 objects, add Settings for some of object -> Object Settings item is selected
2. In the 3D-scene select another object -> BUG: no changes in the ObjectList
2021-04-30 16:56:18 +02:00
YuSanka
4ffbd027d0 OSX specific: Fixed scale of the frequently settings, when extra display is connected 2021-04-30 16:49:13 +02:00
Lukáš Hejl
0a8a3f6d8c Fixed build on Windows. 2021-04-30 15:40:27 +02:00
Lukáš Hejl
d11d15aa1e Rework of MMU segmentation gizmo to support more than three colors. 2021-04-30 15:58:25 +02:00
enricoturri1966
395164c7a1 Fixed conflicts after merge with master 2021-04-30 14:54:58 +02:00
Lukas Matena
95f5b82d6a Improved MM priming lines placement on circular beds (#6459) 2021-04-30 13:11:33 +02:00
Vojtech Bubnik
9fbba855ef Clipper optimization:
1) Removed the already commented-out scaling / unscaling when doing
   "safe offsetting"
2) Removed some of the "safe offsetting" at calls where it never was used.
3) Reworked Clipper & ClipperUtils to pass Polygons / ExPolygons / Surfaces
   as input parameters without conversion to ClipperLib::Paths. This
   should save a lot of memory allocation and copying.
4) Reworked conversions from ClipperLib::Paths & PolyTree to Polygons /
   ExPolygons to use the move operator to avoid many unnecessary allocations.
5) Reworked some "union with safe ofsetting" to "offset_ex", which should
   be cheaper.
2021-04-30 11:49:57 +02:00
enricoturri1966
28d01542ed Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_custom_gcode_detection 2021-04-29 11:07:47 +02:00
Vojtech Bubnik
b327314b02 Layer::make_perimeters() - when merging regions, use OffsetEx instead
of safety offset of UnionEx, which may not be robust.
2021-04-29 11:05:11 +02:00
enricoturri1966
3a28fe62b5 Fixed missing ending cap for toolpaths having a single segment 2021-04-29 09:09:49 +02:00
enricoturri1966
9086542a08 Follow-up of 2c6472ebc3 -> Ensure backward compatibility 2021-04-28 16:06:49 +02:00
enricoturri1966
a3f03ac188 Tech ENABLE_ALLOW_NEGATIVE_Z->Keep as sinking objects saved in project files 2021-04-28 16:02:51 +02:00
enricoturri1966
1863d622b5 Changed order of rendering of sidebar hints to avoid artifacts due to depth buffer cleanup made by gizmo renderers 2021-04-28 13:58:16 +02:00
enricoturri1966
c58572deaa Tech ENABLE_ALLOW_NEGATIVE_Z->Fixed object popping up after editing layer range fields 2021-04-28 11:07:15 +02:00
enricoturri1966
a83cd647da Small refactoring in GLCanvas3D::LayersEditing 2021-04-28 08:49:32 +02:00
enricoturri1966
7ae77c06d0 Tech ENABLE_SEAMS_VISUALIZATION -> Added threshold to place seams 2021-04-27 15:12:45 +02:00
enricoturri1966
15f376e468 Tech ENABLE_SEAMS_VISUALIZATION -> Fixed build on Mac 2021-04-27 11:11:21 +02:00
enricoturri1966
2c6472ebc3 Replace label Skirt with Skirt/Brim in preview legend 2021-04-27 10:46:42 +02:00
enricoturri1966
076fdc90c0 Tech ENABLE_SEAMS_VISUALIZATION -> 1st installment of seams visualization in preview 2021-04-27 09:45:15 +02:00
Lukáš Hejl
576c5b78e9 Added seed fill for MMU segmentation 2021-04-27 06:48:09 +02:00
Lukáš Hejl
be1b4ce18c Fixed compiler warnings 2021-04-27 00:41:20 +02:00
Lukáš Hejl
8a19cf9d64 Extended support of MMU segmentation backed for more than three colors.
Serialization and deserialization in TriangleSelector were extended to support up to 16 materials (3 unused states left for possible later extension). These changes also affect the encoding of data from custom supports and seams, but it is backward compatible with the previous encoding. And for custom supports and seams, it is produced exactly the same data encoding as before.
2021-04-27 00:37:49 +02:00
Lukáš Hejl
db55bd706e Fixed case in MMU segmentation when the infinity-edge in the Voronoi diagram has vertex0(), and vertex1() equals nullptr. 2021-04-27 00:36:22 +02:00
Lukáš Hejl
1b144e80bd Added hiding of MMU segmentation gizmo when it is selected printer with only one extruder. 2021-04-27 00:35:43 +02:00
Lukas Matena
da702ab135 Fixed a memory leak when repairing an external stl 2021-04-26 20:45:43 +02:00
Lukas Matena
978b359492 Fix normal direction when exporting STL (#6406)
The export function does not depend on Model/ModelObject::mesh() family of functions,
changing them might break the already too brittle code.
2021-04-26 19:58:08 +02:00
Vojtech Bubnik
d1cfdcb49e Refactoring of StaticPrintConfig & derived classes:
1) Using boost::preprocessor to reduce code duplicities when defining
   new configuration values.
2) Implemented static hash() and operator== on StaticPrintConfig derived
   classes to support hash tables of instances thereof.
2021-04-26 18:37:10 +02:00
Lukas Matena
5783cc62fb Wipe tower priming lines are placed at origin with custom bed shapes
Custom shapes were previously detected as circular and the lines were placed off the bed
2021-04-26 09:21:18 +02:00
Vojtech Bubnik
9f4e9da5c6 Merge branch 'tm_vb_clipper_eigen' 2021-04-23 11:44:25 +02:00
enricoturri1966
b600540411 Tech ENABLE_ALLOW_NEGATIVE_Z -> Keep sinking instances as sinking after applying scale gizmo 2021-04-23 09:11:55 +02:00
enricoturri1966
d4695827ce Tech ENABLE_ALLOW_NEGATIVE_Z -> Keep sinking instances as sinking after applying rotate gizmo 2021-04-23 08:29:29 +02:00
enricoturri1966
70ec034281 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_custom_gcode_detection 2021-04-22 15:30:27 +02:00
enricoturri1966
52583bbe30 Extrusions in custom start g-code forced to be at first layer height level 2021-04-22 15:15:19 +02:00
enricoturri1966
8f385aac44 Tech ENABLE_ALLOW_NEGATIVE_Z -> Shading of sinking instances 2021-04-22 13:18:36 +02:00
Vojtech Bubnik
38bb7d2950 1) New methods PrintObject::num_regions() and ::has_region() to make
the code more readable and to highlight where PrintObject::region_volumes
   are actually set and consumed.
2) Replaced Slic3r::clamp() with std::clamp(). They differ in the order
   of their parameters, thus hopefully no new bugs were introduced.
3) Some refactoring of MultiMaterialSegmentation for efficiency.
2021-04-22 11:41:26 +02:00
tamasmeszaros
ea26581959 Move iterator stuff from polygon to multipoint 2021-04-22 09:44:08 +02:00
Vojtech Bubnik
3b86cb3a3c Added missing files 2021-04-22 09:26:07 +02:00
Vojtech Bubnik
8d0950ce12 Convincing ClipperLib to use Slic3r's own Point type internally. 2021-04-21 20:15:49 +02:00
tamasmeszaros
a15c16d40d Use new libnest backend for MinAreaBoundingBox wrapper 2021-04-21 17:21:43 +02:00
tamasmeszaros
657d19482b Minor code refinements 2021-04-21 16:49:11 +02:00
tamasmeszaros
d069591514 Write hollow flag to SL1 files if any object is hollowed. 2021-04-21 16:29:12 +02:00
tamasmeszaros
dca67822d1 Eliminate warnings caused by changes to aid new libslic3r backend 2021-04-21 16:02:31 +02:00
tamasmeszaros
ad19ab219d New custom backend for libnest2d using libslic3r types
Adapted to new clipper->eigen mod
2021-04-21 16:02:25 +02:00
enricoturri1966
82d577645e Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_custom_gcode_detection 2021-04-21 14:52:52 +02:00
Vojtech Bubnik
0c1953a929 Further fixes of the first_layer_height refactoring. 2021-04-21 14:34:49 +02:00
YuSanka
4ce7ea40f0 Updated splashscreen images 2021-04-21 13:49:24 +02:00
enricoturri1966
c8b83ae011 Tech ENABLE_ALLOW_NEGATIVE_Z -> Allow move gizmo to place an object under the printbed 2021-04-21 12:41:43 +02:00
enricoturri1966
c7771a576b Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_custom_gcode_detection 2021-04-21 12:32:17 +02:00
Vojtech Bubnik
d9ed9149ae 1) Moved first_layer_heigth frrom PrintObjectConfig to PrintConfig.
Thus the first_layer_height is no more object specific. That makes
   a lot of sense due to the brim calculation being performed over
   all layers at once and due to future merging of supports of
   different objects at first layer.
2) Because now first_layer_height is print specific, the relative
   first layer height derived from the object layer height was partially
   disabled: First the relative first layer height is converted to
   an absolute value when importing config, second the side text
   was changed from "mm or %" to "mm". Still the UI allows entering %.

Both changes may be controversial, let's wait for user feedback.
2021-04-21 12:09:43 +02:00
Lukáš Hejl
49928e131c Added missing include (GCC 9.3) 2021-04-21 06:08:46 +02:00
enricoturri1966
9cd5ba13f2 Some refactoring into ProjectDirtyStateManager 2021-04-20 16:07:39 +02:00
Vojtech Bubnik
4f950343c8 MMU segmentation refactoring: Most of the MMU segmentation code
was extracted to its own file.
2021-04-20 15:07:05 +02:00
Lukas Matena
bf1fc7d436 Info in ObjectList: Added variable layer height 2021-04-20 15:07:05 +02:00
Lukas Matena
e48bc7a5e8 Info in ObjectList: Settings should be above the new info items, info items are selectable 2021-04-20 15:07:05 +02:00
Lukas Matena
61528cbdc8 Show info about custom supports and seam in ObjectList
Slight refactoring in GLGizmosManager so it is easier to open a gizmo from the ObjectList
2021-04-20 15:07:05 +02:00
enricoturri1966
6be2a1be2c Removed mutable members from class GLVolume 2021-04-20 12:55:23 +02:00
enricoturri1966
0e3090fb28 Removed mutable members from class GLCanvas3D 2021-04-20 12:16:55 +02:00
enricoturri1966
b0bb1e7b1d Removed mutable members from class OpenGLManager::GLInfo 2021-04-20 11:42:34 +02:00
enricoturri1966
f486dedb52 Disabled tech ENABLE_PROJECT_DIRTY_STATE_DEBUG_WINDOW 2021-04-20 10:41:38 +02:00
David Kocik
453884f908 Check of correct suffix during PrintHostSend dialog. 2021-04-20 09:18:50 +02:00
David Kocik
429675db2d Error appearance of upload notification and dividing lines with lesser impotance of spaces 2021-04-20 09:18:50 +02:00
David Kocik
d7b385f144 compare upload notification by id and not show id in text 2021-04-20 09:18:50 +02:00
David Kocik
fb645c6394 two line text for upload progress bar notification 2021-04-20 09:18:50 +02:00
David Kocik
c140974bf4 Changed ToolpathOuside error notification from plater to slicing error notification type so it is grayed out correctly 2021-04-20 09:18:50 +02:00
David Kocik
9118de4e3c Upload notification text fix 2021-04-20 09:18:50 +02:00
David Kocik
78e61eddf8 typo fix 2021-04-20 09:18:50 +02:00
David Kocik
441cf62ad3 fix of notification states and upload progress bar notification fadeout 2021-04-20 09:18:50 +02:00
enricoturri1966
c691464659 Project dirty state manager -> Improvements update of plater dirty state after save commands 2021-04-20 09:09:06 +02:00
enricoturri1966
3e09334162 Removed mutable members from class Bed3D 2021-04-20 08:53:56 +02:00
Lukáš Hejl
40d9e51b5e WIP: Added support for top and bottom layers for MMU segmentation. 2021-04-19 19:21:06 +02:00
Lukas Matena
dfe926ef63 Info in ObjectList: Added variable layer height 2021-04-19 16:10:40 +02:00
Lukas Matena
df3fb31268 Info in ObjectList: Settings should be above the new info items, info items are selectable 2021-04-19 16:10:40 +02:00
Lukas Matena
548ceb7acc Show info about custom supports and seam in ObjectList
Slight refactoring in GLGizmosManager so it is easier to open a gizmo from the ObjectList
2021-04-19 16:10:40 +02:00
Lukáš Hejl
368b48b0a0 WIP: Allows regions of MMU segmentation to be trimmed by chosen width. 2021-04-19 07:12:42 +02:00
Lukáš Hejl
f49ceb1e0f WIP: MMU segmentation without top and bottom layers 2021-04-19 07:04:50 +02:00
Lukáš Hejl
e3c33844d5 WIP: Duplicated the FDM support gizmo for the MMU segmentation 2021-04-19 07:01:11 +02:00
enricoturri1966
4da8de5f49 Removed mutable members from class GLToolbar 2021-04-16 15:49:37 +02:00
enricoturri1966
4c464b35f9 Removed mutable members from class Selection 2021-04-16 15:25:03 +02:00
enricoturri1966
a393df59d7 Further refactoring into struct Camera 2021-04-16 14:05:55 +02:00
enricoturri1966
074a44833e Removed mutable members from struct Camera 2021-04-16 13:44:01 +02:00
enricoturri1966
dabac92755 Fixed flickering of 3D scene GUI when the scene's bounding box gets very big 2021-04-16 12:49:57 +02:00
enricoturri1966
66f6c8c786 Fixed conversion to utf8 of strings entered using Custom G-code dialog 2021-04-16 09:48:22 +02:00
enricoturri1966
ce73671f47 Project dirty state manager -> Improvements to management of gizmos dirty state 2021-04-16 09:36:19 +02:00
Vojtech Bubnik
48a93e40fb After issuing the color change custom G-code, which is most likely
just M600, reset the internal retract counter, so that a retract
will happen after the firmware returns from M600 to the initial position.

Fixes "Blobs on print after manual color change #6362"
2021-04-15 16:29:30 +02:00
enricoturri1966
8c3d098ff6 Project dirty state manager -> management of gizmos dirty state WIP 2021-04-15 15:19:03 +02:00
Vojtech Bubnik
eb428d48fc Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2021-04-15 13:48:29 +02:00
Vojtech Bubnik
d5ddf8b00e RemovableManager on OSX: Testing for dictionary values for nullness.
Hopefully it fixes Can not start slicer on mac Bigsur #5719
2021-04-15 13:48:20 +02:00
tamasmeszaros
64ec319017 Fix for arrange crash when geometry has zero length segments
fixes #5749
2021-04-15 13:23:35 +02:00
enricoturri1966
1e69e6def1 Follow-up of 526233ca47 -> Take in account original instances scale factor 2021-04-15 08:41:20 +02:00
enricoturri1966
526233ca47 Modified version of automatic downscale on load of objects too big 2021-04-14 14:46:49 +02:00
Vojtech Bubnik
0625788583 Fixed obvious bug in move operator, discovered by clang lint ran by Tamas. 2021-04-14 14:25:30 +02:00
Vojtech Bubnik
7112ac61b6 Replacing ClipperLib::IntPoint with Eigen point as a first step to
make the ClipperLib paths and polygons compatible with Slic3r paths
and polygons without conversions and memory allocations.
2021-04-14 09:22:51 +02:00
Lukas Matena
8845b0245a Fixed build against wxWidgets 3.0 2021-04-14 07:05:12 +02:00
Vojtech Bubnik
29cd8aac26 WIP: Fix of arrangement after reducing ClipperLib::cInt
from int64_t to int32_t
2021-04-13 16:35:46 +02:00
Vojtech Bubnik
c1179fc2c7 Marked the unsafe ClipperUtils offset functions with CLIPPERUTILS_UNSAFE_OFFSET
Replaced some of the unsafe offset functions with safe variants.
Please test the
1) print bed from STL function
2) concentric infill
2021-04-13 13:28:37 +02:00
Vojtech Bubnik
e8643125d8 Clipper / ClipperUtils:
1) Let Clipper use int32_t for representing its coordinates. This
   reduces memory and allows to skip conversion between Slic3r Polygon
   and Clipper polygon.
2) Disable additional offset before executing the Clipper Offset algorithm.
   We don't see any reason for that and it required 64bit Clipper coordinates,
   which were disabled with 1).
2021-04-13 11:31:54 +02:00
Vojtech Bubnik
dbd1c09523 FDM snug supports: New parameter "closing radius", inspired by Cura's
support_join_distance
2021-04-12 14:56:36 +02:00
Lukas Matena
e1619e2ff1 Fixed a typo in an error message (--sw_renderer -> --sw-renderer) 2021-04-12 09:15:28 +02:00
enricoturri1966
94b28f9b8d Do not use custom gcode in out of bed detection 2021-04-10 11:07:08 +02:00
enricoturri1966
fbde7de98a Do not convert custom gcode extrusion to travel 2021-04-09 12:52:11 +02:00
enricoturri1966
e89a14c8a7 Project dirty state manager -> current gizmo dirty state 2021-04-09 08:26:48 +02:00
Vojtech Bubnik
558deca789 Configs should point to PrusaSlicer-alpha, not beta in alpha stage. 2021-04-09 08:11:40 +02:00
Vojtech Bubnik
ef6ce8792d Fix of brim under supports 2021-04-08 16:36:52 +02:00
Vojtech Bubnik
8fd731f7a0 New FDM support sparse infill zig-zag algorithm.
Fixed some old support and infill issues.

Fixes support problem #4295
Fixes Parts of interface layer extends beyond supports and cannot be printed
Fixes support missing under horizontal overhang #6058
Fixes Slicer double-traces small sections of Rectilinear Supports, causes
Fixes plastic buildup and nozzle crashes #4951
Fixes Add "Angle Interface layers" #2969
2021-04-08 15:29:40 +02:00
tamasmeszaros
08ca5b29f0 Fix slow cancellation of rasterization step
fixes #6253
2021-04-08 14:36:37 +02:00
enricoturri1966
bfbc683a59 Follow-up of 926ecd0585 -> Improved management of plater dirty state 2021-04-07 14:26:04 +02:00
tamasmeszaros
e8af080346 Merge remote-tracking branch 'origin/tm_sl1_import_fix' 2021-04-07 13:56:14 +02:00
enricoturri1966
926ecd0585 Project dirty state manager -> plater dirty state 2021-04-07 12:58:14 +02:00
tamasmeszaros
9b47fb512e Remove right click menu item for "optimize orientation" 2021-04-07 12:51:02 +02:00
tamasmeszaros
bed3321324 Small improvement to "least supports" method 2021-04-07 12:51:02 +02:00
tamasmeszaros
1663787b96 Better naming of gui controls 2021-04-07 12:51:02 +02:00
tamasmeszaros
649dfca8d6 Allow rotation of multiple selected items. Disable auto positioning 2021-04-07 12:51:02 +02:00
tamasmeszaros
804758dfed Remove accuracy slicer
No practical use
2021-04-07 12:51:02 +02:00
tamasmeszaros
773116b777 Allow auto-rotation of objects not completely inside bed.
Don't use SLAPrintObject as the input for optimization. Use ModelObject and pass the print config to the optimization in RotoptimizeJob::prepare()
2021-04-07 12:51:02 +02:00
tamasmeszaros
5443f77489 Increase performance of "best misalignment" method 2021-04-07 12:51:02 +02:00
tamasmeszaros
4a9768cc7f Change configuration bank name for SLA auto rotation 2021-04-07 12:51:02 +02:00
tamasmeszaros
33eec05f02 Tolerate corrupted appconfig settings for auto rotation 2021-04-07 12:51:02 +02:00
tamasmeszaros
e7f5c61bb8 Remove leftover debug message 2021-04-07 12:51:02 +02:00
tamasmeszaros
f3e3aabec7 Least supports optimization revived.
Fix missing include on Win32


Cleanup benchmarking code
2021-04-07 12:51:02 +02:00
tamasmeszaros
0194094afa Method selection implemented 2021-04-07 12:51:02 +02:00
tamasmeszaros
4eb13a407f Extend execution framework with convenience functions 2021-04-07 12:51:02 +02:00
tamasmeszaros
46fd722f3c Unite cancel callback and status function 2021-04-07 12:51:02 +02:00
tamasmeszaros
de8bb00fa9 Speed up rotation optimizer
- No float to double conversion
- Solving issue of random (very similar) results due to the parallel summation of floats
2021-04-07 12:51:02 +02:00
tamasmeszaros
7760d3fbc4 Add new execution framework
Inspired by std::execution
2021-04-07 12:51:02 +02:00
tamasmeszaros
4293a68aaa Reverting to old rotation optimizer object-function.
Keep the performance optimizations though
2021-04-07 12:51:02 +02:00
tamasmeszaros
3135e47180 Fix duplicated error message dialog from GUI jobs. 2021-04-07 12:41:52 +02:00
tamasmeszaros
9aac1b6fa5 Fix issue with importing sl1 files with non-ascii filenames. 2021-04-07 12:41:38 +02:00
YuSanka
effad844e2 MSW specific: Fixed update of the UI after system color change.
Note: the wxEVT_SYS_COLOUR_CHANGED event works only for high contrast settings under MSW.

+ ConfigSnapshotDialog: Fixed UI colors for dark mode on all platforms
2021-04-06 22:25:35 +02:00
enricoturri1966
edbb1d0f69 Project dirty state manager -> presets dirty state 2021-04-06 16:29:05 +02:00
Lukas Matena
9660d35f8c An attempt to fix time estimates for 'Marlin (legacy)' flavor
Old M204 S sets both printing and travel accelerations, which must be
accounted for now when the latter was separated.
2021-04-06 15:45:49 +02:00
enricoturri1966
9b2d9fb01a GCodeProcessor added travel acceleration 2021-04-06 15:45:49 +02:00
enricoturri1966
52af90ed8f GCodeProcessor use new flavor gcfMarlinFirmware 2021-04-06 15:45:49 +02:00
Lukas Matena
8c89bf748b Implemented new acceleration control behaviour for the new Marlin firmware flavor:
- show extra travel acceleration settings in 'Machine limits' page in Printer Settings
    when the new firmware flavor is selected

- updated tooltips on the config values (they were basically wrong even in the current version)

- 'Marlin (legacy)' firmware flavor behaviour should not change: it exports M204 Pa Rb Ta
    (where a, b are the values from machine limits) at the beginning of gcode and it uses
    M204 S... for feature type dependent acceleration settings (legacy variant of M204 P.. T..)

- new Marlin Firmware exports M204 Pa Rb Tc (where a,b,c are the values from machine limits).
    Feature type dependent acceleration is set using M204 P..., not overriding the travel acceleration.
2021-04-06 15:45:49 +02:00
Lukas Matena
f0e9ad46ec Renamed the gcfMarlin enum value to gcfMarlinLegacy so we never mistake it for the new one
There should be no functional change.
2021-04-06 15:45:49 +02:00
Lukas Matena
151a76ee92 Duplicated Marlin firmware flavor to 'Marlin (legacy)' and 'Marlin Firmware'
The two flavors should be identical after this commit, except that GCodeProcessor.cpp was not updated. This shall be done in a later step.
2021-04-06 15:45:49 +02:00
Lukas Matena
58a811a638 Wipe tower: correctly detect first layer even with 'No sparse layers' option enabled 2021-04-06 15:37:39 +02:00
Lukas Matena
43d9e38325 Wipe tower: reorder extruders so first layer starts with soluble if possible
That way it will not be wiped on first layer
2021-04-06 15:37:39 +02:00
Lukas Matena
5d636ab853 Wipe tower: respect first_layer_speed 2021-04-06 15:37:39 +02:00
enricoturri1966
5d4b7c03b6 Extended interface of project dirty state manager 2021-04-06 13:17:29 +02:00
enricoturri1966
144e37c274 1st installment of project dirty state manager 2021-04-06 10:00:17 +02:00
Lukas Matena
3459231111 Wipe tower: set travel feedrate for a move from custom toolchange position to the wipe tower (#5483) 2021-04-05 23:39:27 +02:00
Lukas Matena
67bc2e472f Wipe tower: fix wipe moves after recent changes 2021-04-05 23:39:27 +02:00
Lukas Matena
a6ddab856b Wipe tower: refactoring of brim and solid infill on first layer 2021-04-05 23:39:27 +02:00
Lukas Matena
f6de946dd7 Wipe tower: don't use soluble filament for perimeters, sparse infill or first layer 2021-04-05 23:39:27 +02:00
Lukas Matena
3ed68ac28a Wipe tower: slightly changed finish_layer logic so it can be called after any toolchange 2021-04-05 23:39:27 +02:00
Lukas Matena
cc7ef40e20 Wipe tower: remove unfinished square wipe tower option 2021-04-05 23:39:27 +02:00
Lukas Matena
97c4c02001 Wipe tower: don't do sparse infill when there is a soluble filament above it 2021-04-05 23:39:27 +02:00
tamasmeszaros
04526d5c28 Merge branch 'tm_libnest2d_backport' 2021-04-01 09:50:12 +02:00
enricoturri1966
194cab75d9 Refactoring in GCodeViewer 2021-04-01 08:24:19 +02:00
YuSanka
46e4f54fd0 Auto color change: next improvements 2021-03-31 15:10:48 +02:00
tamasmeszaros
f117d02750 Back-porting improvements for libnest2d 2021-03-31 09:36:54 +02:00
enricoturri1966
ab3890dab5 Follow-up of 3fce8398f0 - Fixed build warnings 2021-03-31 08:54:58 +02:00
Lukas Matena
7007bf665c Added a missing include for gcc 2021-03-30 23:04:42 +02:00
YuSanka
c71fe03022 Fixed rescale for nodes with itInstanceRoot | itLayerRoot types 2021-03-30 18:26:28 +02:00
tamasmeszaros
fabb6716ee Extend wx png and expat fixes for all of its built-in libraries
That means adding tiff and jpeg
2021-03-30 12:56:37 +02:00
enricoturri1966
3fce8398f0 Follow-up of 6ffa51da58 - Modified export of final M73 lines for remaining time to next printer stop accordingly to firmware specifications 2021-03-30 09:59:10 +02:00
Vojtech Bubnik
e94a4da954 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2021-03-29 14:15:27 +02:00
Vojtech Bubnik
acce99f29b Fixed some compilation warnings in MutablePolygon.cpp 2021-03-29 14:15:18 +02:00
YuSanka
45ac53efa1 Code refactoring to reduce switch statements on ConfigOptionEnum<> templates 2021-03-26 19:01:10 +01:00
YuSanka
2c23e25497 DoubleSlider: fix for 1c2d264570 2021-03-26 13:34:37 +01:00
enricoturri1966
68303059a6 Extract bed size from gcode produced with Simplify3d 2021-03-25 09:23:14 +01:00
YuSanka
3a5360651d Added "Printable" menu item for multiple selection 2021-03-24 20:26:31 +01:00
enricoturri1966
cfcce6f29a Follow-up of 10c3e82917 - Updated version for unpublished techs in Technologies.hpp 2021-03-24 14:30:46 +01:00
enricoturri1966
645e5b6862 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_extended_m73 2021-03-24 12:05:36 +01:00
enricoturri1966
9c951b3108 Fixed parsing of g-code files generated by newer versions of Simplify3D 2021-03-24 11:36:16 +01:00
YuSanka
8bc23c90fc Suppress to show Search window on the Plater using Ctrl+F shortcut, when we are at Preview mode 2021-03-24 11:32:33 +01:00
Oleksandra Yushchenko
4496e2a8ce
Follow-up of 908c48ae6a -> Fixed update after switching tab after editing custom g-code in settings tabs (#6258) 2021-03-24 11:20:57 +01:00
YuSanka
991fa67fd1 OptionsSearcher improvements: Fixed a key for option() and groups_and_categories.
It contains "preset_type;opt_key" now. This key helps to avoid a collisions by using a same options key from different type presets.
Example: Option "elefant_foot_compensation" is in Print presets and SLA_printer presets
2021-03-24 11:14:07 +01:00
Vojtech Bubnik
10c3e82917 Updated version number,
alpha stores configs in alpha directory.
2021-03-23 13:50:53 +01:00
enricoturri1966
a0feb0f652 Preview and G-code viewer - Fixed synchronization between markers for pause print, color changes, custom g-code, retractions, deretractions and current line shown in g-code window 2021-03-23 12:46:04 +01:00
Lukas Matena
cafa5b26a8 Compilation fixes 2021-03-23 12:40:29 +01:00
Vojtech Bubnik
af9c7c967f Implementing a new switch for the shape of support towers:
expanded to a grid (the old way) vs.
snug (like the upstream Slic3r, Cura or Ideamaker).

Snug supports suffered from the degeneracies when merging overhang islands
over a large number of layers when projecting the support towers down.
We borrowed the idea & a bit of code from Cura by simplifying the support
polygons by closing the concave cracks, see the smooth_outward() function
and the MutablePolygon class.

Fixes Support problems with models with hole in the walls. #555
Fixes Support in the Air #740
Fixes [Bug] Supports generated beyond bed edges (X<0 and X>250) and where none are needed. #902
Fixes Unable to remove support material/can't change support "inflation distance" #2708
Fixes FR: support inflation and support conform to boundary #4783
Fixes Support blocker not working on this model #1346
Fixes Unnecessary support material #1993
Fixes support blocker enforcer issue #6240
2021-03-23 11:06:45 +01:00
Vojtech Bubnik
00295919bf Fixes of MutablePolygon 2021-03-23 11:06:45 +01:00
enricoturri1966
6ffa51da58 1st installment of export to gcode of M73 lines for remaining time to next printer stop 2021-03-23 09:05:52 +01:00
YuSanka
1c2d264570 Fix for f5d3866847 2021-03-22 15:46:02 +01:00
YuSanka
f5d3866847 Follow-up 995512f280 DoubleSlider improvements:
Fixed a case when wipe tower is used to the end of print and there is one layer which is not marked in layers_times statistics
2021-03-22 11:47:05 +01:00
Lukáš Hejl
1b3b4c5694 Added missing include (GCC 9.3) 2021-03-22 10:30:49 +01:00
enricoturri1966
b6470c3390 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_window 2021-03-22 08:39:44 +01:00
tamasmeszaros
aa2d8915ef Fix crash caused by boost log trivial on mac 2021-03-19 14:03:28 +01:00
tamasmeszaros
8295f81685 Fix mac warnings 2021-03-19 14:03:28 +01:00
Vojtech Bubnik
6f3f3624c5 Fixing FDM support bottom zero interface layers, where one dense
interface layer was errorneously created.

Follow-up to 00db3dc419
73b88e6ce0
referencing the issues fixed by the above commits:
Fixes Allow to disable raft under support structures. #3772
Fixes Separate counts for floor and roof support interface layers #4288
2021-03-19 13:39:20 +01:00
Vojtech Bubnik
4745948b84 Fixed compilation on Linux 2021-03-19 11:35:09 +01:00
Vojtech Bubnik
9f09f03228 Refactoring of FDM support generator:
1) If "support on build plate only" is enabled, the support columns are
   newly trimmed to not land on top of an object. However this may make
   the column too small to be stable.
2) Support enforcers newly take precedence over "supports on build plate only"
   and over "don't support bridges".
3) Some refactoring of the support generator code for clarity: Reduced
   some of the worst spagetti offenders.

Fixes Support generated even if support on build only activated #915
Fixes Bug: supports on build plate only #1340
Fixes Bottom interface layer is not generated , support on build plate only. (long open defect) #4199
Fixes option "supports on build plate only" does not work #3980

Fixes No support interface layers generated #1997
Fixes Feature Request: Option to combine results of 'support from build plate only' and 'support enforcers only' #2801
Fixes Support interface isn't generated: build plate only + blocked by model + support enforcer #3831
Fixes Support Enforcer don't create interface layers #5748
Fixes Support Enforcers Don't Have Top Loops/Raft #1870
Fixes Don't cancel support enforcers with "don't support bridges" #5105
2021-03-19 11:21:35 +01:00
YuSanka
4602f40813 Next auto color change improvements 2021-03-19 11:11:46 +01:00
YuSanka
995512f280 Fix of #6232 - Layer preview number scale and print time problem.
Problem description:
When "Print Settings -> Multiple Extruders -> No sparse layer" is enabled, then "Smart" Wipe Tower is used for wiping.
As a result, each layer with tool changes is splited for min 3 parts: first tool, wiping, second tool ...
But vertical slider wasn't respect to this case.
2021-03-18 18:53:49 +01:00
YuSanka
eda19a7e56 Fixed a crash after switch from Filament Settings Tab to some another, when "Custom G-code" category is active. 2021-03-18 18:53:49 +01:00
David Kocik
bfd87dc93a cleanup 2021-03-18 13:21:11 +01:00
David Kocik
7c7c355376 Notification manager - apply_in_preview function 2021-03-18 12:42:42 +01:00
YuSanka
a6cf840540 Auto color change improvements: Show info notification just ones, if there is new print 2021-03-17 17:11:03 +01:00
David Kocik
8c075a878f warning fix 2021-03-17 15:43:41 +01:00
David Kocik
d2ec2b33f9 missing override keyword
missing override keyword
2021-03-17 15:40:59 +01:00
Vojtech Bubnik
a95607d7bf Fixing an FDM support generator bug, where some of the support columns
were missing abruptly when going down.
The issue was caused by extracting support areas from a grid and
filtering the extracted islands by intersection with the input islands.
Sometimes the input islands were a bit bigger than the extracted contour,
thus some of the samples of the input islands did not fall into
the extracted contour.
2021-03-17 12:25:49 +01:00
tamasmeszaros
b13239e4ca Fix previous commit's missing include 2021-03-17 10:05:24 +01:00
tamasmeszaros
0c4fb6dfcc CGAL may have infinite face vertex ranges.
Calling vtc.size() may end up in an infinite loop. Also, quads do not appear in CGAL meshes.
2021-03-17 09:42:03 +01:00
David Kocik
5daaaa2845 Fixed upload notification cancel button 2021-03-16 18:44:12 +01:00
YuSanka
80b9a3c62b Fix of #6212 - Cannot select "New Project" after deleting models in saved project, continuing overwrites old project 2021-03-16 10:32:15 +01:00
tamasmeszaros
96ac6ff2fa Fix undrillable hole color and picking 2021-03-16 09:31:03 +01:00
tamasmeszaros
6d58546aef Fix unmarked failed holes on first gizmo opening 2021-03-16 09:31:03 +01:00
tamasmeszaros
3d0d96d8f9 Working hole drilling one by one without linear slowdown. 2021-03-16 09:31:03 +01:00
tamasmeszaros
6059d89bc8 Avoid mesh alteration when converting to CGAL Surface_Mesh
orient_to_bound_a_volume tends produce incorrect results.
2021-03-16 09:31:03 +01:00
tamasmeszaros
4b9de0398f Drill holes one by one and display warning of any of them fails
Drill with cgal::minus for now
2021-03-16 09:31:03 +01:00
Vojtech Bubnik
d0febbec32 Disable the new Toggle fullscreen menu item on OSX, it adds its own. 2021-03-16 08:54:46 +01:00
Lukas Matena
fc7762e465 Added a missing include (Linux) 2021-03-16 07:25:31 +01:00
Vojtech Bubnik
fc0e2d578f Checking for removable media on Chrome OS. 2021-03-15 17:42:18 +01:00
Vojtech Bubnik
d695e090ef Changing the Fullscreen hotkey to Ctrl+Cmd+F for OSX 2021-03-15 17:11:36 +01:00
Vojtech Bubnik
b9c4d29fe9 call detect_platform() after SLIC3R_LOGLEVEL env variable is read 2021-03-15 17:00:49 +01:00
Vojtech Bubnik
01406fd521 Worked around some quirky Linux file system issues. Namely
the Chromebooks share their file system to Linux using the 9p file
system, which does not support setting file ownership. Newly PrusaSlicer
will detect platform and it will not panick if copy_file() cannot set
file ownership after copying. It just logs the incident, and on
chromebooks the loglevel for that incident is "Info", not "Error".

Adjusted the full screen mode to contain menu bar.
Moved Platform.cpp/hpp to libslic3r
2021-03-15 16:19:22 +01:00
David Kocik
84a333e4ed Fixed progress percentage passed to notification 2021-03-15 16:03:51 +01:00
David Kocik
888f331778 Deleted debug print 2021-03-15 14:01:21 +01:00
David Kocik
645c840e5f Enabled print host upload notifications 2021-03-15 13:07:54 +01:00
enricoturri1966
db71a6308d Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_window 2021-03-15 11:27:43 +01:00
enricoturri1966
117a6ace5a G-code window - Fixed file mapping for gcode files generated by other slicers 2021-03-15 11:27:24 +01:00
Vojtech Bubnik
fb9d537b58 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2021-03-15 10:36:22 +01:00
Vojtech Bubnik
ba5e8860cb Fixing some compilation warnings 2021-03-15 10:36:03 +01:00
Oleksandra Yushchenko
e002f0066f
Ys code refactoring (#6227)
* GUI_ObjectList code refactoring:
The MenuFactory structure contains functions related to the context menu and bitmaps used to different volume types.
The SettingsFactory structure contains functions to getting overridden options, its bundles and bitmaps used to setting categories.

Fixed bugs/crashes:
1. Add object -> Add Settings from 3D scene -> Right click on object => Part's Settings list instead of object's
   (Same behavior if something else but Object is selected in ObjectList)
2. Add settings to the part -> Change part type to the "Support Blocker/Enforcer" -> Settings disappears (it's OK) but =>
   Save Project -> Open project => Support Blocker/Enforcer has a settings
3. Add part for object -> Change type of part -> Change monitor DPI -> old type icon appears
4. Select all instances in ObjectList -> Context menu in 3D scene -> Add Settings -> Select some category -> Crash

* ObjectLayers: Fixed a crash on re-scaling, when some layer range is selected

* Fixed OSX build

* Added menu item "Split to Objects" for multipart objects

+ Fixed bug: Add 2 parts,
             Add some settings for one part
             Delete part without settings => Single part object without settings, but settings are applied for the object.

+ Next refactoring: use same menu for Plater and ObjectList
2021-03-15 10:04:45 +01:00
Vojtech Bubnik
95c5763b83 Fixed typo in previous commit. 2021-03-15 09:55:57 +01:00
Vojtech Bubnik
932336612c Full screen toggle 2021-03-15 09:55:57 +01:00
Vojtech Bubnik
75ad7f262e Linux with precompiled headers wants Config.hpp header in PrintConfig.cpp 2021-03-15 09:55:57 +01:00
Vojtech Bubnik
33b63b35a2 Added detection of Microsoft WSL/WSL2 Linux flavors.
Added tracing of the platform detection.
2021-03-15 09:55:57 +01:00
Vojtech Bubnik
2c76c42baa Linux/OSX don't like an "BSD" symbol? 2021-03-15 09:55:57 +01:00
Vojtech Bubnik
8b4b6afd7b Fix of previous commit. 2021-03-15 09:55:57 +01:00
Vojtech Bubnik
a9c3d270e6 ConfigOptions: GUI type as enum, not string.
Fixing compilation error in the new Platform code.
Fixing one issue in FDM support after splitting the top/bottom
interface layers.
2021-03-15 09:55:57 +01:00
Vojtech Bubnik
051ba0e6f4 New files missing from the previous commit. 2021-03-15 09:55:57 +01:00
Vojtech Bubnik
ca8cf0a9f1 Detecting platform, namely reading /proc/version to detect Chromium OS.
Disabling Eject on Chromium, detecting removable media the Chromium way.
2021-03-15 09:55:57 +01:00
Vojtech Bubnik
2b19708720 Further ChromeOS support: Detect removable media mounted through ChromeOS 2021-03-15 09:55:57 +01:00
Vojtech Bubnik
9c80c6a4af Disable multi-sampling with virgl (VirtualGL) on Linux.
Namely, on ChromeOS virgl flips red/blue channels at least on some computers with multi-sampling enabled.
It seems it is sufficient to disable multi-sampling after the OpenGL context is created.
2021-03-15 09:55:57 +01:00
Vojtech Bubnik
2494a8f384 Allowing ints with open enums in combo boxes. 2021-03-15 09:55:57 +01:00
Vojtech Bubnik
73b88e6ce0 Splitting FDM support gap to top / bottom, introducing
support_material_bottom_contact_distance
Fixing Crash in support generation after fcb714c (repro attached) #6195
2021-03-15 09:55:57 +01:00
Vojtech Bubnik
f3f10ff002 Follow up on https://github.com/prusa3d/PrusaSlicer/pull/5219#issuecomment-794515454
Initializing random generator in PlacholderParser from system clock.
2021-03-15 09:55:56 +01:00
Vojtech Bubnik
00db3dc419 WIP: Splitting the number of top / bottom support interface layers.
If the new support_material_bottom_interface_layers is left at default -1,
then support_material_interface_layers is used for both top and bottom
interface layers.
If support_material_interface_layers == 0, then neither top nor bottom
interface layers are being extruded.
2021-03-15 09:55:56 +01:00
Vojtech Bubnik
adcbe4347c Fixed unit tests. 2021-03-15 09:55:56 +01:00
Vojtech Bubnik
f01f02154c Reworked the "new" bridging to respect the bridge_flow_ratio
by maintaining extrusion spacing, but modifying the extrusion width
and / or height.
2021-03-15 09:55:56 +01:00
Vojtech Bubnik
ceea9de8b8 WIP: Refactored bridging flow from normal flow, new config value
'thick_bridges' to switch between the Slic3r vs. S3D/Cura/Ideamaker
way of printing 1st object layer over supports.
Simplified the PresetHints.
2021-03-15 09:55:56 +01:00
YuSanka
1569dad5de Auto color change: Fixed show/hide for the notification. 2021-03-15 09:54:24 +01:00
David Kocik
ffb13767f4 typo correction 2021-03-14 18:35:36 +01:00
David Kocik
972dbe238f preventing hidden notification to show when updated and close them correctly. 2021-03-14 18:01:10 +01:00
YuSanka
5f6253390f Implemented suggestion of the auto color change, if model looks like sign 2021-03-12 16:35:07 +01:00
Lukas Matena
c18ad5f9d6 Added a missing include (gcc)
Removed several includes, hopefully they're not needed on any other platform.
2021-03-12 11:31:05 +01:00
David Kocik
15765eb99b Commented Print host upload notification until its tested 2021-03-12 10:32:26 +01:00
David Kocik
62c2095fe8 Print host upload notification with more info and cancel button 2021-03-12 10:32:26 +01:00
David Kocik
44bfb914ab progress bar notification - percentage text 2021-03-12 10:32:26 +01:00
David Kocik
6716492efa Printhost upload progress bar notification 2021-03-12 10:32:26 +01:00
David Kocik
bf032524eb notifications - minor changes in logic 2021-03-12 10:32:26 +01:00
David Kocik
6e325ee322 cleanup 2021-03-12 10:32:26 +01:00
David Kocik
bad12b5683 cleanup 2021-03-12 10:32:26 +01:00
David Kocik
80f0d305c1 request frame change in notification 2021-03-12 10:32:26 +01:00
David Kocik
32dd1f6e7c notification time correction 2021-03-12 10:32:26 +01:00
David Kocik
c41df487bb Notifications management and rendering refactoring.
With warning notification Model out of bed reworked to not show after dismiss.
2021-03-12 10:32:26 +01:00
Lukáš Hejl
08a826d237 Added a missing includes 2021-03-12 10:30:06 +01:00
David Kocik
58733e6807 print host upload queue dialog - precision in size column 2021-03-11 16:32:20 +01:00
David Kocik
b8adfbda66 saving size and position of print host queue dialog, added size column, sorting 2021-03-11 13:36:36 +01:00
tamasmeszaros
3c2d0b7c6e Tiny cosmetics 2021-03-08 17:38:10 +01:00
tamasmeszaros
a62262666a Exclude triangles of original interior mesh and drillholes from trimming 2021-03-08 17:38:10 +01:00
tamasmeszaros
fbc758642b Fix crash when the interior is corrupted 2021-03-08 17:38:10 +01:00
tamasmeszaros
4374716bfb Triangle trimming should handle drilled meshes separately 2021-03-08 17:38:10 +01:00
tamasmeszaros
1ec154012e Add working version of triangle trimming for hollowed meshes 2021-03-08 17:38:10 +01:00
tamasmeszaros
b8c1c13666 Add max_concurrency method for various execution policies 2021-03-08 17:38:10 +01:00
tamasmeszaros
e3c2e513fa Do grid redistance even with zero closing distance
This prevents having a leftover grid with zero at the exterior boundary. Trimming expects zero at (offset + closing distance) inwards
2021-03-08 17:38:10 +01:00
tamasmeszaros
7830c8f8aa Add BoundingBox constructor with point set iterators 2021-03-08 17:38:10 +01:00
tamasmeszaros
195b39bb5b Eliminate memory leaks from hollowing code 2021-03-08 17:38:10 +01:00
tamasmeszaros
06bf02df69 Fix Gizmo preview with hollowed mesh 2021-03-08 17:38:10 +01:00
tamasmeszaros
dd202af8cd Fix stl export with hollowed mesh 2021-03-08 17:38:10 +01:00
tamasmeszaros
d48ca7fd03 Fix incorrect mesh shown on plater after hollowing 2021-03-08 17:38:10 +01:00
tamasmeszaros
527e675294 Use triangle removal only for visualized mesh 2021-03-08 17:38:10 +01:00
tamasmeszaros
82954ba715 Group hollowing result (including grid) into one struct 2021-03-08 17:38:10 +01:00
tamasmeszaros
e57eca0289 Add voxel scale to openvdb metadata.
To be able to retrieve that information from a generated grid alone.

To avoid the copying of input mesh (for scaling) when doing the hollowing

Also remove some unused stuff from OpenVDBUtils
2021-03-08 17:38:10 +01:00
YuSanka
7cb3e729ee Fixed #6182 - First line custom gcode not aligned left in the tool tip 2021-03-08 14:19:58 +01:00
Vojtech Bubnik
8adb495e7d Fix of 589d2be442 2021-03-08 11:29:52 +01:00
enricoturri1966
14aca210cb Tech ENABLE_GCODE_WINDOW_USE_MAPPED_FILE merged into ENABLE_GCODE_WINDOW 2021-03-08 10:20:07 +01:00
Vojtech Bubnik
589d2be442 Fix of Repair with Netfabb does not work on builds after 2.3.0 release (Windows 10) #6193
This is more a workaround than a fix: Windows 10 3D model fixing API refuses
to load a zip64 encoded 3MF. We need to get in touch with Microsoft on that
issue, for now the 3MFs generated for the Windows 10 3D model fixing API
will be limited to 4GB. Saving a bigger 3MF will fail.
2021-03-08 09:36:21 +01:00
enricoturri1966
5998ee8f2e Code cleanup 2021-03-08 09:29:47 +01:00
enricoturri1966
9359d6d3d0 Follow-up of 0472c84525 - Fixed syntax errors 2021-03-08 09:01:15 +01:00
enricoturri1966
8027c94a41 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_window 2021-03-08 08:35:49 +01:00
enricoturri1966
0472c84525 G-code window uses file mapping 2021-03-08 08:35:32 +01:00
Lukas Matena
1efa9a06f6 Adjustable wipe tower brim 2021-03-05 16:41:02 +01:00
Lukas Matena
c25c435d52 Added a new placeholder for custom toolchange gcode (toolchange_z)
This always contains the actual print_z of the toolchange, while layer_z contains the print_z
of the print. The two differ in case that wipe tower without sparse layers is used.

Related to #3834.
2021-03-05 13:58:45 +01:00
Lukas Matena
c8fdd837ae Added a missing include for gcc 2021-03-05 11:27:25 +01:00
enricoturri1966
b6634b2ea0 Added progress dialog for adding parts from files 2021-03-04 15:09:50 +01:00
enricoturri1966
b748f36246 Fixed layout of loading file progress dialog 2021-03-04 13:36:07 +01:00
enricoturri1966
252aa9b229 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_window 2021-03-04 13:24:08 +01:00
enricoturri1966
cee4ed9ff2 G-code window optimization: parse g-code lines only when needed 2021-03-04 13:23:24 +01:00
Lukas Matena
70573484c2 Show an error notification when attempting to save 3MF while editing SLA support points
The notification disappears when it is no longer valid.
2021-03-04 09:35:41 +01:00
Lukas Matena
abd5a9a46e Add a notification when custom support enforcers are not used due to supports being off
It is now emitted from Print::validate and has a hyperlink to enable supports
2021-03-04 09:35:22 +01:00
enricoturri1966
a820e8c22f Vertically center text in G-code window 2021-03-04 08:37:21 +01:00
tamasmeszaros
a7255235e5 Remove gcc warning about uninitialized values 2021-03-03 15:19:24 +01:00
enricoturri1966
d99895805c Follow-up of 6a46b71dc1 - Fix build on non-Windows platforms 2021-03-03 15:17:45 +01:00
Vojtech Bubnik
5f5de1c812 Follow-up to 5276bd98d7:
WIP: MutablePolygon - linked list based polygon implementation
allowing rapid insertion and removal of points.
WIP: porting smooth_outward() from Cura.
2021-03-03 15:04:26 +01:00
enricoturri1966
6a46b71dc1 #5843 - GCodeProcessor: added processing of lines G28 2021-03-03 13:53:37 +01:00
enricoturri1966
da7d7ae11b Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_window 2021-03-03 09:07:28 +01:00
enricoturri1966
f586bb6f9e Fit G-code window between preview legend and view toolbar 2021-03-03 09:03:07 +01:00
Enrico Turri
91ffd8d501 Custom G-code validation - Do not veto setting tab switch when invalid g-code is found 2021-03-02 17:00:11 +01:00
YuSanka
28b92215c3 Follow-up 409849d238:
Added check for visibility for all loaded presets.
Added notification about this action.
 + PresetComboBox: Fixed update() function for physical printers, when some of related presets are invisible.
2021-03-02 12:19:49 +01:00
enricoturri1966
2c8f385c7f 1st installment of g-code window in preview 2021-03-02 10:01:06 +01:00
Lukas Matena
92a2951b23 Fix build caused by missing returns 2021-03-02 08:17:27 +01:00
Vojtech Bubnik
5276bd98d7 WIP: MutablePolygon - linked list based polygon implementation
allowing rapid insertion and removal of points.
WIP: porting smooth_outward() from Cura.
2021-03-01 18:41:46 +01:00
YuSanka
409849d238 Fixed loading of the project file with filament which is not installed for the selected printers
If loaded filaments are invisible/non-instaled, set them as visible
2021-03-01 16:36:05 +01:00
YuSanka
70fc0c232c Linux specific issue: DiffViewCtrl: Fixed scaling of the columns width 2021-03-01 16:01:53 +01:00
enricoturri1966
908c48ae6a Follow-up of 86d7e1fb90 -> Fixed update after switching tab after editing custom g-code in settings tabs 2021-03-01 13:03:43 +01:00
Vojtech Bubnik
224f3e506c Fix of Custom G-code for color change does not process macro #5782
Added macro processing of color_change_gcode, pause_print_gcode
and template_custom_gcode custom G-codes when emitting them into
the output G-code.
2021-03-01 12:52:40 +01:00
Vojtech Bubnik
d7a786e8c8 Bumping up wxWidgets to 3.1.4-patched on all platforms. 2021-03-01 11:36:11 +01:00
Lukas Matena
3f1299c9b7 Fix build against wxWidgets older than 3.1.1 2021-03-01 10:03:49 +01:00
Lukas Matena
b10d064a24 Added an empty category icon for Fuzzy Skin to prevent crashes in ObjectList
The icon should later be replaced by a proper one.
2021-02-26 16:08:51 +01:00
enricoturri1966
9a31580bde GCodeProcessor -> use boost::starts_with() 2021-02-26 16:00:32 +01:00
enricoturri1966
c9666ea257 #4402 - Review and merge of #6106 Temperature visualization in preview and G-code Viewer by combolek 2021-02-26 14:17:53 +01:00
enricoturri1966
2d52e155a5 Follow-up of 86d7e1fb90 -> Fixed update after editing custom g-code in settings tabs 2021-02-26 13:56:51 +01:00
enricoturri1966
8cb8a24ded Tech ENABLE_CUSTOMIZABLE_FILES_ASSOCIATION_ON_WIN set as default 2021-02-26 10:18:16 +01:00
Lukas Matena
19cfeb1a78 Fix of a crash when using active_step_add_warning on PrintObjects
PrintObjectBase::status_update_warnings called PrintBase::status_update_warnings, which in turn set
SlicingStatus flag to UPDATE_PRINT_STEP_WARNINGS (instead of UPDATE_PRINT_OBEJCT_STEP_WARNINGS) and
saved its own ObjectID. This led to spurious and hard to read thread-unsafe crashes.
2021-02-26 10:07:11 +01:00
Lukáš Hejl
a53de51b22 Fix of 8f293f0cb5
When was set use_external_mp_once to true then after first calling the avoid crossing perimeters this flag was reset which cases that on the second call of the avoid crossing perimeters the travel move didn't process as external.
2021-02-25 23:30:22 +01:00
YuSanka
55c62887cc Fix of #5503 - Physical printer disappears from Slicer upon close of application 2021-02-25 20:36:23 +01:00
enricoturri1966
48481c10b4 Tech ENABLE_VOLUMETRIC_EXTRUSION_PROCESSING set as default 2021-02-25 16:29:18 +01:00
enricoturri1966
a7bb63dbf2 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2021-02-25 15:22:54 +01:00
enricoturri1966
a3b60c09bc Tech ENABLE_CTRL_M_ON_WINDOWS set as default 2021-02-25 15:22:12 +01:00
Vojtech Bubnik
750cfdd099 Fix of support generator after merging
Base type interfaces for soluble interface supports #6017
2021-02-25 14:50:44 +01:00
enricoturri1966
4146fd337a Tech ENABLE_HACK_CLOSING_ON_OSX_10_9_5 set as default 2021-02-25 14:28:53 +01:00
enricoturri1966
8f8217723c Tech ENABLE_OPENGL_ERROR_LOGGING set as default 2021-02-25 13:38:52 +01:00
YuSanka
21b044b556 Fix of #5152 assert ""HasFlag(0x0020)"" failed in GetSelection(): must be single selection listbox
This assert was invoked by list_printer->GetSelection() because of list_printer was created with wxLB_MULTIPLE flag.
2021-02-25 04:03:26 -08:00
YuSanka
89f065b57e Fix of #5510: ctrlsub.cpp(231): assert "IsValid(n)" failed in GetClientData(): Invalid index passed to GetClientData()
BitmapComboBox: Use virtual OnSelect() on wxEVT_COMBO event
Don't save information about preset combobox type to the evt.SetInt(). This information can be received from BitmapComboBox::get_type() now.
2021-02-25 12:55:28 +01:00
enricoturri1966
be7e2f2ae1 Tech ENABLE_WX_3_1_3_DPI_CHANGED_EVENT set as default 2021-02-25 12:40:42 +01:00
Vojtech Bubnik
6e73ddab8e Support generator: Debugging visualization of "don't support bridges".
Fixed a bug in raft generator - 1st layer did not respect the 1st layer
density.
2021-02-25 12:29:08 +01:00
Vojtech Bubnik
43c05d35ea Fix of crash when using raft with modified Shape-Box with height 0.5mm #5652
Reworked skirt generator to only generate skirt at non-empty layers
(layers that actually extruder object or support) and to respect minimum
layer height. Skirt generator stops at the first layer where those both
conditions cannot be met.
2021-02-25 12:18:11 +01:00
enricoturri1966
1e33b95ed7 Follow-up of 33aa6be7b7 -> Validation of custom g-code added using vertical slider in preview at gcode generation level 2021-02-25 08:23:45 +01:00
Vojtech Bubnik
6f5bf71f11 Fixing some compiler warnings 2021-02-24 19:53:50 +01:00
Vojtech Bubnik
539e80e890 Fix of supports create overkill material that actually sopports nothing above it. #2245
When expanding the 1st layer support layer, do it by small steps while
trimming with object to avoid supports to leak through object walls.
2021-02-24 19:49:38 +01:00
Vojtech Bubnik
e9875f57a9 Fix of Unnecessary raft on models with large perimeter but nothing inside. #430
Don't fill in the holes in 1st layer of the raft.
The user may apply a higher raft_expansion if one wants a better 1st layer adhesion.
2021-02-24 18:08:32 +01:00
Vojtech Bubnik
6bdd42b1cf Fix of Support interface is generated across whole print layer regardless if it's needed or not #4570
Disabled a suspicious piece of legacy code inherited from Slic3r,
which tries to fill in spots inside support interfaces. The code was
too aggressive and it was doing more harm than good.
2021-02-24 17:34:51 +01:00
Vojtech Bubnik
61a5b43ac3 Fix of Add option to change support interface pattern #1197
New config field for switching the support interface pattern between
default (rectilinear for non-soluble interface, concentric for soluble interface),
explicit rectilinear and explicit concentric.

Also the config layer was reworked a bit to reduce some switch statements
on ConfigOptionEnum<> templates.
2021-02-24 15:59:18 +01:00
YuSanka
88bd189047 Some code refactoring follow-up 33aa6be7b7 and 92b1302a08 2021-02-24 15:50:18 +01:00
YuSanka
18ac892ed6 OSX specific: Fix of f11e81517d 2021-02-24 15:03:34 +01:00
YuSanka
d209c92c80 Merge remote-tracking branch 'origin/ys_auto_cp' 2021-02-24 14:33:31 +01:00
enricoturri1966
33aa6be7b7 Follow-up of 86d7e1fb90 -> Validation of custom g-code added using vertical slider in preview 2021-02-24 14:17:46 +01:00
Vojtech Bubnik
aee136cedd Squash merge of pull request Raft enhancements #6003
thanks @nemart69
2021-02-24 11:59:22 +01:00
enricoturri1966
255b23f0fc Added missing include 2021-02-24 11:31:08 +01:00
enricoturri1966
e44c1006d5 #6117 - Allow import of gcode files processed by ArcWelder 2021-02-24 09:46:42 +01:00
David Kocik
15d9751919 Delete lockfile at shutdown on linux and mac.
Passing lockfile on mac by sending message .
2021-02-24 09:31:51 +01:00
David Kocik
8ca225b38a config wizard - hide logo if small height 2021-02-24 09:21:40 +01:00
Vojtech Bubnik
fcb714cd24 Added a single perimeter to the first layer of support or raft.
Fixes [Request] Add optional perimeter to raft #756
Fixes First support layer does not stick to bed #2101

New parameters raft_first_layer_density and raft_first_layer_expansion
to influence the 1st layer of raft or support.
Fixes Allow to disable raft under support structures. #3772
Fixes raft is larger than necessary #2568
Fixes Supports on the build plate should have a solid bottom interface for better adhesion #1165

Changed the 1st layer infill to rectilinear even for soluble materials.
Fixes first layer of support for multi filament support oddly spaced #1445
Fixes Full Soluble Materials interfacing into Models + Soluble material noise on Bed #684
2021-02-24 08:48:40 +01:00
Lukáš Hejl
77d007c484 Fixed calculation of a distance from begin of a contour in the avoid crossing perimeters.
The total length of a contour was incorrectly computed, which could cause the longest detour was selected instead of the shortest one in some cases.
2021-02-23 20:56:36 +01:00
Lukáš Hejl
dc576b0511 Fixed inner offset in the avoid crossing perimeters.
Minimum contour width was used incorrectly, which could lead to breaking contour to more disconnected polygons.
2021-02-23 20:43:34 +01:00
Lukáš Hejl
e123dfa8a4 Fixed wrong orientation of infill and gap-fill extrusion.
When an island contains exactly one infill ExtrusionEntity, this extrusion was oriented to maximize travel distance from the end of the previous extrusion of perimeters instead of minimizing it.
2021-02-23 20:07:40 +01:00
YuSanka
ad55756257 Implemented Auto Color Print 2021-02-23 18:46:05 +01:00
Vojtech Bubnik
d2c46025c7 Fix of Enforce support for first N layers has no effect #470 2021-02-23 15:31:21 +01:00
Vojtech Bubnik
055d2321e7 Trimming support base layer with brim.
Fixes Brim destroyed by support aka. Enable supports on top of brim #1156
Fixes Brim Priority/Support on Brim #713
Fixes Phantom Support columns interfere with brim #3396
Fixes false generation of brim when supports are used #3395

This is a work in progress, as the brim generator currently produces
different brim areas from what the support generator expects.
2021-02-23 14:43:47 +01:00
Vojtech Bubnik
8ba230db9f Fix of Paint on support ignores some paints. #5948
When projecting the horizontal or nearly horizontal support enforcers or blockers
into object layers, the projection may fall on a layer above or below the layer
where it should in case the nearly horizontal support enforcer or blocker
triangles are intersecting the slicing plane of one of the object layers.
Due to numerical issues, projection of the support blocker or
enforcer triangles may not fall to the same side of the slicing plane
as when slicing the object. To make the projection robust, horizontal triangles
are newly projected to both the layer below and above if they are close
to the object slicing plane.
2021-02-23 12:30:15 +01:00
enricoturri1966
e1c201e714 Partial revert of 204714d566 -> Alternate fix for crash on printer presets switching between MM and SM printers 2021-02-23 12:00:23 +01:00
YuSanka
671efb02c9 Fix of #6110 - Preview: View Menu/List placement incorrect
Use wxComboBox with wxCB_READONLY flag instead of wxChoice
2021-02-23 10:04:43 +01:00
Vojtech Bubnik
7b52dc2324 Fixing build on gcc/clang 2021-02-22 19:43:18 +01:00
YuSanka
03dee86071 ObjectList: After deleting volumes from the object, update the extruder color for the object from the last and only volume 2021-02-22 18:50:38 +01:00
Vojtech Bubnik
032df7f18f PNGReadWrite: png::write_gray_to_file(), png::write_gray_to_file_scaled() 2021-02-22 18:07:27 +01:00
Vojtech Bubnik
3985d7bb81 Fixes Support Interface printed on air #2903
Fixes Supports generated loose in space #4874
Fixes Support Interface layers in midair #5016
2021-02-22 18:07:27 +01:00
Vojtech Bubnik
d2ca4563e8 Extended SVG::export_expolygons() with legend. 2021-02-22 18:07:27 +01:00
YuSanka
204714d566 Fix a crash on printer presets switching between MM and SM printers:
1. DoubleSlider::Control : Update extruder colors before another updates for layers slider
2. GCodeViewer : Control count of extruders during the legend updating
2021-02-22 17:08:03 +01:00
YuSanka
f11e81517d PresetComboBox: Fixed thin/wide_space_icon_width scale
+ Added border for the color_extruder bitmaps
2021-02-22 17:08:03 +01:00
Lukas Matena
3fd36f08e0 Show a notification when attempting to slice during SLA support points editing
This should also fix #5736 and a similar crash when deleting an object during manual editing (which was introduced between 2.2.0 and 2.3.0)
2021-02-22 16:26:16 +01:00
Lukas Matena
1904b7b904 Bugfix: custom seam did not work for triangles that were exactly vertical
The projection algorithm was originally made for custom supports, so vertical triangles
were not interesting. They are for seam. Instead of rewriting the algorithm and risking
more bugs, the edge case is detected and the triangle is tilted slightly.
2021-02-22 16:26:16 +01:00
Lukas Matena
bd2cbea202 Fix aligned seam when sequential printing is enabled 2021-02-22 16:26:16 +01:00
enricoturri1966
613f961b9f #6095 - Fixed toolpaths generation 2021-02-22 15:27:40 +01:00
tamasmeszaros
9092033bea Eliminate libnest2d warning on mac 2021-02-22 13:08:24 +01:00
YuSanka
791c191ea7 Fix of #6094 - Slicer crashes in MMU2S mode 2021-02-22 09:56:23 +01:00
enricoturri1966
92b1302a08 Follow-up of 86d7e1fb90 -> Custom gcode validation in Filament settings tab 2021-02-22 08:39:36 +01:00
enricoturri1966
9b0b0f5e27 Follow-up of 86d7e1fb90 -> Custom gcode validation in Printer settings tab 2021-02-22 08:13:48 +01:00
Vojtech Bubnik
ac97572cfe Fixed compiler warnings 2021-02-19 20:09:57 +01:00
Vojtech Bubnik
12d14eaa2f Fixing a constness issue of the preceding commit. 2021-02-19 19:00:43 +01:00
Vojtech Bubnik
cceaae84fb Silencing compiler warning in AGGRaster on Visual Studio 2021-02-19 18:57:45 +01:00
Vojtech Bubnik
fb7b995050 Improvements in FDM support generator:
Projection into a grid has been reworked to use the AGG rasterizer.
This fixes #5209 and #6067.
Also the raster is now being oversampled by maximum 8x8 samples
and the supports are only allowed to expand inside the cell.
This significantly reduces leakage of supports through object walls,
which fixes #5054.
2021-02-19 18:50:44 +01:00
enricoturri1966
c3a52f9b01 Tech ENABLE_RENDER_PATH_REFRESH_AFTER_OPTIONS_CHANGE set as default 2021-02-19 15:38:05 +01:00
enricoturri1966
bbf5c62af5 Follow-up of 9afaebac75 -> Fixed wrong gcode line numbers shown on preview horizontal slider when time estimation for silent mode is active 2021-02-19 14:12:49 +01:00
enricoturri1966
0a1448196b Tech ENABLE_NEW_NOTIFICATIONS_FADE_OUT set as default 2021-02-19 12:18:09 +01:00
enricoturri1966
d3daea2df8 Follow-up of 86d7e1fb90 - Fixed build warning on OsX 2021-02-18 15:35:38 +01:00