Commit graph

2553 commits

Author SHA1 Message Date
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
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
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
Vojtech Bubnik
139b58a6f2 Adaptive Cubic infill with anchors: Trimming anchors with not only
with a neighbor T-joint line, but also with other crossing lines.
2020-11-06 08:56:53 +01:00
Vojtech Bubnik
239d588c5d 1) Implemented anchoring of infill lines to perimeters with length
limited anchors, while before a full perimeter segment was always
   taken if possible.
2) Adapted the line infills (grid, stars, triangles, cubic) to 1).
   This also solves a long standing issue of these infills producing
   anchors for each sweep direction independently, thus possibly
   overlapping and overextruding, which was quite detrimental
   in narrow areas.
3) Refactored cubic adaptive infill anchroing algorithm
   for performance and clarity.
2020-11-05 17:32:40 +01:00
Vojtech Bubnik
414fdaefc5 Merge remote-tracking branch 'remotes/origin/master' into lh_adaptive_infill_hooks 2020-11-03 15:07:38 +01:00
enricoturri1966
8af25f7771 Fixed post-processing of placeholders in gcode when not exporting remaining times 2020-11-03 12:26:48 +01:00
enricoturri1966
eff95bcdb2 Disabled tech ENABLE_CTRL_M_ON_WINDOWS 2020-11-03 09:07:23 +01:00
enricoturri1966
30481e1ea8 Tech ENABLE_CTRL_M_ON_WINDOWS [Experimental] to re-enable imgui dialog for settings of 3DConnexion devices (CTRL+M) on Windows 2020-11-03 08:41:04 +01:00
enricoturri1966
9dbc0c6ba2 #4395, #4701, #1336 - Added the ability to invert the scroll wheel when zooming 2020-11-02 13:08:13 +01:00
Vojtech Bubnik
9e545eba13 Fixed quadratic complexity of the time estimator post processor
with a constant complexity (amortized) code.
2020-10-30 09:13:04 +01:00
Vojtech Bubnik
5ccd9d9d9a Fixed previous commit for Linux/OSX 2020-10-29 13:16:32 +01:00
Vojtech Bubnik
2fd7c20a86 Workaround for missing or partially implemented std::from_chars() 2020-10-29 11:37:45 +01:00
Vojtech Bubnik
50b603df5d Optimized for reduced memory allocation and clarity. 2020-10-29 11:37:28 +01:00
Vojtech Bubnik
d2e5be89e3 Fix of Slicer image not good #4992
Tighter parsing of PrusaSlicer's own G-code annotations
to avoid clashes with comments inside user G-codes.

Also the GCodeReader was extended to return string_views instead
of copying a substring, and the GCodeProcessor was partially adapted
to string_views.
2020-10-29 10:51:51 +01:00
Vojtech Bubnik
bb74d2da5b Removed the dead code GCode/Analyzer.cpp,hpp to simplify code navigation. 2020-10-28 17:26:08 +01:00
Vojtech Bubnik
7b2aca0159 Removed the legacy GCodeTimeEstimator.cpp,hpp
It was difficult to navigate through the live code with the dead code
still available for full search.
2020-10-28 17:19:43 +01:00
Vojtech Bubnik
502aa42ac0 Removed FillRectilinear3, it was a dead end. 2020-10-28 13:33:22 +01:00
Vojtech Bubnik
afaa7a4cc2 Manual merge of Increased filament stats precision in generated gcode file #780 2020-10-28 10:46:59 +01:00
Vojtech Bubnik
7c571c1d9d Merge of pull request Add support for RepetierServer #4384 by @docbobo
with the following refactorings:

1) Removed the "printhost_slug" config from the Printer config
   and from all the Printer config related spots.
2) "printhost_slug" renamed to "printhost_port". Slug sounds nasty.
3) Improved error reporting of RepetierHost class.
4) Refactored for the new "Physical Printers"

Following refactorings were done independently of the Repetier pull request:
1) Removed PrintHost static print config.
2) Clean-up after conversion of print host configuration
   from Printer config to Physical Printer config.
3) Fixed some issues, where the Printer config was still queried for
   host configuration. Vojtech believes that this should not happen
   after the host configuration is converted to physical printers.

Vojtech still feels that more refactoring is needed in regard to porting
the host configuration from Printer profile to the new Physical Printer
profile.
2020-10-28 09:51:05 +01:00
enricoturri1966
0798fa8185 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-10-27 17:21:41 +01:00
enricoturri1966
128e4cff2d #4982 - Load config data when importing gcode produced by Slic3r and Slic3rPE 2020-10-27 17:18:15 +01:00
enricoturri1966
90c69e6bda #4986 - Fixed remaining print time and SD-percentage calculation not correct (replaces e14c122d12) 2020-10-27 15:50:04 +01:00
Vojtech Bubnik
06c16b085d Snapshots extended to capture and restore sla_print, sla_material,
physical_printers.
Updated the snapshots dialog to display sla_print and sla_material.
Updated the snapshots dialog to display physical_printer instead of
printer if the physical_printer key is nonempty.
The "physical_printer" key was moved from [extras] to [presets] section
of PrusaSlicer.ini
2020-10-27 12:48:31 +01:00
Vojtech Bubnik
751ae8e789 Fixed crash in monotonous infill due to some unexpected pinching
of the inner contour at a single vertical infill line without
pinching the outer contour.
2020-10-27 09:38:51 +01:00
tamasmeszaros
969ca98b52 Revert "Require minimum version 5.0 of CGAL"
This reverts commit f3327adf49.
2020-10-26 14:41:23 +01:00
tamasmeszaros
f3327adf49 Require minimum version 5.0 of CGAL 2020-10-26 14:30:44 +01:00
enricoturri1966
e14c122d12 Fixed percentage value exported into gcode M73 lines 2020-10-26 11:44:38 +01:00
Vojtech Bubnik
ce020781d3 Refactored loading of Get/SetThreadDescription() on Windows:
These new API functions are not available on Windows 7 and on older Windows 10,
thus they are newly loaded dynamically and the functions using it retur
a bool indicating whether the functionality is supported or not.
Also the OSX variants that are not supported newly return false instead
of throwing an exception.

Fixes #4972 #4974
2020-10-26 08:09:17 +01:00
Vojtech Bubnik
e1f6bb4a92 Follow up on Add G10 temperature G-code support for the RepRapFirmware flavour.
Reduced copy / paste.
2020-10-24 17:32:30 +02:00
David Kocik
64f6499db5 Fix of empty error string. No testing errors for boost::filesystem::permission. 2020-10-23 18:35:32 +02:00
David Kocik
8b647ab41b fix of copy_file_inner 2020-10-23 15:36:32 +02:00
Lukas Matena
8cd13803ca Updated the G10 RepRapFirmware pull request to current master 2020-10-23 13:27:45 +02:00
Lukas Matena
18f72d82b9 Merge branch 'pa_reprap_g10_temperature_support' of https://github.com/ardenpm/PrusaSlicer into lm_g10 2020-10-23 11:42:35 +02:00
David Kocik
cb2f751aed missing header 2020-10-23 11:19:31 +02:00
David Kocik
115cbd4650 aditional information to FAIL_COPY_FILE error message and changed bools controlling Export finished notification 2020-10-23 10:18:14 +02:00
Lukas Matena
5670f5ffb0 Fix couple of build issues on gcc 2020-10-23 07:51:58 +02:00
Vojtech Bubnik
9a4376ddc6 Fix of previous commit 2020-10-22 17:54:32 +02:00
Vojtech Bubnik
b1b7a5ad1b Fix of ironing invalidation. Fixes
Ironing flag ignored on infill rotate #4937
Ironing does not take effect when you change Top Fill Pattern. #4900
Ironing layer not shown in preview when settings are changed #4510
2020-10-22 17:36:51 +02:00
YuSanka
0f9faeda98 Fixed conversion from/to imperial units for objects with parts/modifiers 2020-10-22 15:45:17 +02:00
Vojtech Bubnik
d8f45ff1d8 Workarounds and documentation of OSX posix incompatibilities 2020-10-22 14:57:50 +02:00
Vojtech Bubnik
723406dfea Workaround for OSX non-compliant implementation of
pthread_getname_np / pthread_setname_np
2020-10-22 14:45:15 +02:00
Vojtech Bubnik
0d2c31d0e4 and again a fix on Windows 2020-10-22 14:35:20 +02:00
Vojtech Bubnik
6e2a5419cc Fixes of previous commit on Posix platforms 2020-10-22 14:29:40 +02:00
Vojtech Bubnik
81b6883710 Thread names shortened to 15 characters to fit Posix norm.
Added get_current_thread_name()
2020-10-22 14:11:08 +02:00
Vojtech Bubnik
6531061d09 Support for naming slicer own threads for debugging.
The following threads are named with this commit:
slic3r_main, slic3r_BackgroundSlicingProcess,
slic3r_tbbpool_xx_yy where xx is a one based index of the TTB thread
and yy is the platform thread ID.
2020-10-22 13:54:15 +02:00
enricoturri1966
844ec8447d ENABLE_PAN_ROTATE_SCENE_IN_GIZMOS set as default 2020-10-22 11:01:30 +02:00
Vojtech Bubnik
70e44c3e8e Fixed definition of psSlicingFinished to fix notification updates
after the slicing finishes.
2020-10-21 14:00:56 +02:00