Commit Graph

98 Commits

Author SHA1 Message Date
ec845a47d2 Merge branch 'master' into lm_low_wipe_tower 2019-10-01 13:24:25 +02:00
63a5605fed 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
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
4bfc7f9faa Merge remote-tracking branch 'remotes/origin/et_pull_2922' 2019-09-30 10:23:16 +02:00
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
dd503c328f #2922 - Port of commit: f42edd35ce by jschuh 2019-09-23 14:56:27 +02:00
a3a01c5b62 Replace "mm3/s" with "mm³/s" in preview legend for a "Volumetric flow rate" 2019-09-23 11:11:43 +02:00
ce8bf4d52d Merge remote-tracking branch 'remotes/origin/master' into dev 2019-09-13 18:58:39 +02:00
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
0eea5fc0ac Merge remote-tracking branch 'remotes/origin/master' into dev 2019-09-12 10:19:09 +02:00
1a7484e001 Follow-up of 44c3493f7d -> error message logged only for multi-extruder printers 2019-09-11 10:02:27 +02:00
25613c80ea Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into dev 2019-09-11 09:15:58 +02:00
c60bf6f654 Added missing include 2019-09-11 08:51:36 +02:00
2f3edd2387 GCodeAnalyzer: Fixed a crash when encountering an invalid toolchange 2019-09-11 08:39:29 +02:00
1f56b081cc Merge remote-tracking branch 'remotes/origin/master' into dev 2019-09-10 19:09:41 +02:00
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
915488fe33 Some more warnings fixed (WipeTower.cpp/.hpp) 2019-09-10 12:08:43 +02:00
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
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
6f0b44da72 Fixed couple of warnings in WipeTower.cpp, ToolOrdering.cpp and GCode.cpp 2019-09-04 14:56:35 +02:00
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
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
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
2c82773e2b GCodeAnalyzer uses annotated gcode in place of processing m600 lines to detect color print changes 2019-08-21 14:09:20 +02:00
2b27771bb4 Merge remote-tracking branch 'remotes/origin/lm_circular_priming' 2019-08-20 09:34:45 +02:00
b39e1bb11f Merge remote-tracking branch 'remotes/origin/lm_wipe_tower_linear_advance' 2019-08-20 09:19:22 +02:00
a02e218ccd Merge branch 'master' into tm_clang_mingw 2019-08-16 16:37:02 +02:00
2792e94938 Fix up build and clear dev output 2019-08-16 16:31:05 +02:00
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
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
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
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
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
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
a2739dbdbc Wipe tower now supports filaments with diameters different from 1.75 mm 2019-07-23 14:02:20 +02:00
aa34938721 Follow-up of 699319cd86 -> Fixed build on Mac 2019-07-22 11:47:23 +02:00
f0f67a2667 #2663 - Added handling of gcode lines M401 and M402 for Repetier flavour to GCodeAnalyzer 2019-07-22 11:23:42 +02:00
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
d2c908ef7f Merge branch 'master' into lm_warnings 2019-07-15 13:26:55 +02:00
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
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
a9ab3b2a8f Added color number in legend texture for color prints 2019-07-09 15:47:34 +02:00
9bbe65c53e Fixed warnings in libslic3r 2019-06-25 16:04:29 +02:00
0f4e24bc83 WipeTower - fixed a crash in extrude_explicit when called from finish_layer before the first toolchange 2019-06-21 10:58:20 +02:00
0ea5a60f93 Wipe tower - fixed a long existent bug that sometimes resulted in inexact feedrate on the loading moves 2019-06-17 12:59:30 +02:00
9e68f19ee8 Fixup of 41164a9
The WipeTowerWriter did not now which tool is being used, so it limited the volumetric flow based on different filament settings
2019-06-17 11:22:17 +02:00
55616340e7 Wipe tower - renaming files (to conclude work from previous commit and not lose history of those files) 2019-06-17 10:26:33 +02:00
426fda26f7 Wipe tower - refactoring (removed the abstract WipeTower class)
- abstract class WipeTower and its descendant WipeTowerPrusaMM were merged into a single (non-abstract) WipeTower class
- all uses of WipeTower::xy struct were replaced by Eigen Vec2f (it is no longer necessary to be independent on libraries that PrusaSlicer uses)
- the WipeTowerPrusaMM.hpp/.cpp will be renamed in the next commit (hopefully it will retain its git history that way)
2019-06-17 10:16:07 +02:00
73615df334 Wipe tower - removed the obsolete material_type enum
no longer necessary because the speed overrides that the enum controlled were recently removed
the comment in gcode is now just about appending the config string
2019-06-14 14:44:22 +02:00
cc5a47d96c Changed handling of priming extrusions to allow injection of filament and toolchange custom gcodes
The priming extrusions were handled separately from the rest of the wipe tower toolchanges. In order to be able to use the logic from previous commit for them (custom toolchange gcodes etc), some unpleasant code shuffling was needed
2019-06-14 14:42:07 +02:00