Commit Graph

2334 Commits

Author SHA1 Message Date
bubnikv
bfbf3ac94d Follow up on the hot fix of #3637 53bfb6bed3
This is the correct solution, which maintains the optimization introduced
by 3e0690b37b
2020-02-10 14:24:28 +01:00
YuSanka
d81f7d8465 SlicedInfo: Removed secondes from estimated times 2020-02-10 12:52:32 +01:00
bubnikv
53bfb6bed3 Hot fix of Object disappears when wipe to object turned on #3637
which is a regression of an optimization 3e0690b37b

With the optimization disabled, the G-code generator will not be slower
than PrusaSlicer 2.1.1. I am leaving the code there to mark for
further optimization opportunities.
2020-02-10 08:24:39 +01:00
bubnikv
519a982fe9 Fix of #3632: Crash if a thin wall object is not printable, therefore
no extrusion is generated.

Now the situation is detected and an exception is thrown.
2020-02-09 18:34:06 +01:00
bubnikv
5eb1e7e886 Fixed a bug in the update of the backend when the Spiral Vase option
is enabled / disabled.

Spiral Vase forces different kind of slicing than the normal model:
In Spiral Vase mode, holes are closed and only the largest area contour is kept at each layer.
Therefore toggling the Spiral Vase on / off requires complete reslicing.

This commit moves the update to the correct location.
2020-02-09 13:56:42 +01:00
bubnikv
e7d2fcf0be Fixed unit tests broken with the previous commit (Spiral Vase fix).
Fixed a crash in the previous commit.
2020-02-09 09:43:15 +01:00
bubnikv
4e11552da9 Spiral vase improvements and bugfixes.
Fixes Connecting / expanding Bottom Layers to Vase Perimeter #253
Fixes Slicing error in vase mode #452
Fixes Slicing Issue (Vase Mode, 0.6mm dmr nozzle) #1887
Fixes Top fill pattern isn't used in spiral vase mode #2533
Fixes Cisar's vase doesn't slice correctly, creates artefacts #3595

When the model is sliced, all the contours are newly oriented
counter-clockwise (even holes), merged and then only the largest area
contour is retained. In perimeter generator, if the largest contour
splits into multiple perimeters, newly only the largest area perimeter
is retained in spiral vase mode. These two changes solve #3595 and similar.

The infill is newly calculated only for the bottom solid layers
if the spiral vase mode is active (removes various unwanted infill
along the vase walls), and the last bottom solid layer is switched
to a top solid pattern (solves #2533).

The thin walls are newly enforced to be disabled in spiral vase mode,
and the "ensure vertical shell wall" is enforced in spiral vase mode
to extend the bottom of the vase to the vase hull (fixes #253).
2020-02-08 21:36:43 +01:00
tamasmeszaros
8cda986ffb Follow-up for hole point randomization 2020-02-07 16:59:34 +01:00
tamasmeszaros
eb4b24e136 Hollowing: randomize hole mesh translations before unification.
To prevent self intersections in the output mesh.
2020-02-07 16:33:04 +01:00
tamasmeszaros
f512892f6b Report failing union on holes instead of faulty input mesh. 2020-02-07 15:59:33 +01:00
bubnikv
348bf39012 Fix of the previous commit: Fixed sequential print unit tests. 2020-02-07 14:43:13 +01:00
bubnikv
b8c898bf40 Fixed a bug in validation of the FDM Print to check for extruder
collisions against already printed objects: Rotation of an object
was not being taken into account.
Fixes #2450 PrusaSlicer 2.0 Sequential printing vs rotate object
Fixes #3585 Always Sequential Printing Error (Regardless of setting, placement or object size)

Fixed some collisions in sequential print just after arrangement by
making the validation using a slightly lower extruder radius value
than the arrangement.

Refactored PrintObject coordinate system so that the PrintObject's
coordinate system is always centered in respect to its ModelObject's
geometries. This refactoring may improve path planning a bit and
it may lower the requirements on bits representing Clipper coordinates
by 1 bit.
2020-02-07 14:10:27 +01:00
Enrico Turri
a1c0a29af2 ENABLE_BACKWARD_COMPATIBLE_RELOAD_FROM_DISK - Fixed inconsistencies for splitted and cutted objects 2020-02-07 09:49:48 +01:00
YuSanka
455f36119a Localization: Updated PrusaSlicer.pot and list.txt
+ added missed icons
2020-02-06 20:37:12 +01:00
Lukas Matena
665bc9e960 Hollowing: allow to place drain holes on the inner surface of a hollowed cavity
Drain holes are not allowed to be placed on its own inner surface. This was recently (0e3ebb3)
done by forcing invalidation of the slaposDrillHoles, which also invalidates and therefore
hides the drilled mesh. However, that also hides the hollowed mesh and it is not possible
to place holes inside the cavity.

This change does not dump the drilled mesh, but checks that no raycast hit ends up in a hole.
2020-02-06 17:58:26 +01:00
bubnikv
fb235cb675 Color change - handling Color Change data stored for different
printer configuration:

ss -> sm : Just apply the color changes of the original ss project at the active extruder.
ss -> mm : There are no tool changes stored. Ignore color changes, they are invalid because they are extruder non-specific.

sm -> ss : Apply tool changes as color changes (tool changes remember the target color), apply original color changes.
sm -> mm : Ignore both color changes and tool changes.

mm -> ss/sm : Ignore both color changes and tool changes.
2020-02-06 14:03:27 +01:00
Enrico Turri
f37a31596c Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_labels 2020-02-06 09:15:15 +01:00
tamasmeszaros
d58f451d5d Merge branch 'tm_cgal_improvements_SPE-1088' 2020-02-05 17:56:52 +01:00
tamasmeszaros
bd76c345f2 Handle CGAL exceptions and add tests for mesh boolean operations
Add conversion to exact predicates exact construction kernel format for consecutive booleans (experiments)
2020-02-05 17:40:05 +01:00
bubnikv
495a71ed00 Implemented top_solid_min_thickness / bottom_solid_min_thickness.
The two new config keys define a minimum vertical shell thickness.
The top shell thickness is calculated as a maximum of sum over
top_solid_layers * layer heights and top_solid_min_thickness,
the bottom shell thickness is calculated as a maximum of sum over
bottom_solid_layers * layer heights and bottom_solid_min_thickness.

The results of the formula above are shown at the Print parameter page
below the two new values to hint the user about the interaction
of the old versus new config values.

top_solid_min_thickness has no meaning if top_solid_layers is zero,
bottom_solid_min_thickness has no meaning if bottom_solid_layers is zero.
2020-02-05 16:53:48 +01:00
Enrico Turri
5c4b481e35 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_labels 2020-02-05 15:27:20 +01:00
tamasmeszaros
a66dcf58f7 Fix for failing build without PCH 2020-02-05 09:57:22 +01:00
bubnikv
bca3e86455 Fixed invalidation of FDM back end if a custom per layer
extruder change is added or removed.
2020-02-04 17:46:31 +01:00
bubnikv
059bdb4711 Implemented handling of complex ConfigOptionFloatOrPercent chains
by the PlaceholderParser.

Namely, all the options with the "ratio_over" reference are now handled
correctly by the PlaceholderParser with the exception
of the "first_layer_extrusion_width", which overrides speed of extrusions
by their respective extrusion type.

Also the various extrusion widths (extrusion_width, first_layer_extrusion_width,
external_perimeter_extrusion_width etc.) produce the same numbers
as if ran through the back-end, with the assumption of not overriding
layer height by the variable layer height editing tool or layer height
modifiers.
2020-02-04 15:27:38 +01:00
Lukas Matena
808cf2e38a Hollowing: merge meshes of holes with igl (intersecting holes) 2020-02-04 15:03:10 +01:00
Enrico Turri
dc393e2f0a Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_labels 2020-02-04 12:28:06 +01:00
Lukas Matena
d0f21dda4a Make sure that when drill holes are manipulated with, all data are invalidated properly
It is needed to regenerate hollow_mesh_with_holes completely, it may contain holes that were deleted by the user in the meantime
2020-02-03 17:31:18 +01:00
tamasmeszaros
ad3e3be3bc optimize string_printf 2020-02-03 17:11:24 +01:00
tamasmeszaros
0c4797e92e use vsnprintf instead of snprintf in string_printf function
Also, revert to old location: Utils.hpp and utils.cpp
2020-02-03 16:00:53 +01:00
Lukas Matena
227cc4dc33 Fixed conflicts after merge
slaposHollowing was divided into slaposHollowing and slaposDrillHoles on master
This commit takes this into account on the code that was merged from lm_drilling_backend_rebased
2020-02-03 15:42:54 +01:00
Lukas Matena
a1d4dab999 Merge branch 'master' into lm_drilling_backend_rebased 2020-02-03 15:20:16 +01:00
Enrico Turri
6fa49f5931 Added sequential print order id to 3D scene labels 2020-02-03 11:44:26 +01:00
Enrico Turri
0937c576ac Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_labels 2020-02-03 11:43:37 +01:00
tamasmeszaros
992a0c3d7a remove duplicate string_printf
#3594, #3592
2020-02-03 11:19:11 +01:00
tamasmeszaros
8aec5f6726 string_printf Wformat-security hack #
#3594, #3592
2020-02-03 11:09:54 +01:00
Enrico Turri
251a7d1329 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_labels 2020-02-03 08:23:55 +01:00
tamasmeszaros
36e92b0141 Put hole drilling into separate step 2020-01-31 08:58:21 +01:00
Lukas Matena
4bc4e347fb Fixed a crash during cut (typo introduced in 645f13a) 2020-01-31 08:54:41 +01:00
bubnikv
9ef65b23d8 Implemented loading of hollowed SLA mesh into the scene
in place of the normal mesh.

WIP: The code is inefficient (it does not store the timestamp
of the hollowed mesh, therefore it refreshes the hollowed mesh on each
scene update) and if the hollowing gets invalidated, the original mesh
is currently not being reloaded and the hollowed mesh is still visible.
2020-01-30 17:58:49 +01:00
bubnikv
1278aabf3e Fixed some compiler warnings. 2020-01-30 13:00:51 +01:00
bubnikv
c5fa400208 Fixed regression of 71fa411100
where the PrintObject bounding box was not invalidated correctly
when the transformation matrices of instances changed.

Also refactored PrintObject::size() for const correctness.
2020-01-30 12:22:30 +01:00
Lukas Matena
b0aa937215 Trying to improve drilling stability by handling CGAL exceptions 2020-01-29 15:57:49 +01:00
Enrico Turri
16fa68df0c Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_labels 2020-01-29 14:46:09 +01:00
tamasmeszaros
7156ed9987 Remove redundant code 2020-01-29 14:13:21 +01:00
Lukas Matena
b41c6d7d64 Refuse to drill a broken mesh
Hole parameters defaults and limits changed a bit
2020-01-29 14:07:12 +01:00
Enrico Turri
504413cc91 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_labels 2020-01-29 12:31:50 +01:00
Lukas Matena
5ae2f8a467 Function sla_trafo made accessible from outside SLAPrint.cpp unit 2020-01-29 10:07:10 +01:00
tamasmeszaros
6988752d05 Re-apply fix for Win32 2020-01-28 15:24:23 +01:00
tamasmeszaros
9d0d0cde21 Fix broken build on non-linux platforms 2020-01-28 15:08:07 +01:00
tamasmeszaros
04a58e41c4 Fix cgal when used from distro package
fix CMake -frounding-math propagation from CGAL.
2020-01-28 14:49:39 +01:00
Enrico Turri
d5b258c267 1st installment of object/instance labels in 3D scene 2020-01-28 13:15:21 +01:00
Enrico Turri
69549af9ac Invalidate object bounding box after arrange 2020-01-28 11:11:45 +01:00
bubnikv
dced3ce783 Fix of 2.2.0-A3: Sequential Printing: Wrong location after slicing #3570
This is a regression from 71fa411
2020-01-24 17:11:14 +01:00
tamasmeszaros
848fe4750f Add prusaslicer.ini to sl1 output zip 2020-01-24 15:23:59 +01:00
tamasmeszaros
743a03a8c2 append full config to sla zipped ini
SPE-1081
2020-01-24 14:31:31 +01:00
tamasmeszaros
7591637c89 Bugfixes and refactoring for SLA backend
remove duplicate code


Mark conversion constructors of EigenMesh3D `explicit`


Working on mesh simplification for hollowed interior


Fix bug SPE-1074: crash with empty supports and disabled pad.


fix regression after refactor


Remove unfinished code


Fix missing includes and dumb comments
2020-01-24 14:26:19 +01:00
tamasmeszaros
9f6ad70f0b Merge branch 'lm_tm_hollowing' 2020-01-24 13:51:49 +01:00
tamasmeszaros
c6a2b69419 32 bit MSVC workaround for CGAL 2020-01-24 13:41:37 +01:00
Lukas Matena
1c0aedbbe5 Hollowing gizmo can now trigger the backend calculation 2020-01-24 10:53:40 +01:00
Lukas Matena
d58ee47e4d Fixed incorrect hole normal transformation when the object is anisotropically scaled 2020-01-24 10:53:40 +01:00
Lukas Matena
022cc0871a Allowed to do drilling without hollowing 2020-01-24 10:53:40 +01:00
tamasmeszaros
6b0af43665 Use mesh boolean in the backend to drill holes. 2020-01-24 10:53:40 +01:00
tamasmeszaros
b45e95877e Merge branch 'master' into lm_tm_hollowing 2020-01-23 17:43:18 +01:00
tamasmeszaros
cb39f6b212 Use CheckAtomic differently 2020-01-23 17:20:02 +01:00
YuSanka
5ff8ae955b Implemented editing for extruder of existing ToolChangeCode tick
+ Code refactoring: DoubleSlider is extracted from wxExtensions
2020-01-23 16:11:21 +01:00
YuSanka
1ed313ab79 Synchronized mode of color_print data to/from 3mf/amf
+ Code refactoring " CustomGCode extracted to separate namespace and file
2020-01-23 16:11:21 +01:00
tamasmeszaros
75260eea12 Fix latomic linking on Mac
SPE-1079
2020-01-23 13:18:44 +01:00
tamasmeszaros
f8a5796ca5 add mesh simplification.
SPE-1072 
Working but flipped normals with the interior.
Testing on treefrog passed
Oversampling for hollowed mesh should not be less than 3x
Flip back normals after simplify and remove redundant test code.
2020-01-23 10:58:18 +01:00
bubnikv
71fa411100 Refactored PrintObject::m_copies to PrintInstances,
so that the ordering code at G-code export may work directly with
pointers to PrintInstances instead of with pair of <PrintObject, copy idx>.
Also the PrintInstance knows its source ModelInstance, which allows
sorting of PrintInstances for sequential printing in the order
they appear in Plater's object list.
2020-01-23 09:53:06 +01:00
bubnikv
cea7cbfaa0 The print order for sequential print now corresponds to the order
at the object list.
Partial fix of https://github.com/prusa3d/PrusaSlicer/issues/3455
2020-01-22 10:50:20 +01:00
bubnikv
094cef26d4 Fix of the new PlaceholderParser int() conversion.
Fixes https://github.com/prusa3d/PrusaSlicer/pull/3271
Also some old errors (typos, UBs) were fixed.
2020-01-21 17:12:06 +01:00
lukasmatena
6100a71406
Merge pull request #3548 from KyleMaas/fix-ooze-prevention-issue-2901
Fix bug #2901 - Ooze Prevention on dual extruders (regression)
2020-01-21 14:41:41 +01:00
Enrico Turri
2b93900ac0 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-01-21 14:07:22 +01:00
Enrico Turri
dd09077bba Reload from disk command enhanced to work with 3mf/amf files saved with PrusaSlicer 2.1.0 and earlier 2020-01-21 14:07:13 +01:00
David Kocik
93f9fc1049 Throwing exceptions with text after copy file check failure and renaming from .tmp failure 2020-01-21 13:39:27 +01:00
Lukas Matena
63b0eec5a9 Merge branch 'master' into lm_tm_hollowing 2020-01-21 13:00:07 +01:00
bubnikv
05ea01bdcc Ported PlaceholderParser unit tests to C++. 2020-01-21 12:10:09 +01:00
Vojtěch Bubník
071d3b2762
Merge pull request #3271 from smurfix/upstream
Add int() and % (modulo) functions
2020-01-21 04:15:56 -05:00
bubnikv
7efca35c27 Don't store "print_host", "printhost_apikey", "printhost_cafile"
into the G-code.
2020-01-21 09:55:44 +01:00
Jebtrix
5342ad8990 Fix [scale] from being assigned to [year] placeholder
[year] in output filename format results in blank file name (Issue #2349)
2020-01-20 11:27:00 -05:00
foxox
07d6fd8f7e Platter->Plater 2020-01-20 11:16:49 -05:00
bubnikv
5fe5378367 Fixed AstroBox upload type selection. 2020-01-20 16:57:50 +01:00
Enrico Turri
c87e951da5 #3536 - Fixed PrusaSlicer not closing the file when trying to open an invalid 3mf (actually any zip) file 2020-01-20 13:29:59 +01:00
tamasmeszaros
87f2578ee7 Try to fix libatomic linkage on raspbian
SPE-1073
2020-01-20 12:50:48 +01:00
tamasmeszaros
ce34ae4716 Try to fix libatomic linkage on raspbian 2020-01-20 10:38:40 +01:00
Enrico Turri
cbe5132832 #3540 - Fixed toolpaths preview for empty ranges 2020-01-20 10:38:01 +01:00
KyleMaas
53980d074e Fix bug #2901 2020-01-19 11:13:42 -05:00
Lukas Matena
d8f2c8cdab Fixed a bug in the hole-aware raycaster 2020-01-17 16:02:23 +01:00
Enrico Turri
b368f8ff24 Fixed conflicts after merge with master 2020-01-17 14:58:19 +01:00
YuSanka
2259f7b3e8 Code refactoring to mode comparison 2020-01-17 12:24:58 +01:00
Enrico Turri
cc19e9c48f ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE set as default 2020-01-17 12:12:38 +01:00
Enrico Turri
94a3d38afd ENABLE_3DCONNEXION_DEVICES_CLOSE_SETTING_DIALOG set as default 2020-01-17 11:45:52 +01:00
Enrico Turri
4eee702984 ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE set as default 2020-01-17 11:26:26 +01:00
Enrico Turri
ccb126a5f4 ENABLE_RELOAD_FROM_DISK_MISSING_SELECTION set as default 2020-01-17 11:07:10 +01:00
Enrico Turri
b6ab6378d7 ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX set as default 2020-01-17 10:50:25 +01:00
Enrico Turri
dad09c737c ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE set as default 2020-01-17 10:34:32 +01:00
Enrico Turri
34aac7e292 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_6dof_camera 2020-01-17 08:13:58 +01:00
Enrico Turri
67655743b9 Follow-up of merge of pull request #3293 -> Fixed missing include (for MAC build) 2020-01-16 16:18:35 +01:00
YuSanka
52c590f57a Merge remote-tracking branch 'origin/ys_cp_improvements' 2020-01-16 16:06:19 +01:00
Enrico Turri
46819224ee Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-01-16 16:03:14 +01:00
Enrico Turri
75c2b44d23 Follow-up of merge of pull request #3293 -> Fixed link error and toolpaths role colors 2020-01-16 16:02:40 +01:00
YuSanka
89fcd7f95a Added "mode" variable for custom_gcode_per_print_z 2020-01-16 16:01:19 +01:00
YuSanka
20fd874ff2 Merge remote-tracking branch 'origin/master' into ys_cp_improvements 2020-01-16 15:01:57 +01:00
bubnikv
3acfae92e1 Fix of recent wipe tower / tool ordering refactoring. 2020-01-16 14:59:16 +01:00
tamasmeszaros
fada7224f1 MeshBooleans with CGAL only 2020-01-16 14:31:31 +01:00
YuSanka
099118d6f2 Merge remote-tracking branch 'origin/master' into ys_cp_improvements 2020-01-16 14:02:19 +01:00
Enrico Turri
6be4b3865b Merge remote-tracking branch 'foxox/feature/ScaleSpeedLegendToVisible2' 2020-01-16 13:55:59 +01:00
bubnikv
1b354d8d3c WIP: Enhancement of the FDM back end to support Color Change situations,
when a project was switched from multi-extruder printer to single
extruder printer.
2020-01-16 13:39:03 +01:00
Enrico Turri
9f7feedc8b Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_6dof_camera 2020-01-16 09:18:21 +01:00
tamasmeszaros
e6bdec4aa5 Remove wrapper around std::mt19937 2020-01-15 17:44:15 +01:00
bubnikv
8e5ba5ccc5 Added synonyms to some PrintSteps:
psWipeTower now equals to new psToolOrdering indicating that
the ToolOrdering has been calculated (only if non-sequential mode is active).

psBrim now equals to new psExtrusionPaths
psExtrusionPaths shall be the last step before psWipeTower, indicating
that all the printing extrusions are calculated for the G-code preview
slider to edit the custom per print_z color changes, tool changes etc.
2020-01-15 16:20:16 +01:00
YuSanka
15f873dd74 DoubleSlider: Implemented code for check of used extruders for MustiAsSingle mode 2020-01-15 15:35:56 +01:00
Enrico Turri
62e60bcb43 Six degrees of freedom camera - 1st installment 2020-01-15 12:49:34 +01:00
bubnikv
2c958c021d Fixed regression in placement of Color Change event at the correct layer. 2020-01-14 17:35:42 +01:00
bubnikv
10d1b459bb Fix of
Skirt loops not being honored, only producing single loop #2193
First layer skirt only has half the loops when using multiple extruders #469

The skirt generator used to prime all printing extruders at the 1st layer
if enough skirt lines were configured, while at the other layers the skirt
used to be printed with the 1st extruder printing the layer.

There was a bug introduced quite a long time ago, where not enough skirt
lines were extruded if some extruders were not needed to print the 1st layer.

Newly the skirt generator works the same way on all layers:
All the extruders planned to print a layer are primed over the skirt
if enough skirt lines are configured.
2020-01-14 16:38:34 +01:00
bubnikv
390376daae Fix of recent refactoring of color print. 2020-01-14 16:11:03 +01:00
Lukas Matena
fd6c9582d5 Refactoring fix: making sure that mark_wiping_extrusions doesn't report it wiped something it didn't 2020-01-14 15:43:43 +01:00
bubnikv
ab6a2b71e8 Another bugfixes of GCode export after refactoring. 2020-01-14 15:12:45 +01:00
bubnikv
b54ce0d468 Fixing GCode Skirt generator after refactoring. 2020-01-14 14:24:38 +01:00
bubnikv
c96fc5eb51 gcc & clang do not like taking reference of const temporaries. 2020-01-14 12:10:01 +01:00
bubnikv
98e49772ed Custom G-code references are now being assigned to ToolOrdering::LayerTools()
and the superfluous M600 (color change) events are filtered out there.

Fixed a handful of compiler warnings.
2020-01-14 11:54:09 +01:00
tamasmeszaros
e6244f7bdb Eliminate use of uninitialized variable. 2020-01-14 10:48:22 +01:00
tamasmeszaros
ce49f0a294 Test sla support point generation determinism with seed parameter 2020-01-14 10:48:22 +01:00
tamasmeszaros
6205524d75 Make support point generator deterministic. 2020-01-14 10:48:22 +01:00
tamasmeszaros
90fbbf401f Refactor model facing support generation.
Fix for touching junction when adding aux pillars.


Fix issue with overly long support bridges.
2020-01-14 10:48:22 +01:00
tamasmeszaros
45220e26c0 Fix zero elevation support maneuvers and comment to clarify the alg. 2020-01-14 10:48:22 +01:00
Lukas Matena
d0d73e6109 Hollowing config values contain min/max values, these are respected when setting through the gizmo
Rendering and hole transformation fixes (still WIP, though)
2020-01-14 10:33:10 +01:00
bubnikv
8bfc986fa7 Refactoring of GCode::process_layer().
Refactoring of GCode export of color changes, extruder switches etc,
so that the "color change" like extruder switches are applied first
at the Wipe Tower / G-code export, so that adding / removing
an extruder switch at the G-code preview slider does not invalidate
slicing.
2020-01-14 10:31:18 +01:00
bubnikv
79d7a0130f Fixing some missing throw statements.
Adding noexcept to move constructors / operators.
2020-01-13 17:41:40 +01:00
Enrico Turri
91acbd01ed Fixed GCodeAnalyzer and GCodeTimeEstimator to avoid artifacts while rendering toolpaths due to numerical issues on extruder coordinate 2020-01-13 15:27:37 +01:00
bubnikv
9038dc21e8 Fixing regression issue after G-code export refactoring. 2020-01-10 15:51:35 +01:00
bubnikv
702a489b03 Fixing compilation isue on non-MS compilers. 2020-01-10 11:53:39 +01:00
bubnikv
15eedef74b Refactoring of ToolOrdering (wipe into infill / object)
Refactoring of GCode::_do_export()
Helper lower_bound and search functions similar to std, but without
needing the value object explicitely.
2020-01-10 11:27:04 +01:00
bubnikv
cc2b9b8849 ToolOrdering: Removed unused parameter. 2020-01-10 11:27:04 +01:00
Lukas Matena
f22961edae Fixed a raycaster problem with handling duplicate hits from igl
The duplicate hits confused winding number calculations in the raycaster, which in turn returned incorrect hit.
2020-01-09 14:09:26 +01:00
bubnikv
5bb9ba64c2 Fix of previous commit 2020-01-09 10:14:50 +01:00
bubnikv
de70adca9c Optimization of G-code export: Don't make copies of ExtrusionEntities
when sorting them into Extruders / Islands / Regions.
2020-01-09 10:00:48 +01:00
tamasmeszaros
578fcbc37c Performance improvements in raycaster 2020-01-08 17:12:06 +01:00
tamasmeszaros
bb62f36df3 Add tests for EigenMesh3D raycaster with hole support.
Tests fail! Supports are intersecting the object when holes are added.
2020-01-08 17:11:22 +01:00
YuSanka
0aaa7dd076 Small fix for 3e0690b37b 2020-01-08 15:44:39 +01:00
bubnikv
3e0690b37b Further optimizations of G-Code generator when Wipe into object / infill:
Don't do unnecessary tests if it is known that there is
no Wipe into object or infill active.
2020-01-08 15:16:31 +01:00
bubnikv
e0811e4aa5 Optimization of G-code export:
1) Don't allocate ExtruderOverrides if not necessary
2) Use boost::container::small_vector<int32, 3) for ExtruderOverrides
   (usually less than 4 instances are printed))
2020-01-08 14:58:24 +01:00
Enrico Turri
abd432e7a8 Configurable paths export (fullpath or not) to 3mf and amf 2020-01-08 11:11:38 +01:00
tamasmeszaros
a3a99d7a07 Do not translate the normal of drainhole points. 2020-01-08 10:49:54 +01:00
tamasmeszaros
f874b61881 Transform the position AND the normals of drainhole points 2020-01-08 10:10:24 +01:00
bubnikv
81187e7e0e Some refactoring and const correctness fixes. 2020-01-07 14:35:43 +01:00
Enrico Turri
5b2e2fe7b3 Fixed artifacts on toolbar and gizmobar icons showing up when changing screen or toolbar scale factors 2020-01-07 12:40:03 +01:00
Lukas Matena
0551411c48 Merge branch 'master' into lm_tm_hollowing 2020-01-06 12:41:29 +01:00
Enrico Turri
cc7b0297a0 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-01-06 12:11:07 +01:00
Enrico Turri
c790e2ff7c Added unit test for checking geometry after save+load to 3mf cycle 2020-01-06 12:10:57 +01:00
Lukas Matena
68d0f5b4ef Corrected description of --loglevel parameter on command line output 2020-01-06 12:07:23 +01:00
Spencer Owen
e7b835dc52 Add Astrobox to Print Host options 2020-01-06 03:37:35 -05:00
bubnikv
5294c85dfc Some minor polishing of Color print back end. 2020-01-06 09:32:13 +01:00
bubnikv
9406b50447 Const correctness improvements:
removed some unnecessary const_casts that remove const.
2020-01-03 16:33:04 +01:00
Enrico Turri
80ef0e0334 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-01-03 14:43:02 +01:00
Enrico Turri
83cbe1dd33 3DConnexion devices' Y axis used for zoom in/zoom out 2020-01-03 14:42:52 +01:00
bubnikv
3d17543d40 Fix of "Don't use bridging perimeters on top of elephant-foot compensation #3011"
If the Elephant foot compensation is applied to the 1st object's layer,
the uncompensated 1st object's slice is newly used for calculation
of bridges, overhans, skirt, brim, raft and supports.

Layer::slices were renamed to Layer::lslices to simplify reading
of the code, to differentiate from LayerRegion::slices.
2020-01-03 14:07:31 +01:00
Enrico Turri
3d5e32a876 #3435 - Added object's instances count into Slic3r_PE_model.config inside exported .3mf files 2020-01-02 11:37:50 +01:00
bubnikv
0808c8fa3c Refactoring and documentation of check_copy() and copy_file() 2019-12-22 11:11:48 +01:00
Lukas Matena
13f1bb2e43 An attempt to fix missing renaming from .gcode.tmp to .gcode
Added a missing include
2019-12-21 12:31:32 +01:00
bubnikv
cefe0ba13c Merge remote-tracking branch 'remotes/origin/dk_copy_file' 2019-12-20 15:08:31 +01:00
Enrico Turri
e9bb3c2450 3mf and amf import: keep loaded volumes transformation as a member of ModelVolume without applying it to the mesh 2019-12-20 12:11:58 +01:00
Lukas Matena
b3f15b1c98 Merge branch 'master' into lm_tm_hollowing 2019-12-20 10:33:53 +01:00
Lukas Matena
cfd0fa9ae5 Merge branch 'lm_common_gizmos_data' into lm_tm_hollowing 2019-12-20 10:24:37 +01:00
Lukas Matena
d1f86e0a80 SLA supports gizmo now uses hollowed mesh when available
Bugfix: SLA support tree is is now given the hollowed mesh, not the original
Added ImGui separators and change background alpha in hollowing gizmo dialog (to match the other gizmos)
2019-12-20 10:17:59 +01:00
David Kocik
31b134bfcc copy file into .tmp and then rename if correct 2019-12-19 15:36:00 +01:00
bubnikv
26b7dbd6f5 Improved accuracy of ModelVolume matrix store / restore
into the 3MF / AMF.
Improved accuracy of ModelVolume's mesh transform back from Object's
coordinate space to its own coordinate space after reloading
from 3MF / AMF.
2019-12-19 12:27:49 +01:00
bubnikv
2bf472988b We can now use std::exchange() as we switched to C++17 2019-12-19 12:27:49 +01:00
tamasmeszaros
42ffc4e3c5 Fix polytree traversal.
Put back old traverse_pt and union_pt_chained
2019-12-19 11:27:19 +01:00
tamasmeszaros
2feb8421e9 Divide pad blueprint before its filtered.
Filtering may remove the outer pad and the division expects an outer part to be present.
2019-12-19 10:59:21 +01:00
David Kocik
2ee2180869 Merge branch 'dk_remote_devices' into dk_copy_file 2019-12-19 10:11:16 +01:00
Enrico Turri
f8adf99c8d Rolled back version numbers for 3mf and amf files 2019-12-19 09:41:30 +01:00
Enrico Turri
fecd89fa38 Do not allow to apply reload from disk command to objects whose mesh has been modified after non uniform scale operations 2019-12-19 09:21:57 +01:00
Enrico Turri
750ea439bb Do not allow to apply reload from disk command to objects splitted using split to objects or split to volumes commands 2019-12-19 08:05:57 +01:00
bubnikv
fd3651d994 Fixed C++17 incompatibility. 2019-12-18 18:14:06 +01:00
David Kocik
ef250ad539 copy check only if path is on removable device 2019-12-18 14:09:16 +01:00
David Kocik
a68ede6f2d check_copy function 2019-12-18 13:13:40 +01:00
YuSanka
f7e06ded67 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2019-12-17 14:16:58 +01:00
YuSanka
8824468882 Added function to update of custom_gcode_per_print_z in Model from configuration
considering "colorprint_heights" option.

Changed thumb_up/down icons to better preview (feedback from #3256)

Commented some uncertain code
2019-12-17 14:16:38 +01:00
bubnikv
aff5adaaa0 Fixed a typo in extrusion ordering, pointed by @supermerill 2019-12-17 10:55:50 +01:00
tamasmeszaros
11b98b2241 Deal with cmake warnings caused by find CGAL 2019-12-17 10:12:37 +01:00
YuSanka
afcc6bbb08 Code refactoring for Color change implementation 2019-12-17 08:37:50 +01:00
Enrico Turri
43213b9548 Added [X] and [Close] buttons to close 3Dconnexion setting imgui dialog by clicking on them 2019-12-16 13:35:45 +01:00
tamasmeszaros
66759e10e3 Add opencsg demo sandbox 2019-12-16 11:13:20 +01:00
tamasmeszaros
464ec8da6a Add MeshBoolean.cpp with CGAL as object library. 2019-12-16 11:08:36 +01:00
bubnikv
b061904ad8 Fixes by @supermerill from pull request "ShortestPath fix" #3306 2019-12-13 15:40:42 +01:00
Lukas Matena
f60ff1c7ce Fixup of previous commit: actually adding new source files 2019-12-13 15:08:44 +01:00
bubnikv
65772958b7 Improved adaptive layer height metrics: Using the area of a triangle
delimited by the extrusion stepping and the sloping surface.
This leads to a yet different metric from Cura or upstream Slic3r.
2019-12-13 13:43:16 +01:00
Lukas Matena
2cb30f3641 First prototype of CGAL hole-drilling 2019-12-13 13:42:10 +01:00
Lukas Matena
537260494d Merge branch 'master' into lm_tm_hollowing 2019-12-12 11:37:33 +01:00
Lukas Matena
c284a65caa Warning fix: removed needless tautological check 2019-12-12 10:45:30 +01:00
Enrico Turri
57d069bd0a Some rework on layout of imgui dialogs 2019-12-11 15:30:25 +01:00
Lukas Matena
e747577271 Added a validation check to reject wipe tower in sequential prints
This scenario was never supported (#3283)
2019-12-11 08:12:19 +01:00
bubnikv
d0aad74c27 Fixed update logic to support newer index downloaded from the internet
than the index stored in the resources.
2019-12-10 17:49:09 +01:00
Enrico Turri
b63b5125b6 Enable selection for missing files in reload from disk command 2019-12-10 14:42:28 +01:00
Enrico Turri
bdfed9d9ef Attempt to fix view toolbar background not showing up on Mac when using dark mode 2019-12-10 10:56:21 +01:00
Enrico Turri
a7b12f97db Gray icons for gizmos in disabled state 2019-12-09 15:21:18 +01:00
Enrico Turri
61ab9e37d6 #3287 - Fixed GCodeAnalyzer and GCodeTimeEstimator when using Machinekit and Mach3/Linuxcnc gcode flavours 2019-12-09 11:40:26 +01:00
foxox
dea83da5b7 Speed legend scales depending on travel visibility. 2019-12-08 00:03:41 -05:00
tamasmeszaros
5d77c34567 Forgot to remove string_printf from 3mf.cpp 2019-12-06 16:28:14 +01:00
tamasmeszaros
5be66a52c0 add drain hole 3mf export and import 2019-12-06 15:47:58 +01:00
YuSanka
805a6c936c Localization improvements: Text correction 2019-12-06 13:58:23 +01:00
tamasmeszaros
60758abbb4 Merge branch 'tm_slice_func' 2019-12-05 13:38:33 +01:00
tamasmeszaros
514bb23c6c Add free functions to slice a TriangleMesh 2019-12-05 13:38:04 +01:00
Lukas Matena
4ba7cb7ede Fix of the wipe tower starting point
see issues #2968, #3234 and #3248
2019-12-04 13:47:02 +01:00
Lukas Matena
3ef34848c7 Fix of skirt: wipe tower was not correctly processed when rotated 2019-12-04 13:45:42 +01:00
bubnikv
4bce9e0eb9 Merge branch 'vb_libudev_explicit_linking' 2019-12-04 11:38:24 +01:00
Matthias Urlichs
329ad97a84 Add int() and % (modulo) 2019-12-04 09:32:22 +01:00
Enrico Turri
8a8c71429c Fixes into ENABLE_THUMBNAIL_GENERATOR_DEBUG 2019-12-03 12:44:20 +01:00
bubnikv
afa72da9d1 Fix of infill connecting along perimeter lines,
new 3-opt iterative improvement of infill path (currently disabled,
it is extremely slow)
2019-12-02 15:01:52 +01:00
Enrico Turri
45f10a3730 ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Removed debug output and cleanup 2019-12-02 11:44:11 +01:00
Enrico Turri
773bcbae7a ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Further extension of debug output to investigate issues on Mac and Linux 2019-12-02 10:48:46 +01:00
Enrico Turri
40498eee44 ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Extended debug output to investigate issues on Mac and Linux 2019-11-29 14:24:24 +01:00
Enrico Turri
1d5db5cf7a ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Added debug output to investigate issues on Mac and Linux 2019-11-29 12:45:41 +01:00
Lukas Matena
f2a810f335 Merge branch 'lm_tm_hollowing' into lm_hollow_gizmo 2019-11-29 10:20:32 +01:00
Lukas Matena
73af7c64b8 SLATreeSupports generator now takes account for holes and can build supports through them 2019-11-29 10:19:02 +01:00
Enrico Turri
ddd1df1552 ENABLE_THUMBNAIL_GENERATOR -> render printbed into thumbnails 2019-11-28 14:18:24 +01:00
YuSanka
dfd38c7818 Merge remote-tracking branch 'origin/master' into ys_color_print_extension 2019-11-28 09:01:14 +01:00
YuSanka
901a20b3b1 Code cleaning 2019-11-27 15:27:44 +01:00
YuSanka
496e09302f Implemented a message on Printer display for pause print
+ Added new icons
2019-11-27 14:44:33 +01:00
Enrico Turri
1ba3f0a4f6 Transparent background for thumbnails saved into gcode and sl1 files 2019-11-27 13:37:37 +01:00
tamasmeszaros
281762db45 Add hollowed interiors to the support data 2019-11-26 14:18:56 +01:00
Enrico Turri
643b26a0f3 ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Small refactoring 2019-11-26 12:24:07 +01:00
bubnikv
67b8506800 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-11-25 15:56:10 +01:00
bubnikv
d3ec53d9a6 WIP: Improvement in path planning
reorder_by_three_exchanges_with_segment_flipping()
works, but it is excessively slow, with close to O(n^3) time complexity.
Commited, but not used in production until sped up.
2019-11-25 15:55:59 +01:00
Enrico Turri
b1047d2e26 ENABLE_THUMBNAIL_GENERATOR -> ENABLE_THUMBNAIL_GENERATOR_PNG_TO_GCODE set as default 2019-11-25 10:30:31 +01:00
bubnikv
2b17e81f13 If of the previous commit: Set the MutablePriorityQueue indices
to size_t(-1) when removed from the queue.
2019-11-22 19:09:39 +01:00
bubnikv
9c4dc80057 Fix of the new gyroid infill path planning. Fixes #3226 2019-11-22 18:22:44 +01:00
bubnikv
0b9b74e35e Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-11-22 15:33:38 +01:00
bubnikv
4cff569b62 Improvements of infill path planning:
Implementation of 2-opt pairwise exchange iterative improvement
algorithm with an extension to a chain of segments, where
the chain of segments may get flipped during the exchange operation.
The 2-opt exchange algorithm may be quite slow.
2019-11-22 15:33:20 +01:00
Enrico Turri
62e69d986a Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_adaptive_layer_height 2019-11-22 14:18:51 +01:00
Enrico Turri
6df506e482 ENABLE_THUMBNAIL_GENERATOR -> Thumbnails generated using a callback function 2019-11-22 12:39:03 +01:00
Lukas Matena
c6e112a060 Merge branch 'lm_tm_hollowing' into lm_hollow_gizmo 2019-11-22 12:04:54 +01:00
Lukas Matena
2c1d256b0c EigenMesh3D raycaster should now be able to pick a correct intersection on the object or inside a hole 2019-11-22 11:14:38 +01:00
Enrico Turri
aea32ffe72 ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Added 'keep min' option to smoothing algorithm 2019-11-20 14:06:30 +01:00
Enrico Turri
79d516ca7f ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Smoothing algorithm modified to give more weight close to height limits 2019-11-19 14:58:27 +01:00
Lukas Matena
9dd18a8d6d Started work on extending EigenMesh3D to account for possible drain holes when raycasting 2019-11-19 11:33:49 +01:00
tamasmeszaros
7011c58faa Merge branch 'master' into lm_tm_hollowing 2019-11-18 17:50:56 +01:00
Enrico Turri
da44618074 ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Fixed adaptive layer height profile and layer height profile smoothing calculations 2019-11-18 14:32:41 +01:00
Enrico Turri
28dedd65f0 ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Code cleanup 2019-11-18 10:25:23 +01:00
Enrico Turri
68a9980a5e ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Small refactoring to improve performances 2019-11-18 10:17:44 +01:00
YuSanka
ec6c87756f Merge remote-tracking branch 'origin/master' into ys_color_print_extension 2019-11-18 09:18:25 +01:00
Enrico Turri
e1f06a1b84 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_adaptive_layer_height 2019-11-18 08:12:24 +01:00
Lukas Matena
bbb519ad0e Fixed a typo in MeshUtils.hpp 2019-11-16 08:22:39 +01:00
YuSanka
bc68b8eaf2 ExtruderSequenceDialog :
Fixed layouts after the second opening of the dialog.
 (Removing any extruder from the sequence does not cause an incorrect layout)
Validation of entered values added
 (0 is not a valid value)
2019-11-16 02:12:37 +01:00
bubnikv
b2a6a07d72 Make the .gcode and .sl1 thumbnails configurable through printer profile. 2019-11-15 17:33:31 +01:00
YuSanka
0fb8b2ce09 Delete color changes for unused extruders 2019-11-15 16:36:29 +01:00
bubnikv
fe4b65e305 Improvement of the Elephant foot compensation:
Using a positive curvature estimate to control the strength
of the Elephant foot compensation shall work similarly to
the previous implementation while avoiding pinching off
tiny pieces from the contour.
2019-11-15 16:20:01 +01:00
Enrico Turri
3baf11f694 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_adaptive_layer_height 2019-11-15 15:49:26 +01:00
Enrico Turri
f548a4d7d6 ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Profile smoothing using gaussian blur 2019-11-15 15:49:07 +01:00
bubnikv
8c377c6585 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-11-14 17:02:46 +01:00
bubnikv
dd59945098 Fix of a typo in KDTreeIndirect.
Improvement of the infill path planning.
Regression fix of Gyroid infill crashes.
Some unit tests for elephant foot and path planning.
2019-11-14 17:02:32 +01:00
Lukas Matena
88514eeb0e Merge branch 'lm_low_wipe_tower' 2019-11-14 10:37:04 +01:00
Enrico Turri
5baffdb9c2 ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Customizable cusp value 2019-11-14 10:22:48 +01:00
Lukas Matena
53cdb8ef53 No sparse layers option marked as EXPERIMENTAL 2019-11-14 10:05:02 +01:00
tamasmeszaros
673549d608 Merge branch 'tm_openvdb_integration' into lm_tm_hollowing 2019-11-13 16:07:40 +01:00
tamasmeszaros
d4d037792d Holes are now visible on slices in preview. 2019-11-13 15:55:37 +01:00
Enrico Turri
6eee31bf5a ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Disabled unused code 2019-11-13 15:06:17 +01:00
Enrico Turri
8768b04c8a Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_adaptive_layer_height 2019-11-13 14:18:30 +01:00
Enrico Turri
0001ce3dab ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Refactoring of SlicingAdaptive to account for volumes' transformation 2019-11-13 13:53:02 +01:00
tamasmeszaros
97811130a1 Merge branch 'tm_openvdb_integration' into lm_tm_hollowing
SLAPrintSteps parallel functions now fully adapted to sla::ccr
2019-11-12 17:11:26 +01:00
tamasmeszaros
4e067c42f0 SLAPrint steps moved to separate module.
* Lambdas replaced with class methods
2019-11-12 16:54:59 +01:00
Enrico Turri
b77ba32bb2 Adaptive layer height profile -> Added Adaptive button to imgui dialog 2019-11-12 14:18:43 +01:00
Enrico Turri
0c4507141a Attempt to fix Mac build on buildserver 2019-11-12 13:19:17 +01:00
Enrico Turri
9d5da8b18c Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_adaptive_layer_height 2019-11-12 12:43:16 +01:00
tamasmeszaros
a69e80b987 Fix non thread-safe data flow between plater and hollowing gizmo. 2019-11-11 17:27:32 +01:00
YuSanka
519291394a Save/Load new color print data to/from amf and 3mf files. 2019-11-11 16:01:34 +01:00
tamasmeszaros
35ba7a481c adding precompiled header should probably be the last statement. 2019-11-11 13:56:05 +01:00
tamasmeszaros
c22423a219 Merge branch 'tm_openvdb_integration' into lm_tm_hollowing
* Refactor file names in SLA dir
2019-11-11 12:55:22 +01:00
Enrico Turri
621b8426d3 #3175 - Fixed compatibility with boost v 1.71 2019-11-11 11:21:08 +01:00
YuSanka
6c8bb51f4a Use constant names for G-codes like M600, M601 and "tool_change"(Change extruder) 2019-11-11 09:38:45 +01:00
Lukas Matena
b4795e1292 Unified igl calls in MeshRaycaster and EigenMesh3D
MeshRaycaster is still aware of the clipping plane but it now uses EigenMesh3D internally
Public interface of both classes is unchanged
2019-11-08 20:18:14 +01:00
YuSanka
49175c3112 Merge remote-tracking branch 'origin/master' into ys_resin_cost 2019-11-08 19:33:18 +01:00
tamasmeszaros
ac8eab5fa8 Enhanced hollowing scheme, closing distance working as expected. 2019-11-08 16:51:43 +01:00
Lukas Matena
645f13a0ae Drain holes are now saved in ModelObject
Internal changes in GLGizmoHollow.cpp
2019-11-08 14:05:56 +01:00
tamasmeszaros
4b08865809 hollowing params renamed, filtering generalized 2019-11-08 09:21:30 +01:00
YuSanka
f2120c1122 Fixed a sequence of the legend items 2019-11-07 16:36:24 +01:00
Enrico Turri
6e4060569a 1) Added new tech ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE
2) Imgui dialog replaces texture for reset button and tooltip when layer editing is active
2019-11-07 15:55:45 +01:00
bubnikv
588734c7b3 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-11-07 14:35:50 +01:00
bubnikv
f2dd49a905 Merged pull request "Gyroid improvements" #2730
by @supermerill and @wavexx

WIP: The function Fill::connect_infill() is being rewritten
to utilize spatial structures wherever possible for lower CPU load
and less dynamic memory allocation.
2019-11-07 14:28:30 +01:00
tamasmeszaros
bc3d22348a Hollowing params: accuracy and smoothness 2019-11-07 09:34:34 +01:00
Enrico Turri
1e8aa54559 ENABLE_THUMBNAIL_GENERATOR -> Added ENABLE_THUMBNAIL_GENERATOR_DEBUG (disabled) 2019-11-07 09:01:28 +01:00
YuSanka
c4a62819f4 Implemented new color change preview from Gcode
+ Added missed "change_extruder.svg"
2019-11-07 08:13:26 +01:00
tamasmeszaros
a82f1268f3 Hollowed interior is now visible in preview 2019-11-06 14:26:15 +01:00
tamasmeszaros
bdf6f7342e Hollowing step in SLAPrint process, PrintConfig params added. 2019-11-06 13:38:43 +01:00
tamasmeszaros
4d8631fef6 Merge branch 'tm_openvdb_integration' into lm_tm_hollowing 2019-11-05 14:48:44 +01:00
tamasmeszaros
07fb9f6559 Add oversampling and gaussian filter to hollowing.
* Additional steps hollowing and drilling in SPAPrint
* Remove SLABoilerPlate.hpp as it was empty.
2019-11-05 14:48:00 +01:00
Lukas Matena
eaf815ca4b Merge branch 'lm_hollow_gizmo' into lm_tm_hollowing 2019-11-05 14:41:06 +01:00
Enrico Turri
d8dca69d60 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-11-05 13:58:13 +01:00
bubnikv
612e45e783 std::exchange not supported by C++11. 2019-11-05 11:46:05 +01:00
bubnikv
7a7183383f Merge branch 'master' of https://github.com/BryanSmithDev/PrusaSlicer into BryanSmithDev-master 2019-11-05 11:37:40 +01:00
Lukas Matena
7542580ac1 Merge branch 'tm_openvdb_integration' into lm_hollow_gizmo 2019-11-05 11:16:51 +01:00
bubnikv
e1c6bd174a Fixed missing include. 2019-11-05 11:14:00 +01:00
bubnikv
b295bc22db Adaptive elephant foot compensation: Improvement of the variable
offset regularization.
2019-11-05 10:45:14 +01:00
YuSanka
6ed9adaeff New legend for color print.
Some improvements for coloration multimaterial print indicator
2019-11-05 09:48:53 +01:00
tamasmeszaros
d9d11e5686 Add additional parameters to openvdbutils 2019-11-05 09:43:42 +01:00
Enrico Turri
76377ee0fe ENABLE_THUMBNAIL_GENERATOR -> Export thumbnails to gcode as png data in lines with max 80 characters length 2019-11-04 15:38:15 +01:00
tamasmeszaros
7808d09d06 SLA Contour3D expanded with conversions supporting quads. 2019-11-04 14:33:29 +01:00
Enrico Turri
8b8b6c1821 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-11-04 14:00:36 +01:00
Enrico Turri
64d5ac0d20 ENABLE_THUMBNAIL_GENERATOR -> Export thumbnails to gcode: max length of gcode lines set to 80 characters 2019-11-04 14:00:26 +01:00
YuSanka
d5f7956a55 Set custom color for color change 2019-11-04 13:42:47 +01:00
Stephan Reichhelm
3321ae7f13 + add FlashAir support for host upload 2019-11-04 12:53:48 +01:00
bubnikv
2399570950 Only enable Elphant foot compensation if printing directly
on the print bed (raft is disabled).
2019-11-04 11:34:33 +01:00
bubnikv
4c735192ef Bugfixes of the new adaptive elephant foot compensation. 2019-11-04 11:26:36 +01:00
Enrico Turri
c34232214d Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-11-04 11:13:19 +01:00
YuSanka
c564f693e9 Merge remote-tracking branch 'origin/master' into ys_color_print_extension 2019-11-03 19:34:34 +01:00
bubnikv
bb8d59391f Fixed missing include 2019-11-01 21:13:53 +01:00
bubnikv
db97610821 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-11-01 19:59:22 +01:00
bubnikv
a72ac57fab adaptive elpehant foot compensation, fixing
GH issues #1757 #2085 #2132 #2423 #2502 #2156 #2773 #2828 #2998 #3001
2019-11-01 19:59:09 +01:00
tamasmeszaros
a8a5a884f9 Add OpenVDBUtils into libslic3r, hollwing tests in libslic3r_test 2019-11-01 15:31:26 +01:00
tamasmeszaros
59c128d9fd Fix broken partial arrange 2019-11-01 15:13:05 +01:00
Enrico Turri
6663fc7018 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-11-01 12:26:43 +01:00
Vojtech Kral
d729315de3 Fix g-code export to permissionless filesystems
Fix #2521
Fix #3102
2019-11-01 10:54:55 +01:00
Enrico Turri
418634a677 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-10-31 16:41:03 +01:00
Lukas Matena
d632d91e79 WipeTower.cpp: The M220 B/R gcode is only emitted for Marlin firmware flavor
The extended gcode is now only supported by Prusa (https://github.com/prusa3d/PrusaSlicer/issues/3114)
A pull request https://github.com/MarlinFirmware/Marlin/pull/15739 aims to extend the gcode in upstream Marlin as well
2019-10-31 15:08:20 +01:00
tamasmeszaros
2165537fa5 Do some hollowing finally. 2019-10-31 14:36:33 +01:00
Enrico Turri
8f180a0cc1 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-10-30 11:47:21 +01:00
bubnikv
f60fbecd3d Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-10-30 10:19:00 +01:00
bubnikv
ba39ee6f12 EdgeGrid::signed_distance_edges() to provide the pedal point.
Removed 20_print.t test.
2019-10-30 10:18:56 +01:00
Enrico Turri
f6453aab1b ENABLE_THUMBNAIL_GENERATOR -> Fixed potential race condition when generating thumbnails 2019-10-30 10:09:58 +01:00
YuSanka
8ebd9ce7c4 Save "color_change" for a selected extruder to G_code 2019-10-29 15:34:35 +01:00
Enrico Turri
47dfe60f0e Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-10-29 14:47:59 +01:00
Lukas Matena
8b5561aec7 Fixed several warnings 2019-10-29 10:40:34 +01:00
Enrico Turri
2896e12a46 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-10-29 07:09:07 +01:00
bubnikv
9e8ce66f70 Fix / improvement of unit tests. 2019-10-25 19:06:40 +02:00
bubnikv
f8dc74374c Ported various clipper unit tests from Perl to C++,
the clipper Perl unit tests were removed.
2019-10-25 17:07:55 +02:00
Enrico Turri
bab4f51bc8 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-10-25 13:59:27 +02:00
Enrico Turri
2d5c28d6d1 ENABLE_THUMBNAIL_GENERATOR -> Allow for multiple thumbnails into gcode and sl1 files 2019-10-25 13:59:13 +02:00
bubnikv
4ae0f3a61c Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-10-25 13:34:55 +02:00
bubnikv
5e8572a196 New functions for variable offsets of polygons / expolygons.
Test cases for the above.
Improvements of older test cases.
2019-10-25 13:34:37 +02:00
tamasmeszaros
bcc2c21d5f Disable OpenVDB until deps get updated 2019-10-25 13:23:05 +02:00
tamasmeszaros
deda712e20 Merge branch 'tm_openvdb_integration' 2019-10-25 13:16:26 +02:00
tamasmeszaros
4554da29ab Add OpenVDB to dependencies
* Add Linux openvdb integration
* Add Mac openvdb integration and enable in ALL
* Create openvdb sandbox to test integration.
* Additional fixes in the patches
* Remove slabasebed sandbox as it has no relevance now
* Provide FindOpenVDB module and fix build issues
2019-10-25 13:15:21 +02:00
Enrico Turri
de60b40347 ENABLE_THUMBNAIL_GENERATOR -> Thumbnail data saved into gcode using base64 encoding + debug code to extract thumbnails from gcode 2019-10-25 12:18:10 +02:00
Enrico Turri
982ed95a35 ENABLE_THUMBNAIL_GENERATOR -> Save thumbnail size into gcode 2019-10-25 08:57:13 +02:00
Enrico Turri
296d79abf7 ENABLE_THUMBNAIL_GENERATOR -> Fixed thumbnail generation for SLA and 3mf 2019-10-24 15:56:10 +02:00
Enrico Turri
6d5572ae47 ENABLE_THUMBNAIL_GENERATOR -> Code cleanup 2019-10-24 10:25:40 +02:00
Enrico Turri
5609f53797 ENABLE_THUMBNAIL_GENERATOR -> Add thumbnail data into gcode output 2019-10-24 10:06:31 +02:00
Enrico Turri
4517fcd997 ENABLE_THUMBNAIL_GENERATOR -> Add file Metadata/thumbnail.png into 3mf output 2019-10-24 09:20:33 +02:00
Enrico Turri
540253f676 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-10-24 08:46:58 +02:00
tamasmeszaros
77c52b748c Zipper made available for modification after RasterWriter finishes. 2019-10-23 17:32:17 +02:00
Enrico Turri
16fd2820db ENABLE_THUMBNAIL_GENERATOR -> WIP: Added missing include and preparation for adding thumbnail to exported sla archive files 2019-10-23 16:01:23 +02:00
bubnikv
18bbefcd61 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-10-23 15:07:53 +02:00
bubnikv
cf94482731 Fix of Voronoi debug output. 2019-10-23 15:07:41 +02:00
Enrico Turri
4d1153c866 ENABLE_THUMBNAIL_GENERATOR -> WIP: Refactoring and preparation for adding thumbnails to exported gcode and 3mf files 2019-10-23 13:31:24 +02:00
Enrico Turri
1809497c38 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-10-22 16:03:27 +02:00
Enrico Turri
32a42f2808 Added tech ENABLE_THUMBNAIL_GENERATOR -> 1st installment of generation of thumbnail from plater (WIP) 2019-10-22 16:02:31 +02:00
YuSanka
8dea6c2fd8 Fixed a crash with the following repro:
1) Start PrusaSlicer
2) Select printer: Original Prusa i3 MK2.5
3) Load any stl file
4) In Printer Settings turn on "Support stealth mode"
5) Press "Slice now"
-> crash
All the "machine_XXXXX" vectors in the print config contain a single value instead of two leading to a vector subscript out of range
when read into GCode::_do_export()
2019-10-22 12:50:09 +02:00
Enrico Turri
2d610f9b84 #3082 - Workaround to fix incorrect object position after applying gcode line G92 into custom gcode 2019-10-21 10:12:42 +02:00
Enrico Turri
28a6bd7c30 #3075 - Fixed Reload from disk command for .amf files 2019-10-21 08:48:38 +02:00
YuSanka
7ef9af8aed Merge remote-tracking branch 'origin/master' into ys_color_print_extension 2019-10-18 13:05:24 +02:00
Enrico Turri
0285e8db2d Merge branch 'et_git_3010' of https://github.com/prusa3d/PrusaSlicer 2019-10-18 12:48:06 +02:00
bubnikv
13cc74ef0a Ported test_config.cpp from upstream Slic3r.
Extended ConfigBase with set() functions similar to the upstream Slic3r.
ConfigBase::set_deserialize() newly throws if the operation fails.
Extrusion width parameters are newly tested for negative values.
2019-10-18 11:53:19 +02:00
bubnikv
98a71a557b Ported test_support_material.cpp from upstream slic3r.
Ported extension of ExtrusionEntityCollection::flatten() to disable
flattening of no_sort() collections.
2019-10-17 19:09:24 +02:00
bubnikv
c228a49fe0 Ported test_support_material from upstream Slic3r.
Reworked the FFF testing framework & ConfigBase::set_deserialize()
for more compact tests: set_deserialize() now accepts list
of key / value pairs.

Fixed an incorrect assert in LayerRegion.
2019-10-17 17:09:15 +02:00
bubnikv
76c4eaf19a Ported test_fill from upstream Slic3r, thanks @lordofhyphens 2019-10-16 17:43:43 +02:00
YuSanka
ea8695c06c Fixed GCode export for color_print extensions.
M25 is changed to M601
2019-10-16 12:03:51 +02:00
bubnikv
69c8b1cd21 new cheaper constructor for DynamicPrintConfig from FullPrintConfig:
DynamicPrintConfig::full_print_config()
new cheaper constructors of DynamicConfig / DynamicPrintConfig from ConfigBase
Unit tests: ported test_model from upstream Slic3r, thanks @lordofhyphens
Unit tests refactored to use less autos and initializer lists for readibility,
DynamicPrintConfig is handled by value, not by shared pointer.
2019-10-16 11:16:50 +02:00
YuSanka
4fa2567ea2 Merge remote-tracking branch 'origin/master' into ys_color_print_extension 2019-10-16 10:31:29 +02:00
YuSanka
76ec1bc7e3 Improved extruder_selector for DoubleSlider 2019-10-16 10:30:29 +02:00
bubnikv
abe856f9fe Ported remove_collinear(Polygon) and test_polygon from upstream slic3r. 2019-10-15 18:08:32 +02:00
bubnikv
de45be5f29 Ported test_gcodewriter from upstream Slic3r, thanks @lordofhyphens.
The format for G1 Fxxx was changed to fixed three decimal digits.
2019-10-15 17:35:19 +02:00
bubnikv
1964ac2e89 Ported test_skirt_brim from upstream Slic3r, thanks @lordofhyphens 2019-10-15 16:31:20 +02:00
YuSanka
4b0fe7cba4 Implemented custom extruder(tool) change from DoubleSlider 2019-10-15 15:42:30 +02:00
bubnikv
c99e7cb0df Ported test_trianglemesh from upstream slic3r, thanks @lordofhyphens 2019-10-15 13:49:28 +02:00
bubnikv
e538a06fb0 Added missing include (worked on MSVC) 2019-10-15 09:49:33 +02:00
bubnikv
42a858b999 Added test projects for libslic3r and fff_print.
Added test_geometry.cpp from upstream slic3r, thanks @lordofhyphens
Added circle_taubin_newton() for circle center calculation, thanks @lordofhyphens
2019-10-15 09:40:40 +02:00
tamasmeszaros
fbc174ad06 Fix cmake with msvc generator.
* Remove unused libnest2d files. Make it use the global build script targets.
* Modify FindTBB to address multi-config builds and take care of __TBB_NO_IMPLICIT_LINKAGE
* Move FindNLopt to project common cmake module dir
* Rename libnest.hpp to nester.hpp and libnest.h to libnest.hpp 
* Clean up common test suite build scripts
2019-10-14 12:50:08 +02:00
Enrico Turri
658b1e219e ENABLE_GIT_3010_FIX set as default 2019-10-14 10:03:27 +02:00
Enrico Turri
76c9ddfd3e Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_git_3010 2019-10-14 08:49:19 +02:00
YuSanka
8e6bb7c20d Add missed icons 2019-10-11 10:39:54 +02:00
YuSanka
5d9a136b8a Merge remote-tracking branch 'origin/master' into ys_color_print_extension 2019-10-10 16:17:09 +02:00
YuSanka
70ef0f25ef Information from DoubleSlider is saved to Model
GCode creating can work with that values.
2019-10-10 16:03:58 +02:00
Lukas Matena
7b45014721 GCode.cpp: Removed a failing assert that was no longer needed
The situation it checked happens when the wipe tower is lower than the tallest print object.
The function processes that correctly.
2019-10-10 09:54:27 +02:00
tamasmeszaros
175b6fd9f5 Fix concave hull having holes. 2019-10-09 14:59:09 +02:00
Enrico Turri
835ee148e5 Fixed conflicts after merging with master 2019-10-09 11:17:48 +02:00
Lukas Matena
cf030e8958 Simplified inclusion of the wipe tower into skirt calculation 2019-10-08 14:12:40 +02:00
Lukas Matena
fdf9272fbe Wipe tower brim width is now part of WipeTowerData class, so it can be used wherever needed 2019-10-08 13:50:51 +02:00
Thomas Moore
aba743de41 Include wipe tower in skirt 2019-10-08 11:06:55 +02:00
tamasmeszaros
272e9f11e3 Merge branch 'tm_arrange_test_extend' 2019-10-07 17:57:34 +02:00
Vojtech Kral
fd6d32135b Merge branch 'master' into materials 2019-10-07 17:23:37 +02:00
tamasmeszaros
72ac8d68f0 Extend libnest tests, remove some warnings, faster catch2 compilation.
Also, improve libnest2d::nest interface.
2019-10-07 17:16:40 +02:00
tamasmeszaros
f0d75eea0d Fix incorrect time format spec in iso_utc_timestamp.
Also add test for such errors in the future.
2019-10-07 08:56:54 +02:00
tamasmeszaros
5bf3d5aabf Merge branch 'tm_sla_tests' 2019-10-04 18:34:08 +02:00
bubnikv
d815a518bd Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-10-04 16:50:18 +02:00
bubnikv
f8ff23638f Fixed regression due to ExPolygonCollection to ExPolygons refactoring.
Fixed crashes in BridgeDetector due to unexpected implicit conversion
to a const temporary.
2019-10-04 16:50:01 +02:00
tamasmeszaros
1df1ef481d Port sla tests to catch2 2019-10-04 14:47:02 +02:00
tamasmeszaros
2edd5abf06 Fix endless loop in pinhead creation.
* Headless stick penetration value from global cfg
* eliminate warnings
2019-10-03 17:18:03 +02:00
tamasmeszaros
fefde79c89 Make sure no vector reallocation will be performed on pillars.
This is a workaround for now, it needs to be handled properly.
2019-10-03 15:13:17 +02:00
tamasmeszaros
c4d50ea639 Add test obj and address for support under ground level if no elevation 2019-10-03 14:23:22 +02:00
tamasmeszaros
23a7e77a81 Eliminate some race conditions in sla support tree 2019-10-03 12:31:25 +02:00
tamasmeszaros
95e22d8fd4 Add method for bridge addition with Head parameter to fill the bridge_id 2019-10-03 10:22:25 +02:00
tamasmeszaros
3f698c4ccf Enable full concurrency for support tree generation. 2019-10-02 16:33:13 +02:00
tamasmeszaros
8ca7e56d0f Fix tests on all platforms
Try to link tests on Mac.


Fix inaccurate pad brim size


fix build on mac (attempt 2)


Fixes for support tree faults and race conditions in release mode.


Fix crashing test executable on gcc 4.9


fix warning on msvc
2019-10-02 14:55:16 +02:00
tamasmeszaros
d5dcba00b1 Time conversion functions with tests.
Fixes issue with incorrect characters in time strings on UI.
Fix platform dependency


Fix return value with incorrect strings.


Just use strptime and strftime on all platforms.

Emulate strptime on msvc... because they don't have it and their get_time is buggy.
2019-10-02 14:44:11 +02:00
tamasmeszaros
f29e18dad2 Fix crashing test executable on gcc 4.9 2019-10-02 14:42:28 +02:00
tamasmeszaros
fa81b961c5 Fix compilation without pch. 2019-10-02 13:56:41 +02:00
Enrico Turri
6293ff8ccd Fixed crash into GCodeTimeEstimator::post_process() while processing custom end g-code 2019-10-02 09:38:19 +02:00
Enrico Turri
c5a5e6a61d Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_git_3010 2019-10-02 08:13:11 +02:00
bubnikv
546ad99306 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-10-01 17:17:20 +02:00
bubnikv
564eddd99d FDM Print refactoring:
Layer newly remembers bounding boxes of slices,
the bounding boxes are used by G-code generator & newly the support
generator.
Slices are stored as ExPolygons, not ExPolygonCollection.
2019-10-01 17:17:08 +02:00
tamasmeszaros
be7428d66e sla::Raster interface clarified and covered with tests.
Also renamed sla::SupportTreeAlgorithm to SupportTreeBuildsteps.
2019-10-01 14:58:37 +02:00
tamasmeszaros
705e82ec8e Deeper test coverage for support tree generation.
Restructuring for testability.
2019-10-01 14:58:37 +02:00
tamasmeszaros
e675a5d5c6 Reworked pad creation algorithm with new parameters:
* brim size
* force pad around object everywhere
2019-10-01 14:58:37 +02:00
tamasmeszaros
9d775d0a43 Make loading of obj files into TriangleMesh possible. 2019-10-01 14:58:37 +02:00
tamasmeszaros
e4247f9856 libslic3r core enhancements
* ClipperUtils extended with ExPolygon to clipper paths conversion and improved PolyTree traversal
* Added ExPolygon constructor with Polygon argument
* Removed BoundingBox warnings on clang
* Removed Geometry warnings on clang
2019-10-01 14:58:37 +02:00
tamasmeszaros
b6f447980a Add upper limit on 1.0 to sla display gamma parameter. 2019-10-01 14:44:07 +02:00
bubnikv
0e325824b1 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-10-01 13:41:42 +02:00
bubnikv
6a07b231e1 Fixed a crash with a layer range modifier containing no slicing layer. 2019-10-01 13:41:22 +02:00
Lukas Matena
61cee54dd3 Merge branch 'master' into lm_low_wipe_tower 2019-10-01 13:24:25 +02:00
Lukas Matena
38d8854a48 Print::validate() - check for empty print has been moved at the beginning of the function
This prevents a crash when the print is empty and the wipe tower enabled - validation of the wipe tower attempted to access extruders().front(), which was empty.
No other checks need to be done with the empty print anyway.
2019-10-01 12:48:58 +02:00
Lukas Matena
b5e3899267 Wipe tower: Sparse layers are not included in filament consumption in case that the 'no sparse layers' option is set 2019-10-01 11:41:37 +02:00
Enrico Turri
8d53c5e978 #3010 - Added tech ENABLE_GIT_3010_FIX - GCodeAnalyzer and GCodeTimeEstimator modified to properly process gcode lines G92 2019-10-01 09:48:42 +02:00
bubnikv
272479826f Refactoring of the G-code preview for lower memory allocation
and for separation of concerns:

The final G-code preview no more uses ExtrusionPaths structure
to hold the G-code path data extracted by parsing the G-code.
Instead, the ExtrusionPath class has been trimmed down back to
the original size before the G-code preview was introduced,
and a new GCodePreviewData::Extrusion::Path class was created to hold
the additional path data as the extruder ID, color change ID
and fan speed.
2019-09-30 16:25:26 +02:00
Vojtech Kral
eb93d2a32d Merge branch 'master' into materials 2019-09-30 16:12:48 +02:00
bubnikv
b425ee50a9 Merge remote-tracking branch 'remotes/origin/et_pull_2922' 2019-09-30 10:23:16 +02:00
bubnikv
0abde9a2a8 Return MultiPoint::first_point() by reference. 2019-09-27 19:47:30 +02:00
bubnikv
6d11bfe96a Fixing C++ issues, that the Visual Studio compiler did not report. 2019-09-27 19:18:35 +02:00
bubnikv
debd9e2f81 One more try, fixing a missing parameter. 2019-09-27 19:07:07 +02:00
bubnikv
50d3894e32 Fix of the ShortestPath.hpp interface: Provide non-move variant. 2019-09-27 18:47:08 +02:00
bubnikv
85ea0396a4 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-09-27 18:23:36 +02:00
bubnikv
331c187b39 Rest of the path chaining has been replaced with the new algorithm.
PolylineCollection.cpp/hpp was removed, use Polylines instead.
Various first_point() / last_point() now return references, not copies.
2019-09-27 18:17:21 +02:00
Lukas Matena
d57a09558e Several fixes of previous commits related to KDTreeIndirect.hpp and ShortestPath.cpp/.hpp 2019-09-27 13:30:07 +02:00
YuSanka
c370fccd8b Changed default values.
And bottle_volume is preferred to recalculation instead of bottle_weight
2019-09-27 12:08:08 +02:00
Lukas Matena
5123673b3a CMakeLists: filename fix so everything works on case-sensitive filesystems 2019-09-27 11:42:52 +02:00
bubnikv
4b35ebe6e5 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-09-27 09:52:57 +02:00
bubnikv
e65ab90c16 Fix of G-code path planning: Infill lines were incorrectly ordered
for islands with another islands in their holes.

Improvement of chaining of infill lines for 3D honeycomb, Gyroid and
Honeycomb infill: New TSP chaining algorithm is used.
2019-09-27 09:51:07 +02:00
bubnikv
d06831076d WIP: Consolidation of shortest path calculations,
various chaining algorithms are replaced with the improved TSP
algorithm.
2019-09-26 17:30:03 +02:00
bubnikv
10eecb2cab Reworked Traveling Salesman Problem code for simplicity and robustness.
The TSP algorithm is newly used for planning of the printing order
of objects AND their instances.
2019-09-26 16:39:50 +02:00
YuSanka
82bc243281 Implemented possibility to set a resin cost 2019-09-26 16:36:31 +02:00
bubnikv
8d4dd294b2 Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev 2019-09-26 09:44:53 +02:00
bubnikv
41495a932a Introduction of a greedy Traveling Salesman Problem algorithm,
producing better shortest path estimate than the "closest next neighbor"
heuristics. The new greedy algorithm utilizes KD tree for closest
end point search, and builds a graph to detect loops.

PerimeterGenerator newly uses the optimized TSP algorithm.

ExtrusionEntity has been refactored / simplified.
2019-09-26 09:44:38 +02:00
Lukas Matena
dbc51a140d Fixed erroneous use of logical OR where bitwise OR was meant
Also, PrintBase::SlicingStatus enum had two entries assigned to 0 - removed the one that was never used
2019-09-25 12:18:30 +02:00
Lukas Matena
1d18339e62 PRUS.cpp: Fixed an always-true condition in extract_model_from_archive
SupportMaterial.cpp: Simplified one condition (also solves a -Wmaybe-uninitialized warning on gcc)
2019-09-24 18:09:48 +02:00
Lukas Matena
b67d8c1614 Fixed memsetting non-trivially-copyable types
Types stl_stats, stl_normal and SurfaceFillParams should not be zeroed by memset
This is not correct and also triggered warnings on gcc
2019-09-24 17:09:07 +02:00
Lukas Matena
7861fa5086 Whitespace changes to supress misleading indentation warnings
These appear in newer gcc when spaces and tabs are mixed
2019-09-24 16:01:01 +02:00
Enrico Turri
2dc9949a4c ENABLE_ENHANCED_RELOAD_FROM_DISK set as default 2019-09-23 15:35:49 +02:00
Enrico Turri
82a52e8b21 #2922 - Port of commit: f42edd35ce by jschuh 2019-09-23 14:56:27 +02:00
Enrico Turri
1115e77b38 ENABLE_ENHANCED_RELOAD_FROM_DISK -> Fixed export/import to/from .amf to keep compatibility with 3rd part software. 2019-09-23 13:54:49 +02:00
Enrico Turri
4a45c1aa41 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_reload_from_disk 2019-09-23 12:34:18 +02:00
Enrico Turri
5eb4692442 ENABLE_ENHANCED_RELOAD_FROM_DISK -> Fixed export/import to/from .3mf to keep compatibility with 3rd part software. 2019-09-23 12:33:21 +02:00
tamasmeszaros
a6f5fe7bea Fix arrange crash with incorrect geometries. Guard the case with tests. 2019-09-23 11:59:44 +02:00
YuSanka
4aec14ddab Replace "mm3/s" with "mm³/s" in preview legend for a "Volumetric flow rate" 2019-09-23 11:11:43 +02:00
Enrico Turri
c0576a8770 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_reload_from_disk 2019-09-23 08:27:01 +02:00
Lukas Matena
abaebb489a Added a config option to not print sparse layers on the wipe tower 2019-09-20 10:54:20 +02:00
Lukas Matena
04f051ff61 Wipe tower now doesn't print sparse layers, it is instead lower than the object 2019-09-20 10:54:20 +02:00
Lukas Matena
b241ba16ed Fixed layer profile equality check for wipe tower validation (fixup of b43003d) 2019-09-20 10:53:50 +02:00
Enrico Turri
74747226f7 ENABLE_ENHANCED_RELOAD_FROM_DISK
1) Modified .zip.amf import/export to save/load volume matrices and source data

2) Incremented .zip.amf version to 3
2019-09-19 12:39:59 +02:00
bubnikv
80c5eaacdf Merge remote-tracking branch 'remotes/origin/dev' into vk-materials 2019-09-19 11:49:49 +02:00
Enrico Turri
3a40565d03 Added tech ENABLE_ENHANCED_RELOAD_FROM_DISK
1) Reworked void Plater::priv::reload_from_disk() to be more general

2) Added source data to class ModelVolume

3) Modified .3mf import/export to save/load volume matrices and source data

4) Incremented .3mf version to 2
2019-09-19 09:09:11 +02:00
Vojtech Kral
270008a3fd Add material_type config option for SLA materials, use in Wizard 2019-09-17 13:20:06 +02:00
Vojtech Kral
34b3548102 Filaments and materials selection/installation 2019-09-17 13:20:06 +02:00
bubnikv
83b6b82188 Refactored ExtrusionEntityCollection::flatten() 2019-09-16 16:35:08 +02:00
Enrico Turri
ffe62d543d Merge branch 'dev' of https://github.com/prusa3d/PrusaSlicer into et_reload_from_disk 2019-09-16 08:26:06 +02:00
Enrico Turri
e1774f9085 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_reload_from_disk 2019-09-16 08:25:57 +02:00
bubnikv
ae3a3029c0 Merge remote-tracking branch 'remotes/origin/master' into dev 2019-09-13 18:58:39 +02:00
bubnikv
d86cf1e116 Fix of a regression in wipe tower generator:
Return to the known position after custom tool change G-code.
2019-09-13 18:56:37 +02:00
bubnikv
a9182fb0b3 Merge branch 'master' into dev 2019-09-13 16:19:35 +02:00
bubnikv
345d73e0d6 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-09-13 16:17:23 +02:00
bubnikv
ea8b6262cf Introduction of ClipperLib_Z: The Clipper library compiled with support
of the Z coordinate, compiled in the ClipperLib_Z namespace.

Update of Lukas's new brim clipping:
All the brim contours are now clipped by the ClipperLib_Z library
in one shot.
2019-09-13 16:16:37 +02:00
Lukas Matena
ee7132a23d Fixup of 4f89672 + allowing negative support_contact_z 2019-09-13 15:47:00 +02:00
bubnikv
4f89672816 Fixed false positives of missing layers due to support layer snapping
to avoid layers thinner than min_layer height, and possibly due to
the fact, that empty support extrusions may get generated
for support layers with non-empty support polygons.

Fix of Empty layers detection added to GCode.cpp (6ab1cec)
2019-09-13 15:18:42 +02:00
bubnikv
bb896b4c13 Merge remote-tracking branch 'remotes/origin/lm_brimskirt' 2019-09-12 15:53:20 +02:00
bubnikv
b4f2df6a98 Merge remote-tracking branch 'remotes/origin/master' into dev 2019-09-12 10:19:09 +02:00
bubnikv
15c8b579b2 Refactoring of ExtrusionEntity / ExtrusionEntityCollection:
Iterator loops replaced with C++11 loops.
Fixed clone() methods to return an ExtrusionEntity*.
PerimeterGenerator now uses move semantics on ExtrusionEntity a little
bit more.
2019-09-11 13:25:50 +02:00
tamasmeszaros
c37ec7463f Add new config values to SL1 zip file config.ini
All requested config values are written into SL1 ini file inside the zip

* TIme.hpp and Time.cpp is now part of libslic3r instead of libslic3r_gui
* Updated time manipulation function: separate timestamp_local_str and timestamp_utc_str
* timestamp_utc_str is used in header_slic3r_generated(). Gcode now contains UTC timestamps
2019-09-11 13:10:23 +02:00
bubnikv
b3f27b8fb9 Fixed typo in comments 2019-09-11 11:38:17 +02:00
bubnikv
0989cb8296 Refactoring of PerimeterGenerator:
header interface was reduced,
compiler warnings removed.
2019-09-11 11:37:48 +02:00
Enrico Turri
af77eca9df Follow-up of 44c3493f7d -> error message logged only for multi-extruder printers 2019-09-11 10:02:27 +02:00
Enrico Turri
b383d9581a Merge branch 'dev' of https://github.com/prusa3d/PrusaSlicer into et_reload_from_disk 2019-09-11 09:01:44 +02:00
Enrico Turri
3835257ec2 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_reload_from_disk 2019-09-11 09:01:34 +02:00
Enrico Turri
7e5043961a Added missing include 2019-09-11 08:51:36 +02:00
Enrico Turri
44c3493f7d GCodeAnalyzer: Fixed a crash when encountering an invalid toolchange 2019-09-11 08:39:29 +02:00
bubnikv
9bdc5b7939 Merge remote-tracking branch 'remotes/origin/master' into dev 2019-09-10 19:09:41 +02:00
bubnikv
b9389f2d39 Some C++11 refactoring 2019-09-10 19:09:37 +02:00
bubnikv
413e737d7e Fix of previous infill refactoring. 2019-09-10 19:08:04 +02:00
bubnikv
246dc64c99 Fix of "Bridging and gap fill are parsed incorrectly when infill is set to 0" #1476
The gap fill was disabled for zero infill.
Now the gap fill is enabled in between the perimeters, but disabled between
the inner-most perimeter and infill in case the infill is set to zero.

Also in case there are multiple infill regions inside a perimeter,
the mutliple infills are considered as non-zero if at least one infill
is non-zero, therefore the gap fill will be added inside the inner-most
perimeter.
2019-09-10 19:03:37 +02:00
tamasmeszaros
1c20c4c43d Fix arrangement of objects larger than the print bed. Issue #2897 2019-09-10 13:31:29 +02:00
Lukas Matena
2fef16c39a Fix of #1266 and #2258
In case there were empty object layers supposed to be floating on supports which were set to use a specific extruder, wipe tower was missing layer required to do the toolchange, leading to a crash
Such cases are now detected and layers that need it are additionally assigned as wipe tower layers

Also tracked as SPE-526
2019-09-10 13:13:21 +02:00
Lukas Matena
c5f78dd6e2 Some more warnings fixed (WipeTower.cpp/.hpp) 2019-09-10 12:08:43 +02:00
Lukas Matena
a62bba2508 CoolingBuffer.cpp: Fixed a crash when encountering an invalid toolchange
This can happen if the user enters invalid toolchange through the custom gcodes
Such toolchange is now simply ignored by the CoolingBuffer, exporting gcode is NOT stopped, a log error is emitted
2019-09-10 11:46:18 +02:00
Enrico Turri
27f01bb09e Fixed instance printable property after reload from disk 2019-09-10 11:16:59 +02:00
bubnikv
4585618aea Fix of "Bridge flow ratio doesn't trigger reslicing of support" #2359 2019-09-09 18:09:40 +02:00
bubnikv
6ba43ebacb Merge remote-tracking branch 'remotes/origin/master' into dev 2019-09-09 17:49:07 +02:00
bubnikv
ac7bae8c5d Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev 2019-09-09 17:47:41 +02:00
bubnikv
5c72eecf26 Fix of "Strange behavior on bridge detection" #1482
The very first slicing step needs to be invalidated if support is
enabled or disabled while the soluble supports are configured,
as the bridging is disabled for soluble supports, while the bridging
is enabled with supports disabled.
2019-09-09 17:47:29 +02:00
bubnikv
ee928f5f4d Replaced Perl style infill type enums with C++ enums in comments. 2019-09-09 16:47:15 +02:00
bubnikv
735f5146e9 Fix of d146a0237e
(reworked infill generator to merge regions with the same properties).
2019-09-09 16:44:29 +02:00
Lukas Matena
4dbc8b22a5 Updated tooltip 2019-09-09 16:39:26 +02:00
Lukas Matena
97a02f4412 Merge branch 'lm_custom_toolchange' 2019-09-09 16:12:09 +02:00
tamasmeszaros
796d0fbd81 Fix typo 2019-09-09 16:08:19 +02:00
Lukas Matena
822bc7a91c Fix of previous commit, tooltip update 2019-09-09 16:02:39 +02:00
Lukas Matena
499fdeddd1 Custom toolchange gcode is searched for tool-changing command
If the custom toolchange gcode switches extruder to the one that is expected, PrusaSlicer does not issue its own T command
Otherwise, this command is inserted just after the custom gcode, even in case it is not empty
This should prevent issues such as #2884 and #2886 from being reported
2019-09-09 13:05:18 +02:00
Enrico Turri
015d430f03 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2019-09-09 11:51:03 +02:00
Enrico Turri
a30c35d240 Follow-up of 9b5edbfa5f -> added comments 2019-09-09 11:50:19 +02:00
bubnikv
751b9e69fa Fixed stack overflows in G-code generator. 2019-09-09 10:18:17 +02:00
Enrico Turri
9b5edbfa5f Fixed import from obj files 2019-09-09 09:56:36 +02:00
Enrico Turri
19616c4f93 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into dev 2019-09-06 17:53:17 +02:00
Lukas Matena
a985a2720f Fixed some more warnings, moved function to get ExtrusionRole name into ExtrusionEntity.hpp
So it can be called from wherever it may be needed
2019-09-06 15:55:07 +02:00
Lukas Matena
3f988b314c Fixed several warnings (Config.hpp and few other files) 2019-09-06 15:55:07 +02:00