Commit Graph

209 Commits

Author SHA1 Message Date
Lukas Matena
e1922cb2c5 Supressed preview on unloadingmoves 2018-03-07 08:55:53 +01:00
Lukas Matena
af281e13db Last wipe on layer accounts of border and sparse infill (ugly, yet working) 2018-03-06 19:14:12 +01:00
Enrico Turri
d91f59379b GCode Preview - Fixed values in range labels of legend texture 2018-03-06 12:12:00 +01:00
Lukas Matena
6c223c2f84 Fixed cooling time calculation, removed unnecessary diagonal moves, fixed 'stringing' on start and end of narrower wipe tower layers 2018-03-05 16:51:31 +01:00
Lukas Matena
4058f00275 Added print head moves after ramming and removed one unnecessary diagonal move 2018-03-05 13:53:49 +01:00
Lukas Matena
5aca3045b9 (Un)loading speed and delay introduced into wipe tower generator 2018-03-05 10:45:35 +01:00
Lukas Matena
b3e9b82280 (Un)loading speed and time delay parameters introduced into GUI and conf. layer (not yet into wipe tower generator) 2018-03-02 15:52:16 +01:00
Lukas Matena
e1421da5e8 Integrating cooling tube parameters into wipe tower generator 2018-03-02 13:26:16 +01:00
Lukas Matena
d2006c8d8e Cooling tubes parameters added into GUI and configuration layer (not yet into wipe tower generator) 2018-03-01 16:15:00 +01:00
Lukas Matena
b1b16359d9 Changes in includes in order to fix Win builds 2018-03-01 08:43:43 +01:00
Lukas Matena
9ea803b000 Attempts to fix OSX and Win builds 2018-02-28 19:53:32 +01:00
Lukas Matena
a62ad3323f First naive implementation of wipe tower settings dialog 2018-02-28 16:04:56 +01:00
YuSanka
751c97c503 Localize the Plater tab
* Marking and translation of Plater tab are complited
* GUI.pm is marked to l10n
* Fix small bug with Extruder adding at Printer Settings tab
2018-02-28 15:41:35 +01:00
YuSanka
7047f4365a Update localization:
* 2D.pm, 3DPreview.pm, PreviewData.cpp are marked by L()
* use translating function in 3DScene.cpp
2018-02-26 16:23:44 +01:00
Lukas Matena
5f5a59328b Minor refactoring, actualized comments, etc. 2018-02-22 11:03:29 +01:00
Lukas Matena
5a02bde170 Fix of merge conflict and uninitialized variables in writer class 2018-02-22 09:28:31 +01:00
Enrico Turri
81eff20ad1 GCode Preview - Added Custom extrusion role + extended layers range for GCode preview 2018-02-22 08:59:47 +01:00
Lukas Matena
de92f45eaf Merge with master 2018-02-21 13:22:51 +01:00
Lukas Matena
5ca0a2f37d Parametrized toolchanges, experiments with sparse wipe tower, etc 2018-02-21 13:07:32 +01:00
bubnikv
ff3ae40aeb Fixed compilation issues caused by the previous commits 2018-02-14 21:57:46 +01:00
bubnikv
2caba92623 GCode/PreviewData.cpp,hpp has been split from GCode/Analyzer.cpp,hpp 2018-02-14 20:38:03 +01:00
bubnikv
b1f5e7e8fa Removed the GCodePreviewData from the Print class, it does not belong here,
as the GCode is generated outside of the Print class.
Exported the GCodePreviewData as GCode::PreviewData to Perl.
When exporting the G-code with a command line Slic3r,
the GCodeAnalyzer is now supressed for performance reasons.
Removed obsolete Perl module Slic3r::GUI::Plater::3DToolpaths.
2018-02-14 20:35:59 +01:00
bubnikv
3a6436f6f0 Split the GCodePreviewData from the GCodeAnalyzer,
as in the next step the GCodePreviewData will be exported to Perl.
2018-02-14 18:42:09 +01:00
Enrico Turri
f4522cd2fc GCode Preview - Customizable extrusion role colors by editing 3DPreview.pm 2018-02-13 13:16:23 +01:00
Enrico Turri
3f006dc11a GCode Preview - Added objects and wipe tower transparent shells 2018-02-12 09:04:05 +01:00
Enrico Turri
0d6a013658 GCode Preview - Coloring by tool 2018-02-07 09:07:37 +01:00
Enrico Turri
f9dd251276 GCode Preview - Added feature type for wipe tower 2018-02-05 13:16:08 +01:00
Enrico Turri
c550ad2268 GCode Preview - Travel moves colored by speed 2018-01-31 11:35:35 +01:00
Enrico Turri
d2d2a3fa8e speed in mm/s 2018-01-31 10:34:00 +01:00
Enrico Turri
a417cf955d GCode Preview - Code cleanup 2018-01-17 10:39:05 +01:00
Enrico Turri
c63e6b74fa GCode Preview - Added legend texture 2018-01-16 14:59:06 +01:00
Enrico Turri
9e0dd2a96a fix-attempt to build on linux and osx 2018-01-12 11:42:50 +01:00
Enrico Turri
f62c66f460 merge with master 2018-01-12 10:26:01 +01:00
Enrico Turri
a8a4c11b5b New algorithm for GLVolumes generation and reuse of already generated geometry 2018-01-11 14:09:54 +01:00
Enrico Turri
bbc9a0abe6 Parallelization of extrude path render geometry generation 2018-01-10 13:43:00 +01:00
Enrico Turri
6a744238b9 Added preview of retractions and unretractions 2018-01-08 16:05:01 +01:00
Enrico Turri
0f4bec8af0 gcode preview - first installment - wip 2018-01-08 13:44:10 +01:00
Lukas Matena
37bbeeb9d0 Parametrization of ramming and loading sequence - first steps 2018-01-04 12:03:06 +01:00
bubnikv
011281df86 Fix of the Spiral Vase after the GCodeReader rework.
A patch of the GCodeTimeEstimator to avoid crashes. This is not a final fix though.
2018-01-03 21:55:32 +01:00
bubnikv
b292554fd8 Optimized the GCodeReader.
Fixed the profiling build.
2018-01-03 17:29:49 +01:00
Lukas Matena
180967484e Correction of wipe tower brim generation 2017-12-22 11:26:43 +01:00
Lukas Matena
4583d62edd Merge branch 'master' into wipe_tower_improvements 2017-12-21 13:47:33 +01:00
Lukas Matena
b7a326a550 First attempts of variable wipe implementation, sparse infill modified to sawtooth 2017-12-21 13:28:26 +01:00
bubnikv
cdab27d337 Enabled a long wipe when moving away from the wipe tower
to reduce stringing.
2017-12-14 09:50:38 +01:00
bubnikv
91e847cb76 Yet another fix for https://github.com/prusa3d/Slic3r/issues/607.
Use EPSILON to match two layers by their floating point Z height.
2017-12-13 10:32:25 +01:00
bubnikv
61e6f23ed2 Fix of
"Multimaterial printer switches filament at the wrong time during a print"
https://github.com/prusa3d/Slic3r/issues/607

There was a single layer between the raft top and the object first layer
missing on the wipe tower, and after this missing layer all the tool
changes were shifted by one layer, meaning two color print had the colors
switched.
2017-12-11 17:19:55 +01:00
Lukas Matena
87c67636df Extrusion flow calculation based on nozzle diameter etc 2017-12-07 11:59:14 +01:00
Lukas Matena
c34fd10e23 Wipe tower rotation around center point 2017-12-05 11:25:38 +01:00
bubnikv
16bd3fc624 Fixed an extruder ordering bug on the 1st layer wipe tower.
This is a regression after introducing the extruder priming areas
at the edge of the print bed.
2017-12-03 09:43:00 +01:00
Lukas Matena
cb84a6cfce Wipe tower rotation - bug fix (now returning start_pos correctly) 2017-12-01 11:10:01 +01:00
Lukas Matena
2921302fe9 GUI integration of rotation angle setting 2017-11-30 12:08:22 +01:00
bubnikv
3813402aa3 Merge branch 'master' into wipe_tower_improvements 2017-11-30 10:33:52 +01:00
Lukas Matena
0e9e487930 First implementation of wipe tower rotation 2017-11-28 17:32:11 +01:00
bubnikv
708f416c84 PlaceholderParser extended with {if}/{elsif}{else} blocks and
+ - * / == != <> numeric expressions.
2017-11-26 09:59:14 +01:00
bubnikv
9a7d1bb566 Another compilation fix. 2017-10-17 18:41:54 +02:00
bubnikv
e719e48a84 Fixed a bug in the temperature handling of the Prusa Multi Material
priming towers.
2017-10-03 13:43:34 +02:00
bubnikv
777dc8c48b Fixed a missing bbox.defined=true assignment. 2017-09-13 15:52:51 +02:00
bubnikv
b08d6f1969 The last priming area is shortened and the excess wipe is moved
into the wipe tower if there is enough space inside the wipe tower.
2017-09-12 15:55:38 +02:00
bubnikv
100c8f60a5 Added GCode/PrintExtents.cpp,h
Added a check for a collision between the multi material priming
regions with the rest of the print.
2017-09-12 09:01:48 +02:00
bubnikv
2c5304a520 Implemented an initial priming line for a single-material print
on a Prusa Multi-Material printer.
2017-09-04 13:51:05 +02:00
bubnikv
b35f5780dc Fixed compilation on OSX & LInux 2017-09-04 10:14:56 +02:00
bubnikv
b610866d77 Implemented priming of all the filaments of the Prusa Multi Material. 2017-09-01 17:30:18 +02:00
bubnikv
48f826c2c5 Disabled a limit of the nozzle diameter 0.4mm for the Prusa Wipe Tower.
Allowed scaling of the extrusion amount over the Prusa Wipe Tower
for layer heights over 0.2mm.
2017-08-28 14:57:00 +02:00
bubnikv
ba1c0b0137 CMake build process - fixes of the previous check-ins to build
cleanly on Windows & Linux. There is still a work on OSX:
The XS module has to be linked without perl.lib and with
the following parameters to produce a bundle: -bundle -undefined dynamic_lookup
2017-08-18 21:09:53 +02:00
bubnikv
507f2ff45e Comprimed the previous pull request. 2017-08-14 12:56:09 +02:00
redPrint7
fdc7036fe3 Update WipeTowerPrusaMM.cpp (#464)
Resolves compile error on Win XP / Win 7 with native toolchain MinGW32-w64 on perl 5.26 or Citrusperl 5.24.
2017-08-14 12:54:19 +02:00
bubnikv
6bb773d0dd Prusa MM Wipe Tower, Improvements of the 1st layer:
Thiner priming line along the wipe tower,
relatively thick infill at the 1st layer to improve adhesion.
2017-07-20 12:58:51 +02:00
bubnikv
bd93d2f334 Fix of "Cooling fan problem Slic3r 1.35.5.16 "
https://github.com/prusa3d/Slic3r/issues/418
This is a regression of the cooling buffer changes done for multi-material
(supporting different cooling settings for different filaments)
2017-07-13 12:11:00 +02:00
bubnikv
434f538919 Fix of soluble interface / non-soluble support:
The non-soluble support with "don't care" extruder will preferably
be printed with a non-soluble extruder, if possible without a tool change.
2017-07-07 13:22:00 +02:00
bubnikv
0ad4e9d51f Refactored the cooling buffer: Removed ElapsedTime. 2017-06-30 20:01:32 +02:00
bubnikv
bf9027ff2d Fix of a cooling buffer over multiple extruders. 2017-06-30 19:07:14 +02:00
bubnikv
115deee252 FLT_MAX strikes again 2017-06-30 17:14:13 +02:00
bubnikv
1158ce41df Finalized implementation of a cooling buffer for multiple extruders
with different settings.
2017-06-30 17:05:58 +02:00
bubnikv
32fa84c5a5 Fix of https://github.com/alexrj/Slic3r/issues/4043 , thanks to @lordofhyphens.
Further refactoring of the cooling logic to collect per extruder data.
2017-06-23 10:13:09 +02:00
bubnikv
39b9341359 Include the wipe tower print time into the cooling time.
Further refactoring of Extruder class.
2017-06-22 15:18:37 +02:00
bubnikv
0454cc95f9 Ported the cooling changes from @alexrj: Don't slow down the external
perimeters if not necessary, don't take the bridging time into account
when slowing down the print.

Removed Extruder & GCodeWriter Perl bindings.
Improved Extruder for constness.
Refactored GCode::m_elapsed_time to struct ElapsedTime.
2017-06-22 12:59:23 +02:00
bubnikv
f0325575c2 Slic3r has been modified to propagate the following filament specific
values to GCode generator, one per active extruder:

bed_temperature
bridge_fan_speed
cooling
disable_fan_first_layers
fan_always_on
fan_below_layer_time
first_layer_bed_temperature
max_fan_speed
min_fan_speed
min_print_speed
slowdown_below_layer_time

Now it remains to extend Slic3r to correctly apply these values.
2017-06-21 16:15:39 +02:00
bubnikv
a1f6403463 Fix of a wipe tower - wipe tower shrinking by the amount of material
wiped into the zig-zag pattern.
2017-06-15 10:53:37 +02:00
bubnikv
881a5c531b Fix of the last commits:
1) FLT_MAX replaced with limits,
2) apply_config is called by the test case harness to update layer height profile.
2017-06-09 14:24:00 +02:00
bubnikv
2bbcd49278 Fix of a crash in pressure equlizer filter.
https://github.com/prusa3d/Slic3r/issues/339
2017-06-08 20:28:21 +02:00
bubnikv
89dcd3e8b1 Implemented raft support for the wipe tower
https://github.com/prusa3d/Slic3r/issues/324

Implemented a correct layer height preview for the wipe tower layers,
if the wipe tower layer height is not constant due to the application
of raft.
2017-06-08 16:58:29 +02:00
bubnikv
a15e6127cf Relaxed the requirements on the layer height for the Wipe Tower to
the span of 0.15mm to 0.35mm.
2017-06-08 12:10:34 +02:00
bubnikv
2178180a19 Wipe tower: Wipe less than usual amount of material if the wipe
is followed by the final sparse zig-zag tower section.
2017-05-30 10:51:38 +02:00
bubnikv
e000b22578 Implemented wipe tower print path preview. 2017-05-25 22:27:53 +02:00
bubnikv
ca590cb559 Refactored ToolOrdering to a class,
layers with print_z closer than EPSILON are merged and printed together.
2017-05-23 15:00:01 +02:00
bubnikv
aad9f61bad Wipe Tower: Fixed some ordering issue in the G-code writer. 2017-05-22 20:56:42 +02:00
bubnikv
dfc4717308 Fixes for Multi Material ramming, increased separation of wipe lines. 2017-05-20 18:59:05 +02:00
bubnikv
70db88dd90 Improved retract handling on bowden extruders:
Separated deretract speed from a retract speed,
allowed a partial retract before wipe.
2017-05-19 19:24:21 +02:00
bubnikv
11307eb350 typo in default ramming sequence. 2017-05-18 19:49:55 +02:00
bubnikv
c28e4cb0f7 Increased extruder driver current for ramming over the multi material
wipe tower.
2017-05-18 19:05:44 +02:00
bubnikv
81701b400c Prusa Multi Material: Improved path planning when jumping to the wipe tower. 2017-05-18 16:53:19 +02:00
bubnikv
e75d851bc4 Updated MANIFEST,
fixed some compiler warnings.
2017-05-17 20:06:33 +02:00
bubnikv
fdff937cb2 Fixed tool ordering for sequential prints. 2017-05-17 19:25:36 +02:00
bubnikv
34747b2015 Added ABS material to the Prusa Multi Material wipe tower. 2017-05-17 18:14:47 +02:00
bubnikv
7b6c9b3b3c Fixes of the Prusa Multi Material wipe tower. 2017-05-17 16:45:37 +02:00
bubnikv
4bc827d1da WipeTowerPrusaMM: Added some documentation, fixed minor issues. 2017-05-17 10:42:39 +02:00
bubnikv
7b152919a6 Changed handling of extruder temperatures
for single_extruder_multi_material printers.
Fixed some compilation errors on OSX.
Disabled re-slicing on change of new G-code only parameters.
2017-05-16 16:02:52 +02:00
bubnikv
21be680ac2 Fixes of G-code multi-tool ordering. 2017-05-16 15:30:03 +02:00
bubnikv
c22b6edeeb Initial integration of the Prusa MultiMatrial Wipe Tower. 2017-05-16 13:45:28 +02:00
bubnikv
e90279c513 Ported the G-code generator from Perl to C++.
Removed GCode.pm
Removed the Perl bindigns for AvoidCrossingPerimeters, OozePrevention, SpiralVase, Wipe
Changed the std::set of extruder IDs to vector of IDs.
Removed some MSVC compiler warnings, removed obnoxious compiler warnings when compiling the Perl bindings.
2017-05-03 18:28:22 +02:00
bubnikv
72ae3585e4 Removed a broken Arc Fitting feature.
Removed the questionable Pressure Advance feature. It is better to use the Pressure Advance implemented into a firmware.
Added a C++ implementation of GCodeReader and SpiralVase, thanks to @alexrj
Added a C++ implementation of GCodeTimeEstimator, thanks to @lordofhyphens
2017-04-26 14:24:31 +02:00
bubnikv
523b7f3ebc Fix of a typo specific to a debugging build. 2017-02-22 16:13:10 +01:00
Alessandro Ranellucci
a65c9ba083 Ported CoolingBuffer to C++/XS 2017-02-21 14:02:47 +01:00
bubnikv
79f5a16536 Reverted the perimeter generator to not save the perimeter areas.
These could be calculated from the fill areas if needed.
On the other side, the non-classified (non-split) fill areas are stored
now for use in the "ensure vertical wall thickness" feature,
also the non-split fill areas are re-used when recalculating the infills.
This is safer than trying to stitch the fill region together from the
classified fragments.

Modified the "ensure vertical wall thickness" feature to use the non-split
fill areas instead of perimeter areas for the calculation
of non-supported regions. This is cheaper as the fill areas contain
roughly half the edges.
2016-11-17 23:22:59 +01:00
bubnikv
758458e5a0 PressureEqualizer - fixed compiler warnings, documented. 2016-09-26 12:44:03 +02:00
bubnikv
03b1312f2d G-code analyser, first draft. The G-code analyser will be used
for advanced visualization of the printing paths, including
the extrusion types.
2016-09-26 12:37:54 +02:00
bubnikv
17d9c8c9dd fixes for gcc: Missing include float.h 2016-09-13 15:59:23 +02:00
bubnikv
15c1edd552 Configurable volumetric extrusion rate slope. 2016-09-13 15:02:28 +02:00
bubnikv
f518e0675c Initial commit of the new Pressure Equalizer, the EdgeGrid
signed distance field structure.
The EdgeGrid is used to avoid placing the seams on overhangs.
2016-09-12 16:25:15 +02:00