Commit Graph

107 Commits

Author SHA1 Message Date
Lukas Matena
1b7ba52bd0 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
bubnikv
f96cb5db5e Fix / improvement of unit tests. 2019-10-25 19:06:40 +02:00
Enrico Turri
192d5a33c3 #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
8fac1139a7 Merge branch 'et_git_3010' of https://github.com/prusa3d/PrusaSlicer 2019-10-18 12:48:06 +02:00
bubnikv
4d03afbb13 Ported remove_collinear(Polygon) and test_polygon from upstream slic3r. 2019-10-15 18:08:32 +02:00
Enrico Turri
e12702de8c ENABLE_GIT_3010_FIX set as default 2019-10-14 10:03:27 +02:00
Enrico Turri
693fc6ba81 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_git_3010 2019-10-14 08:49:19 +02:00
Lukas Matena
f9f9202a24 Simplified inclusion of the wipe tower into skirt calculation 2019-10-08 14:12:40 +02:00
Lukas Matena
5fac2ef70e 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
e355c13dfb Include wipe tower in skirt 2019-10-08 11:06:55 +02:00
Enrico Turri
33057ee090 #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
8357f1a119 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
bubnikv
4bfc7f9faa Merge remote-tracking branch 'remotes/origin/et_pull_2922' 2019-09-30 10:23:16 +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
Enrico Turri
dd503c328f #2922 - Port of commit: f42edd35ce by jschuh 2019-09-23 14:56:27 +02:00
YuSanka
a3a01c5b62 Replace "mm3/s" with "mm³/s" in preview legend for a "Volumetric flow rate" 2019-09-23 11:11:43 +02:00
bubnikv
ce8bf4d52d Merge remote-tracking branch 'remotes/origin/master' into dev 2019-09-13 18:58:39 +02:00
bubnikv
0e8ac9c17e 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
0eea5fc0ac Merge remote-tracking branch 'remotes/origin/master' into dev 2019-09-12 10:19:09 +02:00
Enrico Turri
1a7484e001 Follow-up of 44c3493f7d -> error message logged only for multi-extruder printers 2019-09-11 10:02:27 +02:00
Enrico Turri
25613c80ea Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into dev 2019-09-11 09:15:58 +02:00
Enrico Turri
c60bf6f654 Added missing include 2019-09-11 08:51:36 +02:00
Enrico Turri
2f3edd2387 GCodeAnalyzer: Fixed a crash when encountering an invalid toolchange 2019-09-11 08:39:29 +02:00
bubnikv
1f56b081cc Merge remote-tracking branch 'remotes/origin/master' into dev 2019-09-10 19:09:41 +02:00
Lukas Matena
afb8f01bb9 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
915488fe33 Some more warnings fixed (WipeTower.cpp/.hpp) 2019-09-10 12:08:43 +02:00
Lukas Matena
ed26c9b73c 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
Lukas Matena
080792f9ed 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
6f0b44da72 Fixed couple of warnings in WipeTower.cpp, ToolOrdering.cpp and GCode.cpp 2019-09-04 14:56:35 +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
8809ef3a0c 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
bubnikv
215c52d2d3 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
Enrico Turri
2c82773e2b GCodeAnalyzer uses annotated gcode in place of processing m600 lines to detect color print changes 2019-08-21 14:09:20 +02:00
bubnikv
2b27771bb4 Merge remote-tracking branch 'remotes/origin/lm_circular_priming' 2019-08-20 09:34:45 +02:00
bubnikv
b39e1bb11f Merge remote-tracking branch 'remotes/origin/lm_wipe_tower_linear_advance' 2019-08-20 09:19:22 +02:00
tamasmeszaros
a02e218ccd Merge branch 'master' into tm_clang_mingw 2019-08-16 16:37:02 +02:00
tamasmeszaros
2792e94938 Fix up build and clear dev output 2019-08-16 16:31:05 +02:00
tamasmeszaros
a02a929b17 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
73b310a37c 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
Lukas Matena
1117042adb 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
Lukas Matena
d0c9c28494 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
Lukas Matena
f5b1bd051c 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
bubnikv
f8469eb52c 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
Lukas Matena
a2739dbdbc Wipe tower now supports filaments with diameters different from 1.75 mm 2019-07-23 14:02:20 +02:00
Enrico Turri
aa34938721 Follow-up of 699319cd86 -> Fixed build on Mac 2019-07-22 11:47:23 +02:00
Enrico Turri
f0f67a2667 #2663 - Added handling of gcode lines M401 and M402 for Repetier flavour to GCodeAnalyzer 2019-07-22 11:23:42 +02:00
Lukas Matena
8aad1fd1f1 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
Lukas Matena
d2c908ef7f Merge branch 'master' into lm_warnings 2019-07-15 13:26:55 +02:00
Lukas Matena
ff69c030d7 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
Lukas Matena
4f922fc49c 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