Commit Graph

3078 Commits

Author SHA1 Message Date
c1ab2bcbd9 Merge branch 'vb_clipper_optimization' 2021-05-03 15:24:04 +02:00
187adc6dfa Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2021-05-03 15:23:57 +02:00
bd85c499ac Fixing compiler warnings 2021-05-03 15:00:23 +02:00
65ceff0883 Another fix for C++ conformant compilers 2021-05-03 11:55:23 +02:00
f191b4611d 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
8e4b0ac6fd Added missing include (GCC 11.1) 2021-05-01 22:33:59 +02:00
868c1ecd41 Fixed conflicts after merge with master 2021-04-30 14:54:58 +02:00
2e4b7c2c07 Improved MM priming lines placement on circular beds (#6459) 2021-04-30 13:11:33 +02:00
96a7a52715 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
849d7f2460 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_custom_gcode_detection 2021-04-29 11:07:47 +02:00
c901b60aa4 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
681737a3d6 Follow-up of 2c6472ebc3 -> Ensure backward compatibility 2021-04-28 16:06:49 +02:00
3fe61c2887 Tech ENABLE_SEAMS_VISUALIZATION -> Added threshold to place seams 2021-04-27 15:12:45 +02:00
9516470b2f Tech ENABLE_SEAMS_VISUALIZATION -> Fixed build on Mac 2021-04-27 11:11:21 +02:00
d078aedfbe Replace label Skirt with Skirt/Brim in preview legend 2021-04-27 10:46:42 +02:00
343eb6006b Tech ENABLE_SEAMS_VISUALIZATION -> 1st installment of seams visualization in preview 2021-04-27 09:45:15 +02:00
fa71246ca4 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
9c606e7948 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
fbdf0d6ab0 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
7a3ddb3de5 Merge branch 'tm_vb_clipper_eigen' 2021-04-23 11:44:25 +02:00
3fadd362fe Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_custom_gcode_detection 2021-04-22 15:30:27 +02:00
f9ddb38f04 Extrusions in custom start g-code forced to be at first layer height level 2021-04-22 15:15:19 +02:00
0fa17516d7 Move iterator stuff from polygon to multipoint 2021-04-22 09:44:08 +02:00
2d3d42dbff Added missing files 2021-04-22 09:26:07 +02:00
e912da36eb Convincing ClipperLib to use Slic3r's own Point type internally. 2021-04-21 20:15:49 +02:00
c5c73f4257 Use new libnest backend for MinAreaBoundingBox wrapper 2021-04-21 17:21:43 +02:00
a48acc5581 Minor code refinements 2021-04-21 16:49:11 +02:00
080f47e64b Write hollow flag to SL1 files if any object is hollowed. 2021-04-21 16:29:12 +02:00
ab405b5b65 Eliminate warnings caused by changes to aid new libslic3r backend 2021-04-21 16:02:31 +02:00
f3af547441 New custom backend for libnest2d using libslic3r types
Adapted to new clipper->eigen mod
2021-04-21 16:02:25 +02:00
1f2181b470 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_custom_gcode_detection 2021-04-21 14:52:52 +02:00
21c78fdd97 Further fixes of the first_layer_height refactoring. 2021-04-21 14:34:49 +02:00
7826a01077 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_custom_gcode_detection 2021-04-21 12:32:17 +02:00
b149169eca 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
c052b78005 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
ffefa3625e Modified version of automatic downscale on load of objects too big 2021-04-14 14:46:49 +02:00
ddc8e0d7de Fixed obvious bug in move operator, discovered by clang lint ran by Tamas. 2021-04-14 14:25:30 +02:00
6007f7ee49 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
a1a50fe096 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
1b6534d5ac 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
05386e9b20 FDM snug supports: New parameter "closing radius", inspired by Cura's
support_join_distance
2021-04-12 14:56:36 +02:00
25df2fb8f2 Do not convert custom gcode extrusion to travel 2021-04-09 12:52:11 +02:00
2e70270d64 Fix of brim under supports 2021-04-08 16:36:52 +02:00
c0434121f5 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
9e770e052c Fix slow cancellation of rasterization step
fixes #6253
2021-04-08 14:36:37 +02:00
2bea4ccf9d Merge remote-tracking branch 'origin/tm_sl1_import_fix' 2021-04-07 13:56:14 +02:00
27229c0b5f Small improvement to "least supports" method 2021-04-07 12:51:02 +02:00
6f04f1b1d9 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
b0d2df95e4 Increase performance of "best misalignment" method 2021-04-07 12:51:02 +02:00
f21e0ae0ff Least supports optimization revived.
Fix missing include on Win32


Cleanup benchmarking code
2021-04-07 12:51:02 +02:00