Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-02-13Merge commit '123fc13123d38460f6c01d637521bf53009dd791' into dev ↵supermerill
(half-commit to 2.4.1)
2022-02-08Merge branch 'merill-merge' (2.3.57.10) into devsupermerill
2022-02-01Update to use OneTBBStephen Hurd
Mostly converting tbb::mutex -> std::mutex and tbb::atomic to std::atomic Some changes also present around task manager. squash: * Include atomic/mutex/thread where required * Use TBB_VERSION_MAJOR to detect if the legacy API should be used
2022-01-12Merge remote-tracking branch 'remotes/prusa/master' 2.4 into dev 2.3.58remi durand
still need much tests (& bugfixes) and finish some merging things.
2022-01-07Fixing corrupted SLA padtamasmeszaros
fixes SPE-1157
2021-11-02Remove SimplifyMeshFilip Sykala
2021-10-21Pass previously set arc tolerance to concave hulltamasmeszaros
2021-10-20Use proper morphological closing for pad creation.tamasmeszaros
2021-10-14New ClipperUtils functions: opening(), closing() as an alternativeVojtech Bubnik
for offset2() with clear meaning. New ClipperUtils functions: expand(), shrink() as an alternative for offset() with clear meaning. All offset values for the new functions are positive. Various offsetting ClipperUtils (offset, offset2, offset2_ex) working over Polygons were marked as unsafe, sometimes producing invalid output if called for more than one polygon. These functions were reworked to offset polygons one by one. The new functions working over Polygons shall work the same way as the old safe ones working over ExPolygons, but working with Polygons shall be computationally more efficient. Improvements in FDM support generator: 1) For both grid and snug supports: Don't filter out supports for which the contacts are completely reduced by support / object XY separation. 2) Rounding / merging of supports using the closing radius parameter is now smoother, it does not produce sharp corners. 3) Snug supports: When calculating support interfaces, expand the projected support contact areas to produce wider, printable and more stable interfaces. 4) Don't reduce support interfaces for snug supports for steep overhangs, that would normally not need them. Snug supports often produce very narrow support interface regions and turning them off makes the support interfaces disappear.
2021-10-04Replaced "Simple shorthands for smart pointers" shptr, uqptr, wkptrVojtech Bubnik
with their original names. Using weird shorthands makes the code unreadable for anyone but the original author. template<class T> using shptr = std::shared_ptr<T>; template<class T> using uqptr = std::unique_ptr<T>; template<class T> using wkptr = std::weak_ptr<T>;
2021-09-24Revert "Fixed volume transformations in SLA:":Lukas Matena
The fix is not complete, it is better not to break it more than it was. This reverts commit 6b25a9c8367fc3f16536248f9dd308b6cbe14265.
2021-09-24Fixed volume transformations in SLA:Lukas Matena
Volume transformations were ignored in SLA mode. This did not matter for plain STLs and PS own 3MF, because in those cases, the volume trafo was identity. Importing a 3rd party 3MF leads to issues with support/holes placement and generation. Fixes #6100 and #6744.
2021-09-20Eradicated admesh from TriangleMesh:Vojtech Bubnik
TriangleMesh newly only holds indexed_triangle_set and TriangleMeshStats. TriangleMeshStats contains an excerpt of stl_stats. TriangleMeshStats are updated when initializing with indexed_triangle_set. Admesh triangle mesh fixing is newly only used when loading an STL. AMF / 3MF / OBJ file formats are already indexed triangle sets, thus they are no more converted to admesh stl_file format, nor fixed through admesh repair machinery. When importing AMF / 3MF / OBJ files, volume is calculated and if negative, all faces are flipped. Also a bounding box and number of open edges is calculated. Implemented its_number_of_patches(), its_num_open_edges() Optimized its_split(), its_is_splittable() using a visitor pattern. Reworked QHull integration into TriangleMesh: 1) Face normals were not right. 2) Indexed triangle set is newly emitted instead of duplicating vertices for each face. Fixed cut_mesh(): Orient the triangulated faces correctly.
2021-09-13Some reduction of unnecessary conversions when calling ClipperUtils.Vojtech Bubnik
2021-08-27Fix of paint on supports don't work for object that has been scaled up #6718Vojtech Bubnik
The triangle-ray intersection function used a hard coded epsilon, which did not work for triangle meshes, that were either too small or too large. Newly the epsilon may be provided to the AABBTreeIndirect search functions externally and IndexedMesh calculates a suitable epsilon on demand from an average triangle mesh edge length.
2021-08-18Remove misleading commenttamasmeszaros
2021-08-18Remove code duplication, clarify naming of orientation searchestamasmeszaros
2021-08-18Add min z height orientation searchtamasmeszaros
2021-08-18Fix SLA support strut piercing into modeltamasmeszaros
2021-08-17Some improvements to "less supports" optimizertamasmeszaros
2021-08-16Make the input mesh transformation consistent. tamasmeszaros
Also add some comments
2021-08-16Rotfinder fixes wiptamasmeszaros
2021-07-26Increase minimum oversampling for grid conversion in hollowingtamasmeszaros
To avoid generation of broken meshes when the space for hollowing is tight
2021-06-23drop deprecated TBB components (#6590)Roman Beránek
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-08Get rid of Contour3Dtamasmeszaros
2021-06-08Refactored hollowing backend to use indexed_triangle_meshtamasmeszaros
2021-06-08wip on hollowing refactortamasmeszaros
2021-06-08SLA backend refactored, except Hollowingtamasmeszaros
2021-05-29Added missing includes (GCC 11.1)Lukáš Hejl
2021-05-18TriangleMeshSlicer: Got rid of admesh!Vojtech Bubnik
2021-05-17WIP: Reworked slicingVojtech Bubnik
1) Slicing code moved to TriangleMeshSlicer.cpp,hpp from TriangleMesh.cpp,hpp 2) Refactored to use as little as possible of admesh.
2021-05-17Fix marching squares test crash in debug buildstamasmeszaros
2021-05-05Fix of safety_offset() after ClipperUtils refactoring.Vojtech Bubnik
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-03Further rework of ClipperUtils: Replaced many to_polygons() /Vojtech Bubnik
to_expolygons() calls with templated ClipperUtils variants to avoid memory allocation and copying.
2021-04-30Clipper optimization:Vojtech Bubnik
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-21Use new libnest backend for MinAreaBoundingBox wrappertamasmeszaros
2021-04-21New custom backend for libnest2d using libslic3r typestamasmeszaros
Adapted to new clipper->eigen mod
2021-04-14Replacing ClipperLib::IntPoint with Eigen point as a first step toVojtech Bubnik
make the ClipperLib paths and polygons compatible with Slic3r paths and polygons without conversions and memory allocations.
2021-04-07Small improvement to "least supports" methodtamasmeszaros
2021-04-07Allow auto-rotation of objects not completely inside bed.tamasmeszaros
Don't use SLAPrintObject as the input for optimization. Use ModelObject and pass the print config to the optimization in RotoptimizeJob::prepare()
2021-04-07Increase performance of "best misalignment" methodtamasmeszaros
2021-04-07Least supports optimization revived.tamasmeszaros
Fix missing include on Win32 Cleanup benchmarking code
2021-04-07Method selection implementedtamasmeszaros
2021-04-07Unite cancel callback and status functiontamasmeszaros
2021-04-07Speed up rotation optimizer tamasmeszaros
- No float to double conversion - Solving issue of random (very similar) results due to the parallel summation of floats
2021-04-07Add new execution frameworktamasmeszaros
Inspired by std::execution
2021-04-07Reverting to old rotation optimizer object-function.tamasmeszaros
Keep the performance optimizations though
2021-03-16Fix unmarked failed holes on first gizmo openingtamasmeszaros
2021-03-16Drill holes one by one and display warning of any of them failstamasmeszaros
Drill with cgal::minus for now
2021-03-08Exclude triangles of original interior mesh and drillholes from trimmingtamasmeszaros