Commit Graph

1183 Commits

Author SHA1 Message Date
Lukas Matena
89686b808d Added a check that all objects have the same layer height profile 2018-04-03 13:51:12 +02:00
Lukas Matena
281732ca38 Variable layer height enabled, nozzle diameters properly passed to the wipe tower generator 2018-03-29 15:32:09 +02:00
Enrico Turri
bf295b9039 Time Estimator and GCode Analyzer - Fixed handling of commands G90, G91, M82 and M83 - Fixes #812 2018-03-29 14:46:11 +02:00
Lukas Matena
1b4dc685f4 Connected filament_ramming_parameters to respective dialog, other minor changes 2018-03-28 15:37:10 +02:00
Enrico Turri
903a90f37a AMF I/O - Forces .zip.amf extension on export 2018-03-26 08:58:44 +02:00
YuSanka
77f5ed6851 Fixed bugs from SPE-180 2018-03-23 12:52:37 +01:00
YuSanka
08a8fe84a4 Merge remote-tracking branch 'origin/master' into profile_changes_reset 2018-03-22 14:18:48 +01:00
Enrico Turri
4b8bd48663 AMF and 3MF export - Export of print config customizable by user in the select file dialog 2018-03-22 13:49:48 +01:00
Lukas Matena
985b414c64 Removed parameter 'wipe_tower_per_color_wipe' from UI and configuration layer 2018-03-22 13:37:01 +01:00
YuSanka
d7e2305686 "Undo"-buttons work 2018-03-22 10:56:57 +01:00
Lukas Matena
e7a5bc1afe Added a check that no object uses extruder the printer doesn't have 2018-03-21 16:01:31 +01:00
Lukas Matena
9519fae490 Partial refactoring of wipe tower code (got rid of global constants, etc) 2018-03-21 15:57:17 +01:00
Lukas Matena
e30405d672 Merge branch 'master' into wipe_tower_improvements 2018-03-21 11:33:37 +01:00
Enrico Turri
4a179c81d2 GCode Preview - Added visualization of volumetric flow rate 2018-03-21 10:03:10 +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
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
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
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
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
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
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
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
bubnikv
08bea91197 Merge remote-tracking branch 'remotes/origin/3mf_io' 2018-03-14 13:35:51 +01:00
Enrico Turri
1ae8684af1 Modified TriangleMeshSlicer::make_loops() to fix #784 2018-03-13 13:32:50 +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
Lukas Matena
b5fd4ddb8c Removed an unnecessary wait 2018-03-12 08:35:35 +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
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
Lukas Matena
8340a71f88 Lots of unnecessary code removed, minor refactoring changes 2018-03-08 16:44:52 +01:00
Lukas Matena
f5cf181372 Sparse infill repositioned always to the same side 2018-03-07 15:34:12 +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
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
Enrico Turri
9f7607c064 3mf I/O - Fixed object sinking into bed after import 2018-03-06 10:26:39 +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
7cfc5204c8 WIP: OctoPrint 2018-03-05 18:33:15 +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
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
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
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
Lukas Matena
e1421da5e8 Integrating cooling tube parameters into wipe tower generator 2018-03-02 13:26:16 +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
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
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
bubnikv
edb756c084 Refactored the gyroid infill. 2018-02-23 18:32:35 +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
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
Lukas Matena
d17229efd5 Gyroid infill - minor correction for standard-conforming compilers 2018-02-22 12:00:24 +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
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
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
bubnikv
f876946358 Merge remote-tracking branch 'origin/gui_translate_to_cpp' 2018-02-15 18:32:51 +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
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
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
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
Enrico Turri
33553e1c50 3mf Exporter - 1st installment 2018-02-08 13:26:50 +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
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
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
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
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
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
Enrico Turri
be63cb7d12 Merge branch 'master' of https://github.com/prusa3d/Slic3r into gcode_preview 2018-01-19 08:49:11 +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
Enrico Turri
c63e6b74fa GCode Preview - Added legend texture 2018-01-16 14:59:06 +01:00
YuSanka
8e0cd35c23 Merge remote-tracking branch 'origin/master' into gui_translate_to_cpp 2018-01-14 21:58:21 +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
a8a4c11b5b New algorithm for GLVolumes generation and reuse of already generated geometry 2018-01-11 14:09:54 +01:00
Enrico Turri
bbc9a0abe6 Parallelization of extrude path render geometry generation 2018-01-10 13:43:00 +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
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
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
bubnikv
0e4ecfaf56 Fix of time estimator (int abs used instead of float abs) 2018-01-02 13:29:40 +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
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
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
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
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
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
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
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
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