Commit Graph

3007 Commits

Author SHA1 Message Date
enricoturri1966
9304defe7c Tech ENABLE_UNSIGNED_SHORT_INDEX_BUFFER merged into tech ENABLE_SPLITTED_VERTEX_BUFFER 2021-01-26 13:32:27 +01:00
enricoturri1966
3533473256 Tech ENABLE_TOOLPATHS_ALTERNATE_SMOOTHING merge into tech ENABLE_SPLITTED_VERTEX_BUFFER 2021-01-26 12:21:50 +01:00
enricoturri1966
9ede830f66 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_splitted_vbuffer 2021-01-26 10:10:23 +01:00
Vojtech Bubnik
4620402ab4 WIP: Initial Fuzzy Skin implementaiton #2010
Based on pull request Experimental fuzzy skin mode #4611 by @etet100
and on CuraEngine implementation of perimeter fuzzyfication
void FffPolygonGenerator::processFuzzyWalls(SliceMeshStorage& mesh)
2021-01-26 09:29:34 +01:00
Vojtech Bubnik
eef800b5c4 FIXME on ExPolygon::overlaps(), which should be commutative. 2021-01-22 15:32:45 +01:00
enricoturri1966
97c31b2a34 ENABLE_SPLITTED_VERTEX_BUFFER - Re-enable tech ENABLE_TOOLPATHS_ALTERNATE_SMOOTHING after fixing it 2021-01-21 16:33:35 +01:00
enricoturri1966
5161643fc6 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_splitted_vbuffer 2021-01-20 13:48:09 +01:00
enricoturri1966
ee40ab421a ENABLE_SPLITTED_VERTEX_BUFFER - Use unsigned short indices buffers to render toolpaths and temporary disable tech ENABLE_TOOLPATHS_ALTERNATE_SMOOTHING which is causing artifacts 2021-01-20 13:47:48 +01:00
Vojtech Bubnik
6d7d482ca1 Fix of Extrusion Width Percentge #4631
Fixed extrusion width validation logic in case the extrusion width
was specified wrt. layer height.
2021-01-20 11:03:52 +01:00
Vojtech Bubnik
c506c15ed4 Manual merge of 4e586b8edabde1146c4013ca2437469a448315e2 from upsteam Slic3r,
fixing "percent first layer speed was not applied over autospeed." GH upstream Slic3r #2945
our GH issue First Layer Speed Percentage not applying (#5829)
2021-01-19 16:50:24 +01:00
Vojtech Bubnik
2bc6679a62 Partial revert of 1bffc2b99b
(deriving the printer technology from the merged configs).
2021-01-19 15:18:03 +01:00
Vojtech Bubnik
5294a48ee8 Fix of prusa 2.3.0 crash with 0.25 nozzle #5825
Importing a config bundle as a config file was broken for
multi material FDM printers, where a different filament was active
for each extruder.
2021-01-19 09:58:14 +01:00
enricoturri1966
59cabc9712 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_splitted_vbuffer 2021-01-18 09:59:26 +01:00
enricoturri1966
8f1bc02287 ENABLE_SPLITTED_VERTEX_BUFFER - fixed cracks in toolpaths when splitting vertex and index buffers 2021-01-18 09:59:05 +01:00
Vojtech Bubnik
59911e7c35 Slight improvement in Hilbert infill by using constexpr 2021-01-15 09:34:50 +01:00
Vojtech Bubnik
48877614e2 Fix of --scale-to-fit not accepting any input as valid (#5772)
Fixed parsing of Point3, fortunately Point3 was used at just a single
command line parameter, thus this was not a big deal.
2021-01-14 12:51:28 +01:00
enricoturri1966
dc781535b2 Code cleanup 2021-01-12 14:34:52 +01:00
enricoturri1966
250adabd5c Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_splitted_vbuffer 2021-01-12 08:10:17 +01:00
Vojtech Bubnik
7d751753bc Replaced __linux macro with __linux__ 2021-01-11 13:31:30 +01:00
Vojtech Bubnik
5a1a41096b Fix of a crash when slicing an object producing no layers and
elphant foot compensation is enabled.
2021-01-11 12:20:50 +01:00
Raphael Sobik
2db704917a
Use correct M204 command for acceleration
M204 S is not supported for RepRapFrimware (https://duet3d.dozuki.com/Wiki/Gcode#Section_M204_Set_printing_and_travel_accelerations).
2021-01-11 10:50:18 +01:00
enricoturri1966
77f6606771 Another refactoring in GCodeViewer::load_toolpaths() 2021-01-07 11:13:07 +01:00
enricoturri1966
676540279d Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_splitted_vbuffer 2021-01-07 08:24:29 +01:00
Vojtech Bubnik
daa0bbdb0c Fix of slow update when dragging the vertical slider in G-code viewer
with volumetric flow color mapping enabled.
Fixes "Volumetric flow rate computes very slowly #5572"
2021-01-06 15:32:31 +01:00
Vojtech Bubnik
67256d6bb0 Added a FIXME comment for
Sequential tool path ordering of multiple parts within the same object, aka. perimeter tracking (#5511)
2021-01-06 12:19:08 +01:00
Vojtech Bubnik
93a5906a18 Fixed numerical issue with the new algorithm to connect infill lines
with perimeters:
1) Increased accuracy of the contour length parametrization from
   float to double, as double should capture the difference of
   32bit coord_t with full accuracy (or at least very close).
2) The algorithm to insert the T-joint points into the infill perimeter
   contour was improved to avoid inserting duplicate points.
2021-01-06 12:18:05 +01:00
Vojtech Bubnik
3c9f3d2b66 Fixing the infill order for concentric infill to outside-in.
Relies to:
Concentric Fill Start Point - New Feature Request #4948
Feature Request: Archimedean Chords - Option to define direction of travel (Inside-Out or Outside-In) #5214
2021-01-06 11:05:32 +01:00
Lukas Matena
e733565031 Fix of #5632 (painter gizmos not working correctly with scaled objects)
This was broken since 8bcdbb7.
2021-01-05 17:06:05 +01:00
Vojtěch Bubník
57d0f4b4f6
Merge pull request #5544 from hzeller/fix-assignment-of-charliteral-to-writable-charptr
Fix assignment of string literals to char*.
2021-01-05 13:11:29 +01:00
Vojtech Bubnik
fb29325b14 Fix of G-code Viewer not loading .gco files #5536
".gcode", ".gco", ".g" and ".ngc" were considered to be G-code file
extensions by the G-code import / export file dialogs, but not by
various other functions. Now the G-code extension is tested by
a single function is_gcode_file(string).
2021-01-05 12:26:11 +01:00
Vojtech Bubnik
1076e077ce Fix of Adaptive cubic infill weird behavior #5633
Enabling reordering of infill paths for Support Cubic and Adaptive Cubic
infill types.
2021-01-04 15:42:23 +01:00
Lukas Matena
30c8592b10 Do not use ironing extrusions for autospeed calculations (#5082) 2021-01-04 14:21:24 +01:00
enricoturri1966
4d3cb19423 5677 - GCodeProcessor accepts gcode line T-1 as valid for RepRapFirmware and RepRapSprinter 2021-01-04 14:21:24 +01:00
enricoturri1966
016042db10 Disabled tech ENABLE_RENDER_STATISTICS 2021-01-04 14:21:24 +01:00
Lukas Matena
837070a246 Hotfix of a crash with raft and one-layer object (#5652)
The problem is that PrintObject support generator is only run when m_layers.size() > 1, so one-layer object will skip it.
It apparently never worked, after recent refactoring (probably 8bfc986) it started to crash in GCode generator.
This commit fixes the crash, but not the problem. The raft is still not generated (like in all versions since 2.0.0 at least).
2021-01-04 14:21:24 +01:00
Lukas Matena
6c2ce4b6b6 Escape special xml characters when writing metadata into the model file
This should fix #5577
2021-01-04 14:21:24 +01:00
Vojtech Bubnik
2d428198b1 Fix of 2.3 rc1 can't load its own 3mf files (if they contain custom gcode) #5550
The issue was handling of the special "default_filament_profile" vector,
which is not being normalized in length to the number of extruders,
as this vector is being shown to the user at the Printer dependencies page,
and we don't want to present empty fields there, if the default filament
profile was not defined in the system preset.
2021-01-04 11:13:44 +01:00
Vojtech Bubnik
b002c1485d Fix of PrusaSlicer hangs on Linux when run with non standard task affinity #5661 2021-01-04 09:03:49 +01:00
Lukáš Hejl
dc2e7aeb4e Fixed wrong generation of Adaptive Cubic and Support Cubic infill when infill extrusion width is set in percent. 2020-12-21 14:14:06 +01:00
Lukáš Hejl
181642b85b Fix of #5528 - Request re-slicing when bottom_solid_layers changes and spiral_vase is enabled. 2020-12-21 09:15:33 +01:00
Henner Zeller
79e041b961 Fix assignment of string literals to char*.
Fix some char *foo = "string literal" assignments that
really should be assigned to const char*.

(they also happen to be constexpr, but that only prevents
to assign something later to foo, but does not alter
the char* type).

Signed-off-by: Henner Zeller <h.zeller@acm.org>
2020-12-20 13:40:25 -08:00
Lukas Matena
1cbe2bd87e Added a missing translation macro 2020-12-18 13:04:28 +01:00
Lukas Matena
8f3baeb1c9 Fix of #5410 (Ironing untick/tick bug)
This is a follow-up of commit b1b7a5a which fixed several similar bugs
2020-12-18 12:44:24 +01:00
Lukas Matena
6e3b4b6fd8 Random seam: optimization and fix of a possible infinite loop 2020-12-17 15:48:25 +01:00
enricoturri1966
ce32d68368 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-12-17 11:41:54 +01:00
enricoturri1966
b8fc1d3173 GCodeViewer - Fixed visualization of time estimates for silent mode 2020-12-17 11:41:41 +01:00
Vojtech Bubnik
ba9a9b4e7a Fixed buffer overflow in the OBJ parser.
Improved error reporting on OBJ parser.
2020-12-17 09:53:21 +01:00
Vojtech Bubnik
7df9f3e422 Improvements of OBJ parser robustness. 2020-12-17 09:17:07 +01:00
Vojtech Bubnik
4d459f37de Merge branch 'lm_230beta3_fixes' 2020-12-16 13:51:09 +01:00
Lukáš Hejl
80251e0cf9 Fixed of unintentional disabling of wipe even in cases when avoid crossing perimeters weren't applied due to exceeding the maximum detour length. 2020-12-16 13:17:09 +01:00
Vojtech Bubnik
2f71af1ee4 Saving "converted from inches" to 3MF and AMF even if the file source
information is empty.
2020-12-16 12:05:29 +01:00
YuSanka
f37b9c4d51 Set limits to the "extrusion_multiplier" value and show warning message, if out of range value was inputted 2020-12-15 21:21:09 +01:00
enricoturri1966
9704eb6ece Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-12-15 15:57:32 +01:00
enricoturri1966
dcd69b4ef8 #5415 - Fixed preview when volumetric extrusion is turned on 2020-12-15 15:57:22 +01:00
Lukáš Hejl
d59f345fbb Fix of #5443 - Assigned input file path for ModelVolume also for AMF archives 2020-12-15 14:18:11 +01:00
Lukáš Hejl
e62f014049 Corrected side text for avoid crossing perimeters max detour 2020-12-15 14:03:52 +01:00
Lukáš Hejl
161fb86c43 Fixed percentages in avoid crossing perimeters max detour 2020-12-15 13:49:35 +01:00
YuSanka
43581059ff Fix of #5450 - Wrong printer preset after loading 3mf project file when having multiple presets for one physical printer 2020-12-15 12:11:20 +01:00
Lukáš Hejl
0ca337ac7a Apply avoid crossing perimeters also for supports. 2020-12-15 06:46:44 +01:00
Lukas Matena
5553762d9c Do not remove custom supports/seams when converting units to imperial 2020-12-14 20:27:19 +01:00
Lukas Matena
a5d363a9f4 Do not emit M1 gcode for firmwares other than Marlin (after MM priming)
The M1 gcode is apparently only supported on Marlin, others do not support it or use it for something else
This should fix #5441
2020-12-14 20:27:19 +01:00
Vojtěch Bubník
cbb306c86a
Merge pull request #5466 from wavexx/include_atomic
Include <atomic> for std::atomic where needed
2020-12-14 18:29:13 +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
enricoturri1966
cdb05d103a Tweaked clamping of max toolpaths width 2020-12-14 15:11:38 +01:00
enricoturri1966
9605e235b8 #5378 - Do not apply machine limits for non-Marlin firmwares 2020-12-14 14:02:50 +01:00
Vojtech Bubnik
12303d93d5 Fixed previous merge 2020-12-14 12:49:16 +01:00
Vojtech Bubnik
e90120994e Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-12-14 12:47:59 +01:00
Vojtech Bubnik
b5f95dd4b4 Avoid crossing perimeters max detour could newly be specified
in percentage of the direct path.
2020-12-14 12:45:49 +01:00
Vojtech Bubnik
530148575b Avoid crossing perimeters max detour could newly be specified
in percentage of the direct path.
2020-12-14 12:36:55 +01:00
Yuri D'Elia
44f71f0ed1 Include <atomic> for std::atomic where needed
Fixes build on linux using clang 11
2020-12-13 19:41:47 +01:00
Vojtech Bubnik
9fdf8c8b8d Fixed retrieving of the "saved in inches" flag from 3MF.
Fixed "import STL from Inches" - it should always scale up even if the
object is bigger than 3x3x3mm.
2020-12-12 18:54:34 +01:00
Vojtech Bubnik
5605088aad Follow-up on aaaa85c1f8
Fix of #5007 - "Reload from disk" causes objects converted to inches to revert to mm
1) Storing and reloading the "source_in_inches" source flag from AMF and 3MF
2) When converting objects with mixed "inches" volumes, do the right thing
   and do not convert those that do not need conversion.
2020-12-12 12:06:15 +01:00
Lukas Matena
d267a9a105 Fixed a typo in a tooltip 2020-12-12 09:15:01 +01:00
Vojtech Bubnik
621610da75 Follow up on 569200eb99
Improved formatting of the vector of dimensions, improved wordings
of error messages and tooltips.
2020-12-12 08:34:43 +01:00
Vojtech Bubnik
7de0f46db4 Merge of Fix support doesn't ignore overhangs bridge anymore #5164 2020-12-11 15:14:16 +01:00
enricoturri1966
20c4b2c804 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_splitted_vbuffer 2020-12-11 15:02:42 +01:00
enricoturri1966
5a7e4ff47c Faster toolpaths refresh when changing options selection in preview 2020-12-11 14:59:58 +01:00
YuSanka
aaaa85c1f8 Fix of #5007 - "Reload from disk" causes objects converted to inches to revert to mm 2020-12-11 13:57:58 +01:00
enricoturri1966
7832e8aee1 Enabled tech ENABLE_GCODE_VIEWER_STATISTICS 2020-12-11 12:38:14 +01:00
Vojtech Bubnik
a2959ec944 Fix of re-slicing with multiple regions.
This is a fix of a bug, which was in Slic3r forever, where raw slices
were not cached, but recalculated from classified regions, where
merging the regions did not produce the original contour reliably.
Fixes [2.3.0-beta2] Odd bad slicing related to infill (?) percentage #5407
2020-12-11 12:21:07 +01:00
Vojtech Bubnik
bd79036d13 Replaced all "long long" types with int64_t
Replaced all "unsigned long long" types with uint64_t.
These "new" types better communicate their meaning and they are
guaranteed to behave the same on all platforms & compilers.
2020-12-10 08:40:15 +01:00
Vojtech Bubnik
06df87da35 Fix of 298b730589
(linear tapering of extrusion rate for the 1st spiral vase layer)
Linear tapering could only be implemented for relative extruder distances.
For absolute extruder distances, all the G1 Exxx in all spiral vase layers
would have to be adjusted, which is much more complex and risky to do now
before release.
2020-12-09 16:52:41 +01:00
Vojtech Bubnik
fb7098e542 Sequential Mode: Improved error message to explain that the spiral mode
may be enabled for multiple objects in sequential mode.
Fixes Allow for multiple objects while Spiral Vase mode is on #2500
2020-12-09 15:40:21 +01:00
Vojtech Bubnik
13b968186e fix of unit tests 2020-12-09 15:12:17 +01:00
Vojtech Bubnik
298b730589 Implemented linear tapering of extrusion rate for the 1st spiral vase layer
above the solid infill. Should fix
first layer of vase (after bottom layers) is bulging (0.6nozzle, 0.4 layerhight) #3712
Adjust flow of the "second" layer in spiral vase mode #2795
2020-12-09 14:54:26 +01:00
Vojtech Bubnik
364300055e Fix of spiral vase mode with holes in the bottom: Holes in the bottom layers
(non-spiral vase layers) were being closed.
Fixes Bad slicing in vase mode (unexpected bridge and solid infill layers) #3326
Fixes Model with holes in the base does not slice properly in "Vase Mode" #5359
2020-12-09 14:54:26 +01:00
YuSanka
9892394eb0 Fix for "Import config bundle with physical printers" (#5393) 2020-12-09 12:46:26 +01:00
Vojtech Bubnik
4af3819c85 Fixing the unit tests of PlaceholderParser. 2020-12-09 11:02:31 +01:00
Vojtech Bubnik
562c0bd563 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-12-09 09:27:03 +01:00
Vojtech Bubnik
7353d8c6e9 Rework of Add random function for gcode macros. #5219 after merge:
The thread local storage variables for the random number generator
were replaced by an external context variable.
Thread local storage is a scarce resource.
2020-12-09 09:19:46 +01:00
Vojtech Bubnik
1e190affcf Merge branch 'pa_macro_random_support' of https://github.com/ardenpm/PrusaSlicer into ardenpm-pa_macro_random_support 2020-12-09 07:33:41 +01:00
Lukáš Hejl
bb2eecb42c Fix of #4060 - Add check for the case that all ranges of a volume do not contain any Z. 2020-12-09 07:28:18 +01:00
Lukáš Hejl
0ad135ff93 Fix of #4732 - In spiral vase mode, use the number of layers instead of the value of bottom solid layers if a printed object has a smaller number of layers than the value of bottom solid layers. 2020-12-09 07:21:14 +01:00
Lukáš Hejl
4c35250531 Fix of #5004 - Disable retract on layer change also for filament overrides. 2020-12-09 07:16:01 +01:00
Vojtech Bubnik
2d6b694261 Fix of Place on face:
1) Decreased "gimbal lock" epsilon 10x
2) Got rid of unnecessary back and forth conversions which led to numerical inacurracies

This should fix issues #5172, #5011 and #5398
2020-12-09 06:20:41 +01:00
Vojtech Bubnik
6e3fae3865 Fix of #5319 - presets inherited from renamed presets using the old
preset name in the "inherits" field were losing the "inherits" flag.
2020-12-08 17:45:59 +01:00
enricoturri1966
b7ac74bc42 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-12-08 15:56:08 +01:00
enricoturri1966
5bd443cd1f #4936 - Take toolpaths width and height from gcode decorations, if available 2020-12-08 15:55:53 +01:00
Vojtech Bubnik
5f456ebbe7 Merge branch 'lh_avoid_crossing_perimeters' 2020-12-08 13:39:33 +01:00
Lukas Matena
2d711d8646 Added missing includes for gcc 2020-12-08 12:31:59 +01:00
Vojtech Bubnik
c7aee35552 Merge of Fix proposal for crash on rectilinear #5399 2020-12-08 08:45:16 +01:00
Richard Hartmann
1874c42bb9
PrintConfig.cpp: Fix grammar mistake 2020-12-07 22:04:57 +01:00
Vojtech Bubnik
3e22b39a42 Improved error handling when loading invalid preset bundle. Improves
Import Configuration bundle can fail if profile names have spaces at the end #5291
2020-12-07 21:10:20 +01:00
Vojtech Bubnik
c7586e5713 Fix of Command line slicing bad gcode #5029
SL1 file was exported with a .gcode suffix if the user did not provide
output file name for SLA command line slicing.
2020-12-07 18:39:33 +01:00
Vojtech Bubnik
333577b905 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-12-07 17:09:11 +01:00
Vojtech Bubnik
780418435a Fix of Custom profiles prevent the slicer from starting up #4996
Creative user made a profile inherit from itself.
2020-12-07 17:09:02 +01:00
YuSanka
569200eb99 Added "G-code thumbnails" parameter to the Printer Settings tab 2020-12-07 16:42:20 +01:00
Vojtech Bubnik
b909ce7a3d Fix of [BUG]Environment variables not all exported while calling Post-Processing Scripts #4901 2020-12-07 14:59:36 +01:00
enricoturri1966
f77475e501 Tech ENABLE_SHOW_WIPE_MOVES set as default 2020-12-07 10:29:50 +01:00
enricoturri1966
17f00562de Tech ENABLE_SHOW_OPTION_POINT_LAYERS set as default 2020-12-07 09:34:31 +01:00
Vojtech Bubnik
9b05513ea9 Fix of rework of loading configs from 3MFs, AMFs, gcodes
as modifications of existing user or system presets.
2020-12-05 08:14:04 +01:00
Lukas Matena
997ee971b4 Bugfix: custom seam identification
Bounding boxes of polygons could overlap. Ask the AABB tree for all possible candidates.
Might be faster than searching for the closest triangle, that requires traversing the whole depth of the tree every time.
2020-12-05 02:02:22 +01:00
Lukas Matena
985a4a8bf3 Bugfix: custom seam did not work on first layer with elephant foot compensation active 2020-12-05 00:02:43 +01:00
Lukas Matena
98434eb77b Bugfix: seam enforcers not always respected (#5137, #5294) 2020-12-05 00:02:43 +01:00
enricoturri1966
6c8b0276e6 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-12-04 15:36:41 +01:00
enricoturri1966
1445c0ad3a Enabled tech ENABLE_RENDER_STATISTICS 2020-12-04 15:36:30 +01:00
Vojtech Bubnik
9c959d14e0 Limiting the resolution of G-code export for retract/deretract feedrate
to three digits.
Fixes excessive precision in gcode? #5362
2020-12-04 13:37:36 +01:00
enricoturri1966
7a54c4fdfe Fixed conflits after merge with master 2020-12-04 12:33:44 +01:00
enricoturri1966
26982b16c7 #5080 - Reworked logic for automatic selection of current view type in preview 2020-12-04 12:31:50 +01:00
Vojtech Bubnik
0688778a24 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-12-04 11:53:29 +01:00
Vojtech Bubnik
e1fc0b17a2 Ramp up layer cooling fan over X layers #848
Fan speed will be ramped up linearly from zero at layer disable_fan_first_layers
to maximum at layer full_fan_speed_layer. full_fan_speed_layer will be
ignored if lower than disable_fan_first_layers, in which case
the fan will be running at maximum allowed speed at layer
disable_fan_first_layers + 1.;

WIP: The cooling PresetHints are likely not finalized yet.
2020-12-04 11:53:02 +01:00
Vojtech Bubnik
e42e25c933 1) Storing the physical_printer_settings_id into the 3MF, AMF, GCode.
2) Activating the physical_printer_settings_id when loading from 3MF, AMF, GCode.
   The physical printer is only activated if it references the printer_settings_id
   loaded from the same file.
3) When loading the presets from 3MF, AMF, GCode, the "external" profiles
   are no more created for profiles which differ from the local profiles
   the loaded profiles reference. Instead, the referenced profile is activated
   and modified with the loaded preset. If the referenced profile does not
   exist, but the profile refers to a system profile with the "inherits"
   fileds, the system profile is loaded and modified instead.
   This works for all profiles with the exception of multi-extruder
   printer with multiple filament profiles modified. In that case
   the first modified filament profile will be loaded as modified,
   while the other modified profiles will be loaded as "external".

This should fix
Physical printer + 3mf file, wrong preset used to generate gcode #5178
and possibly
https://github.com/prusa3d/PrusaSlicer/issues/5272
2020-12-04 10:48:51 +01:00
enricoturri1966
cc0688678c Fixed conflicts after merge with master 2020-12-03 15:27:34 +01:00
enricoturri1966
bcb2a4884b NotificationManager -> Separate notification update from its render to reduce the amount of scene refresh 2020-12-03 15:12:32 +01:00
tamasmeszaros
310de2f2ef Fix crash when splitting objects
fixes partially #2209
2020-12-03 14:58:56 +01:00
tamasmeszaros
91b1d469eb Fix arrange with malformed contours 2020-12-03 14:58:09 +01:00
tamasmeszaros
624494eab6 Merge branch 'tm_arrange_bugfixes' 2020-12-03 14:09:55 +01:00
Vojtech Bubnik
3dd9b8c718 Further improvement error reporting with buggy custom G-code sections #1516
1) The macro-processor sanitizes the source code line for invalid UTF-8
   characters. Ideally these invalid characters would be replaced with ?,
   they are just dropped as of now. Better than showing an empty string
   when converting to wxString though.
2) G-code export collects full error message for 1st occurence of an error
   for each custom G-code block.
3) The composite error message now displays the errors collected in 2).
4) The error window is now scaled bigger and the Slicer logo is smaller
   if the text is to be rendered with monospaced font, as the monospaced
   text will not be word wrapped.
2020-12-03 12:50:24 +01:00
tamasmeszaros
844ea89432 Fix out of bed items after arrange.
Disabled outline decimation for arrange and added very small (EPSILON) safety offset to bed detection boundaries.
2020-12-03 12:00:12 +01:00
Vojtech Bubnik
306acbdfb4 Improvement of Improve error reporting with buggy custom G-code sections #1516
Errors in the file output templates are reported in mono-spaced font,
so that the arrow character ^ is displayed at the right column
pointing to the offending spot.
2020-12-03 11:03:16 +01:00
Lukáš Hejl
98055de28c External paths avoid crossing perimeters of holes 2020-12-03 09:43:21 +01:00
Vojtech Bubnik
0a33aedc3a Documentation of OctoPrint behind HAProxy with basic auth enabled
in the print_host tooltip.
Improves Feature request: support for basic auth for octoprint #650
2020-12-03 08:22:55 +01:00
tamasmeszaros
869ae0247e Use smarter object function in partial arrangement with empty bed. 2020-12-02 17:53:22 +01:00
tamasmeszaros
2813db8906 Fix for bed filling with some existing items out of bed. 2020-12-02 17:52:40 +01:00
YuSanka
9d34d350a5 Localization: Update POT
+ Fixed translation for the "Extruder n" category on the Printer Settings Tab
 + Fixed a crash, when scrolling inside Search imGui with some localization (e.t. Russion)
2020-12-01 16:44:53 +01:00
Lukáš Hejl
f25e5c0ec6 Merge remote-tracking branch 'origin/master' into lh_avoid_crossing_perimeters 2020-12-01 14:31:22 +01:00
Lukáš Hejl
f0616b0736 Fixed return value of liang_barsky_line_clipping 2020-12-01 14:28:27 +01:00
David Kocik
994b69f19b cleanup 2020-12-01 12:06:10 +01:00
David Kocik
247f3a7dbe Set boost to use utf8 for system messages (in cmake). Fix of #5180. 2020-12-01 12:06:10 +01:00
enricoturri1966
dc736f7855 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-12-01 08:33:20 +01:00
enricoturri1966
6ae1a10614 #5333 - Reworked navigation of preview's sliders using the keyboard 2020-12-01 08:33:06 +01:00
Vojtech Bubnik
e62bb4a7c7 Fix of Head crash on completion with sequential printing #5349
In addition to an existing "layer_z" placeholder variable,
a new "max_layer_z" has been added to custom G-code sections accumulating
maximum of "layer_z" over the print. This value may be used for example
in the end G-code of a sequential print to lift the print head
up before travel over the whole print bed.
2020-12-01 08:23:46 +01:00
Vojtech Bubnik
518cbfa192 Renamed API key / user/password auth choices for SL1 2020-11-30 08:49:09 +01:00
Lukáš Hejl
f917b83706 Fixed compiler warnings 2020-11-29 17:29:11 +01:00
Lukáš Hejl
87879034f6 Merge remote-tracking branch 'origin/master' into lh_avoid_crossing_perimeters
# Conflicts:
#	src/libslic3r/MotionPlanner.cpp
#	src/libslic3r/libslic3r.h
2020-11-29 17:27:23 +01:00
Lukáš Hejl
dd97eaa812 Fixed case when lslices in Layer is empty 2020-11-29 17:26:02 +01:00
Lukáš Hejl
f16e8f1a72 Fixed uninitialized variable in ElephantFootCompensation 2020-11-29 14:00:34 +01:00
Lukáš Hejl
55c282d85d Revamp of implementation of the avoid crossing perimeters algorithm.
The strategy for the avoid crossing perimeters algorithm has been redesigned. But external travels (travel between objects or supports) have not been solved yet. For these travels is used a direct path between two points.
Much of the code has been reworked, which leads to significant speedup compared to the previous implementation.
Also, several potential bugs have been fixed.
2020-11-29 13:58:36 +01:00
Lukas Matena
ca09bf0805 Fix random seam for single contour islands (#5003) and for external_perimeters_first 2020-11-27 11:33:25 +01:00
Lukas Matena
f485f66b2a Seam - fix indexing of layers (#5112, #5014) 2020-11-27 10:09:20 +01:00
Lukas Matena
22f93a34a8 Fix horrible complexity of custom seam lookup (#5067)
- polygons are offset individually
- custom areas are kept separately for each PrintObject
- AABB tree is used to get logN lookup complexity
2020-11-27 10:09:20 +01:00
David Kocik
cbe0b4f0f1 Change log level of boost::filesystem::permisions error code message. Now it shouldnt bother like in #5254 2020-11-26 17:15:26 +01:00
enricoturri1966
00a67ba004 GCode Viewer -> Parse gcode produced by KISSSlicer 2020-11-26 16:07:07 +01:00
tamasmeszaros
dfbf4cbab2 Fix bed filling with more existing instances than needed 2020-11-26 15:11:54 +01:00
enricoturri1966
10fb75edf0 Enabled tech ENABLE_CTRL_M_ON_WINDOWS -> Added customizable support for legacy CTRL+M settings dialog on Windows in preference dialog 2020-11-26 11:00:24 +01:00
Vojtech Bubnik
2314a9e8c7 Fixing compilation issues on conforming compilers 2020-11-26 10:54:18 +01:00
enricoturri1966
67aaf0b78e Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-11-26 10:09:53 +01:00
enricoturri1966
e2b4de455b Customizable association of .3mf, .stl and .gcode files on Windows 2020-11-26 10:09:34 +01:00
Vojtech Bubnik
aa6ddfec85 Added functions to export raw image data to PNG for debugging purposes.
Renamed PNGRead.cpp/hpp to PNGReadWrite.cpp,hpp
EdgeGrid: Resurrected debugging output to PNG.
2020-11-26 09:01:44 +01:00
enricoturri1966
7da1622e76 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-11-26 08:43:22 +01:00
enricoturri1966
4d483f323f GCode Viewer -> Show extimated layer time on the vertical slider for gcode produced by PrusaSlicer 2.3.0, Cura, Simplify3D, CraftWare, ideaMaker 2020-11-26 08:43:04 +01:00
Vojtech Bubnik
3e54c0b775 Gyroid infill: Lowered the threshold to drop infill line segments. 2020-11-25 14:56:11 +01:00
Vojtech Bubnik
e5b3af0e53 Fix of Monotonic infill leaves gaps in top infill where rectilinear does not #5259
and Chyba nebo vlastnost výplně Monotonic? #5225
2020-11-25 14:56:11 +01:00
enricoturri1966
f0aa4de20a Fixed conflicts after merge with master 2020-11-25 12:42:26 +01:00
enricoturri1966
df40f6ba11 ENABLE_GCODE_VIEWER set as default 2020-11-25 10:31:58 +01:00
tamasmeszaros
0bfbe18a3c Merge branch 'tm_arrange_perf_improve' 2020-11-24 16:20:17 +01:00
Vojtech Bubnik
62bdc192d8 Fix of [2.3.0-alpha4] Crash - several models cause crash when slicing #5208
Fixed some issues in internal anchors of the Adaptive Cubic infill.
The ugly and dangerous implicit casting operators in Line, MultiPoint,
Polyline and Polygon were made explicit.
2020-11-24 16:01:08 +01:00
tamasmeszaros
aa64902cf9 Increase arrange accuracy due to errors with large number of objects 2020-11-24 14:42:15 +01:00
tamasmeszaros
30693e29e4 Stop bed filling if enough instances are generated 2020-11-24 14:41:36 +01:00
enricoturri1966
9d71597e05 Fixed conflicts after merge with master 2020-11-24 13:37:52 +01:00
enricoturri1966
44fe3b8a00 Tech ENABLE_DRAG_AND_DROP_FIX -> Apply dialog implemented with 808c43cb4b also to drag and drop of project files into application executable 2020-11-24 13:35:43 +01:00
enricoturri1966
92953acc57 #5236 - Fixed color not correctly shown after slice
The bug was introduced with 148f4fe766 which is now replaced by this commit
2020-11-23 17:15:22 +01:00
enricoturri1966
f68cf49f3d Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_wipe_moves 2020-11-23 10:11:04 +01:00
Vojtech Bubnik
3a75b0da7f Update of the perimeter_acceleration tooltip 2020-11-23 09:13:58 +01:00
Paul Arden
003ccf388d Add a new macro function random(min,max) which will return a random number in the range specified by the parameters. The type of parameters defines the type of the output, if the inputs are doubles then result will be a double and if the inputs are int the output will be in. Uses C++11 random functionality, compiler compatibility on Linux should be checked. Fixes #4001. 2020-11-22 18:22:48 +11:00
Vojtech Bubnik
f0606c2a76 Merge of https://github.com/prusa3d/PrusaSlicer/pull/2856
Add aligned rectilinear infill functionality by @m-schubert
Implements [Feature Request] Aligned rectilinear infill #1938
2020-11-21 14:10:17 +01:00
Vojtech Bubnik
25ca1fcf77 Some minor refactoring / polishing. 2020-11-21 13:16:03 +01:00
enricoturri1966
0e6acbc0e2 Preview - Visualization of wipe mones 2020-11-21 10:36:10 +01:00
Vojtech Bubnik
56c37d5c38 Make monotonic infill default for bottom layers as well #4963 2020-11-20 18:58:54 +01:00
Vojtech Bubnik
54a5c1da1e Fixed crash in reworked infill anchoring due to numeric issues.
Added some more asserts to EdgeGrid.
2020-11-20 18:47:06 +01:00
Lukáš Hejl
f394d26f83 Added missing includes to fix build on gcc 9 2020-11-20 15:19:49 +01:00
YuSanka
5330b34d0a Added "Filament -> Spool weight" parameter 2020-11-20 14:31:11 +01:00
Lukáš Hejl
606db666fc Fix missing include 2020-11-20 14:22:24 +01:00
Vojtech Bubnik
d5e6b17d70 Merge branch 'master' of https://github.com/Prusa3D/PrusaSlicer 2020-11-20 13:40:40 +01:00
Vojtech Bubnik
8d1e13fccd Anchoring of sparse infills can now be disabled. 2020-11-20 13:36:58 +01:00
tamasmeszaros
20995c7b7a Merge branch 'tm_fill_with_instances' 2020-11-20 13:05:05 +01:00
Vojtech Bubnik
060f1d48c1 Little more refactoring. 2020-11-20 11:56:40 +01:00
Enrico Turri
148f4fe766 GCode Viewer - Fixed crash when switching to tool view with gcode generated by slicers other than PrusaSlicer 2020-11-20 11:50:25 +01:00
tamasmeszaros
adf81af6de Prototype feature: fill plater with instances of selected object
#fixes #1350
2020-11-20 09:58:52 +01:00
tamasmeszaros
e17e6b4d0e Add minimum bounding box rotation as starting point 2020-11-20 09:57:52 +01:00
tamasmeszaros
d5bdaceff2 Right mouse reaction to arrange button
Working arrange settings popup
2020-11-20 09:57:52 +01:00
tamasmeszaros
096d0c9860 Fix arrange objectfunction to avoid last object in awkward positions.
fixes #3900
2020-11-20 09:46:15 +01:00
YuSanka
5144feb319 Estimated printing time per layer for SLAPrint
Split the time if it's needed
2020-11-19 21:41:51 +01:00
David Kocik
5f97b2512b Merge remote-tracking branch 'aegean-odyssey/ao_profile_resources_patch' into master 2020-11-19 19:02:32 +01:00
YuSanka
03b336145f Updated UI for the "infill_anchor" parameter 2020-11-18 17:00:08 +01:00
YuSanka
feffb66085 Ruler for DoubleSlider: Added estimated print time 2020-11-18 05:02:51 -08:00
Vojtech Bubnik
f206b743fd Avoid crossing perimeters: Further refactoring for clarity, code review. 2020-11-17 15:34:50 +01:00
Vojtech Bubnik
62ab17bf6e AvoidCrossingPerimeters: Refactored for better encapsulation. 2020-11-17 10:42:27 +01:00
Vojtech Bubnik
04c2fde671 Removed the old motion planner. 2020-11-17 09:33:30 +01:00
enricoturri1966
afddcf71db Preview - Paint in grey toolpaths belonging to layers containing pause prints or custom gcodes 2020-11-16 15:01:13 +01:00
Lukáš Hejl
49ce613be7 Enable previous heuristics which was disabled by mistake 2020-11-16 14:37:42 +01:00
Lukáš Hejl
c702b3b71d Add heuristics for removing unnecessary detours 2020-11-16 14:22:32 +01:00
Lukáš Hejl
9936b8e34e Add missing includes 2020-11-16 14:22:32 +01:00
Lukáš Hejl
3db66af716 Fix another compiler warning 2020-11-16 14:22:32 +01:00
Lukáš Hejl
266e6dee5d Fix compiler warnings 2020-11-16 14:22:32 +01:00
Lukáš Hejl
c00c7eaed3 Rework of outer borders to reduce unnecessary detours along the border.
The resulting path now contains all intersection with borders, which allows eliminating more unnecessary detours and more simplify the path.
2020-11-16 14:22:32 +01:00
Lukáš Hejl
ef9de07740 Disabling wipe for avoid crossing perimeters 2020-11-16 14:22:32 +01:00
Lukáš Hejl
7f94e9fa59 Fixed perimeters crossing when supports are printed. 2020-11-16 14:22:32 +01:00
Lukáš Hejl
2afeea5b6f Fixed division by zero when the layer is empty 2020-11-16 14:22:32 +01:00
Lukáš Hejl
3e98e2a4bd Fixed avoiding of other printed objects, again
Calling std::move on itself causes that the first polygon is empty, which results in disabling this feature on Linux.
This was fixed before, but I accidentally reverted it when AvoidCrossingPerimeters was moved to separate file.
2020-11-16 14:22:32 +01:00
Lukáš Hejl
8adf02a289 Moved AvoidCrossingPerimeters to separate file 2020-11-16 14:22:32 +01:00
Lukáš Hejl
4288be0e06 Fixed a case when the intersection is one of the endpoints of the line 2020-11-16 14:22:32 +01:00
Lukáš Hejl
c828a5d6e9 Added the possibility to set the maximum length of the detour 2020-11-16 14:22:32 +01:00
Lukáš Hejl
c16aad7e0b Reworked the algorithm for avoid crossing perimeters for multiple objects 2020-11-16 14:21:36 +01:00
Lukáš Hejl
69658a57d8 Fixed crossing perimeters in some cases 2020-11-16 14:21:36 +01:00
Lukáš Hejl
556c212f9d Fixed crossing perimeters when option "Wipe while retracting" is enabled 2020-11-16 14:21:36 +01:00
Lukáš Hejl
39e3358af5 Avoid crossing perimeters bugfix 2020-11-16 14:21:36 +01:00
Lukáš Hejl
a4fc435f75 Clear generated boundaries from previous layer 2020-11-16 14:21:36 +01:00
Lukáš Hejl
5c073d0ddb Improved documentation of avoid crossing perimeters algorithm. 2020-11-16 14:21:36 +01:00
Lukáš Hejl
46bae74e48 Finalization of avoid crossing perimeters algorithm
EdgeGrid::Grid is used to find the intersection of a path with a polygon.
Simplification of find path.
Calculation of boundaries that not be crossed.
2020-11-16 14:21:36 +01:00
Lukáš Hejl
074406647a Fixed bug when algorithm stuck in a loop 2020-11-16 14:21:36 +01:00
Lukáš Hejl
6573bc15a5 Selection of shortest path around polygon boundary 2020-11-16 14:21:36 +01:00
Lukáš Hejl
7a4ba7d131 A simple algorithm to follow the boundary of polygons 2020-11-16 14:21:36 +01:00
Vojtech Bubnik
620f94331c fix of OSX build: workaround of non-standard std::optional 2020-11-16 13:44:15 +01:00
Vojtech Bubnik
a864d584a6 Fillers: Renamed Rectilinear2 to Rectilinear. 2020-11-16 13:24:57 +01:00
Vojtech Bubnik
2249e5d4b2 Renamed FillRectilinear.cpp,h to FillLine.cpp,h 2020-11-16 13:17:18 +01:00
Vojtech Bubnik
db05f00860 Fixing compilation issues. 2020-11-16 13:11:58 +01:00
Vojtech Bubnik
812cbade4d Fills:
1) New algorithm for connecting along the perimeters is now applied
   to Honeycomb, Hilbert and similar planar filling curves.
2) The old expensive path chaining is not applied if the new algorithm
   to connect along the perimeter lines is called afterwards.
2020-11-16 12:51:51 +01:00
Vojtech Bubnik
e9fa36ea7d Fillers: Removal of old FillRectilinear, using of "override" instead
of "virtual" where applicable.
2020-11-16 11:16:44 +01:00
Vojtech Bubnik
e77fc43159 Merge remote-tracking branch 'remotes/origin/master' into lh_adaptive_infill_hooks 2020-11-16 10:54:19 +01:00
Vojtech Bubnik
4280fdb5f2 Reworked connection of infill lines to perimeter lines.
Added a new "infill_anchor" parameter.
2020-11-16 10:54:00 +01:00
enricoturri1966
e04c6a4d17 Fixed screen-size for point markers used to visualize retraction/unretractions and other options in preview 2020-11-16 10:29:54 +01:00
Vojtech Bubnik
84693a5810 New get_extents(const std::vector<Points> &pts),
refactored Lian Barsky line clipping
2020-11-16 10:20:47 +01:00
Vojtech Bubnik
32362cff0b SVG export: Implemented flipping in Y axis. Now flipped by default
to match the 3D print paths view when looking at the print from the top.
2020-11-16 10:18:51 +01:00
enricoturri1966
808c43cb4b Added dialog to choose import action when dragging and dropping a project file 2020-11-16 08:39:25 +01:00
enricoturri1966
0688a76c73 Code cleanup 2020-11-13 11:50:52 +01:00
enricoturri1966
e78e3ad80b Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential 2020-11-13 10:46:41 +01:00
YuSanka
d962d431c0 Localization:
* added missed phrases
* fixed some phrases
* updated POT-file and PO/MO-files for the CZ-translation
2020-11-12 21:35:39 +01:00
enricoturri1966
f1d10f3c90 ENABLE_GCODE_VIEWER set as default in libslic3r 2020-11-12 14:03:58 +01:00
Vojtech Bubnik
4d102ac8ca FillAdaptive:
1) More accurate trimming of an anchor with another infill line
   or by another anchor line.
2) Trimming of very short infill lines, which are not anchored,
   by another infill lines.
2020-11-11 16:49:11 +01:00
enricoturri1966
80e8b5e985 Removed the legacy PreviewData.cpp,hpp 2020-11-11 16:38:51 +01:00
enricoturri1966
4ad42d6171 WIP - Sequential print visualization using vertical slider in preview (missing travel moves) 2020-11-11 16:22:09 +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
enricoturri1966
4f85a42830 Follow-up of bb74d2da5b and 7b2aca0159 -> Removed inclusions of GCode/Analyzer.hpp and GCodeTimeEstimator.hpp 2020-11-11 15:41:48 +01:00
Vojtech Bubnik
26836db629 FillAdaptive: Handling of a special case when the infill lines
touch at their ends.
2020-11-11 11:51:26 +01:00
Vojtech Bubnik
decda76344 AdaptiveInfill:
1) Shortening the anchor lines when touching another infill line
   to avoid over extrusion.
2) Reduction of the Intersection structure complexity by referencing
   the source lines.
2020-11-10 15:54:32 +01:00
Vojtech Bubnik
89df9c1038 Improvement of AdaptiveFill:
1) Merging of collinear infill lines separated by a thin gap created
   by trimming with the boundary polygon.
2) Sorting of the T-joints separately to the left / right of the common
   line.
3) Trimming self intersections of the anchor lines.
4) Dropping of very short segments, not anchoring short segments.
2020-11-10 13:56:12 +01:00
enricoturri1966
bf12c7cb8c GCode Viewer - Fixed color print visualization for gcode containing multiple extruders 2020-11-09 13:06:20 +01:00
enricoturri1966
479d4b70f2 GCode Viewer - Show print/printer/filament settings names in legend 2020-11-09 08:41:14 +01:00
Vojtech Bubnik
517477f0dd Fix of the previous Adaptive Cubic infill refactoring
plus couple of fixes of the old logic.
2020-11-06 16:24:15 +01:00