Commit Graph
100 Commits
Author SHA1 Message Date
bubnikv dced3ce783 Fix of 2.2.0-A3: Sequential Printing: Wrong location after slicing #3570
This is a regression from 71fa411
2020-01-24 17:11:14 +01:00
bubnikv d937ac1ed3 Forcing a print bed update after config or config bundle is loaded.
The solution is hackish, but a major refactoring would be needed
to avoid multiple refreshes of the print bed, and to avoid
expensive checks at Plater::on_config_change() every time
a config value changes at a parameter tab.
2020-01-24 15:16:36 +01:00
bubnikv a0e6afcee8 Update of PrusaSlicer.idx to force the users of PrusaSlicer 2.2.0-alpha3
and newer to update the profiles to 1.1.1-alpha3 and newer,
so they will see the print bed.
2020-01-23 16:52:24 +01:00
bubnikv 8bf53370c1 Bumped up version number 2.2.0-alpha3,
so that the updated bundled profiles may require this version
(2.2.0-alpha3) or newer.
This change is needed for the clients to be forced to update
the configurations to see the print bed, as the print bed model and
image are no more hard coded, but they are referenced from
the vendor specific Preset Bundle.
2020-01-23 16:40:25 +01:00
bubnikv 3d9ac0ada1 Little optimization of the profile aliases. 2020-01-23 16:04:17 +01:00
bubnikv 4f8f619686 Fixed Perl bindings after refactoring. 2020-01-23 10:35:03 +01:00
bubnikv b0fe7ad865 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-01-23 09:53:17 +01:00
bubnikv 71fa411100 Refactored PrintObject::m_copies to PrintInstances,
so that the ordering code at G-code export may work directly with
pointers to PrintInstances instead of with pair of <PrintObject, copy idx>.
Also the PrintInstance knows its source ModelInstance, which allows
sorting of PrintInstances for sequential printing in the order
they appear in Plater's object list.
2020-01-23 09:53:06 +01:00
bubnikv cea7cbfaa0 The print order for sequential print now corresponds to the order
at the object list.
Partial fix of https://github.com/prusa3d/PrusaSlicer/issues/3455
2020-01-22 10:50:20 +01:00
bubnikv 094cef26d4 Fix of the new PlaceholderParser int() conversion.
Fixes https://github.com/prusa3d/PrusaSlicer/pull/3271
Also some old errors (typos, UBs) were fixed.
2020-01-21 17:12:06 +01:00
bubnikv fa3d138e91 Fix of the previous commit: Fixed number of unit tests to be executed. 2020-01-21 13:13:52 +01:00
bubnikv 05ea01bdcc Ported PlaceholderParser unit tests to C++. 2020-01-21 12:10:09 +01:00
bubnikv c627114830 Fixed missing "&" in Brazilian Portugal translation. 2020-01-21 10:14:25 +01:00
bubnikv 7efca35c27 Don't store "print_host", "printhost_apikey", "printhost_cafile"
into the G-code.
2020-01-21 09:55:44 +01:00
bubnikv 5fe5378367 Fixed AstroBox upload type selection. 2020-01-20 16:57:50 +01:00
bubnikv 3acfae92e1 Fix of recent wipe tower / tool ordering refactoring. 2020-01-16 14:59:16 +01:00
bubnikv 1b354d8d3c WIP: Enhancement of the FDM back end to support Color Change situations,
when a project was switched from multi-extruder printer to single
extruder printer.
2020-01-16 13:39:03 +01:00
bubnikv 8e5ba5ccc5 Added synonyms to some PrintSteps:
psWipeTower now equals to new psToolOrdering indicating that
the ToolOrdering has been calculated (only if non-sequential mode is active).

psBrim now equals to new psExtrusionPaths
psExtrusionPaths shall be the last step before psWipeTower, indicating
that all the printing extrusions are calculated for the G-code preview
slider to edit the custom per print_z color changes, tool changes etc.
2020-01-15 16:20:16 +01:00
bubnikv 2c958c021d Fixed regression in placement of Color Change event at the correct layer. 2020-01-14 17:35:42 +01:00
bubnikv 10d1b459bb Fix of
Skirt loops not being honored, only producing single loop #2193
First layer skirt only has half the loops when using multiple extruders #469

The skirt generator used to prime all printing extruders at the 1st layer
if enough skirt lines were configured, while at the other layers the skirt
used to be printed with the 1st extruder printing the layer.

There was a bug introduced quite a long time ago, where not enough skirt
lines were extruded if some extruders were not needed to print the 1st layer.

Newly the skirt generator works the same way on all layers:
All the extruders planned to print a layer are primed over the skirt
if enough skirt lines are configured.
2020-01-14 16:38:34 +01:00
bubnikv 390376daae Fix of recent refactoring of color print. 2020-01-14 16:11:03 +01:00
bubnikv ab6a2b71e8 Another bugfixes of GCode export after refactoring. 2020-01-14 15:12:45 +01:00
bubnikv b54ce0d468 Fixing GCode Skirt generator after refactoring. 2020-01-14 14:24:38 +01:00
bubnikv c96fc5eb51 gcc & clang do not like taking reference of const temporaries. 2020-01-14 12:10:01 +01:00
bubnikv 98e49772ed Custom G-code references are now being assigned to ToolOrdering::LayerTools()
and the superfluous M600 (color change) events are filtered out there.

Fixed a handful of compiler warnings.
2020-01-14 11:54:09 +01:00
bubnikv 8bfc986fa7 Refactoring of GCode::process_layer().
Refactoring of GCode export of color changes, extruder switches etc,
so that the "color change" like extruder switches are applied first
at the Wipe Tower / G-code export, so that adding / removing
an extruder switch at the G-code preview slider does not invalidate
slicing.
2020-01-14 10:31:18 +01:00
bubnikv 79d7a0130f Fixing some missing throw statements.
Adding noexcept to move constructors / operators.
2020-01-13 17:41:40 +01:00
bubnikv 9a3901e159 Support for new "default_materials" property at PrinterModel
of system profiles. The "default_materials" key accepts
"default_filaments" as well.
2020-01-13 16:01:20 +01:00
bubnikv 19f0f50e98 MSVC specific: Disable STL4007: Many result_type typedefs and
all argument_type, first_argument_type, and second_argument_type
typedefs are deprecated in C++17.

Remove this warning disable after eigen library adapts to the new C++17 adaptor rules.
2020-01-13 16:01:20 +01:00
bubnikv 9038dc21e8 Fixing regression issue after G-code export refactoring. 2020-01-10 15:51:35 +01:00
bubnikv 702a489b03 Fixing compilation isue on non-MS compilers. 2020-01-10 11:53:39 +01:00
bubnikv 15eedef74b Refactoring of ToolOrdering (wipe into infill / object)
Refactoring of GCode::_do_export()
Helper lower_bound and search functions similar to std, but without
needing the value object explicitely.
2020-01-10 11:27:04 +01:00
bubnikv cc2b9b8849 ToolOrdering: Removed unused parameter. 2020-01-10 11:27:04 +01:00
bubnikv 5bb9ba64c2 Fix of previous commit 2020-01-09 10:14:50 +01:00
bubnikv de70adca9c Optimization of G-code export: Don't make copies of ExtrusionEntities
when sorting them into Extruders / Islands / Regions.
2020-01-09 10:00:48 +01:00
bubnikv 3e0690b37b Further optimizations of G-Code generator when Wipe into object / infill:
Don't do unnecessary tests if it is known that there is
no Wipe into object or infill active.
2020-01-08 15:16:31 +01:00
bubnikv e0811e4aa5 Optimization of G-code export:
1) Don't allocate ExtruderOverrides if not necessary
2) Use boost::container::small_vector<int32, 3) for ExtruderOverrides
   (usually less than 4 instances are printed))
2020-01-08 14:58:24 +01:00
bubnikv 81187e7e0e Some refactoring and const correctness fixes. 2020-01-07 14:35:43 +01:00
bubnikv 70bc392003 Support for Vendor / Printer Model specific print bed texture and model. 2020-01-07 14:08:35 +01:00
bubnikv 5078604182 Trying to fix Linux compilation 2020-01-06 11:59:24 +01:00
bubnikv 704e10c55a Replaced unix basename() with boost::filesystem::basename(),
as various unices define basename() differently.
2020-01-06 11:32:17 +01:00
bubnikv 791f487c76 Clean-up of the "Upload to" code (AstroBox, Duet, FlashAir, OctoPrint) 2020-01-06 10:59:57 +01:00
bubnikv afbc4a4cf2 Fixing perl bindings after refactoring 2020-01-06 09:36:03 +01:00
bubnikv 5294c85dfc Some minor polishing of Color print back end. 2020-01-06 09:32:13 +01:00
bubnikv 9406b50447 Const correctness improvements:
removed some unnecessary const_casts that remove const.
2020-01-03 16:33:04 +01:00
bubnikv 3d17543d40 Fix of "Don't use bridging perimeters on top of elephant-foot compensation #3011"
If the Elephant foot compensation is applied to the 1st object's layer,
the uncompensated 1st object's slice is newly used for calculation
of bridges, overhans, skirt, brim, raft and supports.

Layer::slices were renamed to Layer::lslices to simplify reading
of the code, to differentiate from LayerRegion::slices.
2020-01-03 14:07:31 +01:00
bubnikv c74ba012e2 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-01-02 16:40:46 +01:00
bubnikv 0d9022c5f6 Implemented "renamed_from" attribute of a system profile,
so that references from user profiles and .3mfs / .amfs
to system profiles are not being lost.

If a system profile has no "renamed_from" profile name assigned,
and the system profile name contains "@", then a profile name
with the "@" is implicitely assumed to be the name, from which this
profile has been renamed.
2020-01-02 16:40:32 +01:00
bubnikv bb56988916 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-01-02 11:37:41 +01:00
bubnikv 220e2dbfec Fixed previous commit (change of CMake) 2019-12-22 14:25:07 +01:00
bubnikv 4473254779 Trying to fix unit tests when targeting OSX 10.9. 2019-12-22 14:17:26 +01:00
bubnikv e2fd540815 Updated PrusaResearch.idx, so our in house customer will get updated profiles. 2019-12-22 13:52:47 +01:00
bubnikv fa48fe32b7 Bumped up version number. 2019-12-22 12:24:09 +01:00
bubnikv 692ed26091 Fix of #3366
Fixed crash due to incorrect localization of the percent sign in
"The %1% infill pattern is not supposed to work at 100%% density."
This happens for ES, FR, IT, UK and ZH_TW localizations.

Also added a new CMake target "gettext_po_to_mo" to convert
all po files to mo files,
and renamed the "pot" target to "gettext_make_pot".
2019-12-22 11:54:23 +01:00
bubnikv 9128ba766b Bumped up the PrusaSlicer.ini version number, so that our in house
customers will get an update.
2019-12-22 11:12:15 +01:00
bubnikv 0808c8fa3c Refactoring and documentation of check_copy() and copy_file() 2019-12-22 11:11:48 +01:00
bubnikv 305ccfd907 Merge remote-tracking branch 'remotes/origin/lm_220_alpha1_hotfix' 2019-12-21 17:48:35 +01:00
bubnikv 8c7fa7f69e Bumped up version number. 2019-12-20 17:30:38 +01:00
bubnikv a0d47bf167 Fixed a file handle leak. 2019-12-20 17:29:30 +01:00
bubnikv cefe0ba13c Merge remote-tracking branch 'remotes/origin/dk_copy_file' 2019-12-20 15:08:31 +01:00
bubnikv ec91a92ba0 Merge remote-tracking branch 'remotes/origin/dk_remote_devices' 2019-12-20 15:07:49 +01:00
bubnikv 4c64f8c3ce Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-12-20 15:07:35 +01:00
bubnikv 26b7dbd6f5 Improved accuracy of ModelVolume matrix store / restore
into the 3MF / AMF.
Improved accuracy of ModelVolume's mesh transform back from Object's
coordinate space to its own coordinate space after reloading
from 3MF / AMF.
2019-12-19 12:27:49 +01:00
bubnikv 2bf472988b We can now use std::exchange() as we switched to C++17 2019-12-19 12:27:49 +01:00
bubnikv fd3651d994 Fixed C++17 incompatibility. 2019-12-18 18:14:06 +01:00
bubnikv 74d6c23ba8 Updated Prusa3D config - elephant foot compensation 0.2mm
allowed for all profiles but 0.25mm dmr nozzles.
2019-12-18 15:30:00 +01:00
bubnikv 8795f7dba8 Trying to fix a compilation issue on Linux / OSX 2019-12-18 10:17:47 +01:00
bubnikv e2f91cacab Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-12-18 09:32:28 +01:00
bubnikv aff5adaaa0 Fixed a typo in extrusion ordering, pointed by @supermerill 2019-12-17 10:55:50 +01:00
bubnikv 7b1e96fe7f Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-12-16 10:35:04 +01:00
bubnikv 09e15939ac Bumped up version number of Slicer 2019-12-16 10:34:51 +01:00
bubnikv 536013efbe Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-12-13 17:57:31 +01:00
bubnikv a96ee0485e Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-12-13 15:40:55 +01:00
bubnikv b061904ad8 Fixes by @supermerill from pull request "ShortestPath fix" #3306 2019-12-13 15:40:42 +01:00
bubnikv e649a28ffc Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-12-13 13:43:31 +01:00
bubnikv 65772958b7 Improved adaptive layer height metrics: Using the area of a triangle
delimited by the extrusion stepping and the sloping surface.
This leads to a yet different metric from Cura or upstream Slic3r.
2019-12-13 13:43:16 +01:00
bubnikv 792ee1be62 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-12-12 12:11:37 +01:00
bubnikv 77d3aba1aa Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-12-12 10:42:23 +01:00
bubnikv d0aad74c27 Fixed update logic to support newer index downloaded from the internet
than the index stored in the resources.
2019-12-10 17:49:09 +01:00
bubnikv ece8e06914 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-12-10 17:47:24 +01:00
bubnikv 03bb8a60a3 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-12-10 11:13:09 +01:00
bubnikv b12bc5c4d5 Optimization in GLCanvas3D::reload_scene():
Use sorting and binary search instead of linear search.
O(n log n) versus O(n^2)
2019-12-10 11:12:17 +01:00
bubnikv 073579eefc Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-12-05 15:04:59 +01:00
bubnikv f80ed539a7 System profiles and profiles derived from system profiles are now
compatible with the profiles of the same vendor only.
2019-12-05 14:48:11 +01:00
bubnikv 5e3e549248 Fix of OSX compilation - forward declaration of Semver 2019-12-05 13:06:02 +01:00
bubnikv ab34ef3ceb Fix of an application update situation, where the profiles were
not updated correctly if the index installed in vendor directory
was the same as the one provided with the applicaton installation.
2019-12-05 11:05:18 +01:00
bubnikv bd10b52f0e Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-12-04 14:03:10 +01:00
bubnikv c7d306e21e Profiles for the alpha are stored into the PrusaSlicer-alpha directory
to not mix with the current release.
2019-12-04 14:02:49 +01:00
bubnikv 75a2e0e3f9 Profiles for PrusaSlicer-2.2.0-alpha0 2019-12-04 11:47:08 +01:00
bubnikv 4bce9e0eb9 Merge branch 'vb_libudev_explicit_linking' 2019-12-04 11:38:24 +01:00
bubnikv afa72da9d1 Fix of infill connecting along perimeter lines,
new 3-opt iterative improvement of infill path (currently disabled,
it is extremely slow)
2019-12-02 15:01:52 +01:00
bubnikv 3b24b8c378 Linux libudev explicit linking: One more function wrapped. 2019-11-28 11:06:57 +01:00
bubnikv 67827546cf linux specific: Explicit linking of libudev because there are
two versions out there in the wild. libusb0 is still used on
some LTS distros, for example on Centos6.
2019-11-28 10:09:13 +01:00
bubnikv 67b8506800 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-11-25 15:56:10 +01:00
bubnikv d3ec53d9a6 WIP: Improvement in path planning
reorder_by_three_exchanges_with_segment_flipping()
works, but it is excessively slow, with close to O(n^3) time complexity.
Commited, but not used in production until sped up.
2019-11-25 15:55:59 +01:00
bubnikv 2b17e81f13 If of the previous commit: Set the MutablePriorityQueue indices
to size_t(-1) when removed from the queue.
2019-11-22 19:09:39 +01:00
bubnikv 9c4dc80057 Fix of the new gyroid infill path planning. Fixes #3226 2019-11-22 18:22:44 +01:00
bubnikv 232f324999 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-11-22 16:08:42 +01:00
bubnikv 6fcd51d5be Fix of "Slicer crashes when slicing for flexible filament" #2988 2019-11-22 16:08:25 +01:00
bubnikv 0b9b74e35e Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-11-22 15:33:38 +01:00