60 Commits

Author SHA1 Message Date
remi durand
ca3d8239c4 Merge remote-tracking branch 'remotes/prusa/master' 2021-01-09 17:11:12 +01:00
Vojtech Bubnik
7b9f2093bb Configuration layer: Support for vectors of FloatsOrPercents and
FloatsOrPercentsNullable, to support further filament overrides
of Print preset values, namely Avoid Crossing Perimeters.
2020-12-14 15:58:47 +01:00
supermerill
19d2115f20 allow bad key/value from imported .3mf/gcode
these will be silently ignored and so the default value will be used.
2020-11-28 20:50:24 +01:00
supermerill
db21177093 Fix various config display problems
- typo
 - missing ironing name
 - sort after translation
2020-11-26 19:18:30 +01:00
supermerill
1a19b023f0 Merge remote-tracking branch 'remotes/prusa/master'
note: new infill connect, maybe a good idea to get the previous one in case it's better (no useless lines)
note2: fillline overextrude, tofix
2020-11-23 00:28:47 +01:00
supermerill
47886f241c #305 fix brim height
(missing get_abs)
2020-11-15 19:11:13 +01:00
David Kocik
0a4ce079e8 escape_ampersand function and changed order of printer names and pictures in config wizard 2020-11-11 16:08:27 +01:00
supermerill
6fdd615b6e Merge remote-tracking branch 'remotes/prusa/master' into dev 2020-10-18 00:27:32 +02:00
Vojtech Bubnik
067cde85f1 WIP Refactoring of exceptions:
1) All slicer's exceptions are now derived from Slic3r::Exception.
2) New exceptions are defined for slicing errors.
3) Exceptions are propagated to the Plater to show.
It remains to modify the slicing back-end to throw the new SlicingError
exceptions instead of std::runtime_error and to show the other exceptions
by a message dialog instead of a notification.
2020-09-14 18:03:22 +02:00
supermerill
653aa22757 #279 fix milling icon. 2020-06-11 21:07:34 +02:00
supermerill
2f31776ca6 #269 fix to makes it recognize slic3r++ config from gcode 2020-06-05 16:52:22 +02:00
supermerill
1afaa6ef49 create little hierarchy of config to better use ratio_over
fixes on ratio_over
fix Flow::extrusion_width (bad computation of first_layer_height)
fix enum visibility
moving test classes to prusaslicer test directory (wip)
all that because i was trying to write a test class for a modification in min_object_distance (and i didn't even start)
2020-05-31 03:54:58 +02:00
supermerill
5fbc891707 Slic3r++ to SuperSlicer renamed in all files.
and going to version 51
2020-05-30 03:52:56 +02:00
supermerill
c4140ef707 little update to config: debug message & fill_smooth_distribution type 2020-05-09 00:59:51 +02:00
bubnikv
b843a094f6 Slic3r::format(), Slic3r::GUI::format_wxstr():
wrappers around boost::format using C++17 variadic templates,
replacing the ugly and verbose
	(boost::format("template") % arg1 % arg2).str()
syntax.
The wrappers also implictely convert input parameters including the template
from wxString to UTF8.

The new format wrapper has been applied at multiple places as a start,
also some double macros _(L()) with new single macro _L().
2020-04-01 09:49:04 +02:00
supermerill
f087cf1239 Merge remote-tracking branch 'remotes/prusa/master'
seems to work
need to update profiles & ui
2020-03-26 12:10:30 +01:00
bubnikv
8d7f88b381 Imported error reporting when loading presets with option keys
or option values that our poor software does not understand.
This applies to configs added by some forks of slic3r, for example
slic3r++
PrusaSlicer has encountered an error: Failed loading the preset file: #3909
2020-03-25 16:04:11 +01:00
bubnikv
059bdb4711 Implemented handling of complex ConfigOptionFloatOrPercent chains
by the PlaceholderParser.

Namely, all the options with the "ratio_over" reference are now handled
correctly by the PlaceholderParser with the exception
of the "first_layer_extrusion_width", which overrides speed of extrusions
by their respective extrusion type.

Also the various extrusion widths (extrusion_width, first_layer_extrusion_width,
external_perimeter_extrusion_width etc.) produce the same numbers
as if ran through the back-end, with the assumption of not overriding
layer height by the variable layer height editing tool or layer height
modifiers.
2020-02-04 15:27:38 +01:00
bubnikv
9406b50447 Const correctness improvements:
removed some unnecessary const_casts that remove const.
2020-01-03 16:33:04 +01:00
supermerill
b88c58c324 Merge commit '305ccfd9072dffdad7a9c6fa4b3e881d830daee8'
also add a better message when a config bundle is problematic.
2020-01-02 18:25:02 +01:00
bubnikv
fd3651d994 Fixed C++17 incompatibility. 2019-12-18 18:14:06 +01:00
supermerill
dda438c74b Merge commit '5e3e5492487690fb48cd7c4bb0b7e0e019e30a5c' (wip) 2019-12-05 20:53:02 +01:00
supermerill
7854bed9c4 enum for "Add settings" contextual menu
add missing category for options that need it for contextual menu.
todo: refactor even more to have an automatic tab.cpp, via a structured categories->subcat->line object tree created in-place, and also use that to order the contextual menu.
Also use only colored icon, as the greyscale version isn't in the resource repo anymore.
2019-11-04 01:19:01 +01:00
bubnikv
13cc74ef0a Ported test_config.cpp from upstream Slic3r.
Extended ConfigBase with set() functions similar to the upstream Slic3r.
ConfigBase::set_deserialize() newly throws if the operation fails.
Extrusion width parameters are newly tested for negative values.
2019-10-18 11:53:19 +02:00
bubnikv
c228a49fe0 Ported test_support_material from upstream Slic3r.
Reworked the FFF testing framework & ConfigBase::set_deserialize()
for more compact tests: set_deserialize() now accepts list
of key / value pairs.

Fixed an incorrect assert in LayerRegion.
2019-10-17 17:09:15 +02:00
bubnikv
69c8b1cd21 new cheaper constructor for DynamicPrintConfig from FullPrintConfig:
DynamicPrintConfig::full_print_config()
new cheaper constructors of DynamicConfig / DynamicPrintConfig from ConfigBase
Unit tests: ported test_model from upstream Slic3r, thanks @lordofhyphens
Unit tests refactored to use less autos and initializer lists for readibility,
DynamicPrintConfig is handled by value, not by shared pointer.
2019-10-16 11:16:50 +02:00
tamasmeszaros
f29e18dad2 Fix crashing test executable on gcc 4.9 2019-10-02 14:42:28 +02:00
Lukas Matena
7861fa5086 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
supermerill
773972cc2c Merge remote-tracking branch 'remotes/prusa/master'
WIP, in particular, have to review the custom beds svg/stl
2019-07-31 18:22:49 +02:00
bubnikv
3b1a44c084 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
bubnikv
9fd0c55eb8 Simplified the "cereal" includes to not clash with Perl includes 2019-07-04 22:09:14 +02:00
bubnikv
497b01f24a Trying to fix some template resolution on Linux 2019-07-04 21:02:08 +02:00
bubnikv
c7cc760067 Merge remote-tracking branch 'origin/master' into vb_undo_redo 2019-07-04 20:22:15 +02:00
supermerill
6b20a930eb Merge remote-tracking branch 'remotes/prusa/et_custom_bed'
sorry, forgot to commit it before doing changes.
so there are also the bug fix for #76 and #74
2019-07-03 20:47:31 +02:00
supermerill
00dd5c82bc useful test for "denser infill support layer"
add some modifications to default & packaged settings
bugfix bridges
bugfix ctd
2019-06-27 12:03:07 +02:00
bubnikv
da3583b1db Fix of https://github.com/prusa3d/PrusaSlicer/issues/2516 2019-06-27 09:48:19 +02:00
bubnikv
a710e7e7e4 WIP: Undo / Redo stack.
Integration of the "cereal" serialization library.
Serialization / deserialization of the DynamicConfig / DynamicPrintConfig.
DynamicPrintConfig serializes ordinal identifiers instead
of the option key strings to conserve space.
2019-06-26 13:26:49 +02:00
supermerill
47f5b30c5a Merge remote-tracking branch 'remotes/prusa/master' 2019-06-20 17:57:41 +02:00
bubnikv
84965dcb44 Fix of "PrusaSlicer 2.0.0.-rc+ g-code error when importing #2304" 2019-05-21 09:41:46 +02:00
supermerill
8840d01fb0 Merge remote-tracking branch 'remotes/prusa/master' 2019-05-16 19:55:45 +02:00
bubnikv
a61e833536 Implemented the "Support for support enforcers only" quick selection.
Reduced some memory leaks due to the ConfigDef::default_value pointer.
2019-05-03 18:01:39 +02:00
supermerill
0f65a8d815 add gcodewriter tests, correct some build errors 2019-04-01 16:10:39 +02:00
supermerill
16368c9575 Add some cpp test from mainline (thanks to @lordofhyphens)
* to build the tests on windows, you need vs2015 or 2017 with "CRT SDK"
so  you have to also build all deps & slic3r against this compiler.
 * I didn't tried to build the tests on linux/osx, maybe some cmkae changes are needed.
 * I added a slic3r_lib project to be able to link statically the test against all the slic3r project.
 * tests will need many changes to be able to use the new codebase. only the ones in the cmakelists are done right now.
 * some test may be in error, because the behavior of the test vs slic3r isn't defined well enough to make a decision of which one is wrong.
2019-03-29 18:02:25 +01:00
supermerill
53bd39d80e better config check & error message 2019-03-29 11:37:44 +01:00
supermerill
8bc9f645f0 Merge remote-tracking branch 'remotes/prusa/master' 2019-03-26 15:42:08 +01:00
bubnikv
5fc37238e0 Fixed missing include on OSX 2019-03-17 15:04:34 +01:00
bubnikv
2bb4b4e691 Command line - improved error handling 2019-03-17 14:35:54 +01:00
bubnikv
c7ba650097 Help for the FFF / SLA command line parameters.
Removed the cli parameter from most options as it is derived
from the option key. Options without CLI parameter are now marked
with cli = nocli.
2019-03-13 19:17:26 +01:00
bubnikv
18025cc669 Reworked the command line interface based on the current state
of the upstream.
Thanks @alexrj, @lordofhyphens for the original code of slic3r.cpp
2019-03-13 15:44:50 +01:00
supermerill
cfab40943f alpha4 merge fixs
- text
 - std::
 - parameters now check alias in any cases.
 - add some aliases
2019-01-30 12:17:03 +01:00