Commit Graph

43 Commits

Author SHA1 Message Date
Lukas Matena
07282eb24d 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
c7f6e5436c Fix of
Extend the "filament type" list with PC or allow free form text into the filament type field. #1704
2019-05-17 11:46:46 +02:00
Lukas Matena
08cb5bc2c7 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
d83a013d6b Export of filament statistics into G-code for multi-material prints
has been rewritten to be easier to parse.

Old format
; filament used = 19248.8mm (46.3cm3)
; filament used = 57.4
; filament cost = 1.5
; filament used = 8007.6mm (19.3cm3)
; filament used = 23.9
; filament cost = 0.6
; filament used = 0.0mm (0.0cm3)
; filament used = 0.0mm (0.0cm3)
; filament used = 0.0mm (0.0cm3)
; total filament cost = 2.1

New format
; filament used [mm] = 1600.7,1600.7,1600.7,1600.7,1600.7
; filament used [cm3] = 3.9,3.9,3.9,3.9,3.9
; filament used [g] = 4.8,4.8,4.8,4.8,4.8
; filament cost = 1.5,1.5,1.5,1.5,1.5
; total filament used [g] = 24.0
; total filament cost = 7.5

Where the non-printing extruders are filled in with zeros, and
the trailing non-printing extruders are not exported.

; filament used [g]
and
; filament cost
are only printed if non zero (material density and cost are defined)
2019-04-16 14:25:50 +02:00
Enrico Turri
c29f7bc147 Fix of #2044
Added sorting by z of the preview data used to generate the gcode preview because there can be shuffling in case of sequential printing
2019-04-04 09:16:03 +02:00
Vojtech Kral
734d57a714 Fix build on MSVC with PCH off 2019-03-27 12:14:34 +01:00
Enrico Turri
902bcf7f71 Fix of #1978 2019-03-18 09:42:34 +01:00
Lukas Matena
63b65bb3c8 Wipe tower brim lines are now printed with overlaps as they should be 2019-03-13 10:46:50 +01:00
Enrico Turri
f5b5e48ad7 Added cancel mechanism to GCodeAnalyzer::calc_gcode_preview_data() 2019-03-12 11:57:39 +01:00
Vojtech Kral
4e510dc3e7 PostProcessor on Unix: Execute using default shell #1908
escape gcode path, collect stderr
2019-03-12 11:10:30 +01:00
Enrico Turri
219ea04c23 Fix of #1812 (GCode Anayzer take in account extruder offsets for multiextruder printers) 2019-03-06 10:22:10 +01:00
Enrico Turri
8a29ec2204 GCode Anayzer take in account extruder offsets 2019-03-05 15:03:56 +01:00
bubnikv
a56f7d60e5 Fixed an issue, where the output G-code file name was not always updated
from the current Model/ModelObjects.
Fixed a possible race condition in updating Print::m_placeholder_parser
with the proposed filename / filename base.
Improved documentation (source code comments).
2019-02-03 10:41:14 +01:00
bubnikv
e59a10e0c2 Fix of a cooling slow down logic.
fixes "Min print speed" to "Estimated Print Time" Inconsistencies #1488
2019-02-01 17:15:41 +01:00
bubnikv
3b973e01dd Get name of both the G-code and project file from the 1st printable
object's name or file path.
Fixed some compilation warnings.
2019-02-01 11:44:08 +01:00
bubnikv
460cf820af Some optimizations of the color print preview. 2019-01-30 12:10:26 +01:00
bubnikv
d30676ceee Merge remote-tracking branch 'remotes/origin/ys_color_print' 2019-01-30 09:29:55 +01:00
bubnikv
49bb90523a Fix of a G-code comment. Fixes
Incorrect filament profile being used during purge - always set to PLA. #1691
2019-01-29 18:28:52 +01:00
YuSanka
e291172e24 Implemented "Color Print" for preview mode (without re-slicing) 2019-01-29 15:11:29 +01:00
bubnikv
3e28905621 Fixed missing includes in PostProcessor.cpp
Fixes https://github.com/prusa3d/Slic3r/issues/1679
2019-01-18 10:16:53 +01:00
bubnikv
668d374779 Implemented post-processing scripts on Windows.
Fixes https://github.com/prusa3d/Slic3r/issues/1666
2019-01-17 20:34:19 +01:00
bubnikv
e9990ed79e Fix of SPE-691 Slicer crash after extruder change
Added synchronization of GCodePreviewData between the front end / back end
(GCodePreview data is only used if PrintStep psGCodeExport is finished).
Added reset of GCodePreviewData on Print::apply() to conserve RAM.
2018-12-19 14:47:16 +01:00
bubnikv
1e6900afa2 Logging of memory usage for the GCodeAnalyzer and GCodePreviewData. 2018-12-18 15:55:45 +01:00
bubnikv
7e8d9c154d WIP: Fix of PrusaControl import.
Now the transformation matrices need to be restored as well.
2018-12-17 12:11:51 +01:00
bubnikv
d0edc36400 Implemented M220 B / M220 R for backup / restore of the speed override
at the firmware. The M220 B / M220 R are only applied for MM prints
without any flex or soluble (PVA, BVOH) material, as for these materials
the MMU slows down the print using the M220 code.
fixes "LCD Speed Modifier Lost on Tool Change #421"
2018-12-17 10:30:20 +01:00
bubnikv
6da83c7976 Make the increase of extruder motor current during MM filament
exchange sequences configurable.
2018-12-14 20:09:10 +01:00
bubnikv
52db7b055a WIP: Merged commits from stable between 1.41.2-beta and 1.42.2 final.
Changes in SupportMaterial.cpp, TriangleMesh.cpp and 01_trianglemesh.t
are yet to be merged.

WIP: Refactoring of layer height editing.
Removed layer_height_ranges from PrintObject, as the Print/PrintObject
now hold their copies of Model/ModelObject.
2018-12-11 16:33:43 +01:00
bubnikv
aed6eabae8 Fixed missing includes 2018-12-10 09:52:22 +01:00
hexane360
8481ca9610 Fixed post-processing (including perms check) on Unix 2018-12-10 09:05:37 +01:00
bubnikv
0e8d13142b Allow printing a MM object on a single material printer.
All extruders are clamped to the number of physical extruders
when passed to the back end.
2018-12-06 16:53:43 +01:00
YuSanka
360133246c Fixed ColorPrint current layer identification 2018-11-28 16:03:24 +01:00
Lukas Matena
69a7991c59 Fix of issue #1368 2018-11-28 12:30:48 +01:00
YuSanka
f203f6fbd9 ColorPrint improvement
+ Select "Color Print" preview type if it's not after add/delete new color change
+ Added level heights to the color legend instead of "Color N"
2018-11-27 16:04:56 +01:00
YuSanka
f8bc7cb959 Implementation of the "ColorPrint" on the 3DScene 2018-11-26 16:28:12 +01:00
bubnikv
cc283571e7 Fixed compilation issues on osx 2018-11-26 14:54:23 +01:00
bubnikv
a378bb7bed Removed some obsolete Perl bindings.
Removed libslic3r from the default include paths for all modules but
libslic3r. Now headers from libslic3r need to be included with an
explicit path (libslic3r/libslic3r.h etc)
Split the localization macros into I18N.{cpp,h}
2018-11-26 14:41:58 +01:00
bubnikv
c2e46350f2 Separated Print / PrintObject into PrintBase.cpp/h to support SLAPrint 2018-11-08 14:23:17 +01:00
Lukas Matena
377350db33 When iterating over PrintObject regions, use PrintObject::region_volumes (see also yesterday's commit 3eea327) 2018-11-07 15:17:29 +01:00
bubnikv
3eea327ef0 WIP: When iterating over PrintObject's regions, use the region count
by PrintObject::region_volumes. This is due to the way Print::apply()
works, it does not invalidate an existing PrintObject if a new region
is added to the print.
2018-11-06 15:31:26 +01:00
bubnikv
21caa9de48 Slic3r was split to a Slic3r.dll / Slic3r.exe / Slic3r-console.exe /
Slic3r-noconsole.exe on Windows.
2018-10-26 11:57:52 +02:00
Enrico Turri
9ae6d115a2 New selection -> removed obsolete methods\n+\nFixed a few compile warnings 2018-10-08 15:17:36 +02:00
bubnikv
d7f1c8670f Removed wrong dependency on wxWidgets from libslic3r.
Added cmake message for WXWIN environment variable.
2018-09-19 17:55:17 +02:00
bubnikv
0558b53493 WIP: Moved sources int src/, separated most of the source code from Perl.
The XS was left only for the unit / integration tests, and it links
libslic3r only. No wxWidgets are allowed to be used from Perl starting
from now.
2018-09-19 11:02:24 +02:00