Commit Graph

65 Commits

Author SHA1 Message Date
Enrico Turri
57fa4193f6 Adaptive layer height profile -> Added Adaptive button to imgui dialog 2019-11-12 14:18:43 +01:00
Enrico Turri
efc7453656 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
28d7ab2e90 Only enable Elphant foot compensation if printing directly
on the print bed (raft is disabled).
2019-11-04 11:34:33 +01:00
bubnikv
8567edf464 Bugfixes of the new adaptive elephant foot compensation. 2019-11-04 11:26:36 +01:00
bubnikv
36d0f8acc8 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
bubnikv
d72d96a1fe 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
bubnikv
07c1cafe26 Fixed a crash with a layer range modifier containing no slicing layer. 2019-10-01 13:41:22 +02:00
bubnikv
30f0e9b4d3 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-09-27 09:52:57 +02:00
bubnikv
5e0e360e07 WIP: Consolidation of shortest path calculations,
various chaining algorithms are replaced with the improved TSP
algorithm.
2019-09-26 17:30:03 +02:00
Lukas Matena
a34a1341c5 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
bubnikv
58d12a680e Fix of "Bridge flow ratio doesn't trigger reslicing of support" #2359 2019-09-09 18:09:40 +02:00
bubnikv
ccb4584be7 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
6987c081e4 Replaced Perl style infill type enums with C++ enums in comments. 2019-09-09 16:47:15 +02:00
bubnikv
d42505d374 Fix of "excess infill below bridges with 0% infill" #442
Fix of "Bridging infill not connecting with infill set to 0%" #1301

Top, bottom and bridging areas are extended into infill as long
as the infill is not zero. If the infill is zero,
top, bottom and bridging areas wound not expand into these "void" areas.

With this commit, the top, bottom and bridging areas are allowed to expand
into the "void" areas as long as these "void" areas are supported below
with perimeters or some other non-empty infill, and slightly beyond
these supporting areas into the voids (currently hard coded to 1mm).
2019-09-06 15:03:49 +02:00
Lukas Matena
43f68a417a Merge branch 'lm_layer_height_validation' into dev 2019-09-02 16:31:59 +02:00
Lukas Matena
3f67201fb9 Fixed couple of warnings
Turned several includes into forward declarations
Removed several sprintf calls in favor of std::to_string
2019-09-02 16:27:48 +02:00
Lukas Matena
adecac0261 Fixed layer height equality check needed in order to enable the wipe tower
The change was needed because enabling the new layer-height-modifier made the validation fail, even if there was no real layer height modification
2019-08-29 16:13:04 +02:00
Lukas Matena
8ba48f361a Added handling of std::bad_alloc so the user gets more comprehensible error message
Call to boost::nowide::nowide_filesystem() was made Windows only
2019-08-08 16:55:25 +02:00
bubnikv
2604b9e059 Fixed compilation issue 2019-07-16 09:19:00 +02:00
Lukas Matena
d2c908ef7f Merge branch 'master' into lm_warnings 2019-07-15 13:26:55 +02:00
Lukas Matena
9bbe65c53e Fixed warnings in libslic3r 2019-06-25 16:04:29 +02:00
bubnikv
436b9c40fe Integrated the new layer height spans with configs into the backend.
Fixed some compiler warnings.
2019-06-20 16:15:09 +02:00
bubnikv
0f1b49381b Merge remote-tracking branch 'remotes/origin/ys_new_features' 2019-06-18 10:01:29 +02:00
bubnikv
c1fed74010 Sharing TriangleMesh objects between the front end (UI) and back end
(background processing)
2019-06-11 17:08:47 +02:00
YuSanka
6787854cf9 Experiments with updating layer_config_ranges from UI
+ Fixed OSX build
2019-06-05 11:50:59 +02:00
Lukas Matena
b8fe1fabf3 Fixed unit tests when run with range checks on std::vector
There was a bug in unit tests that led to generating the wipe tower with non-normalized preset.
This caused out-of-bounds access into max_layer_height vector in fill_wipe_tower_partitions.
The problem surfaced in https://github.com/prusa3d/PrusaSlicer/issues/2288.
I quickly patched additional normalization of the preset to prevent this from happening.

Also, an assert in the same function turned out to trip on one of the tests.
This one was commented out for now and will (hopefully) be looked into later.

Function Print::apply_config was renamed to apply_config_perl_tests_only so everyone
sees its current purpose and does not mistake it for the more important Print::apply.
2019-05-22 16:48:20 +02:00
bubnikv
0092e54c95 Changed references to renamed github project
https://github.com/prusa3d/PrusaSlicer
2019-05-14 19:46:01 +02:00
YuSanka
03dba475e8 Localization improvements 2019-05-04 02:07:07 +02:00
Lukas Matena
13ee8c3bd5 TriangleMeshSlicer is now initialized by const-pointer to the mesh, responsibility for calling require_shared_vertices is left to the caller 2019-04-16 09:04:04 +02:00
bubnikv
d8a22aa2d9 Fix of "Variable layer height feature breaks after rotating part #2073"
There was an approximate bounding box used at the GUI, while a snug
bounding box was used at the back end, causing invalidation
of the variable layer height editing profile on rotated objects.

A snug bounding box around the first instance is now cached.
2019-04-13 14:15:54 +02:00
bubnikv
3481eddee4 Fix of "Latest commit of Slic3r 1.42.0 cuts away part of the model #2063"
Fixed one bug of many in admesh library, where the face connectivity
was broken when removing a degenerate face. Likely there are some
similar issues left to be solved.
Placed a workaround to always recalculate face connectivity before slicing.
2019-04-04 16:16:57 +02:00
bubnikv
380f5fbfa5 Fixed FFF slicing of meshes with left hand oriented transformations applied.
Slight optimization of FFF slicing - optimized copy of an object with just
a single volume.
2019-04-03 11:12:03 +02:00
bubnikv
56daeab54f Implemented clipping of parts of multi-part objects in the order
they are presented in the UI.

Parallelized the slice stealing when splitting regions with modifier meshes.

Rewrote Layer::make_perimeters() to C++11 loops.
2019-03-06 10:21:10 +01:00
bubnikv
49c0f383b6 Fix of caching of the SlicingParamerters at PrintObject 2019-03-05 14:05:58 +01:00
bubnikv
e3bc025e42 Elephant foot compensation improvements.
Fix of the negative XY compensation on multi-material (or multi-region)
prints, where the negative XY compensation created gaps between parts.
2019-03-05 11:54:04 +01:00
bubnikv
bda2580560 Implemented caching of SlicingParameters by PrintObject 2019-03-04 15:28:04 +01:00
bubnikv
c4aa0f7f36 Introduced the "slice_closing_radius" to define, how large gaps
will be closed after triangle mesh slicing.
The value is set to 0.049 by default, which corresponds to the hard
coded default in Slic3r-1.41.3.

See issues #520 #820 #1029 #1364 for the reference of why we need
the parameter for being able to print some specific models.
2019-03-01 17:53:02 +01:00
bubnikv
9d609908a5 Split the external infill pattern to separate top / bottom config values.
Based on f9344a00e3
thanks @supermerill
Implements  #475, #479, #1133, #1474
2019-02-22 15:25:35 +01:00
bubnikv
bd4108cd5c Fixed update on reset of the variable layer height profile.
Fixed update of the layer height profile on PrintObject when changing profiles.
Fixed crash due to the layer height editing refactoring & wipe tower.
2019-01-23 14:00:03 +01:00
bubnikv
b76f438975 WIP Restoration of the layer editing. 2019-01-21 10:06:51 +01:00
Enrico Turri
31986660a1 Model's volume transform set as default 2019-01-02 10:49:13 +01:00
bubnikv
818e0cde7f Fixed many errors in background processing synchronization and update.
Fixed couple of compiler warnings.
2018-12-22 10:02:42 +01:00
bubnikv
a791529ec8 Logging of memory allocations on Windows during the slicing process
when the SLIC3R_LOGLEVEL >= info.
2018-12-18 11:31:41 +01:00
bubnikv
52c2396666 Fix of SPE-694
Slicer do not generate infill after Contact Z distance settings change
2018-12-18 09:57:19 +01:00
bubnikv
7fd6f67f83 Temporarily disabled the following check:
"Levitating objects cannot be printed without support"
until the unit tests are adjusted.
2018-12-14 19:40:02 +01:00
bubnikv
0d1d672ec9 Fix of G-code invalidation on "wipe_into_object" "wipe_into_infill"
changes.

WIP: Fix of "levitating objects cannot be sliced".
2018-12-14 17:17:51 +01:00
bubnikv
eb4a48c141 WIP: Merged commits from stable between 1.41.2-beta and 1.42.2 final.
Changes in SupportMaterial.cpp, TriangleMesh.cpp and 01_trianglemesh.t
are yet to be merged.

WIP: Refactoring of layer height editing.
Removed layer_height_ranges from PrintObject, as the Print/PrintObject
now hold their copies of Model/ModelObject.
2018-12-11 16:33:43 +01:00
bubnikv
6694db0e0b Fixed a harless assert in PrintObject consturctor.
Fixed a bug in G-code generator regarding the seam hiding.
2018-12-07 11:21:05 +01:00
bubnikv
63ee3dc63c Partial update of 3D scene (GLVolumes derived from Model and from
the SLAPrintObject).
Updated PrintBase to generate a unique timestamp at each step invalidation.
2018-11-16 18:28:50 +01:00
bubnikv
5dc9799e14 Fixed synchronization of background processing with the front end. 2018-11-12 16:28:27 +01:00