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
bubnikv
9205c8aab4
Sketch of the PlaceholderParser if/elsif/else macro.
2017-11-17 18:46:03 +01:00
bubnikv
47f193fe2d
The PlaceholderParser has been rewritten to use
...
a real boost::spirit::qi parser, accessing the DynamicConfig repository
directly. This is a first step towards a full fledged expression
interpreter.
2017-11-17 11:15:46 +01:00
bubnikv
200f176951
Fixed compilation on Linux / GTK
2017-11-10 18:50:14 +01:00
bubnikv
4628308415
Oh those compiler differences.
2017-11-10 17:42:30 +01:00
bubnikv
bfce6dba9b
Integrated the "compatible printers" idea by @alexrj with Vojtech's twist:
...
The incompatible presets are hidden in the tabs if show_incompatible_presets
is false. If show_incompatible_presets is true, there is a button to
show / hide the incompatible presets from the tab selector.
2017-11-10 17:27:05 +01:00
bubnikv
b23b9ea1d2
Implemented volumetric flow rate hints,
...
removed some C++11 conditioned compilation. Slic3r now requires C++11.
2017-11-09 15:10:20 +01:00
bubnikv
9a0100d6de
Initial definition of PresetHints C++ class and Perl binding, ported the cooling logic hints to C++.
...
Removed Perl Flow::new_from_spacing bindings.
Some Fill C++11 beautification.
Fix of a support_material_1st_layer_flow, brim_flow and skirt_flow logic to use the extrusion_width if both first_layer_extrusion_width and support_material_extrusion_width are undefined.
Documented the extrusion width logic in the config tooltips, including the default values.
2017-11-09 10:48:06 +01:00
bubnikv
5fb54ed1f3
Code beautification: PrintConfig tooltips were split to multiple lines.
2017-11-09 10:06:25 +01:00
bubnikv
e4614f301c
ConfigBase with option template to do the type conversion
...
of resolved ConfigOption.
2017-11-09 10:05:37 +01:00
bubnikv
71b58e24a9
Fixed a regression bug in the "first layer extrusion width" G-code comment.
...
https://github.com/prusa3d/Slic3r/issues/566
2017-11-06 15:43:56 +01:00
bubnikv
e6ecb77d9a
Fixed loading of configs and configs from g-codes.
2017-11-03 19:14:33 +01:00
bubnikv
b11d9708ed
Updated Controller after the presets C++ port.
2017-11-02 21:51:06 +01:00
bubnikv
dd9e1aff70
When loading Slic3r.ini of older Slic3rs, remove the .ini suffix
...
from the preset names.
This fixes https://github.com/prusa3d/Slic3r/issues/367
2017-11-02 17:31:24 +01:00
bubnikv
ee84e1773d
Fixed an incorrect comment separator in generated g-code.
2017-11-02 16:50:08 +01:00
bubnikv
4ab4a9afe8
Fighting with boost::filesystem::directory_iterator
2017-11-02 16:40:25 +01:00
bubnikv
7551006102
Another fix or Unices of the previous commit.
2017-11-02 16:35:46 +01:00
bubnikv
df5628422c
Fixed serial port enumeration on non-Win32 systems.
2017-11-02 16:29:03 +01:00
bubnikv
e8b6d92d4d
Looks like the reworked C++ preferences start to work again.
2017-11-02 16:21:34 +01:00
bubnikv
95c284c764
Next step of Perl to C++ configuration layer conversion.
2017-11-01 19:30:05 +01:00
bubnikv
d564fc95df
Split Preset.cpp,hpp to Preset.cpp,hpp and PresetBundle.cpp,hpp
2017-10-30 18:41:50 +01:00
bubnikv
1fee3633a0
New C++ class AppConfig for maintaining the config.ini
...
New helper function for generating a unified "generated by slic3r" header.
2017-10-30 18:15:41 +01:00
bubnikv
835e5b71a8
Reduce UI flicker.
2017-10-28 00:18:02 +02:00
bubnikv
857b78ddca
Fix of the previous commit: Slic3r::Config::new_from_defaults_keys
...
has to be provided with a reference to array of strings.
2017-10-27 22:49:59 +02:00
bubnikv
21633bc0ba
throw std::invalid_argument instead of std::exception
2017-10-27 21:28:39 +02:00
bubnikv
2455aee97c
Further reduction of Perl Config.pm methods.
2017-10-27 18:52:35 +02:00
bubnikv
3bc79e80d5
Fixed configuration & validate C++ ports.
2017-10-27 16:11:06 +02:00
bubnikv
5a99e694ce
Another step towards the C++ presets.
2017-10-26 17:17:39 +02:00
bubnikv
ee645007f2
Another step towards C++ presets.
2017-10-25 12:53:31 +02:00
bubnikv
fe0bf6ebf3
Optimization of Perlglue ConfigBase__get
2017-10-18 14:26:38 +02:00
bubnikv
d9d6d996e9
Utility functions to pass wxWidgets pointers from Perl to C++ code.
...
C++ var_dir / set_var_dir() interface to access the UI resources
from the C++ code.
2017-10-17 20:00:15 +02:00
bubnikv
af51220f34
Fix of preceding commit.
2017-10-17 19:41:04 +02:00
bubnikv
b9d57483d8
perglue.cpp - use static_cast instead of dynamic_cast if possible,
...
use switch instead of plenty of ifs,
export clone<DynamicPrintConfig> to Perl XS.
2017-10-17 19:19:41 +02:00
bubnikv
746afbd790
Yet another compilation fix?
2017-10-17 18:49:07 +02:00
bubnikv
9a7d1bb566
Another compilation fix.
2017-10-17 18:41:54 +02:00
bubnikv
de2c6a2a3d
exception what() method shall be noexcept.
2017-10-17 17:53:16 +02:00
bubnikv
67ce4d862b
One more fix of the preceding commit.
2017-10-17 17:48:04 +02:00
bubnikv
38aca5047f
Fix of the preceding commit for gcc & clang:
...
Add a class name suffix to the s_cache static members
of the StaticPrintConfig derived classes.
2017-10-17 17:37:03 +02:00
bubnikv
3731820c48
Optimization of the configuration layer:
...
The values of StaticPrintConfig derived objects were searched by a name
walking through a huge chained if.
Now they are being mapped with a std::map.
Also initialization of StaticPrintConfig classes from their ConfigOptionDef
defaults is done by maintaining a single global definition of each
StaticPrintConfig derived class, and a new instance is initialized
from this static copy.
Also the ConfigOption instances are casted using static_cast
wherever possible, and their types are verified by a virtual type() method.
This approach avoids insiginificant performance penalty of a dynamic_cast.
Also the compare and clone methods were added to ConfigOption,
and the cloning & compare work on binary values, not by serialization.
2017-10-17 16:01:18 +02:00
bubnikv
a91d7cb2f7
Redefined the ==, != operators of Point and BoundingBox classes
...
to become members of their respective classes to avoid type clashes
through implicit casting operators of ConfigOption classes.
2017-10-17 14:36:30 +02:00
bubnikv
a191fbbec8
Fix of a 3D print path preview for the wipe tower: Calculate
...
the bounding boxes accurately.
2017-10-04 13:50:04 +02:00
bubnikv
a830a3c161
Fixes the scene disappearing when there are no Prusa MM priming towers.
2017-10-03 14:15:00 +02:00
bubnikv
e719e48a84
Fixed a bug in the temperature handling of the Prusa Multi Material
...
priming towers.
2017-10-03 13:43:34 +02:00
bubnikv
eb0117b1c1
Fix of https://github.com/prusa3d/Slic3r/issues/492
...
When a layer contained the support interface only, it was errorneously
printed with the support base material.
2017-10-03 13:22:37 +02:00
bubnikv
9898024ce9
admesh: changed header_num_facets to uint32
2017-10-03 12:41:53 +02:00
bubnikv
1958673806
Fixed the cubic infill: The cubic infill was 30% flatter than it should
...
have been.
2017-10-03 11:29:13 +02:00
bubnikv
a52a04550e
Big endian fix, thanks to @hyperair for hints and initial implementation.
2017-10-03 10:57:16 +02:00
bubnikv
84d4bf8fdb
Load presets into the new C++ class.
2017-10-02 17:35:00 +02:00
bubnikv
b1e3b0cdf9
Further fixes of the previous commit.
2017-09-20 10:16:00 +02:00
bubnikv
8089631f10
Fix of the previous commit: Fix compilation on Linux.
2017-09-20 10:03:53 +02:00
bubnikv
473233019c
Initial partial implementation of presets in C++.
2017-09-19 13:55:48 +02:00
bubnikv
b58756f38b
A bit of refactoring and beautification.
2017-09-18 10:01:37 +02:00
bubnikv
e16f827223
Ported PrintConfigBase::_handle_legacy from Perl to C++,
...
merged from upstream Slic3r, thanks to @alexrj.
2017-09-18 09:56:48 +02:00
bubnikv
cd084a33c6
Fixed a regression bug, which was made during the porting of
...
discover_horizontal_shells() fron Perl to C++, where
the already calculated bridge direction was being lost.
Improved constness of the debug methods
void export_region_slices_to_svg(const char *path) const;
void export_region_fill_surfaces_to_svg(const char *path) const;
2017-09-14 13:15:32 +02:00
bubnikv
777dc8c48b
Fixed a missing bbox.defined=true assignment.
2017-09-13 15:52:51 +02:00
bubnikv
e2a169b0e5
Changed the G-code protocol for cleaning up the priming towers
...
for the multi material prints.
2017-09-13 13:27:49 +02:00
bubnikv
83b5b9e660
Set a missing bbox.defined flag.
2017-09-13 10:28:02 +02:00
bubnikv
6b2b279889
Fix of "exponentional values generated as G1 F-1.95058e+006 causing problems"
...
https://github.com/prusa3d/Slic3r/issues/463
2017-09-12 18:20:06 +02:00
bubnikv
98408bbed0
Fixed a crash when slicing leads to no print.
...
Fixed a bug in TriangleMesh::bounding_box().
2017-09-12 16:48:44 +02:00
bubnikv
b08d6f1969
The last priming area is shortened and the excess wipe is moved
...
into the wipe tower if there is enough space inside the wipe tower.
2017-09-12 15:55:38 +02:00
bubnikv
100c8f60a5
Added GCode/PrintExtents.cpp,h
...
Added a check for a collision between the multi material priming
regions with the rest of the print.
2017-09-12 09:01:48 +02:00
bubnikv
748c1ab1de
Merge branch 'master' of https://github.com/prusa3d/Slic3r
2017-09-11 09:58:54 +02:00
bubnikv
fd3b474a63
Merges https://github.com/prusa3d/Slic3r/pull/509
2017-09-11 09:58:41 +02:00
eyal0
d903af5373
Many warnings fixed ( #510 )
...
Thanks
2017-09-11 09:49:59 +02:00
bubnikv
836dd98113
CMake build system: Adding -fext-numeric-literals when compiling with gcc.
...
This should fix https://github.com/prusa3d/Slic3r/issues/500
2017-09-11 09:20:22 +02:00
bubnikv
93774087f1
Fixed typo from the previous commit.
2017-09-04 13:55:56 +02:00
bubnikv
2c5304a520
Implemented an initial priming line for a single-material print
...
on a Prusa Multi-Material printer.
2017-09-04 13:51:05 +02:00
bubnikv
29d9a1e810
Fixed a default locale on Windows for UTF normalization.
2017-09-04 10:34:51 +02:00
bubnikv
b35f5780dc
Fixed compilation on OSX & LInux
2017-09-04 10:14:56 +02:00
bubnikv
b610866d77
Implemented priming of all the filaments of the Prusa Multi Material.
2017-09-01 17:30:18 +02:00
bubnikv
247070cd82
Fixed a regression bug of Slic3r::encode() / decode()
2017-08-30 14:57:13 +02:00
bubnikv
38e35cefc7
Removed the Perl Build.PL for the XS module. This has been replaced
...
by the CMake based build system.
2017-08-30 10:03:32 +02:00
bubnikv
4bd694e205
CMake build process: Fixed build on OSX: renamed XS to XS.bundle
2017-08-29 16:37:46 +02:00
bubnikv
6688d6c590
CMake build system: Link perl library on windows only.
2017-08-29 12:41:59 +02:00
bubnikv
c0a9c67632
CMake build system: Fix on older linux?
2017-08-28 23:17:24 +02:00
bubnikv
ff4e8d94c0
CMake build process: Workaround for an old CMake on Linux.
2017-08-28 23:11:43 +02:00
bubnikv
0cb491e135
CMake build process:
...
Added the "test" target to execute the perl prove unit / integration tests.
Added a post-build step to copy the XS.dll & Slic3r/XS.pm to local-lib.
2017-08-28 19:11:16 +02:00
bubnikv
48f826c2c5
Disabled a limit of the nozzle diameter 0.4mm for the Prusa Wipe Tower.
...
Allowed scaling of the extrusion amount over the Prusa Wipe Tower
for layer heights over 0.2mm.
2017-08-28 14:57:00 +02:00
bubnikv
61b89865ff
Fixed a regression bug (bundling of multiple STLs into a single model).
2017-08-28 14:54:46 +02:00
Vojtech Bubnik
85ffbf1f57
Merged
2017-08-18 22:47:26 +02:00
Vojtech Bubnik
d0c43c99c3
CMake build system: Linux fixes
2017-08-18 22:45:24 +02:00
Vojtech Bubnik
9620596d59
CMake build system - fixes for OSX. Now a working XS.bundle is being generated.
2017-08-18 13:06:10 -07:00
bubnikv
ba1c0b0137
CMake build process - fixes of the previous check-ins to build
...
cleanly on Windows & Linux. There is still a work on OSX:
The XS module has to be linked without perl.lib and with
the following parameters to produce a bundle: -bundle -undefined dynamic_lookup
2017-08-18 21:09:53 +02:00
bubnikv
e2a685b8bb
CMake build system: Fixes for OSX.
2017-08-18 16:59:36 +02:00
bubnikv
3dbc93c663
CMake: Aadd local-lib to PATH and PERL5LIB environment variables,
...
so the locally installed modules (mainly the Alien::wxPerl) will be reached.
2017-08-18 14:34:54 +02:00
bubnikv
cb1bc0aaf8
CMake build system, initial placeholder for slic3r C binary.
2017-08-18 13:32:35 +02:00
bubnikv
428b7d3f9d
CMake: Added all header files to the particular libraries.
2017-08-18 12:41:01 +02:00
bubnikv
2a3d2fb8c1
CMake: Split the globs into separate libraries.
2017-08-18 11:39:24 +02:00
Vojtech Bubnik
952ca18bf9
Modified to compile on Ubuntu
2017-08-17 19:43:14 +02:00
bubnikv
94483202ec
CMake build system: Always use the system libexpat on Linux.
2017-08-17 18:33:15 +02:00
bubnikv
c0f099c2cf
CMake conversion, further steps: Now it compiles on Visual Studio 2013.
2017-08-17 18:27:51 +02:00
bubnikv
bb36e78428
Further CMake integration, split the xs CMakeFiles.txt to
...
FindAlienWx.cmake and FindPerlEmbed.cmake for easier Perl integration.
2017-08-17 13:30:46 +02:00
bubnikv
5673205d2e
Initial implementation of a CMake build system for the Slic3r XS module.
...
Based on https://github.com/CReimer/Slic3r/tree/makefile_pr
Big thanks to @CReimer for his huge effort.
2017-08-16 19:05:08 +02:00
bubnikv
507f2ff45e
Comprimed the previous pull request.
2017-08-14 12:56:09 +02:00
redPrint7
fdc7036fe3
Update WipeTowerPrusaMM.cpp ( #464 )
...
Resolves compile error on Win XP / Win 7 with native toolchain MinGW32-w64 on perl 5.26 or Citrusperl 5.24.
2017-08-14 12:54:19 +02:00
bubnikv
3b54b68b59
Merged new methods for handling menus with icons,
...
merged "Use submenus for listing options in dropdown menu." #3905
thanks @alexrj
Adapted the "Use submenus" code to sort the menus in the same order
as they appear in the parameter tabs.
2017-08-04 16:28:01 +02:00
bubnikv
8d5e5519f2
Fix of compilation on Windows 32bit: Include windows.h for the declaration
...
of MultiByteToWideChar.
2017-08-03 19:49:41 +02:00
bubnikv
1385018724
Unicode handling:
...
Removed the Perl dependencies on Encode, Encode::Locale and Unicode::Normalize.
Added dependency on boost::locale.
Added encode_path, decode_path, normalize_utf8 functions to Slic3r.xs
Slic3r.xs has been made mostly utf8 safe by using the boost::nowide library,
thanks to @alexrj for the idea.
Simplified the encode_path / decode_path stuff:
wxWidgets are unicode already, so there is no need to decode_path() from it.
Perl / win32 interfacing is non-unicode, so decode_path() is executed
on ARGV just at the beginning of the perl scripts.
2017-08-03 17:31:31 +02:00
bubnikv
31085fb1d7
Ported some ModelObject methods from Perl to C++.
...
Added some utility functions to TriangleMesh, thanks to @alexrj
Some porting to C++ based on work by @alexrj.
2017-08-02 16:05:18 +02:00
bubnikv
777023c7a8
Ported PrintObject::prepare_infill & combine_infill from Perl to C++.
2017-08-02 14:24:32 +02:00
bubnikv
71f99423c5
New feature: Bridging angle override through a bridge_angle config
...
variable. When set to zero, the usual automatic bridge detection applies.
The bridging angle override may be set at the Infill->Advanced settings,
or through a modifier mesh.
2017-07-31 16:23:52 +02:00
bubnikv
75c72bc59b
Fix of "MM incorrect extruder temperature"
...
https://github.com/prusa3d/Slic3r/issues/443
Change of the PlaceholderParser:
All vector configuration values stored into the PlaceholderParser
are expected to be addressed by the extruder ID, therefore
if a vector configuration value is addressed without an index,
a current extruder ID is used.
Also a small fix of fan handling: The fan speed is set to zero
at the start of the G-code if the cooling for the initial extruder
is disabled.
2017-07-31 15:42:55 +02:00
bubnikv
7181f5d163
PrusaControl file format: Added multi-material support.
2017-07-28 15:48:49 +02:00
bubnikv
812a2c7cbd
Further implementation of FillRectilinear3.
2017-07-28 15:47:59 +02:00
bubnikv
137aab9631
Fixed compilation on Linux
2017-07-27 13:21:48 +02:00
bubnikv
a6ea01a23f
Moved some math macros (sqr, lerp, clamp) to libslic3r.h
...
Added UNUSED macro to libslic3r.h, used it to reduce some compile warnings.
Split the Int128 class from Clipper library to a separate file,
extended Int128 with intrinsic types wherever possible for performance,
added new geometric predicates.
Added a draft of new FillRectilinear3, which should reduce overfill near the perimeters in the future.
2017-07-27 10:39:43 +02:00
bubnikv
969e3f4a80
Fixed "Fill angle of any number other than an Integer does not work"
...
https://github.com/prusa3d/Slic3r/issues/427
Also enabled floating point rotation angle for supports.
2017-07-20 13:38:10 +02:00
bubnikv
6bb773d0dd
Prusa MM Wipe Tower, Improvements of the 1st layer:
...
Thiner priming line along the wipe tower,
relatively thick infill at the 1st layer to improve adhesion.
2017-07-20 12:58:51 +02:00
bubnikv
aaefb76888
Fixed test cases after change of the "sane" extrusion widths.
...
Changed the default perimeter / infill overlap to 25%.
2017-07-20 11:03:54 +02:00
bubnikv
ac672d9dc5
Changed the default "sane" extrusion width parameters to
...
1x nozzle_dmr for support and top infill,
and 1.125x nozzle_dmr for the rest.
This corresponds roughly to the default values tuned for the Prusa MK2
for normal prints.
2017-07-19 16:06:29 +02:00
bubnikv
2f2c0ddc99
Refactored Fill / Flow for readability.
...
Added an "overlap" member variable to fill classes in the preparation
for futher move of the "infill / perimeter" overlap to the Fill class.
Moved the orientation predicates from Fill to Geometry.
2017-07-19 15:53:43 +02:00
bubnikv
9c1b1829cf
PerimeterGenerator - a bit of refactoring for readability.
2017-07-19 15:42:49 +02:00
bubnikv
81823fe7df
Reduced the content of Geometry.pm, removed unused Perl subroutines.
...
Reduced the use Slic3r::Geometry and use Slic3r::Geometry::Clipper
clauses to only reference used subroutines.
2017-07-19 10:45:39 +02:00
bubnikv
2c82a327dd
Fix of "Wipe Tower ... only supported ... .4 nozzle" error when slicing
...
a non .4mm nozzle single extruder (Stock MK2S) print
https://github.com/prusa3d/Slic3r/issues/426
The constraint for the "Wipe Tower" checkbox has been raised, so
one will get this error message only if the printer settings has more
than one extruder configured, as the wipe tower does not get generated
for a single extruder print.
2017-07-17 09:07:18 +02:00
bubnikv
ed73f0b6ef
Fix of "Modifier meshes don't work for speed modifications"
...
https://github.com/prusa3d/Slic3r/issues/298
2017-07-14 17:30:54 +02:00
bubnikv
40a882d01e
Experimental feature, which may make the Clipper offsets run faster
...
due to avoiding the 128bit multiply operations:
A filtered predicate is tried to calculate SlopesEqual()
to minimize the invocation of 128bit multiply operations.
2017-07-13 15:52:19 +02:00
bubnikv
bd93d2f334
Fix of "Cooling fan problem Slic3r 1.35.5.16 "
...
https://github.com/prusa3d/Slic3r/issues/418
This is a regression of the cooling buffer changes done for multi-material
(supporting different cooling settings for different filaments)
2017-07-13 12:11:00 +02:00
bubnikv
c159165780
A bit of clean-up in GCode.cpp
2017-07-11 11:42:55 +02:00
bubnikv
c52c31a855
A bit of clean-up in FillRectilinear2.cpp
2017-07-11 11:42:21 +02:00
bubnikv
c7d16699a4
When setting an override extruder in the Object Settings dialog,
...
don't apply this extruder to supports. This did not make sense
as the new "don't change tool (0)" extruder choice fits well for non-soluble
and the soluble supports should not be overriden as well.
2017-07-11 11:41:23 +02:00
bubnikv
41f50b246c
Inlined Surface::any_internal_contains / any_bottom_contains
2017-07-10 13:15:36 +02:00
bubnikv
7c1350d007
Fixed "Too much support generated for buildplate only supports"
...
https://github.com/prusa3d/Slic3r/issues/359
2017-07-07 18:06:41 +02:00
bubnikv
774c69e3c6
Fix of "Problem with larger brim overlapping "
...
https://github.com/prusa3d/Slic3r/issues/373
2017-07-07 16:40:23 +02:00
bubnikv
434f538919
Fix of soluble interface / non-soluble support:
...
The non-soluble support with "don't care" extruder will preferably
be printed with a non-soluble extruder, if possible without a tool change.
2017-07-07 13:22:00 +02:00
bubnikv
abcd746774
Fix of
...
Overhang threshold not utilized after 1.34.1
https://github.com/prusa3d/Slic3r/issues/360
"Overhang threshold" and "Enforce support" don't work
https://github.com/prusa3d/Slic3r/issues/273
2017-07-07 10:45:39 +02:00