Commit Graph

4084 Commits

Author SHA1 Message Date
tamasmeszaros
b45c6ef173 Export scaled integer coordinates into svg
This is faster and lossless
2022-02-03 16:09:57 +01:00
tamasmeszaros
00764ceade Fix ignoring of changed sla printer params 2022-02-03 16:09:57 +01:00
tamasmeszaros
7f153a55b3 SLA archiver implemented for svg output, switchable in config.
new config is sla_archive_format as a string.
WIP


Get rid of SVG class, use manual svg creation


Revert changes in SVG.hpp and SVG.cpp
2022-02-03 16:09:57 +01:00
enricoturri1966
030f460114 Follow-up of 87cff55856 - Implementation of compress_thumbnail_jpg() 2022-02-03 13:24:30 +01:00
Lukáš Hejl
bd65eb55b0 Added a missing include (GCC11.1 without PCH). 2022-02-03 08:36:24 +01:00
Vojtech Bubnik
086662b6a1 Fixed typo in thumbnail_QOI tag. 2022-02-02 17:43:39 +01:00
Vojtech Bubnik
87cff55856 WIP: Implemented support for QOI G-code thumbnail format as requested
by the RepRapFirmware team due to their low RAM budget for decompression.
Bundled the QOI image compression library.
2022-02-02 17:37:46 +01:00
enricoturri1966
7d87490777 Tech ENABLE_RELOAD_FROM_DISK_REWORK - A bunch of bug fixes in Reload from disk command:
1) Lost orientation after reload from disk (SPE-1182)

2) Wrong objects replacement from reload from disk command (SPE-1183)

3) Reload from disk not disabled for built-in models (SPE-1184)
2022-02-02 14:25:36 +01:00
enricoturri1966
1fb41a8e22 #4881 - #5073 - #6336 - GCodeProcessor::AxisCoords using doubles in place of floats 2022-02-02 11:22:45 +01:00
Lukas Matena
cb5ff10a88 Merge branch 'master' into dev 2022-02-01 14:17:34 +01:00
Lukas Matena
5c616c5931 Sync to 2.4.1-beta1 2022-02-01 14:16:13 +01:00
Lukas Matena
ebb9041041 Merge branch 'master' into stable - no conflicts fixed 2022-02-01 14:15:18 +01:00
enricoturri1966
1fa20aaaa4 Merge branch 'dev' of https://github.com/prusa3d/PrusaSlicer into dev 2022-02-01 08:08:01 +01:00
enricoturri1966
0c0250750b #7843 - Added processing of gcode lines G60 and G61 for Marlin firmwares 2022-02-01 08:07:53 +01:00
Vojtech Bubnik
be60775077 get_wraped_wxString(): Adapted to work with UTF8 2022-01-31 16:25:20 +01:00
enricoturri1966
383f6509a9 Added tech DISABLE_GCODEVIEWER_INSTANCED_MODELS to easily turn on/off instanced models to render options in gcode preview 2022-01-31 15:36:40 +01:00
enricoturri1966
7bd8b3b892 #7791 - Fixed reload from disk command for plain (non zipped) amf files 2022-01-31 14:26:31 +01:00
Vojtech Bubnik
56e189943f Follow-up to 3e7a4d4648
Allowed for localization of error messages.
2022-01-31 11:27:32 +01:00
Vojtech Bubnik
58d64bae77 Fix of #6336 #5073: Throw an error if G92 E0 is missing in layer change
G-code with relative extruder addressing. Also thrown an error,
if G92 E0 is used with absolute extruder addressing.
2022-01-31 10:19:01 +01:00
enricoturri1966
8d94841fa3 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into dev 2022-01-29 09:17:30 +01:00
Lukáš Hejl
5f0fea4d58 Added option to enable UndefinedBehaviorSanitizer on Clang and GCC. 2022-01-28 14:52:22 +01:00
Lukáš Hejl
46c827c7fc Fixed Clang 12 compiler warnings. 2022-01-28 14:52:22 +01:00
Lukáš Hejl
dcecd96b39 Fixed duplicate cloning of entities in ExtrusionEntityCollection::clone() that also fixed the memory leak. 2022-01-28 14:43:10 +01:00
Lukáš Hejl
e711cb50d0 Added deallocation of Layers (PrintObject::m_layers) into the PrintObject destructor. 2022-01-28 14:43:10 +01:00
Lukáš Hejl
26b28699f1 Fixed memory leak in Semver::set_metadata() and Semver::set_prerelease(). 2022-01-28 14:43:10 +01:00
Lukáš Hejl
82a3f1c965 Fixed memory leak in PlaceholderParser::compare_op(). 2022-01-28 14:43:10 +01:00
Vojtech Bubnik
7da4bebe7a WIP GCode substitutions: Changed the format of gcode_substitutions by
adding an empty comment as a fourth parameter to each substitution.
In the future, we will provide a UI to show / edit the comment.
2022-01-27 17:02:16 +01:00
enricoturri1966
703aefa75c Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into dev 2022-01-27 12:04:47 +01:00
enricoturri1966
afcac6e2ea Tech ENABLE_GLBEGIN_GLEND_REMOVAL - Refactoring of GLModel to:
1) allow for custom vertex data layout

2) allow for custom index data format

3) allow for any OpenGL primitive type
2022-01-27 12:00:51 +01:00
Vojtech Bubnik
9828abb443 GCode find/replace: Another try to make a sensible "default" behavior
with the boost::regex implementation:
With no "single line", don't accept new lines with a dot '.'.
2022-01-26 13:57:30 +01:00
Vojtech Bubnik
e83d89dee7 Fix of escape_strings_cstyle(), which did not enclose a single word
string containing semicolon ';' character into quotes.
2022-01-26 13:18:52 +01:00
Vojtech Bubnik
a7520f47a6 GCodeFindReplace: Implemented perl's "match single line" option
to the back-end.
2022-01-25 16:28:18 +01:00
Lukas Matena
ed508d49d6 Changed the inner seam replacement threshold to 3*nozzle_diameter 2022-01-25 15:40:28 +01:00
Lukas Matena
b86effada0 Fixed one possible crash and a warning 2022-01-25 15:40:28 +01:00
Lukas Matena
9e23795137 Trying to make the inner seam placement a bit more intelligent:
place external seams first, then place inner seam using the normal seam placement
function, only limited to vicinity of the closest external seam.
2022-01-25 15:40:27 +01:00
Lukas Matena
3cc907b361 Seams: changed the overhang penalty calculation, it might have been too much compared to the rest
Also reduced penalty for flat surfaces a bit, based on some testing (hopefully it is not overfitting on the test models)
2022-01-25 15:40:27 +01:00
Lukas Matena
689f923aaf Seam fixes:
- turned off staggering
- fixed a bug in one of the heuristics (distance between indices measured instead of actual distance)
2022-01-25 15:40:27 +01:00
Vojtech Bubnik
79a0345201 Further GCodeFindReplace adjustmnets of regular expressions:
match_single_line: ^$ will NOT match \n
2022-01-25 10:36:30 +01:00
Vojtech Bubnik
6817120932 GCodeFindReplace: Removed boost::match_not_dot_newline | boost::match_not_dot_null 2022-01-25 09:40:24 +01:00
Lukas Matena
cb99d491af Fix of a possible locales mismatch during GCode export
There is a mysterious issue with GCode annotations printed with decimal
commas instead of points. tbb threads should be set to "C" locales when started,
either another thread is spawned by tbb, or someone switches the thread locales
and leaves it in the pool.
2022-01-24 16:21:21 +01:00
YuSanka
7111da2dbf Merge remote-tracking branch 'origin/master' into dev 2022-01-24 08:37:51 +01:00
enricoturri1966
bcaa0d38bd Fixed uninitialized variables reported by MemorySanitizer in Geometry::Transformation 2022-01-21 11:26:44 +01:00
Lukas Matena
d2664ea295 Fixed crashes with specific configuration of draft shield:
the crashing cases were:
- skirts=0 + dsEnabled
- skirt_height=0 + dsLimited

Also, when ooze_prevention is enabled with multiple extruders and skirt is disabled, 2.4.0 does not generate infinite skirt.
Version 2.3.3 does, ooze prevention overrides the disabled skirt. This commit reinstates the old behaviour.

The issues were introduced in b466f18.
2022-01-21 11:07:18 +01:00
YuSanka
94b8c4f096 Merge remote-tracking branch 'origin/master' into dev 2022-01-20 15:22:24 +01:00
enricoturri1966
803d797bd7 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_z_offset 2022-01-20 13:46:03 +01:00
enricoturri1966
18e2cc2298 Tech ENABLE_SHOW_NON_MANIFOLD_EDGES - 1st installment - Calculate and show in 3D view non-manifold edges as lines 2022-01-20 13:32:24 +01:00
YuSanka
ded855d0c2 Fix for #7781 - Entering value in Thumbnail setting causes PrusaSlicer to crash
Follow-up 106e520a - During code refactoring "thumbnails" option wasn't correctly processed
2022-01-20 10:07:26 +01:00
Lukáš Hejl
e0883910dd Added a missing include (Clang 12 without PCH). 2022-01-19 20:39:28 +01:00
Lukas Matena
06cca525d0 Added a missing include for gcc 2022-01-19 15:16:46 +01:00
enricoturri1966
ab171441aa Follow-up of 4b4d1c2f2a - Restored line deleted by mistake 2022-01-19 13:26:58 +01:00
enricoturri1966
4b4d1c2f2a #7773 - Fixed GCodeReader::parse_line_internal() to skip whitespaces between axis digit and axis value 2022-01-19 12:08:00 +01:00
enricoturri1966
76ce53f095 Tech ENABLE_Z_OFFSET_CORRECTION - Correction of toolpaths zs when z offset is set 2022-01-18 15:53:59 +01:00
enricoturri1966
d09a0cea83 Merge branch 'dev' of https://github.com/prusa3d/PrusaSlicer into dev 2022-01-18 10:48:56 +01:00
enricoturri1966
22f38235ea Tech ENABLE_GLBEGIN_GLEND_REMOVAL - 1st installment - Selection bounding box 2022-01-18 10:42:46 +01:00
YuSanka
fec654513e Merge remote-tracking branch 'origin/master' into dev 2022-01-18 08:41:10 +01:00
enricoturri1966
2cebe16663 Tech ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL - Removal of wipe tower magic object_id equal to 1000 2022-01-17 15:56:58 +01:00
YuSanka
f497ba7bf0 Follow-up to 99f510d4 - fixed a typo 2022-01-17 12:29:47 +01:00
YuSanka
106e520a10 Invalidate print when G-code substitution is changed
+ DiffDialog: Fixed get_string_value() for "gcode_substitution"
+ some code refactoring :
    For PresetCollection added is_independent_from_extruder_number_option(opt_key)
    to check if option is from the list of options with vector variable, which is independent from number of extruders
2022-01-17 12:29:47 +01:00
YuSanka
8a387fc52d WIP: First IU implementation for G-code substitutions 2022-01-17 12:29:47 +01:00
Vojtech Bubnik
aa62868ccb WIP G-code find & replace: Unit tests and some bug fixes. 2022-01-17 12:29:47 +01:00
Vojtech Bubnik
2da3d80a62 Fixing compilation on non-MSVC. 2022-01-17 12:29:46 +01:00
Vojtech Bubnik
d4fd95bd4a WIP: G-code find & replace: Support for non-regular expression,
whole word and case insensitive search.
2022-01-17 12:29:46 +01:00
Vojtech Bubnik
add1e994fa WIP G-code Find-Replace: Optimize regexps, process complete G-code,
not only G-code of layers.
2022-01-17 12:29:46 +01:00
Vojtech Bubnik
658f01b64b WIP: G-code find / replace using a new gcode_substitutions PrintConfig
parameter.
2022-01-17 12:29:46 +01:00
Lukáš Hejl
c54b8908dd Follow-up of 878dce1fdf. 2022-01-17 12:25:02 +01:00
Lukáš Hejl
878dce1fdf Workaround for "Internal compiler error" in 32-bit MSVC (19.29.30037) compiler after dc00f0bf98. 2022-01-17 12:22:19 +01:00
enricoturri1966
cfe8aa4818 Tech ENABLE_OBJECT_MANIPULATOR_FOCUS - 1st installment - Do not automatically set focus on 3D scene while hovering on it while the focus is into a field of the object manipulator 2022-01-17 12:17:59 +01:00
enricoturri1966
8033bb654a Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into dev 2022-01-14 11:07:47 +01:00
enricoturri1966
b9b702d550 Fixed conflicts after merge with branch dev 2022-01-14 09:55:13 +01:00
enricoturri1966
6201dad245 Tech ENABLE_COLOR_CLASSES set as default 2022-01-14 08:19:00 +01:00
Lukáš Hejl
dc00f0bf98 Modified variable offset in the avoid crossing perimeters to not cause scars on thin objects (#7699).
Previously, the minimum contour width was chosen too conservative and, on some thin objects, only allowed minimal (or non) offset. This could result in travels being planned along the outer perimeter.

Now, the minimum contour width is chosen much smaller at the start and tested if the variable offset wasn't failed (the outer contour broke up into more parts, more or fewer holes, etc.).
If any problem is detected, the variable offset is recalculated with a larger minimum contour width.
2022-01-14 00:59:25 +01:00
enricoturri1966
a2dc1cd446 Fixed conflicts after merge with dev branch 2022-01-12 15:54:48 +01:00
YuSanka
ced6d26917 Merge remote-tracking branch 'origin/master' into dev 2022-01-12 15:05:31 +01:00
enricoturri1966
0cb0f56a80 Tech ENABLE_ENHANCED_PRINT_VOLUME_FIT set as default 2022-01-12 14:12:13 +01:00
enricoturri1966
243f5c38ee Tech ENABLE_ENHANCED_IMGUI_SLIDER_FLOAT set as default 2022-01-12 13:36:31 +01:00
enricoturri1966
b4308f4245 Tech ENABLE_MODIFIERS_ALWAYS_TRANSPARENT set as default 2022-01-12 12:35:36 +01:00
Vojtech Bubnik
123fc13123 Fixing perl tests. 2022-01-12 11:46:51 +01:00
YuSanka
010fbded1a Added "Restore window position on start" option to the "Preferences > General"
+ added crash detection for the cases, when PrusaSlicer is started from secondary display

Possible fix for part of:
 #2939 - PrusaSlic3r freezing at startup (Win 10)
and
 #5573 - PrusaSlicer won't launch on secondary monitor. Nahimic?
2022-01-11 13:53:25 +01:00
Vojtech Bubnik
a591d9e9fe Implemented new placeholders for output file name:
1) "initial_filament_type", "printing_filament_types" - really useful
   for multi-material prints

the two other are not so useful, they may become useful once
the output file name template will support not yet defined
vector variables:
2) "initial_tool", "initial_extruder" - zero based index of first extruder
3) "num_printing_extruders" - number of printing extruders.

Fixes Filename incorrect when exporting G-Code with MMU. Always refers filament type in extruder 1 #5300
Fixes Export Filename nicht richtig #7673
Fixes wrong filename - always Filament in from the first extruder #7684
2022-01-10 17:57:03 +01:00
Vojtech Bubnik
4ebfe58352 Merge branch 'master' of https://github.com/Prusa3D/PrusaSlicer 2022-01-10 15:24:27 +01:00
Vojtech Bubnik
07d0484e32 Fix of Empty G1 before starting bridging perimeter #7714 2022-01-10 15:24:19 +01:00
Lukas Matena
da8e4b6fda Some more beautifications 2022-01-10 12:56:03 +01:00
Lukas Matena
b3726f1f88 Fixed RRF time estimate,
so it does not use  min feedrate limits from previously selected printer (RRF itself does not support them)
2022-01-10 12:52:21 +01:00
Lukas Matena
f3e14865e5 Minor tweaks in machine limits handling:
- renamed some variables so the names are not misleading
- improved readability a bit
- disabled silent mode for RRF (it was apparently enabled by mistake)
- set default value of machine_limits_usage to TimeEstimateOnly
2022-01-10 12:52:21 +01:00
n8bot
bfb721f302 Add compatibility for Machine Limits and RRF (PR #7347) 2022-01-10 12:52:21 +01:00
Vojtech Bubnik
c5d1e2449c Fix of #7583: Wizard crashes due to accessing undefined AppConfig section. 2022-01-10 08:26:33 +01:00
tamasmeszaros
cac2a9f117 clean up obsolete includes 2022-01-07 14:27:43 +01:00
tamasmeszaros
ac6611e374 Performance optimization for SLA rasterization step
Do not use a gamma function (a pow call for every pixel) if exponent is near 1.0
2022-01-07 10:18:39 +01:00
tamasmeszaros
ce81c02049 Fixing corrupted SLA pad
fixes SPE-1157
2022-01-07 10:09:20 +01:00
enricoturri1966
7ed80e0a8d Tech ENABLE_SPIRAL_VASE_LAYERS - 1st installment - Per-layer preview for spiral vase mode 2022-01-06 11:43:05 +01:00
David Kocik
3f14484eca Moved Odaki's implemetation of searching for end of utf8 sequence to separate function.
+ Fix of 0xC0 in trailer bytes 
followup on fff862a5ae
2022-01-05 14:45:56 +01:00
Lukáš Hejl
1aac99b809 Fix of #7618 (Crash in the multi-material segmentation when a negative volume was used on painted areas of a model.) 2022-01-05 11:11:29 +01:00
enricoturri1966
1019792884 Fixed conflicts after merge with dev branch 2022-01-03 10:09:38 +01:00
enricoturri1966
34a640a4a9 Merge branch 'dev' of https://github.com/prusa3d/PrusaSlicer into et_color_class 2022-01-03 09:33:05 +01:00
YuSanka
2458c4339b Merge remote-tracking branch 'origin/master' into dev 2021-12-23 18:31:32 +01:00
YuSanka
f2aeca3a71 Options from the "Preferences" dialog added to the Search
Some code refactoring:
* use GUI_App::open_preferences() on all places where it's needed
* Preferences Dialog is an attribute of a ManeFrame class and created just ones during the MainFrame creation now.
* Created class Highlighter. Use it in Preferences and Tab
2021-12-22 14:38:23 +01:00
enricoturri1966
e77f89cf5d Fixed build on non-Windows OSs 2021-12-22 11:07:10 +01:00
enricoturri1966
d1822f3ca2 Merge branch 'dev' of https://github.com/prusa3d/PrusaSlicer into et_color_class 2021-12-22 10:50:59 +01:00
enricoturri1966
cd4094743e Tech ENABLE_COLOR_CLASSES - 1st installment -> Introduction of classes ColorRGB and ColorRGBA to unify color data definition and manipulation 2021-12-22 10:45:35 +01:00
Vojtech Bubnik
215e845c31 Fixed FDM support generator for object layers lower than minimum
layer height enabled for an extruder.
2021-12-21 16:57:35 +01:00