Commit Graph

  • 05ccafeeb5 As an example of using the enum_bitmask infrastructure for type safe sets of optional boolean parameters, the cut function "keep upper", "keep lower" and "flip lower" boolean parameters were converted into a single type safe enum_bitmask. Such a coding style is certainly wordier than the original code, but much safer and more readable than the error prone "boolean, boolean, boolean" function call parameter list. Vojtech Bubnik 2021-06-27 17:36:25 +02:00
  • 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. Vojtech Bubnik 2021-06-27 16:04:23 +02:00
  • c5304750d9 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. Vojtech Bubnik 2021-06-27 16:04:23 +02:00
  • 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. Vojtech Bubnik 2021-06-25 17:53:31 +02:00
  • d0a1416599 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. Vojtech Bubnik 2021-06-25 17:53:31 +02:00
  • 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. Vojtech Bubnik 2021-06-25 16:44:06 +02:00
  • 06872f02e5 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. Vojtech Bubnik 2021-06-25 16:44:06 +02:00
  • 1378d2084a Fix of #6650 - show estimated print time on ruler is not working YuSanka 2021-06-24 13:59:48 +02:00
  • 0f6182d5a6 Fix of #6650 - show estimated print time on ruler is not working YuSanka 2021-06-24 13:59:48 +02:00
  • 83285e3c4e Updated SL1S tilt times. rtyr 2021-06-23 17:58:11 +02:00
  • ea18aa9e78 Updated SL1S tilt times. rtyr 2021-06-23 17:58:11 +02:00
  • 33efb94ebd Updated SL1S bed model. rtyr 2021-06-23 17:23:21 +02:00
  • 62a7f76d44 Updated SL1S bed model. rtyr 2021-06-23 17:23:21 +02:00
  • 204ae62449 Slight improvement in cost of background slicing cancellation. Vojtech Bubnik 2021-06-23 16:37:18 +02:00
  • 4ba8abf84a Slight improvement in cost of background slicing cancellation. Vojtech Bubnik 2021-06-23 16:37:18 +02:00
  • 3a5a0575ef Fixed after removing TBB deprecated APIs Vojtech Bubnik 2021-06-23 15:24:05 +02:00
  • 3773ebe354 Fixed after removing TBB deprecated APIs Vojtech Bubnik 2021-06-23 15:24:05 +02:00
  • 38c83844a2 Merge branch 'master' into fs_QuadricEdgeCollapse Filip Sykala 2021-06-23 13:59:03 +02:00
  • 8e3c685a8b Merge branch 'master' into fs_QuadricEdgeCollapse Filip Sykala 2021-06-23 13:59:03 +02:00
  • f8d759ad64 Assert check of new vertex can't be used general on All models(depends on scale) Filip Sykala 2021-06-23 11:42:24 +02:00
  • 2cb6e4ec8a Assert check of new vertex can't be used general on All models(depends on scale) Filip Sykala 2021-06-23 11:42:24 +02:00
  • e13535f822 drop deprecated TBB components (#6590) Roman Beránek 2021-06-23 11:48:48 +02:00
  • 50b4f08e37 drop deprecated TBB components (#6590) Roman Beránek 2021-06-23 11:48:48 +02:00
  • 7a7108b2ad Fixed warning enricoturri1966 2021-06-23 10:30:15 +02:00
  • 198b5f21b9 Fixed warning enricoturri1966 2021-06-23 10:30:15 +02:00
  • 1196fac551 Parallel QEC initialization Filip Sykala 2021-06-23 09:50:27 +02:00
  • 6049a7e6a8 Parallel QEC initialization Filip Sykala 2021-06-23 09:50:27 +02:00
  • d15055e547 Merge branch 'tm_seh_err_report_fix' tamasmeszaros 2021-06-22 18:14:08 +02:00
  • 6aeb5903b8 Merge branch 'tm_seh_err_report_fix' tamasmeszaros 2021-06-22 18:14:08 +02:00
  • 2096a6dbbf Fix error reporting when cgal mesh boolean crashes. tamasmeszaros 2021-06-22 18:13:35 +02:00
  • 4c469e0bbe Fix error reporting when cgal mesh boolean crashes. tamasmeszaros 2021-06-22 18:13:35 +02:00
  • 48cd3b21b6 Updated Prusa MINI machine limits. rtyr 2021-06-22 12:19:21 +02:00
  • 50bdad1cda Updated Prusa MINI machine limits. rtyr 2021-06-22 12:19:21 +02:00
  • 15c0183647 Merge branch 'tm_arrange_rot' tamasmeszaros 2021-06-22 11:52:10 +02:00
  • 1cf3feb4e7 Merge branch 'tm_arrange_rot' tamasmeszaros 2021-06-22 11:52:10 +02:00
  • 77c4aebebe 1.4.0-alpha1 Added new SL1S resin profiles. rtyr 2021-06-22 11:23:39 +02:00
  • d8842bbc53 1.4.0-alpha1 Added new SL1S resin profiles. rtyr 2021-06-22 11:23:39 +02:00
  • 49c6ce76d0 Search for suitable rotation when arranging items larger than the bed tamasmeszaros 2021-06-22 11:23:19 +02:00
  • 34a0d2a885 Search for suitable rotation when arranging items larger than the bed tamasmeszaros 2021-06-22 11:23:19 +02:00
  • d3233d66fb Fixing previous commit Vojtech Bubnik 2021-06-22 10:05:03 +02:00
  • 44a8032917 Fixing previous commit Vojtech Bubnik 2021-06-22 10:05:03 +02:00
  • 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] Filip Sykala 2021-06-22 10:01:14 +02:00
  • b93956e7ed 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] Filip Sykala 2021-06-22 10:01:14 +02:00
  • 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. Vojtech Bubnik 2021-06-22 09:53:23 +02:00
  • e31e3dc00f 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. Vojtech Bubnik 2021-06-22 09:53:23 +02:00
  • 7c13cfa1d9 Add test checking diference in volume before/after simplification Filip Sykala 2021-06-22 09:41:38 +02:00
  • 8dbc7c57d6 Add test checking diference in volume before/after simplification Filip Sykala 2021-06-22 09:41:38 +02:00
  • e3cdeda673 Add quadric edge collapse Filip Sykala 2021-06-22 09:21:16 +02:00
  • 429aff468a Add quadric edge collapse Filip Sykala 2021-06-22 09:21:16 +02:00
  • c64ce8777f Added new AzteQ Industrial printer, added DeltiQ 2 profiles for 0.6mm nozzle, added material ASA 275 (Spectrum), some minor setting improvements rtyr 2021-06-21 17:12:04 +02:00
  • 6372a22c10 Added new AzteQ Industrial printer, added DeltiQ 2 profiles for 0.6mm nozzle, added material ASA 275 (Spectrum), some minor setting improvements rtyr 2021-06-21 17:12:04 +02:00
  • b7643850ee Bumped up config version to 1.4.0-alpha0. rtyr 2021-06-21 16:57:48 +02:00
  • d9efd241ff Bumped up config version to 1.4.0-alpha0. rtyr 2021-06-21 16:57:48 +02:00
  • 4e59fd504e DoubleSlider: Fixed out of range assert YuSanka 2021-06-21 14:30:28 +02:00
  • 8863e34917 DoubleSlider: Fixed out of range assert YuSanka 2021-06-21 14:30:28 +02:00
  • d291bb397b Fixed compiler warnings Vojtech Bubnik 2021-06-20 16:39:10 +02:00
  • d7bc4468b8 Fixed compiler warnings Vojtech Bubnik 2021-06-20 16:39:10 +02:00
  • 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. Vojtech Bubnik 2021-06-20 15:21:12 +02:00
  • 69ffe12fd2 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. Vojtech Bubnik 2021-06-20 15:21:12 +02:00
  • d08a70478e Fixes Linux (and probably MacOS) build: wx/msw/registry.h is only available on Windows. (#6634) combolek 2021-06-19 02:45:48 -07:00
  • 52dd514295 Fixes Linux (and probably MacOS) build: wx/msw/registry.h is only available on Windows. (#6634) combolek 2021-06-19 02:45:48 -07:00
  • 5434a8980f Some code beautification for the last commit + Fix of the TabPresetComboBox layout for "light mode" + "tabs as a menu items" preferences YuSanka 2021-06-18 21:54:20 +02:00
  • 313742997c Some code beautification for the last commit + Fix of the TabPresetComboBox layout for "light mode" + "tabs as a menu items" preferences YuSanka 2021-06-18 21:54:20 +02:00
  • fd071421cb DarkMode for MSW (#6632) Oleksandra Yushchenko 2021-06-18 19:46:04 +02:00
  • ffd33d6494 DarkMode for MSW (#6632) Oleksandra Yushchenko 2021-06-18 19:46:04 +02:00
  • 65f440c2ba Follow-up e3000c5305 - Fixed OSX build YuSanka 2021-06-18 12:22:59 +02:00
  • 54f84010b3 Follow-up e3000c5305 - Fixed OSX build YuSanka 2021-06-18 12:22:59 +02:00
  • d3de14170a Fix build for unixes tamasmeszaros 2021-06-17 22:21:34 +02:00
  • 7c217c3ad9 Fix build for unixes tamasmeszaros 2021-06-17 22:21:34 +02:00
  • e3000c5305 Implementation of the FR #3856 - Add option to replace stl in object list (right panel) YuSanka 2021-06-17 21:28:30 +02:00
  • fc39dfcf49 Implementation of the FR #3856 - Add option to replace stl in object list (right panel) YuSanka 2021-06-17 21:28:30 +02:00
  • 684b66125e Fixed an issue where multi-material segmentation ignored the last extruder. Lukáš Hejl 2021-06-17 18:26:16 +02:00
  • 38ef600b7a Fixed an issue where multi-material segmentation ignored the last extruder. Lukáš Hejl 2021-06-17 18:26:16 +02:00
  • 1126241767 Merge branch 'tm_sigsegv_recover_SEH' tamasmeszaros 2021-06-17 15:17:40 +02:00
  • 322b152fb8 Merge branch 'tm_sigsegv_recover_SEH' tamasmeszaros 2021-06-17 15:17:40 +02:00
  • 976dd72b8b Catching of sigsegv and sigfpe with structured exceptions on win tamasmeszaros 2021-06-17 15:04:47 +02:00
  • a5529aff1e Implement custom integer->string conversion for hashing tamasmeszaros 2021-06-15 10:43:57 +02:00
  • 4eee0681c8 Catching of sigsegv and sigfpe with structured exceptions on win tamasmeszaros 2021-06-17 15:04:47 +02:00
  • e8efbcb763 Implement custom integer->string conversion for hashing tamasmeszaros 2021-06-15 10:43:57 +02:00
  • 72df789077 Fixed the following crash: enricoturri1966 2021-06-17 08:16:54 +02:00
  • 35a30fe65b Fixed the following crash: enricoturri1966 2021-06-17 08:16:54 +02:00
  • 3e5fa7b591 1.3.0-alpha2 Added SL1S SPEED profiles. rtyr 2021-06-16 19:48:31 +02:00
  • a0cc659d29 1.3.0-alpha2 Added SL1S SPEED profiles. rtyr 2021-06-16 19:48:31 +02:00
  • 9bbda55bb4 SL1S resources rtyr 2021-06-16 19:33:45 +02:00
  • 6c57c61674 SL1S resources rtyr 2021-06-16 19:33:45 +02:00
  • 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 YuSanka 2021-06-16 18:20:26 +02:00
  • c2f2fd0234 Follow up 0b5ea8f429 - Un-select random sequence by default - Added a check for interval height. It have to be bigger then print layer height YuSanka 2021-06-16 18:20:26 +02:00
  • 2e54648b97 Fixed a multi-material painting gizmo crash when extruders colors aren't initialized, which happens when switching between SLA and FDM printer. Lukáš Hejl 2021-06-16 17:05:24 +02:00
  • d7e663e2ef Fixed a multi-material painting gizmo crash when extruders colors aren't initialized, which happens when switching between SLA and FDM printer. Lukáš Hejl 2021-06-16 17:05:24 +02:00
  • b32202e597 Fixed incorrectly displayed custom supports and seams in the support and seam gizmos after 7377fc34ac. Lukáš Hejl 2021-06-16 13:41:35 +02:00
  • e3f18b4fc3 Fixed incorrectly displayed custom supports and seams in the support and seam gizmos after 7377fc34ac. Lukáš Hejl 2021-06-16 13:41:35 +02:00
  • 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. Vojtech Bubnik 2021-06-16 10:52:00 +02:00
  • ed99bfd3e0 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. Vojtech Bubnik 2021-06-16 10:52:00 +02:00
  • ccb53f71b6 Merge branch 'lh_multi_material_segmentation_fix' Lukáš Hejl 2021-06-16 06:06:07 +02:00
  • 6ddd88e596 Fixed an issue where the color of the first extruder always replaced the default color after painting in a multi-material gizmo. Lukáš Hejl 2021-06-15 16:12:26 +02:00
  • 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. Lukáš Hejl 2021-06-10 12:50:30 +02:00
  • c59cf5de40 Fixed layers with the wrong color after multi-material segmentation on objects with multiple objects. Lukáš Hejl 2021-06-10 08:33:14 +02:00
  • 21b38db488 Added using the move operator in some parts of multi-material segmentation. Lukáš Hejl 2021-06-09 17:13:30 +02:00
  • a06e42d01f Moved debug prints out of parallel cycles, and more debug prints were added for multi-material segmentation. Lukáš Hejl 2021-06-09 16:44:35 +02:00
  • 15a1b51339 Refactoring and cleanup of painting gizmos. Lukáš Hejl 2021-06-09 15:33:05 +02:00