Commit Graph
100 Commits
Author SHA1 Message Date
bubnikv fca7c8abfe Fixed compilation and test cases. 2018-03-28 19:47:26 +02:00
bubnikv 33e1108f65 Background processing in C++, WIP. 2018-03-28 17:05:31 +02:00
bubnikv 8639df1cfd Removed an incorrectly placed status line update, causing stack
overflow in unit tests.
2018-03-26 11:21:53 +02:00
bubnikv eed15c459b Use asynchronous wxWidgets messages when posting between threads. 2018-03-23 17:39:19 +01:00
bubnikv 5063c15442 Fixed automatic tests. 2018-03-23 16:00:00 +01:00
bubnikv e931f75010 Work in progress: Good bye, Perl Threads! 2018-03-23 11:41:20 +01:00
bubnikv 86b79f89ad Removed BonjourBrowser.pm, SectionCut.pm and the associated
command line section cut tool.
2018-03-20 21:09:54 +01:00
bubnikv abbfac0404 Modified the Triangles / Stars / Cubic infill types to lessen overfill
along the perimeters:
Only the two first hatching lines (0 and 60 degrees) will be connected
along the perimeter lines. The 3rd hatching direction will not.
Inspired by a fix done by @alexrj.
2018-03-19 16:51:43 +01:00
bubnikv ebf0ef48f1 Extended the Cooling Buffer G-code filter to remove repeated
G1 Fxx entries to reduce the G-code size and printer stutter.
Fixes https://github.com/prusa3d/Slic3r/issues/448
2018-03-19 16:38:32 +01:00
bubnikv bfc9678839 why is strlen() defined by different include on different systems? 2018-03-16 19:26:13 +01:00
bubnikv f353b098e5 Missing include on Linux/GCC 2018-03-16 19:11:08 +01:00
bubnikv 34a0f87395 Fixed the previous commit on Linux: The older GCC we are using
on our Debian build server does not support C++11 <codecvt>,
so the utf8 to utf16 conversion was replaced with Boost counterparts.
2018-03-16 18:56:01 +01:00
bubnikv 0bd9918643 Implements SPE-159 "substitute accented letters with non-accented ones" 2018-03-16 18:20:47 +01:00
bubnikv efeda3dcdc Merge branch 'mesh_repair' 2018-03-16 13:36:58 +01:00
bubnikv 9ae2fa6621 Removed Perl Slic3r::GUI::Notifier module.
The Growl for OSX is dead and the D-bus support for Linux/X was broken.
2018-03-16 13:13:27 +01:00
bubnikv 63a98269bb Merge branch 'master' into mesh_repair 2018-03-16 12:33:53 +01:00
bubnikv e162c47167 Removed some dependencies on Perl IO module. 2018-03-16 12:07:54 +01:00
bubnikv a38cbac312 Removed the LWP and Growl Perl dependencies. 2018-03-16 11:56:37 +01:00
bubnikv 1b23f9cd6e Fixing compilation errors: A non-const reference does not accept
a temporary variable.
2018-03-16 10:04:42 +01:00
bubnikv 4f0c6dd879 Reworked the fix of #784 for efficiency and robustness:
First, the same direction segments are chained as before, but this time
the remaining open polylines are collected to be processed in the 2nd step.

Second, the remaining open polylines are connected by a greedy algorithm
disregarding their original orientation. As the orientation of loops
created by the 2nd step is mixed, the orientation of these loops is
unknown, therfore a CCW orientation is enforced. The CCW heuristics
may fill holes and cavities, but no outer geometry will be lost.
2018-03-15 17:14:13 +01:00
bubnikv 888b480250 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2018-03-15 11:07:15 +01:00
bubnikv 75230a790c Prusa specific Config Bundle: Commented out the config values,
which this Slic3r version does not understand yet.
Fixes https://github.com/prusa3d/Slic3r/issues/795
2018-03-15 11:06:33 +01:00
bubnikv 61ae78432c Removed the unsupported "pillars" support pattern. 2018-03-14 20:08:34 +01:00
bubnikv 4351187ce5 Fixed Print::validate() to allow for objects protruding below the print bed.
The part of the object below the print bed will simply not be sliced.
This fix also fixes integration tests, which often work with boxes
centered around (0,0,0).
2018-03-14 18:16:17 +01:00
bubnikv 5812ca06d6 Fixed ctest on Windows (should call Perl's prove.bat, not just prove) 2018-03-14 18:09:31 +01:00
bubnikv 7c027ee2ff Removed the old Prusa specific config bundles. 2018-03-14 16:44:29 +01:00
bubnikv b62f721ea6 Replaced the Prusa specific config bundles with a single PrusaResearch.ini,
so the Wizard will now offer just a single file. This file was copied
from the profile_inheritance branch to test the new profile hierarchy
before the branch gets merged into the master.
2018-03-14 16:30:51 +01:00
bubnikv 757b0788ae Merge branch 'master' of https://github.com/prusa3d/Slic3r 2018-03-14 16:16:18 +01:00
bubnikv ab654f6319 Merge branch 'scene_manipulators' 2018-03-14 16:15:26 +01:00
bubnikv b43a21d1be Extended Print::validate() to check, whether the objects
are inside the print volume.
2018-03-14 16:11:57 +01:00
bubnikv de2d08f626 Update of G-code preview colors by Jindra. 2018-03-14 15:00:12 +01:00
bubnikv 08bea91197 Merge remote-tracking branch 'remotes/origin/3mf_io' 2018-03-14 13:35:51 +01:00
bubnikv 56c2267d19 Merge branch 'gui_improvements' 2018-03-14 13:33:53 +01:00
bubnikv 83a2d2af4b Separated the soluble settings from the printer profiles. 2018-03-08 12:27:20 +01:00
bubnikv 4e58c9dab9 Split the 0.25mm and 0.6mm nozzle parameters from the printer profiles. 2018-03-07 18:30:58 +01:00
bubnikv f0fde26295 Implemented inheritance of profiles inside a config bundle.
Updated the Prusa's presets to match the initial flat config bundle.
2018-03-07 16:48:28 +01:00
bubnikv 77e142553a First take on the config inheritance / config hierarchy. 2018-03-06 21:50:12 +01:00
bubnikv 4a90ab1f6a Merge branch 'octoprint' 2018-03-06 11:39:44 +01:00
bubnikv e26ccfc247 Fixed compilation on Windows,
removed debugging menu and debugging output.
2018-03-06 11:39:24 +01:00
bubnikv 51da42734a Merge remote-tracking branch 'origin/http+build' 2018-03-06 10:15:17 +01:00
bubnikv b897209e0d Removed -DCURL_STATIC on OSX,
added dynamic linking of OpenSSL on Linux, even if libcurl is linked
statically.
2018-03-05 18:02:47 +01:00
bubnikv 3c64eb9215 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2018-03-05 15:31:32 +01:00
bubnikv 5ea584280c Merge remote-tracking branch 'remotes/origin/gui_improvements' 2018-03-05 12:12:40 +01:00
bubnikv 91b5853aa3 Merge remote-tracking branch 'remotes/origin/gui_change_extruders_color' 2018-03-05 11:47:13 +01:00
bubnikv ed7c02d578 Disabled the CMake BOOST debugging. 2018-03-02 23:11:57 +01:00
bubnikv 15dbeff0c9 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2018-03-02 18:15:15 +01:00
bubnikv 777bcf5865 Enabled Boost_DEBUG in CMake to get some debug info when something
goes wrong.
2018-03-02 18:14:19 +01:00
bubnikv edb756c084 Refactored the gyroid infill. 2018-02-23 18:32:35 +01:00
bubnikv 2edb96062e Removed the Perl Preferences dialog,
fixed the CMake after the GUI merge.
2018-02-23 15:53:16 +01:00
bubnikv 69fc99edbb Merge remote-tracking branch 'remotes/origin/gui_translate_to_cpp' 2018-02-23 15:32:13 +01:00
bubnikv 68c51be130 Merge remote-tracking branch 'remotes/origin/mesh_repair' 2018-02-23 14:38:37 +01:00
bubnikv d0df673c82 Merge remote-tracking branch 'remotes/origin/time_estimate' 2018-02-23 14:34:01 +01:00
bubnikv 8fb443522b Merge remote-tracking branch 'remotes/origin/gcode_preview' 2018-02-23 14:33:16 +01:00
bubnikv c3d7be5994 Merge remote-tracking branch 'remotes/origin/3mf_io' 2018-02-22 18:57:07 +01:00
bubnikv acce8dbff6 A workaround of the dreaded Intel HD Graphics driver issue at least
on the laptop of @roesel.
fixes https://github.com/prusa3d/Slic3r/issues/672

The Intel HD Graphics hangs on the glFinish() call for some reason
with one particular graphics driver revision. Also the glFinish() call
was superfluous and it only may have had negative effect over the performance.

Both glFinish() and glFlush() were removed for performance reasons
where they were not needed, see
https://www.khronos.org/opengl/wiki/Common_Mistakes
2018-02-22 18:56:37 +01:00
bubnikv 8dd5fe83fc Humbly re-added the BedShapeDialog.pm. Even though we have a C++
implementation now, the Perl BedShapeDialog.pm is used by the wizard.
2018-02-16 17:20:34 +01:00
bubnikv 7436d58045 Merge remote-tracking branch 'origin/gui_translate_to_cpp' 2018-02-16 11:38:11 +01:00
bubnikv 4ee620b57d Fixed Perl dependencies after some obsolete modules were removed. 2018-02-15 18:41:37 +01:00
bubnikv f876946358 Merge remote-tracking branch 'origin/gui_translate_to_cpp' 2018-02-15 18:32:51 +01:00
bubnikv 39100068c1 Removed the Perl Tab & BedDialog as they were replaced by their C++
counterparts.
2018-02-15 18:16:19 +01:00
bubnikv f1840a52db Merged the C++ port of the GUI Tabs / OptionGroup / Option classes
by @YuSanka, thanks @lordofhyphens for the initial port
of the OptionGroup / Option.
2018-02-15 18:13:37 +01:00
bubnikv b695089bc4 Merge remote-tracking branch 'remotes/origin/3mf_io' 2018-02-15 17:02:47 +01:00
bubnikv 1fa3ffbf83 Fixed a bug, when a color selection popped up when clicking
on the print or printer combo box icon.
2018-02-15 16:41:26 +01:00
bubnikv 4a35fd655c Disable some of the G-code preview controls for the old 3D path preview,
re-enable them when the G-code preview is ready.

Resurrected the old logic to automatically switch to the tool preview
for a multi-material print, and to switch automatically to the feature
preview for a single material print.
2018-02-15 16:30:35 +01:00
bubnikv f9cdda7bfd Delayed loading of the opengl texture for the G-code preview legend,
as the opengl context may not be ready on some platforms (Linux)
at the time the window gets its focus for the first time.

Changed the G-code preview invalidation to trigger when the print
gets invalidated. At that time the 3D path preview switches to the old
preview, if there is anything valid left.
2018-02-15 14:37:53 +01:00
bubnikv b5bdb46268 Added logging of the G-code export. 2018-02-14 22:25:09 +01:00
bubnikv 7f51b07f69 First take on restoring the old 3D path preview before the G-code preview is ready 2018-02-14 21:59:33 +01:00
bubnikv ff3ae40aeb Fixed compilation issues caused by the previous commits 2018-02-14 21:57:46 +01:00
bubnikv 2caba92623 GCode/PreviewData.cpp,hpp has been split from GCode/Analyzer.cpp,hpp 2018-02-14 20:38:03 +01:00
bubnikv b1f5e7e8fa Removed the GCodePreviewData from the Print class, it does not belong here,
as the GCode is generated outside of the Print class.
Exported the GCodePreviewData as GCode::PreviewData to Perl.
When exporting the G-code with a command line Slic3r,
the GCodeAnalyzer is now supressed for performance reasons.
Removed obsolete Perl module Slic3r::GUI::Plater::3DToolpaths.
2018-02-14 20:35:59 +01:00
bubnikv 3a6436f6f0 Split the GCodePreviewData from the GCodeAnalyzer,
as in the next step the GCodePreviewData will be exported to Perl.
2018-02-14 18:42:09 +01:00
bubnikv f38e0f2b4f Merge branch 'gcode_preview' 2018-02-14 13:29:57 +01:00
bubnikv 6e80a9111c Reworked the plater UI messages to standard wxWidgets wxCommandEvent
messages to support receiving status line updates from the C++ code.
2018-02-13 18:31:34 +01:00
bubnikv 6cf8264362 Re-enabled $combochecklist_features->UseAltPopupWindow(), without this
line the combo box popup was not reacting to mouse events on Windows 10.
2018-02-13 17:46:23 +01:00
bubnikv 030fc9c320 Merge branch 'master' into gcode_preview 2018-02-13 14:55:54 +01:00
bubnikv a5e48cdf4d Merge branch 'master' of https://github.com/prusa3d/Slic3r 2018-02-13 11:19:34 +01:00
bubnikv e7f05f8516 Fix of "Crash while trying to slice with a raft" #686
This was an issue specific to multi-material print with raft
and no support.
2018-02-13 11:18:58 +01:00
bubnikv 81a80ebd61 Synchronized the GCodeSender with the upstream Slic3r, thanks @alexrj.
Fixes https://github.com/prusa3d/Slic3r/issues/654
2018-02-12 20:44:06 +01:00
bubnikv 6f92424bab Fix of https://github.com/prusa3d/Slic3r/issues/709
A regression error has been introduced into Slic3r 1.38.xx series
for the float/percent config value, where the value was considered
unchanged if the percent sign has been added or removed.
2018-02-12 19:06:05 +01:00
bubnikv 47d904a628 Changed the Slic3r coordinate type from long to int32 to match
the point type on Windows / Linux / OSX
to achieve the same behavior on all the 32 / 64bit systems.
(Windows always treats the long as 32bit int, while Linux treats
long as a 64bit int).
2018-02-12 18:16:10 +01:00
bubnikv adc9e749c4 Clipper should always throw clipperExceptions, not strings. 2018-02-12 16:34:39 +01:00
bubnikv 0571d22d5f Fix of https://github.com/prusa3d/Slic3r/issues/707
This is a crash due to the recommended thin wall thickness hint.
2018-02-12 15:37:42 +01:00
bubnikv ea9920e5d6 Fix of Negative Feedrates: G1 F-3.84007e+006 stops smoothie
The problem was caused by the gap fill algorithm, which worked
with square extrusion width values as with rounded extrusion widths,
which sometimes lead to negative extrusion cross sections
for high height to width ratios.

The extrusion width logic has been changed to consider the input width
to be the extrusion spacing, not the extrusion width. The change certainly
removed the negative feed rates, but it also certainly increased the gap
fill width to some exent. It needs to be verified now, whether the gap fill
does not extrude too much.

https://github.com/prusa3d/Slic3r/issues/677
2018-02-02 19:48:16 +01:00
bubnikv b4483fdcbd Fix of "Conditional gcode with "<=" condition fails"
https://github.com/prusa3d/Slic3r/issues/683
2018-02-02 11:49:09 +01:00
bubnikv 8932055ed5 Fixed spelling of Elephant foot compensation from Elefant to Elephant.
Unfortunately the settings is out in the wild, so we did not fix
the spelling of the config value name.
2018-02-02 11:38:30 +01:00
bubnikv c9887e13bb Merge branch 'master' of https://github.com/prusa3d/Slic3r 2018-02-02 11:32:52 +01:00
bubnikv 36bbd6a73f Fix of https://github.com/prusa3d/Slic3r/issues/696 2018-02-02 11:32:32 +01:00
bubnikv 4f427f8387 Updated the bundled Slic3r profiles to match the current stable release
profiles, adjusted the speed / acceleration / jerk limits to match
the current MK3 firmware.
2018-02-02 10:51:08 +01:00
bubnikv a1705c093b Renamed Tab.h to Tab.hpp 2018-01-23 11:42:04 +01:00
bubnikv 91c7bc43d3 Added new files missing from the previous commit. 2018-01-23 11:37:45 +01:00
bubnikv 09c9f6bdc3 Added TabIface C++ wrapper for GUI::Tab C++ class,
exported the TabIface to Perl.
2018-01-23 11:37:19 +01:00
bubnikv 1d10a2293a Example implementation of C++ to Perl callbacks using wxWidgets command events. 2018-01-21 23:35:00 +01:00
bubnikv ea8b3a5dc0 Will clang & gcc eat it now? 2018-01-21 22:23:59 +01:00
bubnikv f529269f62 GCC requires explicit conversion from wxString to std::string. 2018-01-21 22:04:57 +01:00
bubnikv a78fa58b51 Fix compilation on OSX 2018-01-21 21:56:20 +01:00
bubnikv 28c929f14d Replaced UTF8 characters in string literals with \uxxxx.
Replaced std::make_unique with Slic3r::make_unique to support old C++11
compilers.
2018-01-21 21:42:06 +01:00
bubnikv 8add843ee8 Temporary, or maybe not so temporary fix to handle empty
post processing scripts.
2018-01-21 21:08:30 +01:00
bubnikv fec1fcdca8 Separated the Marlin G-code flavor from the RepRap G-code flavor
due to the differences in the M203 code
(RepRap firmware has it in mm/min, Marlin in mm/sec).
This difference is important to the G-code time estimator.

Changed the g-code flavor to Marlin for all Prusa3D bundled profiles.
2018-01-06 18:49:28 +01:00
bubnikv 60a6e7ba8e Included the velocity, acceleration and jerk settings into the Prusa3D
printer profiles.
2018-01-06 15:23:02 +01:00
bubnikv 7012c04005 Updated the printer profiles. 2018-01-06 15:06:21 +01:00