Commit Graph

3007 Commits

Author SHA1 Message Date
Vojtěch Bubník
b7ae342e8e
Merge pull request #5963 from wavexx/remove_undeeded_includes
Remove unneeded inclusion of boost::nowide
2021-02-10 10:43:56 +01:00
Vojtech Bubnik
f61119e02f Yet another clang compiler warning suppressed. 2021-02-09 20:04:11 +01:00
Vojtech Bubnik
20456b45e5 Fix of the previous commit (fixing warnings) 2021-02-09 19:46:09 +01:00
Vojtech Bubnik
5e9a8ea700 Fixed some clang warnings 2021-02-09 19:23:58 +01:00
Vojtech Bubnik
770d8b5d08 Finishing the "Iron all surfaces" feature.
Fixes Ironing all solid surface does not seem to work #5703
2021-02-09 18:49:33 +01:00
Vojtech Bubnik
5a638f10cc Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2021-02-09 18:36:36 +01:00
Vojtech Bubnik
2e55898d78 Removal of not numerically robust libraries "poly2tree" and "polypartition".
Adjustment of GUI/3DBed.cpp,hpp to use the more stable triangulation algoritm
derived from SGI glut.
Fix of an extremely slow bridging calculation, caused by an extremely
slow bridged area detection function, of which the results were never used.
Fixes "slicing fails or takes too long #5974"
2021-02-09 18:36:28 +01:00
YuSanka
a86e7107a5 Added check for loaded STL file if it was saved in meters. Related to #4521 (Some files are imported in the wrong size) 2021-02-09 17:04:32 +01:00
YuSanka
a1e49e7f8c Implemented #4931 - Added colored background for the Manipulation panel, if
option "Use colors for axes values in Manipulation panel" is enabled in Preferences -> GUI
+ Fix one more compilation warning in UnsavedChangesDialog.cpp
2021-02-09 16:04:03 +01:00
Lukas Matena
a7728634f0 Clang: silence -Wdeprecated-declarations for now
RPi: hopefully silence a warning
2021-02-08 17:52:29 +01:00
Lukas Matena
1834ebe981 Fixing Clang warnings 3 2021-02-08 17:52:29 +01:00
Lukas Matena
b85de89751 Fixing Clang warnings 2 2021-02-08 17:52:29 +01:00
Lukas Matena
0ff0444dcc Fixing Clang warnings 1 2021-02-08 17:52:29 +01:00
Lukas Matena
cd1322ce3f FDM supports gizmo 'autoset by angle' improvements:
- Extra dialog for autosetting by angle in FDM supports gizmo was removed
- Highlighting facets by angle is now controlled by a slider in the main gizmo dialog
- User is allowed to paint even when using the slope highlighter
- The button to turn highlighted facets to blockers was removed, it made no sense
- Highlighted facets are now rendered in light blue
2021-02-08 17:49:36 +01:00
Vojtech Bubnik
672ed99320 Fix of Hilbert Curve Infill: Unable to slice, PrusaSlicer not responding. #5771
Fixed by hard limiting the number of iterations of
reorder_by_two_exchanges_with_segment_flipping()
2021-02-08 17:43:39 +01:00
Vojtech Bubnik
1f5b7fc162 Fix of a selection of default print / filament / sla print / sla material
profile after wizard closes for the first time with the first printer
installed.
2021-02-08 15:56:44 +01:00
enricoturri1966
c767ce18de Removed debug code 2021-02-08 13:23:11 +01:00
Vojtech Bubnik
de32992b49 Fix of Fan ramp not correct for layer 1 #5893 2021-02-08 12:43:27 +01:00
Vojtech Bubnik
5449e6c549 Fixing some compiler warnings on Linux 2021-02-08 11:58:03 +01:00
Vojtech Bubnik
cbee82dc95 Fix of "infill percentage not changing #5993"
Fix of aa4c018cd5
Infill is a percent, which is a number from 0 to 100, not from 0 to 1.
2021-02-08 11:39:42 +01:00
Lukas Matena
53539a5993 Added a missing include 2021-02-08 08:10:14 +01:00
YuSanka
e7544ed0c4 Fix of #5888 - Pause Print M117 message not saved after reloading .3mf project 2021-02-05 19:39:28 +01:00
Vojtech Bubnik
aa4c018cd5 Fix of Slicing hangs when Infill Percentage set very low #5910
When passing a PrintRegionConfig to the slicing back end, zero an infill
density if it is already nearly zero. This avoids an ugly division by
zero in the infill code and it also makes clear to the back end that
we don't want an infill.
2021-02-05 17:58:55 +01:00
Vojtech Bubnik
c2e956c6d1 3MF and AMF error reporting: Use boost::log instead of printf(). 2021-02-05 15:20:23 +01:00
Vojtech Bubnik
828271d016 Improved AMF/3MF security when parsing invalid meshes. 2021-02-05 14:19:51 +01:00
enricoturri1966
76a92e40be Toolpaths rendering - Reduced number of triangles per segment 2021-02-05 11:53:39 +01:00
Vojtech Bubnik
5f86d11c74 EdgeGrid refactoring to support both open and closed contours.
Squashed commit of the following:

commit 4e13a8fe19abcc9aae39a9bc4c7953a743196504
Merge: 6ae766409 6f89da1f3
Author: Vojtech Bubnik <bubnikv@gmail.com>
Date:   Fri Feb 5 11:19:35 2021 +0100

    Merge remote-tracking branch 'remotes/origin/master' into vb_edgegrid_open_lines

commit 6ae76640942269993c942861f0444088843e3fa1
Author: Vojtech Bubnik <bubnikv@gmail.com>
Date:   Fri Feb 5 11:14:48 2021 +0100

    EdgeGrid enhancement to accept both the open and closed lines.

commit 36a5efcd558bd5fd5f46b5f561387a2c73221553
Author: Vojtech Bubnik <bubnikv@gmail.com>
Date:   Fri Feb 5 10:52:14 2021 +0100

    EdgeGrid improvements: Documentation, one bug fix after recent refactoring.

commit 6f89da1f39
Author: tamasmeszaros <meszaros.q@gmail.com>
Date:   Thu Feb 4 20:31:50 2021 +0100

    Disable libicu for boost-regex

    Should have been disabled from the beginning

commit ffc77b1a72a0be9b5622fd33defeebb24bf07b34
Author: Vojtech Bubnik <bubnikv@gmail.com>
Date:   Thu Feb 4 18:40:33 2021 +0100

    EdgeGrid: Annotated those methods that do not work with open contours.

commit 8039a645b4bf0c46c99b90a9c34e7189d7442f86
Author: Vojtech Bubnik <bubnikv@gmail.com>
Date:   Thu Feb 4 18:28:21 2021 +0100

    Refactoring of EdgeGrid structure to support both closed and open lines.
2021-02-05 11:21:04 +01:00
Vojtech Bubnik
ab6cc7085e WIP Brim improvements:
Fix of connecting the brim polylines: Don't connect closed contours.
Some optimizations, documentation etc.
2021-02-04 15:48:36 +01:00
Vojtech Bubnik
d1dfbb31ab WIP: Fixing brim generator unit tests by disabling connect_brim_lines() 2021-02-04 13:59:59 +01:00
Vojtech Bubnik
3dd07dfd73 Fix of brim generator after refactoring. 2021-02-04 11:18:39 +01:00
Vojtech Bubnik
4cdcfe6005 DiffPresetDialog, non modal to compare two presets.
Added menu item "Window->Compare presets" to compare more than one type
of presets.
Code refactoring for PresetComboBox: Use suffix "modified" just for
PlaterPresetComboBox and TabPresetComboBox
Code refactoring. wxDataViewCtrl and related functions extracted from
DiffPresetDialog and UnsavedChangesDialog to the separate class
DiffViewCtrl
Code refactoring, Tab.cpp: Build all unregular pages on a first build of
the Printer Settings

Squashed commit of the following:

commit 91f45a8a2d97d252337c7306dd02db607fd79c00
Author: Vojtech Bubnik <bubnikv@gmail.com>
Date:   Thu Feb 4 09:34:29 2021 +0100

    Fixed after merge

commit 09aa502498b08c059ecdf334f5db1567739b4520
Merge: 6df8e83e1 0baa92fab
Author: Vojtech Bubnik <bubnikv@gmail.com>
Date:   Thu Feb 4 09:31:43 2021 +0100

    Merge remote-tracking branch 'remotes/origin/master' into ys_diff_dlg

commit 6df8e83e1af3ba096ac39d25985b6deb2e0a245b
Author: Vojtech Bubnik <bubnikv@gmail.com>
Date:   Thu Feb 4 09:29:53 2021 +0100

    Tiny beautification.

commit e781ceaaf7c39bc073476409cc02918d9f182930
Author: Vojtech Bubnik <bubnikv@gmail.com>
Date:   Wed Feb 3 18:05:19 2021 +0100

    Reworked copying of PresetBundles:
    1) Simplified by using the default copy constructors and copy operators.
    2) Made safer by not allowing PresetCollection and PhysicalPrinterPresetCollection
       to be copied or instantiated outside of PresetBundle.
    3) Fixed Preset::vendor pointers after copying PresetBundle.

commit a8f0b7aa5156465cdb3e3dbb86feb66a64bcebc0
Author: YuSanka <yusanka@gmail.com>
Date:   Mon Jan 25 16:13:53 2021 +0100

    DiffPresetsDialog: Show compatibility to print/printer presets selected in DiffPresetDialog

commit 597451f930a4330376966d8cf3350056d4f85a73
Merge: cce5b5710 59017a7da
Author: YuSanka <yusanka@gmail.com>
Date:   Thu Jan 21 12:14:48 2021 +0100

    Merge remote-tracking branch 'origin/master' into ys_diff_dlg

commit cce5b5710d1225c7eaa52d0abb4b3f66fbd3b6a1
Author: YuSanka <yusanka@gmail.com>
Date:   Thu Jan 21 12:11:40 2021 +0100

    DiffPresetDialog: Fixed crash on ASAN build

commit ad8d728d89d7a75c2ac136ea8cdbb730ab774cd9
Author: YuSanka <yusanka@gmail.com>
Date:   Wed Jan 20 16:38:28 2021 +0100

    FullCompareDialog improvements

commit 316bafbeec9bb63f731b653d296062d9e22dd02f
Author: YuSanka <yusanka@gmail.com>
Date:   Wed Jan 20 09:25:46 2021 +0100

    DiffPresetDialog improvements:
    * Update presets lists after save changes in edited preset or change printer_technology
    * Tab.cpp: Build all unregular pages on a first build of the Printer Settings

commit 01171c8ef50389d0801b0ccc5746ab0c3b731b11
Author: YuSanka <yusanka@gmail.com>
Date:   Tue Jan 19 17:26:28 2021 +0100

    DiffPresetDialog : improvements
    * This dialog is non-modal now
    * "Compare presets" menu item is moved from "View" to the "Window" menu group
    * Added info tooltips for the bitmap buttons between presets
    * Added "Show all presets" checkbox
    * Show full difference between printer presets with different count of extruders

commit 3d38b62f3c9de8aab352ed3bcff297d5c0239b2e
Merge: e50fe6de9 9a2310ae9
Author: YuSanka <yusanka@gmail.com>
Date:   Mon Jan 18 10:00:18 2021 +0100

    Merge remote-tracking branch 'origin/master' into ys_diff_dlg

commit e50fe6de984decadfef3d4b952f0eec8ab9e6670
Author: YuSanka <yusanka@gmail.com>
Date:   Sat Jan 16 02:27:24 2021 +0100

    DiffPresetDialog improvements
    Added menu item "View->Compare presets" to compare more than one type of presets

commit bf08b7c8c969ad0ca631b9eeac1bc231f474e72b
Author: YuSanka <yusanka@gmail.com>
Date:   Sat Jan 16 00:28:39 2021 +0100

    Code refactoring. wxDataViewCtrl and related functions extracted from DiffPresetDialog and UnsavedChangesDialog to the separate class DiffViewCtrl

commit 7aeb63032b0bc2bd06e60990c060008660a5c44f
Author: YuSanka <yusanka@gmail.com>
Date:   Fri Jan 15 21:35:43 2021 +0100

    DiffPresetDialog: first implementation

commit 2f23d5af9d6b5dd670dfb7d06eedbe0e6d2960c6
Author: YuSanka <yusanka@gmail.com>
Date:   Thu Jan 14 16:28:43 2021 +0100

    Code refactoring for PresetComboBox.
    Use suffix "modified" just for PlaterPresetComboBox and TabPresetComboBox
2021-02-04 09:42:32 +01:00
YuSanka
0baa92fab8 Localization: Added plural form for some phrases, updated POT 2021-02-03 21:30:38 +01:00
Yuri D'Elia
c6fa06579f Remove unneeded inclusion of boost::nowide 2021-02-03 20:41:04 +01:00
Vojtech Bubnik
73c9f939e0 Squash merge of lh_brim_rework,
brim separated to Brim.cpp,hpp
Refactored accessors to PrintObjectPtrs, PrintRegionPtrs, LayerPtrs,
SupportLayerPtrs for const correctness.
2021-02-03 15:12:53 +01:00
enricoturri1966
f939cac841 #5071 - Reload from disk for 3mf files 2021-02-01 14:33:07 +01:00
Vojtech Bubnik
a116914fce WIP VoronoiOffset: Squash merge of vb_voronoi_offset
Working contour offsetting,
skeleton_edges_rough() to detect "important" skeleton edges.
Radius of an inscribed circle along the "important" skeleton edges
changes slowly, therefore these "important" skeleton edges signify
oblong regions possibly needing a gap fill.
2021-01-29 16:34:22 +01:00
Lukas Matena
dc4bdad84a Fixed some more GCC warnings 2021-01-29 15:17:03 +01:00
Lukas Matena
2d32c80b75 Fixing GCC warnings 2 2021-01-29 10:46:52 +01:00
Lukas Matena
b5280fbed9 Fixing GCC warnings 1 2021-01-29 10:46:33 +01:00
Vojtech Bubnik
9c5dd358ab Fix of #4654 #5122 #5668 #5811 #5895
Fixing model import of models with nearly degenerate triangles, which
degenerate after transformation (translation or rotation).

There was certainly a bug in PrusaSlicer, however this bug was triggered
mostly by the ASCII STL files generated by OpenSCAD, likely due to insufficient
number of decimal digits when saving an ASCII STL, see
[openscad/openscad] STL export should contain single precision floats (#2651)
2021-01-28 19:00:01 +01:00
enricoturri1966
b178a1b04f 3mf export - Do not export unneeded space 2021-01-27 15:53:44 +01:00
enricoturri1966
d68489c7d7 3mf export - Removed export of duplicated line into model config file 2021-01-27 12:26:46 +01:00
David Kocik
c02385b115 missing ifdef 2021-01-27 10:58:52 +01:00
David Kocik
fa2568a5e3 Check loading of blacklisted dlls and show warning dialog at startup. Also show these dlls in sysinfo dialog. 2021-01-27 10:40:38 +01:00
Vojtech Bubnik
4f161607c7 Follow-up on dcec1fa74:
Commented out fuzzy_skin_shape for now, the parameter may be used
in the future, but for now we don't want the parameter to be stored
into configuration files.
2021-01-27 09:58:42 +01:00
Vojtech Bubnik
dcec1fa749 Commented out fuzzy_skin_shape for now, the parameter may be used
in the future, but for now we don't want the parameter to be stored
into configuration files.
2021-01-27 09:36:39 +01:00
Vojtech Bubnik
05f9910c8f Fixes after merge. 2021-01-27 09:35:39 +01:00
Vojtech Bubnik
7a6c038480 Refactoring of 3MF file export to use the new homebrewed miniz
streaming interface. This shall fix high memory consumption and
crashes when exporting extremely large 3MF files.
2021-01-27 09:18:17 +01:00
Vojtech Bubnik
55c698feef WIP: Exporting 3MFs through a streaming interface. 2021-01-27 09:18:16 +01:00
enricoturri1966
a897dd0504 Disabled tech ENABLE_GCODE_VIEWER_STATISTICS 2021-01-26 13:56:32 +01:00
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