Commit Graph

1616 Commits

Author SHA1 Message Date
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
bubnikv
48ecbe777f 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
Enrico Turri
bda0246b5d Fix of #2868 -> Revert 2c9521c6d2 and partial revert of fab3634931 2019-09-06 09:44:39 +02:00
Lukas Matena
6cc29c308c Fill.cpp: Fixed a typo 2019-09-05 16:03:44 +02:00
Enrico Turri
bdbaecb7f8 Merge branch 'dev' of https://github.com/prusa3d/PrusaSlicer into dev 2019-09-05 09:55:08 +02:00
Enrico Turri
9b550fbd5b Improved time estimator post-processing 2019-09-05 09:54:44 +02:00
bubnikv
d2ac827137 Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev 2019-09-04 16:11:28 +02:00
bubnikv
d146a0237e WIP: Reworked the infill generator to merge areas with the same
properties.

Note for Vojtech:
Review src/libslic3r/Fill/Fill.cpp once again,
add test for G-code generator properties (extrusion speed, cooling?)

Fixes Modifier slice/move efficiency #1005
2019-09-04 16:11:16 +02:00
Lukas Matena
09e4ac42ba Fixed some more warnings (mostly GLGizmoSlaSupports.cpp) 2019-09-04 16:05:32 +02:00
tamasmeszaros
642442c977 Fix typo 2019-09-04 15:15:10 +02:00
Lukas Matena
805a5d22a1 Fixed couple of warnings in WipeTower.cpp, ToolOrdering.cpp and GCode.cpp 2019-09-04 14:56:35 +02:00
Lukas Matena
66d74bc591 Merge branch 'lm_layer_height_validation' into dev 2019-09-02 16:31:59 +02:00
Lukas Matena
942f959e87 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
Enrico Turri
729bd529dc Fixed typo 2019-09-02 13:02:28 +02:00
Enrico Turri
0b03f0eb66 2nd attempt to fix non compatible (newer) .3mf and .amf import error handling on Linux and OsX 2019-09-02 11:55:14 +02:00
Enrico Turri
813a73e614 Attempt to fix non compatible (newer) .3mf and .amf import error handling on Linux and OsX 2019-09-02 09:38:45 +02:00
tamasmeszaros
17a7f58828 Revert full parallel support tree generation to partially parallel. 2019-08-30 15:13:40 +02:00
Lukas Matena
b43003dfad 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
tamasmeszaros
822a4a673c Force deallocation of redundant vector content.
Call move assignment with empty vector instead of clear().
2019-08-29 10:24:55 +02:00
tamasmeszaros
d3fdb0a0e6 Fix memory leak.
Also removed some unnecessary aliases.
2019-08-29 10:10:09 +02:00
Lukas Matena
af2a3d2c08 Fixes of the wipe tower
- added an extra travel move after a toolchange
- wipe tower only sets temperatures with single extruder MM printers
- ooze prevention does not work with the wipe tower - added a check into Print::validate()
2019-08-28 16:28:22 +02:00
Enrico Turri
a53539f9af Fixed import of .3mf and .amf files. Parse contained XML model file by chunch instead that as a whole 2019-08-28 16:03:26 +02:00
tamasmeszaros
c2b9980488 Mirror pad_around_object for 'Pad' page on 'Supports' page 2019-08-28 11:33:04 +02:00
bubnikv
9f0933ba6e Fixed regression issue in G-code preview since 2.1.0-beta2:
Excessive amount of memory was pre-allocated for G-code preview
by volumetric speed.
2019-08-27 15:55:53 +02:00
Lukas Matena
42c5c19f1c GCodeWriter.cpp: Fixed skipped z-lifts when its height was equal to layer height (https://github.com/prusa3d/PrusaSlicer/issues/2154) 2019-08-27 12:41:00 +02:00
bubnikv
30ca60272c Yet another wording update. 2019-08-27 12:22:34 +02:00
bubnikv
888783e0b8 wording update 2019-08-27 12:19:44 +02:00
bubnikv
1e11eab620 Improved wording of some UI texts and tooltips. 2019-08-27 11:39:51 +02:00
bubnikv
80490550b5 Optimization of the tool path preview generation algorithm:
1) Replaced linear search with logarithmic search.
2) Templated the travel path generation, replaced 3 functions with one.
2019-08-26 15:52:56 +02:00
bubnikv
9cbfe8f5ef Make sure the "avoid crossing perimeters" class is resetted
at the start of G-code export.
2019-08-26 09:55:00 +02:00
Enrico Turri
b5c57fc134 Follow-up of c7cdb2fd3e -> Fixed localization of error messages for .3mf and .amf version check 2019-08-26 09:35:04 +02:00
bubnikv
de43f579a9 Refactoring of AvoidCrossingPerimeters::init_external_mp() 2019-08-25 09:01:01 +02:00
bubnikv
ceae7b4889 Fix of support generator regression agains 2.1.0-alpha1.
https://github.com/prusa3d/PrusaSlicer/issues/2810
https://github.com/prusa3d/PrusaSlicer/issues/2808
2019-08-25 08:59:47 +02:00
bubnikv
c725fd4ed5 Merge remote-tracking branch 'remotes/origin/lm_avoid_crossing_perimeters_parallel' 2019-08-25 08:32:02 +02:00
Enrico Turri
c7cdb2fd3e Added version check for .3mf and .amf project files. PrusaSlicer will refuse to import files with newer version numbers. 2019-08-23 13:12:31 +02:00
Lukas Matena
3addae3bb4 GCode.cpp: Avoid crossing perimeters performance optimization 2019-08-23 13:06:29 +02:00
Enrico Turri
2c9521c6d2 Model::convert_multipart_object() modified to keep original object position on the bed 2019-08-22 13:29:21 +02:00
Enrico Turri
56080bee8d Merge branch 'et_colorprint_no_m600' of https://github.com/prusa3d/PrusaSlicer 2019-08-22 11:51:00 +02:00
Lukas Matena
e928c0ac0b Added a missing include 2019-08-22 11:35:25 +02:00
bubnikv
21ee458de5 Some Vojtech's beautification 2019-08-22 09:47:44 +02:00
Enrico Turri
42b8176e9b Temporary human readable form for print color change tag for time estimate 2019-08-21 16:06:56 +02:00
tamasmeszaros
1b00932a01 Small refactor for BedShapeHint 2019-08-21 15:39:20 +02:00
Enrico Turri
c1d8fa377e Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_colorprint_no_m600 2019-08-21 15:21:23 +02:00
bubnikv
85e7c9cb28 Merge remote-tracking branch 'remotes/wavexx/gyroid_improvements' into gyroid_improvements 2019-08-21 14:55:43 +02:00
bubnikv
6bc82bc21a Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-21 14:52:30 +02:00
bubnikv
dc3a0a0ab3 Refactoring of EdgeGrid to accept an segment to segment visitor.
WIP: PolygonTrimmer to trim skirt & brim with polygons stored in EdgeGrid.
2019-08-21 14:52:22 +02:00
Enrico Turri
9cabb03f72 GCodeTimeEstimator uses annotated gcode in place of processing m600 lines to detect color print changes.
WARNING -> After this commit the exported gcode will contain the extra lines used by the time estimator. They will be removed by a future commit when a new post-process method will be implemented.
2019-08-21 14:43:14 +02:00
Enrico Turri
b79457b723 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_colorprint_no_m600 2019-08-21 14:09:45 +02:00
Enrico Turri
85ed363951 GCodeAnalyzer uses annotated gcode in place of processing m600 lines to detect color print changes 2019-08-21 14:09:20 +02:00
tamasmeszaros
67a6775773 Making arrange a little bit smarter: fix for issue #2787 2019-08-21 14:07:56 +02:00
bubnikv
668a8cd2ea Fix of an update of support extruders when changing number
of printer extruders.
2019-08-21 14:05:32 +02:00
bubnikv
40d313961e Fixing issues in Print / PrintObject / PrintRegion reporting
a list of printing extruders.
2019-08-21 13:49:37 +02:00
bubnikv
ded2019765 Fix of "spiral vase printable for a single region object only" check. 2019-08-21 13:08:26 +02:00
bubnikv
7c0c5705df Fix of Excessive external_perimeter_extrusion_width error #2784
Increased the perimeter_extrusion_width check limit to 3x nozzle diameter.
2019-08-21 09:28:32 +02:00
tamasmeszaros
b58713c06f SLA exposure bounds to printer params. 2019-08-20 17:24:48 +02:00
bubnikv
2e7d5e5bc1 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-20 16:22:37 +02:00
bubnikv
fd3fe75d1c Reworked the rename_file() function on Windows to work reliably and
atomically. The code was taken from the llvm project, it is complex
and hopefully it covers all the Windows file system quirks. Vojtech
has highest hopes, that this will fix the various PrusaSlicer.ini
file corruptions.

Enabled the locales switching and error handling on Linux as well,
where now the missing locales are reported and running the locale-gen
tool is recommended.
2019-08-20 16:19:30 +02:00
tamasmeszaros
7c94db0634 Adding new sla material parameters: (initial) exposition min/max 2019-08-20 15:49:32 +02:00
Lukas Matena
53939796a6 GCode.cpp: Fix of temperature change before print
Function set_extruder can be called before moving to the first layer, m_layer_index is then -1. We definitely don't want to set temperature for second layer in that case.
2019-08-20 14:22:31 +02:00
bubnikv
384ee17fcb Merge remote-tracking branch 'remotes/origin/lm_circular_priming' 2019-08-20 09:34:45 +02:00
bubnikv
2870416e4d Merge remote-tracking branch 'remotes/origin/lm_exceptions_rebased' 2019-08-20 09:20:57 +02:00
bubnikv
778e499827 Merge remote-tracking branch 'remotes/origin/lm_wipe_tower_linear_advance' 2019-08-20 09:19:22 +02:00
Vojtech Kral
0ded335488 build: Add source file encoding check
Source files are checked using a small utility in src/build-utils
This is done to prevent bugs in build and localization caused
by weird non-UTF-8 encodings interpreted by MSVC in terms of local codepages
rather than UTF-8.
2019-08-19 17:04:14 +02:00
Vojtech Kral
745182988d Refactor: Move Semver from slice3r to libslic3r
A static symbol Slic3r::SEMVER is introduced, which holds
the running slicer's Semver object.

This is mainly done to make testing updater behaviour
_much_ easier. Additionaly to cleanup some questionable code
(Semver was being parsed multiple times / in multiple places
in the frontend.)
2019-08-19 17:04:14 +02:00
bubnikv
e30a17beb3 Fixed memory issues of BedShapeHintwhen using unions of non-trivial objects 2019-08-19 17:01:39 +02:00
Lukas Matena
92bdb68e11 Extended the error message when empty layers are detected 2019-08-19 15:50:49 +02:00
YuSanka
283cee3f27 Fixed SPE-1000.
Since the value inserted from the keyboard or clipboard is not updated under OSX,
we forcibly set the input value for SpinControl every time during editing.
Thus we can't set min control value bigger then 0.
Otherwise, it couldn't be possible to input from keyboard value less then min_val.
2019-08-19 12:58:59 +02:00
tamasmeszaros
eddf932161 Set min SLA display resolution to 1x1 (see SPE-1000) 2019-08-19 10:58:44 +02:00
tamasmeszaros
65368db49b Merge branch 'master' into tm_clang_mingw 2019-08-16 16:37:02 +02:00
tamasmeszaros
c187a5fb69 Fix up build and clear dev output 2019-08-16 16:31:05 +02:00
tamasmeszaros
7e0199746e more clang warnings enabled, performance measuring
Succesfull build on mingw-w64


fix sandboxes


Mingw fixes and full parallel support tree gen.
2019-08-16 16:17:37 +02:00
Lukas Matena
0f32223ba0 WipeTower: linear advance is disabled immediately before ramming, not before moving to the wipe tower
Linear advance is reset by filament start gcode after a toolchange. However, not all moves to the wipe tower
end with a toolchange (brim, empty grid) and it would therefore disable linear advance until the next toolchange
This should solve https://github.com/prusa3d/PrusaSlicer/issues/2770
2019-08-16 00:20:51 +02:00
tamasmeszaros
8fce511806 Fix for issue #2765, arrange crash with custom beds 2019-08-15 16:15:17 +02:00
Lukas Matena
4cca6f8724 Allowed the skirt to intersect brim (https://github.com/prusa3d/PrusaSlicer/issues/724)
Brim lines are split at the intersection so there is no overextrusion.
2019-08-15 12:27:49 +02:00
Lukas Matena
15744f021a Print::validate: added epsilon checks on nozzle and filament diameter validation (https://github.com/prusa3d/PrusaSlicer/issues/2737)
Changed messagebox text after changing extruder diameter with single extruder printers so it is more obvious why it shows

In case nozzle diameters differ and someone checks 'single_extruder_mm', PrusaSlicer asks whether all diameters should be unified. Answering NO did not undo the SEMM check. It does now.
2019-08-15 10:43:17 +02:00
Lukas Matena
c84b1ca34b Multimaterial initial priming for non-Prusa printers (https://github.com/prusa3d/PrusaSlicer/issues/1121)
The initial priming now does not assume anything about bed width and always uses the space it has
In case of circular beds it places the priming lines along the diameter
Custom beds are not supported (they are treated as circular with no extra checks whether it is sane)
Slight refactoring of the WipeTower class (constructor now gets reference to PrintConfig and not the individual values, same with set_extruder). This was legacy from times when the wipe tower was meant to be abstract and independent on the rest)
2019-08-15 01:41:46 +02:00
YuSanka
2d1c554758 Some reverts for commit 4cd4d2c8b5 2019-08-14 17:07:30 +02:00
YuSanka
4cd4d2c8b5 Fixed wrong page selection for Printer Setting after application run 2019-08-13 17:09:42 +02:00
Lukas Matena
c189140221 Fixed a false positive empty layer report
Reported in https://github.com/prusa3d/PrusaSlicer/issues/2752 and was a result of setting support contact z distance to negative value.
This lowered the maximum allowed print_z of the next layer, even though previous layer had object layers too, so the penalty from the contact z should not have been applied.
Fixed simply by rejecting the negative contact_z.
2019-08-13 11:02:58 +02:00
tamasmeszaros
a49caea6cc Hotfix for crash when empty pad and support mesh is generated. 2019-08-09 17:13:18 +02:00
bubnikv
9b700ef252 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-09 09:58:27 +02:00
bubnikv
46fa83adac Only validate support_material_extrusion_width with supports
or raft enabled.
2019-08-09 09:58:05 +02:00
tamasmeszaros
52702769d4 Hotfix for crash with support disabled and pad enabled. 2019-08-08 19:12:37 +02:00
Yuri D'Elia
189d7be93b Fix two warnings 2019-08-08 17:04:56 +02:00
Lukas Matena
1b5d561b7c 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
Yuri D'Elia
753b34a0d3 Make Gyroid::PatternTolerance match the description
Move the division out of the switch in order to make the tolerance match
the expected unit.
2019-08-08 16:53:26 +02:00
bubnikv
bcfb445d0c Partial revert of f474978db5
to fix Perl driven unit tests.
2019-08-08 15:24:23 +02:00
bubnikv
7e694a8fb8 Workaround for invalid access inside some character classification table
when parsing localized file names by the PlaceholderParser:
UTF8 characters were handled as chars, and the negative char values were
used as indices into 7bit long tables.
2019-08-08 14:21:24 +02:00
bubnikv
f474978db5 Clean up the mess required for the legacy Perl bindings, which are now
used for Perl unit / integration tests only. With this commit,
the code will be cleaner, but likely the unit tests will not run
on Windows, if installed in a localized path.
2019-08-08 12:59:55 +02:00
bubnikv
23b2b4c59f Merge remote-tracking branch 'remotes/origin/vb_picking_fix' 2019-08-08 09:50:02 +02:00
Yuri D'Elia
90c85b7c8a Move gyroid constants to the class declaration 2019-08-07 22:26:39 +02:00
Yuri D'Elia
da6c285f1f Maximize gyroid printing speed angle
Counter-rotate the default angle by 45' so that gyroid is kept at it's
maximum printing speed by default.
2019-08-07 22:26:39 +02:00
Yuri D'Elia
f8490fb4e0 Limit upper tolerance in Gyroid
Do not reduce resolution more than necessary when using larger nozzles
and/or higher layer heights.
2019-08-07 16:47:23 +02:00
Yuri D'Elia
1a84642153 Allow gyroid pattern rotation over Z 2019-08-07 16:47:17 +02:00
Yuri D'Elia
e7616efc89 Handle truncated gyroid patterns correctly
When generating patterns which are less than a full wave, always
generate the last point correctly.

When extending a full wave to a line, fixup the last point
to the real gyroid position instead of shifting the point.
2019-08-07 16:47:04 +02:00
Yuri D'Elia
5932881291 Reduce reallocations and memory usage in gyroid 2019-08-07 16:46:56 +02:00
Yuri D'Elia
b9901f1730 Parametric tolerance for Gyroid infill 2019-08-07 16:46:51 +02:00
supermerill
b6936a46e3 bugfix "connected lines" for gyroid & 3Dhoney 2019-08-07 16:45:52 +02:00
supermerill
19df45c39d bugfix gyroid & 3Dhoneycomb "connected lines" 2019-08-07 16:45:41 +02:00
supermerill
86fbb9a095 gyroid & 3Dhoneycomb: now 'connected lines' follow the perimeters 2019-08-07 16:45:22 +02:00
tamasmeszaros
0ca37729aa Merge branch 'master' into tm_zero_elev_ui 2019-08-07 15:28:17 +02:00
bubnikv
abd89e4f9a Merge remote-tracking branch 'remotes/origin/master' into vb_picking_fix 2019-08-07 14:31:16 +02:00
Lukas Matena
8e4f777bd3 One more fix on the empty layers detection - support contact z distance is taken into account
If it wasn't, anything with raft would be rejected unless contact z was zero. We do not want that.
2019-08-07 12:02:30 +02:00
Lukas Matena
f61c982111 GCode.cpp: fixed detection of empty layers so it doesn't give false positives
That could happen on empty support layers which do not necessarily matter, since their spacing is not generally synchronized with the object
The new hopefully correct logic is "if there are extrusions on a layer, check that last layer with extrusions is at most the new layer height below
This is a fixup of changes from 0de6e53 and 6ab1cec
2019-08-07 10:54:36 +02:00
bubnikv
2f642ffffb ModelInstance::is_printable() takes into account printability
of the parent ModelObject.
2019-08-07 10:18:16 +02:00
tamasmeszaros
92e1649606 Merge branch 'master' into tm_zero_elev_ui 2019-08-06 16:54:46 +02:00
tamasmeszaros
3c09473f2a Added additional checkbox to enable zero elevation 2019-08-06 16:51:32 +02:00
YuSanka
35a06d5bf4 Merge remote-tracking branch 'origin' into ys_printable_property 2019-08-06 16:28:25 +02:00
YuSanka
8a2362587d Save/load printable flag to/from 3mf and amf 2019-08-06 16:27:56 +02:00
bubnikv
9905f8d349 Fix of the previous commit: zero extrusion width parameter is
always valid, it is replaced with an "auto" value.
2019-08-06 15:36:16 +02:00
bubnikv
74e592ceaa Improved handling of excessive extrusion width values (too small
or too big).
Fixes std: bad_alloc #2715
2019-08-06 15:11:46 +02:00
YuSanka
0520da3241 Merge remote-tracking branch 'origin' into ys_printable_property 2019-08-06 10:31:17 +02:00
Lukas Matena
b0d4cb6e06 Memory usage is now shown in SysInfoDialog on all three platforms 2019-08-05 20:17:29 +02:00
bubnikv
ef0e323d1b Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-05 17:49:31 +02:00
bubnikv
cf2f16d864 Fixed Model::convert_multipart_object() for STLs (regression from 8e2af5151dcf6f102b65981ff5aa56c2dfda5a2a).
Removed Model::s_auto_extruder_id and related, as it is a Perl interfacing legacy.
Fixed a typo in asserts introduced in the preceding commit.
2019-08-05 17:49:21 +02:00
Lukas Matena
6da196b419 Corrected return value of ConfigOptionVector::apply_override to what was intended (this didn't cause any bug though, the return value is currently not used) 2019-08-05 15:24:49 +02:00
bubnikv
7e1d2daf78 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-05 14:30:42 +02:00
bubnikv
731e5abd88 Fixed a regression issue where excessive memory was allocated
for the GLVolumes before sending to the GPU driver. The following commits
were partially reverted:

4269c8b23c Removed GLVolume non-VBO rendering
d15698e21e GLVolume and GLIndexedVertexArray refactored to send data to gpu at the first render call

Namely, the GLVolume buffers are "shrink to size"'d before sending their
content to the OpenGL driver, and the vertex buffers are populated
as quickly as possible from the GLVolume, so that the same buffer is not
kept twice in RAM on systems, where the RAM is shared with the graphics
card.

Also the memory allocation reporting was improved for the GLVolumes.
2019-08-05 14:30:32 +02:00
Lukas Matena
3efae8a03e Added a memory logging function for Mac and Linux 2019-08-05 13:39:03 +02:00
YuSanka
825446d145 Merge remote-tracking branch 'origin/master' into ys_printable_property 2019-08-05 08:45:47 +02:00
Lukas Matena
0de6e53219 Followup of 6ab1cec - empty layers are ok if there are only other empty layers on top of them
Also fixed a possible crash in Print.cpp when preparing the wipe tower layers
2019-08-04 22:57:59 +02:00
Enrico Turri
77df54947b Follow-up of c791ba776f -> Estimated times for color print layed-out as 'time for color (remaining time at color start)' 2019-08-03 08:51:03 +02:00
Lukas Matena
6ab1cec48c Empty layers detection added to GCode.cpp
Added detection of empty layers so the wipe tower doesn't trip on them (it is not printable anyway).
This should improve wipe tower reliability with supports, objects standing on edges, etc.
I also turned an assert into exception throw to prevent hard crashes and nonsense output.
2019-08-02 16:54:18 +02:00
YuSanka
3b24565411 Fixed wrong naming of bottom infill pattern 2019-08-02 16:16:12 +02:00
Enrico Turri
c791ba776f Added absolute time to estimated time for color print and fixed a bug in showing estimated times for print color for silent mode 2019-08-02 12:05:02 +02:00
Enrico Turri
28cc595350 #2593 - Fixed loading of .zip.amf files when running from command line 2019-08-02 09:43:41 +02:00
tamasmeszaros
7d25d8c677 Can build with (original llvm) clang-cl on windows 2019-08-01 16:03:52 +02:00
Lukas Matena
170bd8b064 Wipetower fix: temperature-changing command was sometimes missing after the toolchange
Cause: variable holding last issued temperature was not reset where it should have been
This should fix issue #2685
2019-08-01 15:31:02 +02:00
YuSanka
885da35544 Merge remote-tracking branch 'origin/master' into ys_printable_property 2019-08-01 15:15:18 +02:00
bubnikv
576643c7ed Bumped up the version to 2.1.0-alpha0.
Updated the bundled profiles to integrate retract overrides
for PET and FLEX materials.
2019-08-01 11:53:22 +02:00
YuSanka
3bade450b8 Merge remote-tracking branch 'origin/ys_overrides' 2019-07-31 13:05:47 +02:00
Enrico Turri
0647d3ac1e Code cleanup 2019-07-31 11:12:50 +02:00
Enrico Turri
bdd694ddcb Added member bool printable to ModelObject and ModelInstance 2019-07-31 08:36:08 +02:00
tamasmeszaros
1ab3268d55 Performance optimizations and some cleanup.
Optional heavy parallelism which is disabled by default. Would like to test it further in a next release cycle.
2019-07-30 17:57:07 +02:00
tamasmeszaros
ca1f3dc6af Improved logging of SLA support tree creation. 2019-07-30 17:55:22 +02:00
tamasmeszaros
57008d0d77 Include SLACommon.hpp into the project.
File is reformatted, but only the whitespace is changed.
2019-07-30 17:54:25 +02:00
bubnikv
ca1c78b3fc Merge remote-tracking branch 'remotes/origin/et_custom_bed' 2019-07-30 16:48:47 +02:00
Lukas Matena
94f9b701e2 Merge branch 'lm_sla_gizmo_undo' 2019-07-30 14:52:44 +02:00
tamasmeszaros
320f964847 Fixing zero elevation bug when concave hull overlap was not detected.
Backported from tm_perf_optims
2019-07-30 14:24:42 +02:00
YuSanka
05325e4f2e Set "wipe_into_infill" and "wipe_into_objects" options to the "Wipe options" category instead of "Extruders" 2019-07-29 16:56:24 +02:00
YuSanka
d0d01ef7ab Merge remote-tracking branch 'origin/vb_filament_overrides' into ys_overrides 2019-07-28 22:01:48 +02:00
YuSanka
40a576a8ad Implemented update of the override filaments options from/to config 2019-07-28 22:00:39 +02:00
Lukas Matena
fe62362960 Hiding the sla support structures after undo/redo 2019-07-28 11:37:08 +02:00
Enrico Turri
10b27968d1 Code cleanup 2019-07-26 11:32:44 +02:00
bubnikv
17edc289e9 Fixed missing return value. 2019-07-25 17:18:51 +02:00
bubnikv
86287a28ec Fixed the Perl bindings, made Print::m_placeholder_parser protected,
removed the non-const accessor method to m_placeholder_parser.
2019-07-25 17:08:31 +02:00
bubnikv
2bcdfc8378 Merge remote-tracking branch 'remotes/origin/master' into vb_filament_overrides 2019-07-25 14:40:54 +02:00
bubnikv
f8218eb903 Reworked the FFF Print::update() to process the filament retract
override values and to store them into the output G-code.
2019-07-25 14:39:19 +02:00
YuSanka
ab2519cde4 Merge remote-tracking branch 'origin/master' into ys_overrides 2019-07-24 12:47:00 +02:00
bubnikv
42c8940795 Fixed is_nil() method on ConfigOptions.
PlaceholderParser was extended to support external config.
The external config has a lowest priority when looking up a variable.
2019-07-24 12:39:01 +02:00
bubnikv
6ea3a8e2b4 WIP: Nullable config values. Fixed compare operator for float vectors. 2019-07-23 17:15:34 +02:00
Enrico Turri
1b5ba6c823 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_custom_bed 2019-07-23 15:36:39 +02:00
Enrico Turri
9a127ed016 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_selection_undoredo 2019-07-23 15:14:19 +02:00
Enrico Turri
0d10d8aba7 1st installment for selection's undo/redo snapshots 2019-07-23 15:14:08 +02:00
bubnikv
3b1a44c084 WIP: Nullable configuration value concept, implemented for
ConfigOptionFloatsNullable, ConfigOptionIntsNullable,
ConfigOptionPercentsNullable, ConfigOptionBoolsNullable.

retract override values were added to the Filament profile:
vector of floats: "retract_length", "retract_lift", "retract_lift_above",
	"retract_lift_below", "retract_speed", "deretract_speed",
	"retract_restart_extra", "retract_before_travel",
vector of bools: "retract_layer_change", "wipe"
vector of percents: "retract_before_wipe"
2019-07-23 14:15:42 +02:00
Lukas Matena
91a5d70a62 Fixed a few warnings in headers (meaning they were reported once for each include)
Fixed an identification of CXX compiler in cmake so that 'AppleClang' is recognized
2019-07-23 14:02:20 +02:00
Lukas Matena
506be9035b Wipe tower now supports filaments with diameters different from 1.75 mm 2019-07-23 14:02:20 +02:00
Enrico Turri
7749677b27 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_custom_bed 2019-07-22 11:57:17 +02:00
Enrico Turri
dcedb9e3d3 Follow-up of 699319cd86 -> Fixed build on Mac 2019-07-22 11:47:23 +02:00
Enrico Turri
c1dee0e87d Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_custom_bed 2019-07-22 11:26:02 +02:00
Enrico Turri
996b227391 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2019-07-22 11:23:52 +02:00
Enrico Turri
699319cd86 #2663 - Added handling of gcode lines M401 and M402 for Repetier flavour to GCodeAnalyzer 2019-07-22 11:23:42 +02:00
tamasmeszaros
764efb1385 Remove disabled code. 2019-07-22 11:18:10 +02:00
Enrico Turri
9cb1a584e1 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_custom_bed 2019-07-22 08:21:40 +02:00
tamasmeszaros
8d66b51e8c Merge branch 'master' into tm_arrange_selection 2019-07-19 18:17:58 +02:00
tamasmeszaros
63fada9469 Arrange selection if shift is pressed. Remove first item centering 2019-07-19 18:10:10 +02:00
bubnikv
252159e31e Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-07-19 15:29:15 +02:00
bubnikv
dbc1918193 Undo / Redo. Workaround for the Wipe tower. 2019-07-19 15:29:04 +02:00
Lukas Matena
eb29c3e01d Wipe tower accounts for extruder offsets
Also, in case of non-single-extruder printer with the wipe tower, first wiping line was printed where the border should have been - fixed
2019-07-19 13:00:10 +02:00
tamasmeszaros
72ed8c034e Fix for incorrect inside check of fixed items.
libnest2d: Add dispatched overloads for offsetting different shapes.
2019-07-19 12:34:27 +02:00
Enrico Turri
37f2362aab Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_custom_bed 2019-07-19 11:36:07 +02:00
Lukas Matena
fca5562c6c Process start_filament_gcode in case of usual single extruder printer
Reported in https://github.com/prusa3d/PrusaSlicer/issues/2652
2019-07-19 10:02:52 +02:00
Enrico Turri
84d61e28fd Tech ENABLE_TEXTURES_FROM_SVG set as default 2019-07-19 09:52:01 +02:00
Enrico Turri
3344650255 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_custom_bed 2019-07-19 09:18:32 +02:00
bubnikv
4049f33609 Fix of osx builds 2019-07-18 18:19:40 +02:00
bubnikv
d669a00980 Merge remote-tracking branch 'remotes/origin/master' into vb_undo_redo2 2019-07-18 17:42:10 +02:00
bubnikv
a0ea96968d Storing the active printer technology onto the Undo / Redo stack,
remembering the last selected Printer profile for the SLA and FDM
technologies separately, and activating them on Undo / Redo.

When switching the technologies, user is asked whether to discard
the modified profiles or not.
2019-07-18 17:41:47 +02:00
tamasmeszaros
6ae50a710a Further refactoring 2019-07-18 17:31:27 +02:00
tamasmeszaros
b2867f9227 Merge branch 'master' into tm_arrange_selection 2019-07-18 16:33:16 +02:00
tamasmeszaros
76b1fbc5bf Eliminate some igl warnings on msvc 2019-07-18 16:32:04 +02:00
tamasmeszaros
e3ca95152c Minor refactor 2019-07-18 16:30:32 +02:00
tamasmeszaros
99b8e08e67 Remove arrange cache. 2019-07-18 12:58:28 +02:00
Enrico Turri
de383b1809 Added selection of custom bed model to bed shape dialog 2019-07-18 12:56:52 +02:00
bubnikv
69ef6cf806 Fix for compilation on clang: Forward declarations of templates. 2019-07-18 12:07:50 +02:00
bubnikv
cd95b52dcd Undo / Redo memory conservation strategy: Release recoverable data
starting from the objects of lowest ObjectID.
(convex hulls are recoverable as well as the indexed triangle sets
inside the TriangleMeshes or the triangle connectivity information).

Now the top most snapshot (the temp one taken before Undo jump) will
never be released.
2019-07-18 11:51:06 +02:00
Enrico Turri
08d37aad06 Added selection of custom bed texture to bed shape dialog 2019-07-18 11:12:11 +02:00
tamasmeszaros
6949543912 Fixes after merge with master. 2019-07-17 18:10:08 +02:00
tamasmeszaros
a695dec51a Merge branch 'master' into tm_arrange_selection 2019-07-17 17:25:31 +02:00
tamasmeszaros
aff1863aed Really fix build for msvc 2019-07-17 16:47:09 +02:00
bubnikv
7176599a34 Merge remote-tracking branch 'remotes/origin/master' into vb_undo_redo2 2019-07-17 15:54:57 +02:00
bubnikv
3a74e7ab69 WIP: Undo / Redo memory limiting by releasing the least recently
used snapshots. Memory limit set to 10% of physical system memory.
2019-07-17 15:48:53 +02:00
tamasmeszaros
c74e6513d9 Fix for msvc build. 2019-07-17 14:34:28 +02:00
tamasmeszaros
2728f41123 Solved issue with virtual bed management.
libnest2d: Fix for unclosed polygons after merge.
2019-07-17 13:32:31 +02:00
tamasmeszaros
44801f4429 Priority for wipe tower, Increased safety distance from bed edges.
* WipeTowerInfo class extended in plater (WipeTower) instead of GLCanvas3D
* Bed origin support in ModelInstance and WipeTower
2019-07-16 18:33:42 +02:00
Lukas Matena
52ab8a5f19 Wipe tower fix (do not skip the first toolchange when printing without the wipe tower)
Also, test multi.t updated so it matches new logic of inserting custom gcodes
2019-07-16 13:10:09 +02:00
bubnikv
4865240a9c Fixed compilation issue 2019-07-16 09:19:00 +02:00
tamasmeszaros
1b0e192046 Arrange cache in ModeInstance and logical bed remembered. 2019-07-15 17:30:44 +02:00
Lukas Matena
004e2719b1 Merge branch 'master' into lm_warnings 2019-07-15 13:26:55 +02:00
Lukas Matena
63cf5edf28 Updated tooltips on custom gcodes to match actual PrusaSlicer behaviour to reflect recent changes 2019-07-15 11:49:30 +02:00
bubnikv
ab7ecc1819 Merge remote-tracking branch 'remotes/origin/vb_undo_redo' 2019-07-15 11:34:18 +02:00
Lukas Matena
e674c586b0 Merge branch 'lm_improving_wipe_tower'. Summary of changes:
- wipe tower respects max volumetric flow, slowing down with PVA etc is not hardcoded anymore
- wipe tower is now allowed for multiple-extruder printers. single extruder stuff is not used in that case (ramming, cooling, etc.)
- start/end filament and toolchange custom gcodes are now inserted differently than before - see 41164a9
- some refactoring, e.g. the abstract WipeTower class was eradicated
2019-07-15 10:25:38 +02:00
tamasmeszaros
df7bb94daf Not handling logical beds in arrange() 2019-07-12 21:17:11 +02:00
Lukas Matena
2ee572bd31 GCodeAnalyzer now recognizes tool-changing commands with MakerWare and Sailfish flavor
These firmwares use M135 Tn and M108 Tn commands for changing active tool, which the analyzer did not recognize. The toolpaths were then rendered in wrong color, extruder offset etc. This surfaced in issue https://github.com/prusa3d/PrusaSlicer/issues/2566
2019-07-12 12:56:41 +02:00
Enrico Turri
cc70c8dff9 Tech ENABLE_SVG_ICONS set as default 2019-07-12 10:13:35 +02:00
Enrico Turri
1f74d7fdfc Added color number in legend texture for color prints 2019-07-09 15:47:34 +02:00
Enrico Turri
29dfa786ff Merge branch 'et_color_print_times' of https://github.com/prusa3d/PrusaSlicer 2019-07-09 14:24:24 +02:00
tamasmeszaros
af89bcee53 Merge branch 'master' into tm_builtin_pad 2019-07-09 13:21:26 +02:00
tamasmeszaros
18fcb64681 Fixing broken SLA slicing: SPE-984 2019-07-09 13:12:55 +02:00
Enrico Turri
ad5329253e Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_color_print_times 2019-07-08 08:45:11 +02:00
Enrico Turri
25d916f144 Color change time estimates 2019-07-08 08:40:20 +02:00
bubnikv
4e2fda3315 Undo / Redo fixes 2019-07-05 19:06:19 +02:00
bubnikv
6a3fc5bde3 Documented the cereal library manual patching (FIXME!) 2019-07-05 11:42:36 +02:00
bubnikv
7c732c7482 Trying to fix some Linux & OSX compilation issues. 2019-07-04 23:34:18 +02:00
bubnikv
211d1ee1e3 Trying to make all C++ of the platforms happy. 2019-07-04 22:52:33 +02:00
bubnikv
9fd0c55eb8 Simplified the "cereal" includes to not clash with Perl includes 2019-07-04 22:09:14 +02:00
bubnikv
497b01f24a Trying to fix some template resolution on Linux 2019-07-04 21:02:08 +02:00
bubnikv
b1420283b6 Fixed merge issues. 2019-07-04 20:49:46 +02:00
bubnikv
3a24fb2f47 Yet another compilation fix. 2019-07-04 20:25:52 +02:00
bubnikv
c7cc760067 Merge remote-tracking branch 'origin/master' into vb_undo_redo 2019-07-04 20:22:15 +02:00