The offset curve extractor is already quite usable,
though singular cases are still not covered yet
when the offset curve intersects or nearly intersects
a Voronoi vertex.
Removal of the PRINTF_ZU "%zu" Visual Studio printf compatibility macro.
Fixes of a contours self intersection test for collinear segments.
SVG exporter now exports white background, so that the GNOME Eye viewer is usable.
Now the algorithm is very different from the OpenVoronoi implementation
and hopefully it is now correct (save numerical issues, which will be
a big PITA).
print_bed_min, print_bed_max, print_bed_size
calculated from a bounding box of bed_shape vector of points.
Also added first_layer_print_size as a size of a first layer print
bounding box.
BoundingBox constructor will no more throw for empty vector of points.
GMP allowed for Vojtech's fork of boost::polygon Voronoi implementation.
Added libslic3r tests for boost::polygon Voronoi. All Voronoi issues
ever reported on the Internet are captured by the tests. Two issues
reported (the two test cases) are real issues which may influence
PrusaSlicer negatively, namely
https://github.com/boostorg/polygon/issues/43
Calculate the initial path length and set the initial pheromone level
accordingly.
Implemented a stopping criterion to ant colony optimization.
Fixed some compilation warnings.
1) fts_fuzzy_match has been extended to support wchar_t for a char
type and uint16_t for an index type for the match indices.
2) fts_fuzzy_match has been extended to place a proper stopper character
into the match buffer.
3) Slicer integration now uses the fuzzy match indices for highlighting.
4) Slicer integration now correctly highlights the matched word.
5) Slicer search dialog now sorts based on match AND category.
Further modifications are planned:
1) Matching in local language vs. English: Just show the English variant
if matched in English. Don't mix the two together.
2) Matching the group or category: Continue matching the label.
3) For matches with equal match quality and category sort alphanumerically.
of trapeziodal blocks around. The number is hard coded to 64,
and 3x64 blocks are flushed everytime the queue grows over 4x64 blocks.
This time estimator is slightly more close to what the firmware does, which
keeps a fixed number of blocks and it recalculates all the blocks
every time a new block is added while the oldest block is pushed out
of the queue. Therefore this optimization shall produce negligible
differences to what the previous code produced.
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().
This implementation works with the 3DConnexion driver (sic!)
if PrusaSlicer.xml is stored into c:\Program Files\3Dconnexion\3DxWare\3DxWinCore64\Cfg\
The implementation is inspired with Blender, see code inside WITH_INPUT_NDOF blocks.
Some customers seem to posses a floppy drive (sic!) and some floppy
drives start spinning if accessed just to check whether there is
a medium plugged in or not.
From now, the A: and B: drives are not checked anymore for removable
media. Now let's pray nobody maps an SD card or flash drive to A: or B:
Fixes
https://forum.prusaprinters.org/forum/prusaslicer/prusaslicer-trying-to-access-my-floppy-disk-a
the system language: System language returned by Windows for pt_BR
is pt_PT, and this language was then used incorrectly to select
the dictionary.
Now the selected language is stored into PrusaSlicer.ini and
if a substitution is to be performed to select locales (not the dictionary)
based on the system recommended locales, this substitution is being
done in runtime just before switching the locales.
Fixes PrusaSlicer 2.3.0 - Language Portuguese (Brazilian) dont work #3901
Also hopefully fixed
LANGUAGE environment variable not respected #2970
by calling
wxTranslations::Get()->GetBestTranslation()
on Unix systems as well, which reads the "LANGUAGE" environment.
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
from command line. Fixes
PrusaSlicer Console --load my_config.ini doesnt overwrites the 3mf profiles or not used. #3893
The priority of config values is now:
1) Config keys from command line, for example --fill-pattern=stars
(highest priority, overwrites everything below)
2) Config files loaded with --load
3) Config from 3mf
(lowest priority)
Custom printer with center of bed at 0,0 results in "toolpath outside print area" #3510
The G92 A0 B0 was incorrectly considered to be equal to just G92
to reset all axes.
preview to plater using the bottom tool bar & left mouse click.
This is result of the recent commits refactoring the mouse focus
over toolbars handling. 739d8131ab
"Print settings reloaded with 0.05 layer and fill percentage changed
after click on modified profile #3755"
Combo box callback was not removing the "(modified)" suffix.
the "renamed_from" field as it is specific to a concrete profile.
Prusa Research system profile was annotated with "renamed_from"
to indicate that the PETG profiles were renamed from PET somewhere
after PrusaSlicer 2.2.1 release.
1) When the wizard is initialized, filament and SLA profile names
are verified and current names of renamed profiles are resolved.
Fixes "Add/Remove Filaments is not hiding all of the un-checked filaments #3835"
2) When adding a printer model, default materials are installed in case
the printer model has no default material installed.
3) When leaving the Filaments or SLA materials page, and some printer models
have no material installed, those Printer Models are listed
in a message box and only for those printer models the default
materials are installed.
This reverts commit 3d3e36ba8d.
The change is too risky just before the PrusaSlicer 2.2.0 final release
and the feature may need a bit of polishing before release.
in the parameter tab.
An inconsistency between the slicing back-end and the parameter page
has been fixed, where the slicing back end only creates skirt for
non-zero number of skirt loops even if the minimum skirt extrusion is set.