Commit Graph

117 Commits

Author SHA1 Message Date
bubnikv
7fbbcea1c7 Merge remote-tracking branch 'remotes/origin/lm_brimskirt' 2019-09-12 15:53:20 +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
e819bbe36a Fix of an update of support extruders when changing number
of printer extruders.
2019-08-21 14:05:32 +02:00
bubnikv
7b93e84307 Fixing issues in Print / PrintObject / PrintRegion reporting
a list of printing extruders.
2019-08-21 13:49:37 +02:00
bubnikv
03e1b87837 Fix of "spiral vase printable for a single region object only" check. 2019-08-21 13:08:26 +02:00
bubnikv
2a8d48ac4c 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
bubnikv
2b27771bb4 Merge remote-tracking branch 'remotes/origin/lm_circular_priming' 2019-08-20 09:34:45 +02:00
Lukas Matena
3dcf0d8aa0 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
3f1926f984 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
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
bubnikv
1c119b7ba4 Only validate support_material_extrusion_width with supports
or raft enabled.
2019-08-09 09:58:05 +02:00
bubnikv
80f3de1e65 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
c711a72e2a 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
Lukas Matena
313ad7bf00 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
bubnikv
108926abec 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
80eb232df2 Merge remote-tracking branch 'remotes/origin/master' into vb_filament_overrides 2019-07-25 14:40:54 +02:00
bubnikv
f5e17835d6 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
bubnikv
55dbcce4d0 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
2c590e9dad 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
a2739dbdbc Wipe tower now supports filaments with diameters different from 1.75 mm 2019-07-23 14:02:20 +02:00
Lukas Matena
d2c908ef7f Merge branch 'master' into lm_warnings 2019-07-15 13:26:55 +02:00
bubnikv
e8e35579dd Merge remote-tracking branch 'remotes/origin/vb_undo_redo' 2019-07-15 11:34:18 +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
bubnikv
8953e0980c Fixed merge issues. 2019-07-04 20:49:46 +02:00
bubnikv
d98aa0f91d Merge remote-tracking branch 'origin/master' into vb_undo_redo 2019-07-04 20:22:15 +02:00
bubnikv
07e2066dd3 WIP Undo / Redo: Serializing the configs of ModelObject / ModelVolume
/ ModelMaterial as separate objects to conserve memory.
2019-07-03 13:43:54 +02:00
bubnikv
7a614088ae WIP Undo / Redo: ModelID / ModelBase renamed to ObjectID / ObjectBase 2019-06-27 11:02:45 +02:00
Lukas Matena
9bbe65c53e Fixed warnings in libslic3r 2019-06-25 16:04:29 +02:00
bubnikv
786602bfd3 Fixed compilation on clang / OSX (missing float.h) 2019-06-20 21:07:26 +02:00
bubnikv
c5d69bcd74 Fix for C++11 2019-06-20 20:40:17 +02:00
bubnikv
be350a00f0 Reworked the Perl unit / integration tests to use the same Print
interface that the application is using. Old interface used just
for the integration tests was removed.
2019-06-20 20:23:05 +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
Lukas Matena
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
Lukas Matena
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
Lukas Matena
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
Lukas Matena
5bd2c66a3e Mostly refactoring of the wipe tower improvements
- setting of the wipe tower parameters based od whether SE MM printer is selected is done in the WipeTowerPrusaMM constructor, so it does not distract in Print.cpp
- WipeTowerPrusaMM.cpp conditions checking for SE MM printer are now using a more descriptive const member variable, not the loading/unloading speeds (hopefully the functionality is the same)
2019-06-14 14:35:50 +02:00
Thomas Moore
0e31498f43 Enable wipe tower for all multi-extruder configurations 2019-06-14 12:28:52 +02:00
Lukas Matena
7e530a7859 The wipe tower now respects filament max volumetric flow
The odd commands that lowered the speed override values for PVA, FLEX etc. were removed

Now the wipe tower backups user speed override, sets it to 100%, does what is needed
and restores the old value when finished. There are no special cases - lowering
the speed for certain materials can be achieved by lowering the volumetric flow.
2019-06-14 12:28:52 +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
4b6383a512 Changed the G-code export and send to OctoPrint GUI code
to store the G-code next to the project file if it exists,
and to process the project name with the PlaceholderParser.
2019-05-17 16:27:00 +02:00
YuSanka
61375f0849 Fixed a typo leading to a crash in another then English languages (#2233) 2019-05-15 09:44:38 +02:00
bubnikv
0092e54c95 Changed references to renamed github project
https://github.com/prusa3d/PrusaSlicer
2019-05-14 19:46:01 +02:00
bubnikv
75bbf04c0b Some more localization fixes. 2019-05-09 15:44:53 +02:00
bubnikv
e8252841d3 In GUI mode, when exporting the G-code to a temp file, don't show
"Exporting G-code", but "Generating G-code"
2019-05-08 17:43:43 +02:00
YuSanka
03dba475e8 Localization improvements 2019-05-04 02:07:07 +02:00
Lukas Matena
ed112fd11c Wipe tower uses correct gcodes for RepRap gcode flavor (M907->M906, M900->M572 - should fix #1843)
Also, fixed proper setting of the extruder current during toolchange (was broken since 6da83c7)
2019-04-24 12:09:58 +02:00
bubnikv
4313f0dd6c Fix of Complete individual objects: "checker" bug #1911"
Also fix of an arrangement issue for instances with some transformation
around X or Y axis applied.
2019-04-18 12:45:43 +02:00
tamasmeszaros
7160162083 Altering sla export interface to support explicit project name. 2019-04-04 12:30:11 +02:00
bubnikv
4bca550659 Fixed command line slicing due to some missing config keys 2019-03-14 18:47:26 +01:00