Commit Graph

2174 Commits

Author SHA1 Message Date
Enrico Turri
78d1d83583 Merge branch 'master' of https://github.com/prusa3d/Slic3r into gcode_preview 2018-03-21 08:39:41 +01:00
Chow Loong Jin
a32281c268 Fix format-security violations (#802)
croak() expects printf-style format strings. Calling croak(e.what()) directly
causes compilations to fail with -Werror=format-security
2018-03-21 08:38:33 +01:00
Lukas Matena
0fc2da5a32 Wipe tower generator should now work for more than 4 extruders (actual number extracted from wiping_volumes_matrix) 2018-03-20 15:45:11 +01:00
Lukas Matena
a782424d5f Wipe tower generator connected to purging volumes from the configuration layer 2018-03-20 15:07:18 +01:00
Lukas Matena
a923062167 Purging volume dialog improved and connected to configuration layer 2018-03-20 13:50:51 +01:00
Enrico Turri
f99aaa1191 Out of bed detection - New colors for out of bed state 2018-03-20 13:01:50 +01:00
Enrico Turri
1f3f109263 Out of bed detection - Fixed false detection due to float precision 2018-03-20 09:31:42 +01:00
Enrico Turri
99f7bd90db Merge branch 'master' of https://github.com/prusa3d/Slic3r into gcode_preview 2018-03-20 08:33:53 +01:00
YuSanka
f72bb89521 Reset to system value works for Extruders too 2018-03-19 17:21:37 +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
Lukas Matena
76b280c64c Removed parameter 'wipe_tower_adhesion', it will always be true 2018-03-19 15:53:49 +01:00
Lukas Matena
349a8a88ae Bug fix: speed for finish_layer was not properly set 2018-03-19 15:35:31 +01:00
Lukas Matena
e41eff9186 Wiping volumes options temporarily added to Print Settings 2018-03-19 15:30:54 +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
YuSanka
7e6887cca8 Completed UI for system value changes 2018-03-16 17:25:11 +01:00
Lukas Matena
3d6f6530c0 Merge branch 'master' into wipe_tower_improvements 2018-03-16 14:06:23 +01:00
Lukas Matena
b556cec42d Got rid of wipe_tower_advanced option 2018-03-16 13:58:58 +01:00
YuSanka
7f5bfe3ddc First visualization of system value changes 2018-03-16 12:56:03 +01:00
bubnikv
63a98269bb Merge branch 'master' into mesh_repair 2018-03-16 12:33:53 +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
Vojtech Kral
c88d2780ce Octoprint (#796)
* Octoprint: GUI for CA file, improvements

* Octoprint: Add GUI for Bonjour lookup, bugfixes

* Octoprint: Bonjour browser: Cleanup Perl interaction

* Octoprint: Bonjour: Perform several broadcast, UI fixes

* Octoprint: Add files to localization list

* Http: Disable CA File setting on SSL backends that don't support it
2018-03-15 18:06:26 +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
Lukas Matena
e864238609 Merge branch 'project_specific_config' into wipe_tower_improvements 2018-03-15 14:05:45 +01:00
Lukas Matena
67009d80fd Ramming parameters reduced to one and connected to the wipe tower generator again 2018-03-15 14:04:12 +01:00
YuSanka
d97a8f5740 Merge remote-tracking branch 'origin/master' into profile_changes_reset 2018-03-15 10:24:54 +01:00
YuSanka
c3ec40c3cc Added prototype of an "Undo to system" button 2018-03-15 09:55:31 +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
YuSanka
a41e55a773 Merge remote-tracking branch 'origin/profile_inheritance' into profile_changes_reset 2018-03-14 16:34: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
Lukas Matena
9f18b639a8 Added filament_ramming_parameters and filament_ramming_buttons into configuration layer 2018-03-14 15:48:37 +01:00
YuSanka
639f2bc2f3 Update m_initial_extruders_count after preset changing 2018-03-14 15:38:54 +01:00
YuSanka
15b2522ed9 Update "fill_density" to initial preset value instead of to 40% 2018-03-14 15:10:16 +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
e680658cf5 Fixed selection of sensible active print / filament / printer profile
after the initial wizard run.
2018-03-14 13:29:50 +01:00
bubnikv
1969a8b2c1 Fixed crash on start of the application in case there is no
profile available.
2018-03-14 13:12:17 +01:00
bubnikv
5f28b89ae0 Added a project specific config to the PresetBundle class.
This project specific config will be stored into the config.ini,
into .3mf and .amf and .gcode,
and recover it from the same files.
2018-03-14 11:54:11 +01:00
YuSanka
6d5d38eb6a Fixed bug_2 with update infill parameters 2018-03-14 11:45:31 +01:00
YuSanka
d9e2e37da7 Fixed bug with update infill parameters 2018-03-14 10:14:48 +01:00
YuSanka
30f6e33656 Completed update of frequently changed parameters 2018-03-13 16:14:36 +01:00
Lukas Matena
cf5dfb9673 Started to move ramming dialog into filament settings 2018-03-13 15:54:29 +01:00
Enrico Turri
10572717ca Merge branch 'master' of https://github.com/prusa3d/Slic3r into gcode_preview 2018-03-13 14:52:58 +01:00
Enrico Turri
1ae8684af1 Modified TriangleMeshSlicer::make_loops() to fix #784 2018-03-13 13:32:50 +01:00
bubnikv
729d879b0e Added the Prusa's vendor specific Config Bundle.
Added the "unlocked lock" icon when the system profile gets modified.
2018-03-13 09:45:04 +01:00
Vojtech Kral
bd61c233a5 CMake target to generate the main pot file (#786) 2018-03-12 20:38:47 +01:00
YuSanka
5bb736daf2 Infill(Plater) updates with Infill (Print Settings).
*Updated some fuctions
2018-03-12 16:52:21 +01:00
bubnikv
30c859ac7f Added a lock icon to the list of filaments, added some
helper methods to PresetBundle.
2018-03-12 16:04:32 +01:00
Lukas Matena
27ab8ff4e1 Configuration layer changes (cooling_time, bridging, adhesion moved from dedicated dialog to filament/print settings) 2018-03-12 15:41:25 +01:00
Vojtech Kral
58788ef43a MSVC: Fix run and debug project settings (#771)
* MSVC: Fix run and debug project settings

* MSVC: Fix CMake infinite loop
2018-03-12 09:39:32 +01:00
Lukas Matena
b5fd4ddb8c Removed an unnecessary wait 2018-03-12 08:35:35 +01:00
YuSanka
e8adbd7303 First prototype of adding of UI for frequently changed parameters 2018-03-09 18:34:30 +01:00
YuSanka
d5e136a6d5 Fixed bug with updating of the value of "Wipe while retracting" CheckBox. 2018-03-09 17:17:51 +01:00
bubnikv
f55becd43c Introduced the system profiles.
The Config Wizard now just copies the Vendor's Config Bundle
into user_dir/vendor/ directory and Slic3r uses the configs
from the bundles found in user_dir/vendor directly.
2018-03-09 16:37:33 +01:00
Enrico Turri
d68804772a GCode Preview - Added handling of G10 and G11 commands 2018-03-09 15:27:38 +01:00
Lukas Matena
1c6fa6660e Merge branch 'master' into wipe_tower_improvements 2018-03-09 15:10:15 +01:00
Enrico Turri
50d74dfd20 Out of bed detection - Fixed compile on MacOS 2018-03-09 14:50:25 +01:00
Enrico Turri
7a2df9f54f Out of bed detection - Volumes' layer texture rendering moved to cpp 2018-03-09 14:33:44 +01:00
Lukas Matena
6e39f61198 Priming extrusions, nozzle-wipes when leaving tower, removed few unnecessary moves 2018-03-09 12:40:39 +01:00
Enrico Turri
bdd2d725c8 Out of bed detection - 1st installment 2018-03-09 10:40:42 +01:00
YuSanka
419721ce22 Fixed bug with highlighting of modified parameters after changing the profile 2018-03-09 08:34:32 +01:00
Lukas Matena
8340a71f88 Lots of unnecessary code removed, minor refactoring changes 2018-03-08 16:44:52 +01:00
YuSanka
9ebb0f27c1 Fixed bugs with spiral_vase and standby_temperature_delta 2018-03-08 16:33:38 +01:00
YuSanka
418e083781 Fixed Linux build 2018-03-08 14:01:14 +01:00
YuSanka
986ee50437 Completed UI to visualize changes and to reset to initial value 2018-03-08 11:58:06 +01:00
Enrico Turri
124c37641d Merge branch 'master' of https://github.com/prusa3d/Slic3r into gcode_preview 2018-03-08 08:36:55 +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
Lukas Matena
f5cf181372 Sparse infill repositioned always to the same side 2018-03-07 15:34:12 +01:00
YuSanka
38dca8396f Updated back_to_initial_value and fixed some bugs for Extruders 2018-03-07 15:25:24 +01:00
Lukas Matena
76aa134f66 Ramming lines that would end unsupported are made longer to reach to the edge 2018-03-07 11:44:47 +01:00
Enrico Turri
fe59958ea8 GCode Preview - Unified preview data ranges to ensure proper paths colors 2018-03-07 09:17:59 +01:00
Lukas Matena
e1922cb2c5 Supressed preview on unloadingmoves 2018-03-07 08:55:53 +01:00
Lukas Matena
af281e13db Last wipe on layer accounts of border and sparse infill (ugly, yet working) 2018-03-06 19:14:12 +01:00
YuSanka
dd7712d4d3 Fixed bug with case-sensitive name of icon (for Linux build) 2018-03-06 14:58:51 +01:00
YuSanka
254e311593 Delete background color changing (except of MSW) 2018-03-06 13:34:39 +01:00
YuSanka
d0d83526b4 Merge remote-tracking branch 'origin/master' into gui_improvements 2018-03-06 12:47:20 +01:00
YuSanka
3caf54c359 Undo buttons work 2018-03-06 12:34:20 +01:00
Enrico Turri
d91f59379b GCode Preview - Fixed values in range labels of legend texture 2018-03-06 12:12:00 +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
Enrico Turri
9f7607c064 3mf I/O - Fixed object sinking into bed after import 2018-03-06 10:26:39 +01:00
bubnikv
51da42734a Merge remote-tracking branch 'origin/http+build' 2018-03-06 10:15:17 +01:00
YuSanka
4547755221 Update UI for visualize changes:
* Added changing of text color and inserted undo_button when some option is modified.
* Call wxSetlocale(LC_NUMERIC, "C") when do language changing.
2018-03-06 09:46:26 +01:00
Enrico Turri
7320a87183 Merge branch 'master' of https://github.com/prusa3d/Slic3r into 3mf_io 2018-03-06 08:35:28 +01:00
Vojtech Kral
ca0f6131a1 WIP: Bonjour: TXT + improvements 2018-03-05 18:33:15 +01:00
Vojtech Kral
fc05eb898d WIP: Bonjour 2018-03-05 18:33:15 +01:00
Vojtech Kral
7cfc5204c8 WIP: OctoPrint 2018-03-05 18:33:15 +01:00
Vojtech Kral
79ee7c9a36 Fix #608 Credit: Dylan "smellyfis" Thies 2018-03-05 18:32:09 +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
Lukas Matena
6c223c2f84 Fixed cooling time calculation, removed unnecessary diagonal moves, fixed 'stringing' on start and end of narrower wipe tower layers 2018-03-05 16:51:31 +01:00
Vojtech Kral
751e86cd4d libcurl linking and cmake usage improvements 2018-03-05 16:31:24 +01:00
Vojtech Kral
14929e9d15 Http client via libcurl 2018-03-05 15:52:17 +01:00
bubnikv
3c64eb9215 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2018-03-05 15:31:32 +01:00
Lukas Matena
4058f00275 Added print head moves after ramming and removed one unnecessary diagonal move 2018-03-05 13:53:49 +01:00
bubnikv
5ea584280c Merge remote-tracking branch 'remotes/origin/gui_improvements' 2018-03-05 12:12:40 +01:00
Enrico Turri
352d5d0baa Merge branch 'master' of https://github.com/prusa3d/Slic3r into 3mf_io 2018-03-05 11:53:15 +01:00
bubnikv
91b5853aa3 Merge remote-tracking branch 'remotes/origin/gui_change_extruders_color' 2018-03-05 11:47:13 +01:00
Enrico Turri
802579ad20 Fixed crash while exporting to .amf and .gcode files (#753) - (improves previous fix: d4f1ed0036) 2018-03-05 10:53:18 +01:00
Lukas Matena
5aca3045b9 (Un)loading speed and delay introduced into wipe tower generator 2018-03-05 10:45:35 +01:00
Enrico Turri
f0ec8c0967 Merge branch 'master' of https://github.com/prusa3d/Slic3r into 3mf_io 2018-03-05 08:41:45 +01:00
YuSanka
f750abb9db Refactor load_config() function 2018-03-04 15:21:01 +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
Lukas Matena
b3e9b82280 (Un)loading speed and time delay parameters introduced into GUI and conf. layer (not yet into wipe tower generator) 2018-03-02 15:52:16 +01:00
YuSanka
2a378f6590 Fixed problem with changing extruders color 2018-03-02 13:41:37 +01:00
Lukas Matena
e1421da5e8 Integrating cooling tube parameters into wipe tower generator 2018-03-02 13:26:16 +01:00
YuSanka
222368f7e8 Start of realization UI to visualize changes 2018-03-02 09:08:11 +01:00
Lukas Matena
d2006c8d8e Cooling tubes parameters added into GUI and configuration layer (not yet into wipe tower generator) 2018-03-01 16:15:00 +01:00
Lukas Matena
1d787a15a0 Fix for win builds 2018-03-01 09:57:51 +01:00
Lukas Matena
c76c075569 Yet another attempt to fix Win builds 2018-03-01 09:19:34 +01:00
Lukas Matena
b1b16359d9 Changes in includes in order to fix Win builds 2018-03-01 08:43:43 +01:00
Lukas Matena
9ea803b000 Attempts to fix OSX and Win builds 2018-02-28 19:53:32 +01:00
Lukas Matena
a62ad3323f First naive implementation of wipe tower settings dialog 2018-02-28 16:04:56 +01:00
YuSanka
751c97c503 Localize the Plater tab
* Marking and translation of Plater tab are complited
* GUI.pm is marked to l10n
* Fix small bug with Extruder adding at Printer Settings tab
2018-02-28 15:41:35 +01:00
Enrico Turri
0e896e48e4 3mf I/O - Added import and export of modifiers 2018-02-28 12:11:41 +01:00
Enrico Turri
8cd42966d6 Merge branch 'master' of https://github.com/prusa3d/Slic3r into 3mf_io 2018-02-28 11:45:23 +01:00
Enrico Turri
0ec68eb35b Fix for issue #661 (ExPolygons generation) 2018-02-28 11:41:04 +01:00
Enrico Turri
ecac4ab175 3mf I/O - Added import and export of object's and volume's name 2018-02-27 15:46:54 +01:00
Enrico Turri
2a2bdaa0e0 3mf I/O - Added import and export of object's and volume's config data 2018-02-27 10:49:51 +01:00
YuSanka
0596660dda Fix bug with not displaying flags for incompatible presets 2018-02-27 09:51:14 +01:00
Lukas Matena
3099c32d08 GUI - reenabling rotation angle settings for the wipe tower (was disabled by the merge with master) 2018-02-27 08:56:11 +01:00
YuSanka
7047f4365a Update localization:
* 2D.pm, 3DPreview.pm, PreviewData.cpp are marked by L()
* use translating function in 3DScene.cpp
2018-02-26 16:23:44 +01:00
YuSanka
e05493bd90 Fixed wrong printing of recommended_thin_wall_thickness_description_line 2018-02-26 13:57:36 +01:00
YuSanka
f3f78ebc5a Fix #742 2018-02-26 09:57:08 +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
YuSanka
d61295eb10 Added Preferences files 2018-02-23 14:55:27 +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
YuSanka
baa5726532 All project is ready to localization.
* Macro _LC is changed to _CHB. [to put translated string into std::string correctly]
* Macro _LS is changed to L.    [to mark string to translation]
* Standard wxWidgets macro _() is used for translation now.
* Updated POfile for EN
2018-02-23 14:25:49 +01:00
bubnikv
c3d7be5994 Merge remote-tracking branch 'remotes/origin/3mf_io' 2018-02-22 18:57:07 +01:00
Enrico Turri
52eb6f6bcf Remove .zip from file extension on import to avoid having it added again and again when exporting 2018-02-22 15:27:32 +01:00
YuSanka
bc97184c63 Fixed #735 & PresetHints.cpp is marked to localization
* Macro _LC is created to put translated string into std::string correctly.
* Macro _LU8 is changed to function L_str.
* Created function from_u8
2018-02-22 14:19:41 +01:00
Lukas Matena
d17229efd5 Gyroid infill - minor correction for standard-conforming compilers 2018-02-22 12:00:24 +01:00
YuSanka
3d805a0f43 PreferencesDialog moved to C++ part 2018-02-22 11:12:29 +01:00
Lukas Matena
5f5a59328b Minor refactoring, actualized comments, etc. 2018-02-22 11:03:29 +01:00
Merill
d59bb027eb Gyroid infill type (#733)
Gyroid infill type.
2018-02-22 09:56:05 +01:00
Lukas Matena
5a02bde170 Fix of merge conflict and uninitialized variables in writer class 2018-02-22 09:28:31 +01:00
Enrico Turri
81eff20ad1 GCode Preview - Added Custom extrusion role + extended layers range for GCode preview 2018-02-22 08:59:47 +01:00
Lukas Matena
de92f45eaf Merge with master 2018-02-21 13:22:51 +01:00
Lukas Matena
5ca0a2f37d Parametrized toolchanges, experiments with sparse wipe tower, etc 2018-02-21 13:07:32 +01:00
Enrico Turri
36601723a2 4th attempt to fix JIRA SPE-26 (Feature types on MAC) 2018-02-20 15:22:30 +01:00
Enrico Turri
23b1c8f1d2 3rd attempt to fix JIRA SPE-26 (Feature types on MAC) 2018-02-20 14:44:00 +01:00
Enrico Turri
26409cbade 2nd attempt to fix JIRA SPE-26 (Feature types on MAC) 2018-02-20 14:25:40 +01:00
YuSanka
23f96e30c3 Fixed wrong saving of "percent or millimeters" parameters 2018-02-20 12:30:13 +01:00
Enrico Turri
a569de44b6 1st attempt to fix JIRA SPE-26 (Feature types on MAC) 2018-02-20 11:40:15 +01:00
YuSanka
6ad38f80fb Language configuration is saved now in AppConfig instead of wxConfig. 2018-02-20 08:58:46 +01:00
Enrico Turri
eeada56c1f 1st attempt to fix JIRA SPE-22 (wrong file export on MAC) 2018-02-19 15:33:01 +01:00
YuSanka
f5ae470e5e Completed translation to Ukrainian.
* Signs of degree are returned to UTF-8 in PrintConfig.
* Changed _LU8 macro. It's translated now like string explicitly specified as a string is already in UTF-8 encoding.
2018-02-19 15:32:22 +01:00
Enrico Turri
d4f1ed0036 Fixed crash while exporting MultiMaterial 2018-02-19 13:46:36 +01:00
Enrico Turri
7375f6a6f5 Fixed camera shifting after generating gcode 2018-02-19 11:28:56 +01:00
YuSanka
c6ff5ccbf4 Updated TextCtrl::BUILD() 2018-02-19 09:15:15 +01:00
YuSanka
867e867cdd Merge remote-tracking branch 'origin/master' into gui_translate_to_cpp 2018-02-19 08:41:41 +01:00
YuSanka
f330eb9567 Fixed set_value() bug. Fixed Infill density.
* Got rid of try/catch at PointCtrl::set_value().
* Optimized localization: got rid of redundant macro _LU8(s).
2018-02-19 00:01:11 +01:00
fsantini
ac904b2731 Error messages in parsing variables (#722)
Making error messages more clear when a vector or scalar is found in macro parsing, and the other type is expected.
2018-02-16 17:27:50 +01:00
YuSanka
4d9eac0750 Fix porting Tab.title() from cpp to Perl 2018-02-16 15:49:18 +01:00
YuSanka
12b9a513c1 Escape from try/catch in Tab and OptionsGroup
* Deleted  macro _LU8 from GUI.hpp. It's used only in Option class now.
* Added macro _LS to mark string used at localization (It returns same string)
2018-02-16 15:41:33 +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
YuSanka
59cee4a3aa Thanks @stelgenhof Corrected units of measure that had exponents displayed with caret. 2018-02-15 18:06:37 +01:00
YuSanka
e0933786e3 Marked string used at localization.
* Correct save changed color
2018-02-15 17:30:33 +01:00
bubnikv
b695089bc4 Merge remote-tracking branch 'remotes/origin/3mf_io' 2018-02-15 17:02:47 +01:00
Enrico Turri
1489b9901b Added workaround into admesh stl_fix_normal_directions() function to prevent meshes to be broken by the repairing process (fixes #716, #574, #413, #269, #262, #259, #230, #228, #206) 2018-02-15 16:10:47 +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
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
Enrico Turri
dcc667cdc7 AMF I/O - Fixed error messages 2018-02-14 15:52:39 +01:00
Enrico Turri
f5f27859e0 AMF I/O - Embedded config data + zip formatting 2018-02-14 14:30:03 +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
YuSanka
39fae3777c Marked all informative strings by macros _L and _LU8. 2018-02-13 16:05:53 +01:00
Enrico Turri
bacb36eb10 3mf - Fixed include for Linux build 2018-02-13 15:33:45 +01:00
Enrico Turri
8885f5e344 3mf import/export of config data 2018-02-13 15:19:55 +01:00
bubnikv
030fc9c320 Merge branch 'master' into gcode_preview 2018-02-13 14:55:54 +01:00
YuSanka
752d089814 Fixed Issue #478 2018-02-13 13:39:20 +01:00
Enrico Turri
f4522cd2fc GCode Preview - Customizable extrusion role colors by editing 3DPreview.pm 2018-02-13 13:16:23 +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
Enrico Turri
e77111bf98 Fixed crash when importing .prusa files 2018-02-13 10:25:55 +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
YuSanka
77bac4c17a Fixed wrong filling of TextControl, when value is double. 2018-02-12 15:29:21 +01:00
Enrico Turri
3f006dc11a GCode Preview - Added objects and wipe tower transparent shells 2018-02-12 09:04:05 +01:00
YuSanka
badeb2f64c Save language preset.
* Added global variable g_local_dir to get "localization" directory.
* Chage/Set language works correctly now.
* Probably, fixed work on Linux
2018-02-12 08:57:32 +01:00
YuSanka
d18a200b0f Fix biuld on Linux a OSX 2018-02-09 12:07:59 +01:00
YuSanka
abcfd5bad9 Implemented Application recreate after changing of language.
* Implementation of C++ to Perl callbacks from menu item Localization.
* Added global variable g_tabs_list to control existing Tabs.
2018-02-09 11:04:34 +01:00
Enrico Turri
33553e1c50 3mf Exporter - 1st installment 2018-02-08 13:26:50 +01:00
YuSanka
43aa1680cb Added menu item for selection of application language from the list of installed languages.
* m_Local and its functions moved to GUI.cpp.
* Strings in some files(GUI.cpp, Tab.cpp, Tab.hpp & Field.cpp) marked by _L() macro.
* Updated mo-files for En and Uk languages.
2018-02-08 10:58:13 +01:00
YuSanka
28115a847c First steps for implementing localization
* Created mo-files for Ukrainian and English languages
* For this moment it works only on BedShapeDialog.
2018-02-07 17:13:52 +01:00
Enrico Turri
0d6a013658 GCode Preview - Coloring by tool 2018-02-07 09:07:37 +01:00
YuSanka
407f50a66f Deleted on more EVT_NOTEBOOK_PAGE_CHANGE hangling of TabPanel 2018-02-06 14:53:38 +01:00
Enrico Turri
6ff9021e04 GCode Preview - Legend texture shown only when gcode is available 2018-02-06 12:43:25 +01:00
YuSanka
6bff67a865 First experiments with wxLocale 2018-02-05 16:12:16 +01:00
Enrico Turri
593d794655 Merge branch 'master' of https://github.com/prusa3d/Slic3r into gcode_preview 2018-02-05 13:28:10 +01:00
Enrico Turri
6e14e6ef17 Merge branch 'master' of https://github.com/prusa3d/Slic3r into 3mf_io 2018-02-05 13:18:56 +01:00
Enrico Turri
f9dd251276 GCode Preview - Added feature type for wipe tower 2018-02-05 13:16:08 +01:00
YuSanka
a72184684c Fix compilation on Linux and OSX 2018-02-05 12:49:23 +01:00
YuSanka
2d3c2dc595 Fix of #696 in cpp's Tabs,
using changes from commit 36bbd6a
2018-02-05 11:03:13 +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
Enrico Turri
f20beeab7a 3mf Importer - fixed Linux build (makefile) 2018-02-02 15:03:06 +01:00
Enrico Turri
fe8dfb9c9b GCode Preview - fixed Linux build (include in GUI.cpp) 2nd attempt 2018-02-02 13:56:25 +01:00
Enrico Turri
556c9c236f GCode Preview - fixed Linux build (include in GUI.cpp) 2018-02-02 13:28:37 +01:00
Enrico Turri
a5c4751718 GCode Preview - void wxCheckListBoxComboPopup::OnListBoxSelection(wxCommandEvent& evt) fixed for OsX and Linux 2018-02-02 12:58:31 +01:00
Enrico Turri
787a5f1715 GCode Preview - New Layout 2018-02-02 12:38:35 +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
YuSanka
d9521fe733 One more try to fix compilation on OSX 2018-02-01 12:09:09 +01:00
YuSanka
e375a0d5ac Try fix compilation on OSX 2018-02-01 10:39:27 +01:00
YuSanka
46c39d6ef7 Try fix compilation on OSX 2018-02-01 10:24:12 +01:00
YuSanka
33280b7069 Next try fix compilation on OSX 2018-02-01 10:01:05 +01:00
YuSanka
d414c6e118 Fix compilation on OSX & Linux 2018-02-01 09:29:07 +01:00
YuSanka
733c85936b Eliminated the g-code pop up text description
(switch Enable of Tooltip to false,
when clicking mouse left button inside the control).
2018-01-31 16:46:17 +01:00
YuSanka
54dbc916a8 Fixed strange behavior of Text- and Spin- control on KillFocus event 2018-01-31 14:59:44 +01:00
Enrico Turri
c550ad2268 GCode Preview - Travel moves colored by speed 2018-01-31 11:35:35 +01:00
Enrico Turri
d2d2a3fa8e speed in mm/s 2018-01-31 10:34:00 +01:00
Enrico Turri
29853a3a45 GCodeTimeEstimator - Added move statistics log (for debug purpose) 2018-01-30 13:18:21 +01:00
YuSanka
667ffa6101 Added changes missing from the previous commit. 2018-01-30 12:13:55 +01:00
YuSanka
7d29a7b45a BedShapeDialog and Bed_2D (as a part of it) are completed.
Added new_scale function to Polyline.
Fixed small bug in PointCtrl.
Extended change_opt_value for coPoints case.
2018-01-30 12:10:12 +01:00
Enrico Turri
475f892413 3mf Importer - 1st installment 2018-01-30 09:27:10 +01:00
Enrico Turri
893201d3d9 3mf Importer - Added miniz library 2018-01-30 08:48:58 +01:00
YuSanka
f90ea5060d Fixed performance of preset switching. 2018-01-27 17:39:00 +01:00
YuSanka
8c7a56d4ea Eliminated the g-code pop up text description.
Fixed correct writing of TextCtrl values.
2018-01-27 14:21:16 +01:00
YuSanka
6ef5e6bd3d Deleted Perl's Tabs,
but still printer preset switching work very slowly.
2018-01-26 03:24:01 +01:00
YuSanka
4056978731 Implementation of C++ to Perl callbacks from Browse & Test buttons. 2018-01-26 01:44:34 +01:00
YuSanka
4d234e90ae Some modifications:
- Added no_controller to create_preset_tab().
- Small changes in Tab"Setting" constructor.
2018-01-25 21:45:39 +01:00
YuSanka
fced9a85ec Merge remote-tracking branch 'origin/master' into gui_translate_to_cpp 2018-01-25 13:59:15 +01:00
YuSanka
f0b035059a Merge with bibnikv.
Added some functions to TabIface.
Added BedShapeDialog & Bed2D classes.
Added new_scale to Polygon.
In class Field: Point renamed to PointCtrl and added set_value for PointCtrl, extended get_value for Choice.
2018-01-25 13:46:04 +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
Enrico Turri
be63cb7d12 Merge branch 'master' of https://github.com/prusa3d/Slic3r into gcode_preview 2018-01-19 08:49:11 +01:00
YuSanka
bd113ea882 Extended load_config and deleted call of CallAfter,
because of in some cases it causes undate() function to be recalled again.
2018-01-18 16:36:26 +01:00
YuSanka
5162cddd5e Added SavePresetWindow dialog. 2018-01-18 11:45:25 +01:00
Enrico Turri
6591620200 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2018-01-18 09:16:37 +01:00
Enrico Turri
d34f3ffc83 Fix for #574, #413, #269, #262, #259, #230, #228, #206 2018-01-18 09:15:04 +01:00
Enrico Turri
a417cf955d GCode Preview - Code cleanup 2018-01-17 10:39:05 +01:00
YuSanka
d6568f9ce7 To Tab added functions to save/delete/upload presets...
Changed m_options OptionsGroup from const t_optiondef_map& to std::map<t_config_option_key, Option>.
2018-01-16 16:28:01 +01:00
Enrico Turri
c63e6b74fa GCode Preview - Added legend texture 2018-01-16 14:59:06 +01:00
YuSanka
636af8933c Added class ogStaticText to the static text shown among the options.
Fixed bugs in Tab.
2018-01-15 12:13:05 +01:00
YuSanka
8e0cd35c23 Merge remote-tracking branch 'origin/master' into gui_translate_to_cpp 2018-01-14 21:58:21 +01:00
YuSanka
bd02174f40 Fixed a bug in "on_change_OG" 2018-01-14 21:52:55 +01:00
YuSanka
2809b4b2b5 Added "update", "update_serial_ports" & "extruders_count_changed" for TabPrinter.
Extended "build" for TabPrinter.
2018-01-12 17:16:59 +01:00
YuSanka
d3b4dbf8bc Added "update" for TabFilament.
Added "reload_compatible_printers_widget" and extended "load_key_value" for Tab.
Extended "change_opt_value" in GIU
2018-01-12 12:41:13 +01:00
Enrico Turri
9e0dd2a96a fix-attempt to build on linux and osx 2018-01-12 11:42:50 +01:00
Enrico Turri
cc1aaceea6 fixed compile on linux and osx 2018-01-12 11:09:53 +01:00
Enrico Turri
f62c66f460 merge with master 2018-01-12 10:26:01 +01:00
Enrico Turri
2cbde291e4 Merge branch 'master' of https://github.com/prusa3d/Slic3r into gcode_preview 2018-01-12 10:18:06 +01:00
Enrico Turri
473bd024fe removed debug code 2018-01-12 08:55:55 +01:00
Enrico Turri
a8a4c11b5b New algorithm for GLVolumes generation and reuse of already generated geometry 2018-01-11 14:09:54 +01:00
YuSanka
3567981089 Complited "update" for TabPrint.
!->It's one unresolved problem - dlg->ShowModal() call update().
Added "get_field" at Tab & Page.
Extended "change_opt_value"
Extended "get_value" to Choise.
2018-01-11 10:33:17 +01:00
Enrico Turri
bbc9a0abe6 Parallelization of extrude path render geometry generation 2018-01-10 13:43:00 +01:00
YuSanka
129bd898cd Extended "get_value" to Choice & TextCtrl fields.
Extended "change_opt_value".
2018-01-09 13:52:01 +01:00
YuSanka
59432d50ff To OptionsGroup added "reload_config" to reload configurations after changes in any fields & "get_config_value" to get current option value from config.
In Field extended "set_value" to Choice.
In PrintConfig added default_value to "post_process".
2018-01-09 09:41:07 +01:00
Enrico Turri
6a744238b9 Added preview of retractions and unretractions 2018-01-08 16:05:01 +01:00
Enrico Turri
c9839dd7cc Merge branch 'master' of https://github.com/prusa3d/Slic3r into gcode_preview 2018-01-08 13:45:57 +01:00
Enrico Turri
0f4bec8af0 gcode preview - first installment - wip 2018-01-08 13:44:10 +01:00
Enrico Turri
e94491ee8c GCodeTimeEstimator - Fixed _simulate_st_synchronize() 2018-01-08 13:23:54 +01:00
Enrico Turri
aeca5def00 GCodeTimeEstimator - Added credits for CuraEngine 2018-01-08 12:27:18 +01:00
Enrico Turri
dfcb502ef4 GCodeTimeEstimator - Fixed square roots of negative numbers 2018-01-08 12:17:39 +01:00
fredizzimo
ad5fcce6e4 Fix environment variable setting on Windows (#674)
The previous way of checking that _putenv_s is defined does not work,
because _putenv_s is a function and not a define. This is a partial
application of commit 31115e0369747b1e1c45cbe3f2a90f6dff66666a from
alexrj/Slic3r.

I tried cherry picking the whole commit, but unicode is already handled
diffrently here, so that would have been a lot of work.
2018-01-07 22:20:02 +01:00
YuSanka
16458e070a get_option moved from Tab to ConfigOptionsGroup and extended. Added change_opt_value to changing option value in config 2018-01-07 18:41:40 +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
eaac587467 Merge remote-tracking branch 'origin/time_estimate' 2018-01-06 15:04:57 +01:00
YuSanka
e62c17bddf "on_change" function call correctly work now. Start adding of Tab::update().
It's need to think about config->set_key_value(...): at cpp side it's non-trivial.
2018-01-05 15:11:33 +01:00
Enrico Turri
ae0688f351 GCodeTimeEstimator - added processing of commands M221 (Set extrude factor override percentage) 2018-01-05 10:35:04 +01:00
Enrico Turri
69e3ea6581 GCodeTimeEstimator - simulate firmware st_synchronize() for commands G4, G92, M1 2018-01-05 09:46:09 +01:00
bubnikv
696d420dc8 New feature: Recommended object thin wall thickness hint. 2018-01-04 15:38:06 +01:00
Enrico Turri
3f57e20235 GCodeTimeEstimator: refactoring of forward and reverse passes on blocks 2018-01-04 13:00:34 +01:00
Lukas Matena
37bbeeb9d0 Parametrization of ramming and loading sequence - first steps 2018-01-04 12:03:06 +01:00
bubnikv
011281df86 Fix of the Spiral Vase after the GCodeReader rework.
A patch of the GCodeTimeEstimator to avoid crashes. This is not a final fix though.
2018-01-03 21:55:32 +01:00
bubnikv
998157fc9b Fixed an issue with vsprintf and on demand buffer allocation.
Improved the GCodeReader to support spaces before the G-code.
2018-01-03 20:53:39 +01:00
bubnikv
9d98a27b98 Fix of compilation on OSX and Linux. By the standard, a temporary
value cannot be passed to a reference.
2018-01-03 17:57:37 +01:00
bubnikv
b292554fd8 Optimized the GCodeReader.
Fixed the profiling build.
2018-01-03 17:29:49 +01:00
YuSanka
f8a48f5c13 Start adding functions to work with presets 2018-01-03 10:12:42 +01:00
bubnikv
0e4ecfaf56 Fix of time estimator (int abs used instead of float abs) 2018-01-02 13:29:40 +01:00
YuSanka
72d1f51146 Correct adding of extruder_pages 2018-01-02 12:50:27 +01:00
bubnikv
fec05d430b Fixed a typo in fprintf 2018-01-02 11:14:22 +01:00
bubnikv
02256e900f Merged the branch time_estimate 2018-01-02 10:57:30 +01:00
bubnikv
0de0e4ff41 Bumped up the version number. 2018-01-02 10:34:32 +01:00
bubnikv
4c35d98d7d Bumped up the version number. 2017-12-29 21:21:26 +01:00
bubnikv
f58d66fe5e Disabled the object auto centering by default. 2017-12-29 21:17:30 +01:00
YuSanka
838a0885fe Fixed code review issues 2017-12-26 23:04:54 +01:00
YuSanka
61247fe8d3 Filling the Filament's and Printer's Tabs. Finished. It's need to adding functions to work with presets 2017-12-26 18:12:05 +01:00
YuSanka
67f2469e70 Filling the Print's Tab. Finished. It's need to adding functions to work with presets 2017-12-26 18:12:05 +01:00
YuSanka
281fd26e06 Filling the Print's Tab. Continued. All Controls are on they own places. It's need to adding only SideWidget 2017-12-26 18:12:04 +01:00
YuSanka
67b9b1b273 Filling the Print's Tab. Continued. All labels are on they own places, but still without Controls 2017-12-26 18:12:04 +01:00
YuSanka
d60fac42d6 Start filling the Print's Tab, using @lordofhyphens's Optionsgroup 2017-12-26 18:12:04 +01:00
YuSanka
c5e21c1fbf First steps 2017-12-26 18:12:03 +01:00
Lukas Matena
180967484e Correction of wipe tower brim generation 2017-12-22 11:26:43 +01:00
bubnikv
5cf9cd5395 Bumped up the build version. 2017-12-21 21:07:43 +01:00
bubnikv
48ba7e5f73 Removed dependency on Perl Encode::encode_utf8. 2017-12-21 20:11:19 +01:00
bubnikv
3addeb57b4 Fix of "Program crashes when [Suppress "- default -" presets:] is DISABLED"
https://github.com/prusa3d/Slic3r/issues/643
2017-12-21 19:19:07 +01:00
bubnikv
1eef6d3552 Improved error reporting of the PlaceholderParser. 2017-12-21 17:07:57 +01:00
bubnikv
f5160b7a72 Fixed "Slic3r crashes when sending STLs with special characters to the printer"
https://github.com/prusa3d/Slic3r/issues/597
The "Send to OctoPrint" function will now send the file name encoded
in UTF-8, so the file name will not get mangled.

The C++ Slic3r::encode_path() function was returning a string to Perl,
which was marked as UTF-8. This has been fixed, now encode_path() returns
a plain Perl string.

Added path_to_filename, path_to_stem, path_to_extension, path_to_parent_path
Perl wrappers to boost::filesystem::path splitting functionality
to be able to split UTF-8 encoded files on Windows correctly.
2017-12-21 16:56:33 +01:00
Lukas Matena
c6718c94bf Merge fix 2017-12-21 14:24:47 +01:00
Lukas Matena
4583d62edd Merge branch 'master' into wipe_tower_improvements 2017-12-21 13:47:33 +01:00
Lukas Matena
b7a326a550 First attempts of variable wipe implementation, sparse infill modified to sawtooth 2017-12-21 13:28:26 +01:00
bubnikv
1bf67b4b62 Added boost::regex to cmakelists. 2017-12-20 22:13:19 +01:00
bubnikv
fed5128b7f Reverted regex to boost::regex as the C++11 regex seems to be broken
on Linux/gcc 4.9.
2017-12-20 21:54:47 +01:00
bubnikv
8acd51fc62 Replaced boost::regex with std::regex. 2017-12-20 18:25:53 +01:00
bubnikv
b2ba4ee34c Fixes volumetric speed "Hint-Text" ignores "First Layer Speed"
and "Extrusion multiplier" #641
Implements first layer speed adjustments.
2017-12-20 14:51:18 +01:00
bubnikv
4572fe69de Fix of a regression update issue of the "modified" flag
at the active profile, specific to OSX.
https://github.com/prusa3d/Slic3r/issues/632
2017-12-20 13:46:43 +01:00
bubnikv
7142126609 Grey out the compatible_printers_condition edit field in case
the compatible_printers list is non empty.
Changed the precendence of compatible_printers_condition over
compatible_printers. Now compatible_printers has precedence.
2017-12-20 13:32:02 +01:00
bubnikv
c8d14fb617 The wipe tower generator does not call start_filament_gcode when
returning from a wipe tower and the particular wipe tower layer
is only sparsely filled without a tool change.
https://github.com/prusa3d/Slic3r/issues/642
2017-12-20 12:03:54 +01:00
bubnikv
558a0753c1 Improved loading of the config wizard results.
Fixed some updates of the "compatible with printer" flags
at the print and filament presets.
2017-12-20 11:28:16 +01:00
bubnikv
0b6bd3cbde Implemented a "Reset user profile" on the first page of the configuration
wizard if the wizard is opened from the menu. This allows one
to reinstall the bundled printer profile cleanly.

Fixed a bug when loading a config bundle as a config: The config bundle
should not be unpacked into the user profile directory.
2017-12-19 19:51:22 +01:00
bubnikv
a402b1b83d Implemented <,>,<=,>=,or,and,||,&& operators. 2017-12-19 16:48:14 +01:00
Enrico Turri
b2eb522f55 GCodeTimeEstimator - clean up unused code 2017-12-19 09:29:04 +01:00
bubnikv
6b81f43206 First implementation of the "compatible_printers_condition"
for the print and filament profiles.
Added documentation for building the boost library for Slic3r on Linux.
2017-12-18 15:07:38 +01:00
bubnikv
bb61de8379 Fixed a regression error: The "current_extruder" identifier was not set
at the placeholder parser.
Implemented a new PlaceholderParser::evaluate_boolean_expression()
functionality to evaluate just a boolean expression using the full
expressive power of the macro processing syntax. This function
will now be used for deciding, which print or filament preset
is compatible with which printer preset.
2017-12-18 12:14:09 +01:00
bubnikv
bbfb9a4190 Added regex matching operators to the conditional G-code processor
in a form similar to Perl:

Following expression returns true, if the variable matches the regex:
	variable =~ /regex/
Following expression returns true, if the variable does not match the regex:
	variable !~ /regex/
2017-12-15 17:14:24 +01:00
bubnikv
4bbe328117 Config wizard will prompt user to copy the profiles from Slic3r to Slic3rPE
if the datadir is left to the default value (which is Slic3r),
and Slic3rPE directory exists.
2017-12-14 13:47:22 +01:00
bubnikv
d65835f89b Improvement of region classification numerical stability.
The Clipper library is not stable when calcuating offsets of contours
with holes. Replaced a single call of offset2 with offset_ex(offset_ex()).
This is not the most efficient solution, but it fixes this problem.
Fixes https://github.com/prusa3d/Slic3r/issues/456
2017-12-14 13:26:44 +01:00
bubnikv
cdab27d337 Enabled a long wipe when moving away from the wipe tower
to reduce stringing.
2017-12-14 09:50:38 +01:00
bubnikv
d30c154e79 Reverted the introduction of the "presets" subdir to store
the print/filament/printer profiles.
The change has been reverted to support the upstream slic3r
using the --datadir. While there are breaking changes
in the PlaceholderParser, if the new macro processing is not used,
the two slic3rs are still mostly interchangeable.

The "presets" subdir may be enabled with the SLIC3R_PROFILE_USE_PRESETS_SUBDIR
and it may happen, that it will be activated one day if ever the two
slci3rs diverge too much.
2017-12-14 09:40:45 +01:00
Enrico Turri
0fe855cd6d Time estimate shown in GUI as formatted string / Write to file made by class GCode's private methods 2017-12-14 09:18:28 +01:00
bubnikv
08b74f8caf Fix of the wipe tower priming towers. The priming towers were printed
at the homing height on the MK2MM printer, not at the 1st layer height.
2017-12-13 15:35:00 +01:00
bubnikv
d47dc5da3e Fixed update of "dirty" profile when the "compatible_printers"
option appears (filter is active) or disappears (no filter active,
compatible with any printer).
2017-12-13 14:44:27 +01:00
bubnikv
21b4e62e6e Fixed handling of print and filament presets incompatible
with the newly selected print profile,
fixed loading of print and filament tab pages after the print or filament
preset has been changed to be compatible with a newly selected printer.
2017-12-13 14:00:14 +01:00
bubnikv
91e847cb76 Yet another fix for https://github.com/prusa3d/Slic3r/issues/607.
Use EPSILON to match two layers by their floating point Z height.
2017-12-13 10:32:25 +01:00
Enrico Turri
20234c94ee GCodeTimeEstimator - added retract_acceleration, minimum_travel_feedrate members and process of M201 gcode 2017-12-12 13:44:52 +01:00
bubnikv
74cb74f1fc Increased maximum allowed temperature to 1500 centigrades as someone
is seemingly uses Slic3r to print glass :-)
https://github.com/prusa3d/Slic3r/issues/629
2017-12-12 13:43:36 +01:00
bubnikv
743fc9dbd0 Workaround for buggy Intel HD Graphics OpenGL drivers:
Fall back to OpenGL 1.1 by a "use_legacy_opengl" preferences switch.
https://github.com/prusa3d/Slic3r/issues/233
https://github.com/prusa3d/Slic3r/issues/268
https://github.com/prusa3d/Slic3r/issues/619
2017-12-11 18:00:51 +01:00
bubnikv
61e6f23ed2 Fix of
"Multimaterial printer switches filament at the wrong time during a print"
https://github.com/prusa3d/Slic3r/issues/607

There was a single layer between the raft top and the object first layer
missing on the wipe tower, and after this missing layer all the tool
changes were shifted by one layer, meaning two color print had the colors
switched.
2017-12-11 17:19:55 +01:00
Enrico Turri
e199d0532c GCodeTimeEstimator - added process of G92 gcode 2017-12-11 15:15:21 +01:00
Enrico Turri
34a0a2cb5e GCodeTimeEstimator - added process of M82 and M83 gcodes 2017-12-11 14:03:29 +01:00
Enrico Turri
50a45949d1 merge with master 2017-12-11 12:01:30 +01:00
Enrico Turri
bea9628be0 time estimation shown in GUI after gcode export 2017-12-11 11:11:54 +01:00
bubnikv
1938828520 Slic3r version was not set by the placeholder parser.
https://github.com/prusa3d/Slic3r/issues/615
2017-12-11 09:31:29 +01:00
Enrico Turri
a0a503e4a8 integration of time estimator into gcode export - save time estimation into gcode file 2017-12-11 09:06:29 +01:00
bubnikv
679aa2822c Moved the Slic3rPE/print,filament,printer folders to
Slic3rPE/presets/print,filament,printer
to separate the presets from further data stored into the Slic3rPE
directory.
2017-12-10 22:11:00 +01:00
bubnikv
657f2734f1 Extended the Config Wizard to offer a selection of config bundles
bundled with Slic3r installation, and install it into user's Slic3r profile.
These bundled config bundles will be contained in the Slic3r source
tree under Slic3r/resources/profiles.

Breaking change! The Slic3r user directory has been renamed to Slic3rPE
for the Prusa Edition. Also it is likely, that the Slic3rPE directory
will be reorganized before the final 1.38 release to reserve space
for temporary profiles downloaded from the Internet.
2017-12-10 13:19:44 +01:00
bubnikv
9a80ff57b2 Improved robustness of handling preset files stored into a wrong location.
Fixes https://github.com/prusa3d/Slic3r/issues/616
2017-12-09 18:48:21 +01:00
bubnikv
8509e4b5f5 Fixes regression error introduced in Slic3r 1.38.2:
Slic3r 1.38.3 gcodes not building up bed temperature
https://github.com/prusa3d/Slic3r/issues/614
2017-12-09 16:39:49 +01:00
bubnikv
f0e154d54c Bumped up the build version. 2017-12-09 15:49:43 +01:00
Enrico Turri
092d271fa2 time estimator wip stage 2 2017-12-08 10:50:36 +01:00
Lukas Matena
87c67636df Extrusion flow calculation based on nozzle diameter etc 2017-12-07 11:59:14 +01:00
bubnikv
75dcdb84b1 Fix of a crash due to the way how the presets are sorted and searched
for in the PresetCollection: The 1st preset is always the "-- default --"
even if there are some presets starting with an ASCII character lower than '-'.
https://github.com/prusa3d/Slic3r/issues/603
2017-12-06 16:47:53 +01:00
Enrico Turri
bc3d184d7c time estimator wip 2017-12-06 14:12:10 +01:00
bubnikv
7892dfd53c Fixed a regression bug in G-code export, where ferror was called on
released FILE structure.
2017-12-05 18:40:46 +01:00
bubnikv
0a2be9d7bf Fixed compilation on unices. 2017-12-05 17:52:12 +01:00
bubnikv
c34ec9b7d3 PlaceholderParser: Improved error reporting https://github.com/prusa3d/Slic3r/issues/600
Fixed '+' operator for strings.
2017-12-05 17:38:29 +01:00
bubnikv
8746f84fa2 Improved error reporting of the PlaceholderParser.
The PlaceholderParser is currently used by the GCode.cpp
and by Printer.cpp to generate a new name for the exported G-code or SVG file.
The PlaceholderParser::process() will throw a runtime_error with
a comprehensive error message.
The G-code export will include these error messages into the G-code text
with !!!!!! separators, and the GUI will inform the user, that the G-code
export failed.
2017-12-05 15:54:24 +01:00
Lukas Matena
c34fd10e23 Wipe tower rotation around center point 2017-12-05 11:25:38 +01:00
bubnikv
1244fd09eb More efficient utf8 parser for the PlaceholderParser. 2017-12-04 18:22:42 +01:00
bubnikv
fb1bebd982 PlaceholderParser: simplistic extension to parse UTF8 characters
in the G-code and string constants.
Solves https://github.com/prusa3d/Slic3r/issues/600
2017-12-04 17:42:35 +01:00
bubnikv
2b0b8e6e68 Removed the hard-coded priming line when
both single_extruder_multi_material and wipe_tower are enabled,
and the print prints with a single extruder only.

Newly the same situation will be handled through a conditional G-code
in the following format:

{if not has_wipe_tower}
; Do the priming
{endif}
2017-12-04 11:57:54 +01:00
bubnikv
8af329e660 Added Perl to C++ interfaces for creating the preset editor pages
from C++ and to add debugging menus from C++. These lightweigth
interfaces should help new team members to hack the UI without
a Perl knowledge.
2017-12-04 10:48:40 +01:00
bubnikv
16bd3fc624 Fixed an extruder ordering bug on the 1st layer wipe tower.
This is a regression after introducing the extruder priming areas
at the edge of the print bed.
2017-12-03 09:43:00 +01:00
bubnikv
73a539780a Bumped up a version number. 2017-12-01 18:56:32 +01:00
bubnikv
ca0626b168 Fixed regression bugs regarding print validation,
fixed crashes when loading a config.ini with "compatible_printers"
disabled export of "compatible_printers" into gcode and config.ini

Enabled compatibility of printing multiple objects with support / no support
with a wipe tower.
2017-12-01 18:55:57 +01:00
Lukas Matena
cb84a6cfce Wipe tower rotation - bug fix (now returning start_pos correctly) 2017-12-01 11:10:01 +01:00
bubnikv
354408c7e6 Load the wxWidgets PNG handler only once. 2017-11-30 20:25:59 +01:00
bubnikv
752d72f58d Increased fill rate of the support 1st layer from 50% to 70%. 2017-11-30 19:04:07 +01:00
bubnikv
cecaf6eabc Slight optimization of the filament_start_gcode insertion:
It is not needed between the purging towers and the wipe tower brim.
2017-11-30 17:55:39 +01:00
bubnikv
bff7065360 Fixed a bug in the support generator: There was half extrusion width
gap created between the support and the support sheath.
Now the support sheath will overlap with the support base by 10%
of the extrusion width by default.
2017-11-30 16:24:48 +01:00
Lukas Matena
55570119f7 Correction of previous commit 2017-11-30 16:11:20 +01:00
bubnikv
3996535e5d Changed handling of filament_gcode_start and filament_gcode_end custom
G-codes in case of single extruder multiple material setup:
At the start of the print, the filament_gcode_start is executed
for the active extruder only, and the filament_gcode_start /
filament_gcode_end are then executed at each tool change.

When the Prusa MM wipe tower is active, the tool changes are handled
a bit differently: M900 K0 is emited before the wipe tower extrusions start,
and the filament_gcode_start code is executed after the wipe tower extrusions
are done. This rule effectively disables the linear advance over the wipe tower.

Implements https://github.com/prusa3d/Slic3r/issues/568
2017-11-30 16:01:47 +01:00
bubnikv
8807d288d7 Fixed a regression issue when starting Slic3r with non-existent datadir. 2017-11-30 15:51:51 +01:00
Lukas Matena
a733df8f37 Wipe tower rotation - preview box 2017-11-30 14:43:47 +01:00
bubnikv
830da1f8e4 Fixed a regression bug of handling the obsolete config parameters,
causing crashes.
2017-11-30 13:43:02 +01:00
Lukas Matena
2921302fe9 GUI integration of rotation angle setting 2017-11-30 12:08:22 +01:00
bubnikv
3813402aa3 Merge branch 'master' into wipe_tower_improvements 2017-11-30 10:33:52 +01:00
bubnikv
2f54bf5bca Fixed a random crash in the PlaceholderParser due to deallocating
an undefined pointer.
2017-11-29 20:38:19 +01:00
bubnikv
f754cb422b Bumped up the version number. 2017-11-29 19:34:24 +01:00
bubnikv
ae118519ab Fixed a 32bit build bug in the new PlaceholderParser macro processor. 2017-11-29 19:27:26 +01:00
bubnikv
08e81f2765 Bumped up the build version. 2017-11-29 10:52:54 +01:00
Lukas Matena
0e9e487930 First implementation of wipe tower rotation 2017-11-28 17:32:11 +01:00
bubnikv
9ca63f16bc New PlaceholderParser variable for sequential prints:
current_object_idx - zero based index of the object printed.
Implements feature request https://github.com/prusa3d/Slic3r/issues/578
2017-11-28 15:30:05 +01:00
bubnikv
672194b475 Ported the between_objects_gcode custom G-code blocks,
thanks @lordofhyphens, https://github.com/alexrj/Slic3r/pull/3275

Improved handling of custom G-code blocks: Slic3r will try to extract
the target extruder and bed temperatures from the custom G-code blocks.
2017-11-28 15:19:57 +01:00
bubnikv
f58b217369 Implemented loading of a Slic3r Config Bundle as a Slic3r Config file. 2017-11-28 11:57:33 +01:00
bubnikv
3c0cd3cbc8 Improve error handling of loading Slic3r profiles. 2017-11-28 10:08:01 +01:00
bubnikv
bb2b180ecc Fixed G-code export of custom G-code sections to not add a newline
if the custom G-code already ends with a newline.
2017-11-26 21:23:18 +01:00
bubnikv
b54a15faa2 Fix of the new PlaceholderParser: Maintain whitespaces and new lines. 2017-11-26 20:43:31 +01:00
bubnikv
571d654e67 Placeholder parser - added a comment with a reference to a C grammar. 2017-11-26 11:52:44 +01:00
bubnikv
5c3ba79c6f PlaceholderParser - added an unary not operator. 2017-11-26 11:16:28 +01:00
bubnikv
2312fa845e Fixed compilation on GCC, changed to handle keywords correctly. 2017-11-26 10:54:54 +01:00
bubnikv
708f416c84 PlaceholderParser extended with {if}/{elsif}{else} blocks and
+ - * / == != <> numeric expressions.
2017-11-26 09:59:14 +01:00