Enrico Turri
662ea15c23
3rd attempt to fix JIRA SPE-22 (wrong file export on MAC)
2018-02-20 11:33:38 +01:00
Enrico Turri
e13a9adff2
2nd attempt to fix JIRA SPE-22 (wrong file export on MAC)
2018-02-20 11:10:54 +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
Enrico Turri
7375f6a6f5
Fixed camera shifting after generating gcode
2018-02-19 11:28:56 +01:00
bubnikv
8dd5fe83fc
Humbly re-added the BedShapeDialog.pm. Even though we have a C++
...
implementation now, the Perl BedShapeDialog.pm is used by the wizard.
2018-02-16 17:20:34 +01:00
bubnikv
7436d58045
Merge remote-tracking branch 'origin/gui_translate_to_cpp'
2018-02-16 11:38:11 +01:00
YuSanka
1167458acd
Fixed converting of Unicode codepoint (\uXXXX) into a character in Perl.
2018-02-16 09:38:03 +01:00
bubnikv
4ee620b57d
Fixed Perl dependencies after some obsolete modules were removed.
2018-02-15 18:41:37 +01:00
bubnikv
f876946358
Merge remote-tracking branch 'origin/gui_translate_to_cpp'
2018-02-15 18:32:51 +01:00
bubnikv
39100068c1
Removed the Perl Tab & BedDialog as they were replaced by their C++
...
counterparts.
2018-02-15 18:16:19 +01:00
bubnikv
f1840a52db
Merged the C++ port of the GUI Tabs / OptionGroup / Option classes
...
by @YuSanka, thanks @lordofhyphens for the initial port
of the OptionGroup / Option.
2018-02-15 18:13:37 +01:00
YuSanka
59cee4a3aa
Thanks @stelgenhof Corrected units of measure that had exponents displayed with caret.
2018-02-15 18:06:37 +01:00
bubnikv
b695089bc4
Merge remote-tracking branch 'remotes/origin/3mf_io'
2018-02-15 17:02:47 +01:00
bubnikv
1fa3ffbf83
Fixed a bug, when a color selection popped up when clicking
...
on the print or printer combo box icon.
2018-02-15 16:41:26 +01:00
bubnikv
4a35fd655c
Disable some of the G-code preview controls for the old 3D path preview,
...
re-enable them when the G-code preview is ready.
Resurrected the old logic to automatically switch to the tool preview
for a multi-material print, and to switch automatically to the feature
preview for a single material print.
2018-02-15 16:30:35 +01:00
bubnikv
f9cdda7bfd
Delayed loading of the opengl texture for the G-code preview legend,
...
as the opengl context may not be ready on some platforms (Linux)
at the time the window gets its focus for the first time.
Changed the G-code preview invalidation to trigger when the print
gets invalidated. At that time the 3D path preview switches to the old
preview, if there is anything valid left.
2018-02-15 14:37:53 +01:00
bubnikv
7f51b07f69
First take on restoring the old 3D path preview before the G-code preview is ready
2018-02-14 21:59:33 +01:00
bubnikv
ff3ae40aeb
Fixed compilation issues caused by the previous commits
2018-02-14 21:57:46 +01:00
bubnikv
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
Enrico Turri
f5f27859e0
AMF I/O - Embedded config data + zip formatting
2018-02-14 14:30:03 +01:00
bubnikv
f38e0f2b4f
Merge branch 'gcode_preview'
2018-02-14 13:29:57 +01:00
bubnikv
6e80a9111c
Reworked the plater UI messages to standard wxWidgets wxCommandEvent
...
messages to support receiving status line updates from the C++ code.
2018-02-13 18:31:34 +01:00
bubnikv
6cf8264362
Re-enabled $combochecklist_features->UseAltPopupWindow(), without this
...
line the combo box popup was not reacting to mouse events on Windows 10.
2018-02-13 17:46:23 +01:00
Enrico Turri
8885f5e344
3mf import/export of config data
2018-02-13 15:19:55 +01:00
Enrico Turri
f4522cd2fc
GCode Preview - Customizable extrusion role colors by editing 3DPreview.pm
2018-02-13 13:16:23 +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
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
Enrico Turri
6b14e7cc54
GCode Preview - Fixed behavior of the feature types combo
2018-02-07 10:22:35 +01:00
Enrico Turri
0d6a013658
GCode Preview - Coloring by tool
2018-02-07 09:07:37 +01:00
Enrico Turri
6ff9021e04
GCode Preview - Legend texture shown only when gcode is available
2018-02-06 12:43:25 +01:00
Enrico Turri
f9dd251276
GCode Preview - Added feature type for wipe tower
2018-02-05 13:16:08 +01:00
Enrico Turri
787a5f1715
GCode Preview - New Layout
2018-02-02 12:38:35 +01:00
Enrico Turri
475f892413
3mf Importer - 1st installment
2018-01-30 09:27:10 +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
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
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
8add843ee8
Temporary, or maybe not so temporary fix to handle empty
...
post processing scripts.
2018-01-21 21:08:30 +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
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
Enrico Turri
6a744238b9
Added preview of retractions and unretractions
2018-01-08 16:05:01 +01:00
Enrico Turri
0f4bec8af0
gcode preview - first installment - wip
2018-01-08 13:44:10 +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
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
bubnikv
696d420dc8
New feature: Recommended object thin wall thickness hint.
2018-01-04 15:38:06 +01:00
YuSanka
f8a48f5c13
Start adding functions to work with presets
2018-01-03 10:12:42 +01:00
bubnikv
02256e900f
Merged the branch time_estimate
2018-01-02 10:57:30 +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
c5e21c1fbf
First steps
2017-12-26 18:12:03 +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
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
4583d62edd
Merge branch 'master' into wipe_tower_improvements
2017-12-21 13:47:33 +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
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
c49d6a3ec7
Try to fix the config wizard initialization on OSX.
...
There is an issue when the config wizard is started from the help
menu and the "other" workflow is followed without clearing
the user profile directory.
2017-12-19 21:43:24 +01:00
bubnikv
67c6823dde
Fixed a regression bug in the display of a filament name on the print
...
controller tab.
2017-12-19 21:12:24 +01:00
bubnikv
c3468f2ad9
Fix of preset selection.
2017-12-19 20:58: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
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
88e9ba510b
Run the wizard from OnIdle routine to be executed first after the UI
...
is initialized. This is necessary for the UI to initialize correctly
on OSX.
2017-12-14 17:35:06 +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
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
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
898c697f13
Update the maximum volumetric flow hint at the filament page
...
when the page gets activated, so that the print & printer profile changes
are reflected immediately.
2017-12-13 14:12:47 +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
673e98bc83
When the legacy OpenGL 1.2 is enforced, suppress anti aliasing as well.
...
Let's hope it will be a valid workaround for the reoccuring
buggy Intel HD Graphics driver issue.
2017-12-12 20:47: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
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
ae5863f5e0
Fixed a typo in a path to Resources on OSX.
2017-12-10 23:27:22 +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
ca4bd96d5d
Modification of Slic3r to search the icons in resources/icons
...
after they have been moved from var
2017-12-10 21:14:03 +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
2eeca93a97
Feature Request: Add to Plater: Ctrl+O
...
implements https://github.com/prusa3d/Slic3r/issues/379
thanks @alexrj
2017-12-05 20:06:19 +01:00
qtux
b0f84c5cb2
Add used filament length to the "Sliced Info" box ( #585 )
2017-12-05 19:05:49 +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
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
354408c7e6
Load the wxWidgets PNG handler only once.
2017-11-30 20:25:59 +01:00
bubnikv
a0268a1906
Some other accelerator keys were not displayed on Linux and OSX correctly.
...
Suppress them on these systems.
2017-11-30 20:13:05 +01:00
bubnikv
d161d4f78c
There is a hack applied to add accelerator keys to the menu
...
without being registered. Unfortunately this hack works on wxWidgets
on Windows. On OSX or Linux, a warning is emited and no accelerator
key is shown on the menu.
This commit just removes the warnings, it does not add the menu accelerators.
https://github.com/prusa3d/Slic3r/issues/539
2017-11-30 18:26:15 +01:00
bubnikv
a617e02ae6
New hot key for auto arrange: 'a'.
2017-11-30 17:45:03 +01:00
Lukas Matena
a733df8f37
Wipe tower rotation - preview box
2017-11-30 14:43:47 +01:00
Lukas Matena
2921302fe9
GUI integration of rotation angle setting
2017-11-30 12:08:22 +01:00
bubnikv
6aff27f3ab
Moved initialization of Slic3r XS datadir variable to GUI.pm
...
Solves https://github.com/prusa3d/Slic3r/issues/594
2017-11-30 10:22:39 +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
3c0cd3cbc8
Improve error handling of loading Slic3r profiles.
2017-11-28 10:08:01 +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
b11d9708ed
Updated Controller after the presets C++ port.
2017-11-02 21:51:06 +01:00
bubnikv
e8b6d92d4d
Looks like the reworked C++ preferences start to work again.
2017-11-02 16:21:34 +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
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
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
5a844c91f1
When executing G-code post-processing scripts written in perl on windows,
...
run the perl interpreter, which was used to run the Slic3r.
https://github.com/prusa3d/Slic3r/issues/514
2017-10-03 17:05:47 +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
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
630b746cab
Fix a lag when starting to move a platter object.
...
The fix is done by disabling the print out of a model statistics,
which runs the model fixing twice.
2017-09-14 09:06:14 +02:00
bubnikv
6d4ec5c989
Further fix of https://github.com/alexrj/Slic3r/issues/4085
...
making it safe in case wxWidgets do not report supporting multisampling,
but the OpenGL context actually does and it leaves the multi-sampling enabled.
This then may in theory lead to incorrect picking by color.
2017-09-12 10:14:24 +02:00
bubnikv
888a904c9b
Workaround of
...
"GL_MULTISAMPLE and GL_ARRAY_BUFFER_ARB messages on failed launch"
https://github.com/alexrj/Slic3r/issues/4085
Also fixes
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=872273
2017-09-12 10:03:10 +02:00
bubnikv
a2b876e261
Fixing a crash on pressing +/- with no object active.
...
https://github.com/prusa3d/Slic3r/issues/467
2017-08-14 12:50:35 +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
632bf56f29
merged save_window_pos / restore_window_pos from @alexrj Slic3r.
2017-08-04 15:54:12 +02:00
Alessandro Ranellucci
38e713c23c
Remember object settings dialog size and position. #3943
2017-08-04 15:45:10 +02:00
bubnikv
ed46cfa19d
Simplified the code base by requiring wxWidgets >= 3.0
2017-08-03 17:47:18 +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
933d5b261a
Fix of a "Scale to Size" dialog, where a bed size is shown scaled.
2017-08-01 14:42:59 +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
3b51f64411
Fixing https://github.com/prusa3d/Slic3r/issues/432
...
Slic3r GUI not starting, error when using --gui (on linux)
Implements https://github.com/prusa3d/Slic3r/issues/407
Shortcuts: Movement in 3D Space
Assignment of the camera shortcuts is clear from the menu accelerators.
Implements https://github.com/prusa3d/Slic3r/issues/406
Shortcuts: Rotate +/- 45 degrees
l/r keys rotate the object
Also changed the accelerators for adding / removing duplicates from
Ctrl++/- to plain +/-, from Ctrl-Del to plain Del,
and added an 's' key accelerator for uniform scaling.
2017-07-21 16:29:40 +02:00
bubnikv
7103fa78ff
Reverted back width of the tree control on the Tab panels.
...
Fixes https://github.com/prusa3d/Slic3r/issues/428
2017-07-20 13:09:02 +02:00
bubnikv
afd5d9eff3
Fixed issues with undefined filament color preview values.
2017-07-20 13:02:12 +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
c9325338a8
Fixed "upscaled objects cannot be cut above original height"
...
https://github.com/prusa3d/Slic3r/issues/419
2017-07-12 23:28:11 +02:00
bubnikv
3a813aaef6
Implemented "Suggestion for Preview View Change"
...
https://github.com/prusa3d/Slic3r/issues/415
Use left / right keys to switch between the low / high layer scroll bars
on the 3d preview screen.
2017-07-11 18:21:25 +02:00
bubnikv
6f28818f87
Fix of
...
"Unicode char like for example "ł" crush app when used in profile name"
https://github.com/prusa3d/Slic3r/issues/388
The Prusa3D binary builds are missing the UTF8 libraries.
To avoid having to bundle them, the case sensitive regexes testing
file suffixes were replaced with explicit enumeration of lower / upper
case letters. While crude, it avoids triggering the UTF8 library.
2017-07-11 17:15:34 +02:00
bubnikv
32213ce679
Implements loading of multi-part objects as a bunch of STLs
...
for a multi-material printer.
Also only a single pop-up dialog is open when loading multiple files.
2017-07-11 13:55:55 +02:00
bubnikv
a7153c67e6
Changed layout of the Tab page to accomodate a wider profile selection
...
combo box.
https://github.com/prusa3d/Slic3r/issues/194
https://github.com/prusa3d/Slic3r/issues/377
2017-07-11 12:02:44 +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
8160db23cc
Implementation of "XY size Compensation for first layer"
...
https://github.com/prusa3d/Slic3r/issues/190
2017-06-26 16:28:10 +02:00
bubnikv
0454cc95f9
Ported the cooling changes from @alexrj: Don't slow down the external
...
perimeters if not necessary, don't take the bridging time into account
when slowing down the print.
Removed Extruder & GCodeWriter Perl bindings.
Improved Extruder for constness.
Refactored GCode::m_elapsed_time to struct ElapsedTime.
2017-06-22 12:59:23 +02:00
bubnikv
f0325575c2
Slic3r has been modified to propagate the following filament specific
...
values to GCode generator, one per active extruder:
bed_temperature
bridge_fan_speed
cooling
disable_fan_first_layers
fan_always_on
fan_below_layer_time
first_layer_bed_temperature
max_fan_speed
min_fan_speed
min_print_speed
slowdown_below_layer_time
Now it remains to extend Slic3r to correctly apply these values.
2017-06-21 16:15:39 +02:00
bubnikv
b12e4689e8
Fix of changing the order of volumes of a multi-volume part:
...
The 3D preview scene was not updated properly.
2017-06-21 14:10:22 +02:00
bubnikv
7ca02bda0f
Fix of a "split" function issue.
...
1) Load a multi-part stl
2) Rotate it by 90 degrees
3) Split it.
Before this fix, the split object jumped away from the print bed.
This sound similar to
https://github.com/prusa3d/Slic3r/issues/309
2017-06-19 14:26:19 +02:00
bubnikv
c33ed9144c
Fixed the objects jumping
2017-06-19 11:47:43 +02:00
bubnikv
aa54c3402b
Disable the "split" button when there is no volume selected.
2017-06-15 18:11:36 +02:00
bubnikv
b724d789fd
New feature: Splitting an object into a multi-part volume.
2017-06-15 15:38:15 +02:00
bubnikv
2ac981e422
Improved error handling when importing configuration from a G-code.
2017-06-14 20:18:46 +02:00
bubnikv
93dce7a2d3
Ported config load / stored to C++, thanks @alexrj
...
Implemented import of config values from the G-code.
2017-06-14 17:51:14 +02:00
bubnikv
3e82eb7010
Extended the tooltpis for quick slice functions.
2017-06-14 12:52:50 +02:00
bubnikv
a73a1a3f09
Removed the DLP projector dialog as it is confusing to our customers
...
and we doubt anybody is using it.
2017-06-14 12:05:23 +02:00
bubnikv
82bde51c27
Removed the 'simple' mode.
2017-06-14 11:48:08 +02:00
bubnikv
fdb5ed1fcb
Fix for "Crash when deleting all objects"
...
https://github.com/prusa3d/Slic3r/issues/193
2017-06-13 13:42:38 +02:00
bubnikv
f7831240e1
Fixed compilation on OSX
2017-06-13 12:09:49 +02:00
bubnikv
5cae4cc614
Fix of https://github.com/prusa3d/Slic3r/issues/285
...
Refactored Model.cpp/hpp to C++x11 loops,
simplified the mesh / bbox handling.
2017-06-13 11:35:24 +02:00
bubnikv
f408f08850
Disabled the new Slic3r version check until we have a server set up
...
for the Slic3r Prusa Edition.
Hopefully a fix of https://github.com/prusa3d/Slic3r/issues/258
by moving the 2D thumbnail generation to the main thread and
forcing the simple 2D convex hull for even the small objects.
2017-06-12 14:25:35 +02:00
bubnikv
02ab92ea65
Little improvements of the 3D manipulation usablility:
...
Limit zoom out to 3x the "scene fit" amount.
Disable wheel scrolling when the middle button is pressed.
2017-06-09 15:02:11 +02:00
bubnikv
881a5c531b
Fix of the last commits:
...
1) FLT_MAX replaced with limits,
2) apply_config is called by the test case harness to update layer height profile.
2017-06-09 14:24:00 +02:00
bubnikv
958c6553e7
Hopefully a fix of
...
"Layer editing does not trigger reslicing with Background Processing enabled"
https://github.com/prusa3d/Slic3r/issues/293
2017-06-09 13:27:35 +02:00
bubnikv
6ce832e439
The OpenGL Z-bufer has low precision, therefore a bounding box test
...
had to be relaxed.
2017-06-08 20:50:24 +02:00
bubnikv
66f1ae003f
A little simplification of the Perl side threading:
...
Only single level Perl worker threads are allowed.
2017-06-08 18:53:33 +02:00
bubnikv
e0a24f94c0
Removed Object.pm support_material_flow method.
2017-06-08 18:13:12 +02:00
bubnikv
27003dc0fd
Possible fix of
...
https://github.com/prusa3d/Slic3r/issues/260
https://github.com/prusa3d/Slic3r/issues/272
by disabling opengl blending when picking.
Also the limiting region for object movement has been rounded smoothly.
2017-06-08 12:23:50 +02:00
bubnikv
a15e6127cf
Relaxed the requirements on the layer height for the Wipe Tower to
...
the span of 0.15mm to 0.35mm.
2017-06-08 12:10:34 +02:00
bubnikv
fe409a76a6
Fixed panning issues when the camera is parallel to the bed plane.
2017-06-08 12:01:35 +02:00
bubnikv
8b5f7f0fb2
Limit the object movement to the vincinity of the print bed.
2017-06-08 11:02:29 +02:00
bubnikv
dabcff1c07
When testing for a key press, rather check for the modifier keys
...
(alt, ctrl) always. Also if a key event is not processed, pass it
for further processing.
2017-06-06 19:14:52 +02:00
bubnikv
0816c995a7
Implements "Fewer" button should not remove last copy from build platform
...
https://github.com/prusa3d/Slic3r/issues/301
2017-06-06 15:38:27 +02:00
bubnikv
35acd799cf
Fixed a superflous "Dirty" multi-extruder printer profile after
...
the introduction of new extruder parameters
(deretract_speed extruder_colour retract_before_wipe).
https://github.com/prusa3d/Slic3r/issues/325
2017-06-06 12:52:15 +02:00
bubnikv
3e764ada0c
For the wipe tower to work, verify that all objects are sliced
...
with the same layer heights.
Also enforce layer synchronization for soluble supports.
2017-06-06 11:40:35 +02:00
bubnikv
72f348658f
Testing for the required parameter combinations before enabling the wipe tower.
...
The wipe tower needs to be made more general in the future to overcome
these limitations.
2017-06-06 10:36:14 +02:00
bubnikv
88c9ae6ca6
Fix of
...
https://github.com/prusa3d/Slic3r/issues/315
a crash if the max_layer_height is left to a default value of zero.
2017-06-05 12:02:26 +02:00
bubnikv
ad3be1a69e
Implemented filament start / g-codes.
...
https://github.com/prusa3d/Slic3r/issues/265
https://github.com/prusa3d/Slic3r/issues/319
Based on the implementation by @lordofhyphens
19eea19d91
2017-06-05 11:30:57 +02:00
bubnikv
02592378e2
Improved "ensure vertical wall thickness" feature for multi material:
...
If the "interface_shells" feature is disabled, the "ensure vertical wall thickness"
feature will not add full infill over internal shells.
Fixed some issues with delayed loading of 3d scenes.
2017-06-01 16:31:29 +02:00
bubnikv
ee5ee5f432
Performance improvements in reloading the 3D scene.
...
Now the 3D scene loading is postponed until the page is visible.
2017-05-31 17:05:11 +02:00
bubnikv
efb1fd2066
Fixed order of loading the configs into Print / PrintObjects
...
and loading the 3d print path preview.
2017-05-30 17:24:50 +02:00
bubnikv
e000b22578
Implemented wipe tower print path preview.
2017-05-25 22:27:53 +02:00
bubnikv
7d64c465c0
New config field extruder_color for preview of extruder assignment.
2017-05-24 15:20:20 +02:00
bubnikv
ff9d565ba7
Implemented UI for ordering volumes
...
https://github.com/prusa3d/Slic3r/issues/277
2017-05-20 22:02:04 +02:00
bubnikv
7884fa3d7c
Implemented Multipart object list window resize #278
2017-05-20 19:44:55 +02:00
bubnikv
a99b006b98
Implemented https://github.com/prusa3d/Slic3r/issues/199
...
by merging the work by @lordofhyphens done on https://github.com/alexrj/Slic3r/issues/3268
2017-05-20 15:29:25 +02:00
bubnikv
6fa280be0b
Finished the wipe tower UI.
2017-05-19 21:48:32 +02:00
bubnikv
70db88dd90
Improved retract handling on bowden extruders:
...
Separated deretract speed from a retract speed,
allowed a partial retract before wipe.
2017-05-19 19:24:21 +02:00
bubnikv
cb0a66b743
Initial implementation of a wipe tower preview UI.
2017-05-17 16:53:40 +02:00
bubnikv
c22b6edeeb
Initial integration of the Prusa MultiMatrial Wipe Tower.
2017-05-16 13:45:28 +02:00
Xoan Sampaiño
281a9c45eb
Remove hardcoded font size for wxGTK
...
When in wxGTK (GNU/Linux), some widgets has a hardcoded point size font that not fit with normal GUI font and therefore this widgets doesn't inherit changes in system font size.
This commit only affect this platform, changing `!&Wx::wxMSW` to `&Wx::wxMAC`.
2017-05-12 11:31:54 +02:00
bubnikv
2f57ee60d1
Improved G-code generator for multi-material prints
...
to minimize tool switches.
2017-05-10 11:25:57 +02:00
bubnikv
18bb3c3244
Added Notes Tab to Printer Settings #210
2017-05-05 11:59:51 +02:00
bubnikv
8a628c451c
Fixed a newly introduced G-code issue on Windows
...
when exporting into a localized directory.
2017-05-04 09:24:34 +02:00
bubnikv
e90279c513
Ported the G-code generator from Perl to C++.
...
Removed GCode.pm
Removed the Perl bindigns for AvoidCrossingPerimeters, OozePrevention, SpiralVase, Wipe
Changed the std::set of extruder IDs to vector of IDs.
Removed some MSVC compiler warnings, removed obnoxious compiler warnings when compiling the Perl bindings.
2017-05-03 18:28:22 +02:00
bubnikv
72ae3585e4
Removed a broken Arc Fitting feature.
...
Removed the questionable Pressure Advance feature. It is better to use the Pressure Advance implemented into a firmware.
Added a C++ implementation of GCodeReader and SpiralVase, thanks to @alexrj
Added a C++ implementation of GCodeTimeEstimator, thanks to @lordofhyphens
2017-04-26 14:24:31 +02:00
bubnikv
e918ea9c65
Fixes Variable Layer Height issue when max_layer_height at its default of zero
...
https://github.com/prusa3d/Slic3r/issues/267
2017-04-24 09:51:24 +02:00
bubnikv
8040ef8efb
Fixing a bug in the layer editor for high diameter nozzles.
...
https://github.com/prusa3d/Slic3r/issues/247
2017-04-11 11:16:47 +02:00
bubnikv
23be6233c8
Finalized the experimental "synchronize support layers with object layers"
...
feature (the support_material_synchronize_layers settings).
The feature is now enabled for the soluble supports only
(with support_material_contact_distance > 0).
Fixes https://github.com/prusa3d/Slic3r/issues/197
2017-04-10 12:00:07 +02:00
bubnikv
ed2ee2f6f3
Merged support_fills with support_interface_fills.
...
When extruding supports, the support is interleaved with interface
if possible (when extruded with the same extruder).
Otherwise the base is extruded first.
2017-04-07 17:37:30 +02:00
bubnikv
c40de7e424
Fix of https://github.com/prusa3d/Slic3r/issues/218
...
Cut function bug in accepting a numerical value
2017-04-05 15:55:02 +02:00
bubnikv
7ffb3590c4
Finalized the Prusa Control project file format import.
2017-04-05 14:45:43 +02:00
bubnikv
b66bfb41aa
Validate the height values entered into the layer height table.
...
Clamp these values between the minimum of min_layer_height per nozzle
and the maximum of max_layer_height per nozzle.
Don't allow entering zero layer height to trim an object,
the cut dialog should be used instead.
Fixes https://github.com/prusa3d/Slic3r/issues/235
2017-04-05 13:27:00 +02:00
bubnikv
9d9a6feb96
Disable ensure_vertical_shell_thickness for spiral vase mode.
2017-04-03 11:19:32 +02:00
Joseph Lenox
7b5158f5f2
Permit firmware retraction when firmware is Repetier (repetier-firmware supports it). Fixes #3821
2017-03-30 16:47:06 +02:00
bubnikv
36416d77b8
Fixes of VBO rendering on Linux with wxWidgets & GTK
2017-03-30 10:25:52 +02:00
bubnikv
2da3388aa5
Only print "Generating perimeters" once.
2017-03-28 17:27:05 +02:00
bubnikv
95b45da57c
Fixed 3D view of the Cut dialog.
2017-03-28 14:18:13 +02:00
bubnikv
6162670bbd
Fixing Window selections wrong
...
https://github.com/prusa3d/Slic3r/issues/191
Thanks @uclaros
94f60db114
2017-03-23 18:02:35 +01:00
bubnikv
a7838cac07
Fixed the rotation and scaling inputs allowing decimal numbers with
...
both the dot and comma as a decimal separator.
Fixes 6649888d1c
2017-03-23 14:32:19 +01:00
bubnikv
1770d031b4
Fixed rotations, allow both dot and dash as decimal separators,
...
correctly report invalid numeric values for rotation.
2017-03-23 11:53:59 +01:00
bubnikv
6b99cbdc02
Had the vertex buffer objects disabled for debugging purposes by mistake.
2017-03-21 08:59:48 +01:00
bubnikv
d8f0c0bdff
Fixed bug in variable layer height editing: Make the OpenGL context
...
current.
2017-03-20 15:55:22 +01:00
bubnikv
045de596e2
Use OpenGL 2.0 shaders for the layer height rendering.
...
Use OpenGL 2.0 shaders for the print path rendering for performance reasons.
2017-03-20 12:05:20 +01:00
bubnikv
7f7d2da5fe
Use Vertex Buffer Objects for rendering of 3D volumes if possible.
2017-03-16 14:02:28 +01:00
bubnikv
93cab990c7
Fixed some memory allocation issues of the new C++ 3d path preview
...
(reserved memory has to be shrank around the collected data).
Initial implementation of the vertex buffer objects for the 3d path preview.
2017-03-15 20:45:03 +01:00
bubnikv
d18e10c7c9
Rewrote the OpenGL object rendering to indexed triangle / quad sets
...
for lower memory consumption.
Rewrote the print path 3D preview to generate these indexed triangle / quad
sets, possibly with at least as possible duplication of vertices,
with a crease angle of 45 degrees, leading to maximum 8% overshoots
at the corners.
2017-03-15 16:33:25 +01:00
bubnikv
e7a920fe16
Fixed some picking issues after porting GLVolumes to C++.
...
Initial interface for print paths visualization by VBOs.
2017-03-14 10:11:08 +01:00
bubnikv
e6fddd364d
Volume rewritten from Perl to C++,
...
generation of vertex arrays from paths rewritten from Perl to C++,
parallelized.
2017-03-13 16:02:17 +01:00
bubnikv
b5e45bccf9
Fixed a typo after porting _simplify_slices to C++.
2017-03-08 15:08:40 +01:00
bubnikv
52b76930aa
Simplify_slices rewritten to C++, parallelized.
...
Added some move methods to Surface class.
2017-03-08 13:43:49 +01:00
bubnikv
4331f38912
Fixing of slicing errors ported to C++, parallelized.
2017-03-08 11:56:42 +01:00
bubnikv
4d00aa1800
More tracing of the slicing process.
2017-03-03 12:53:05 +01:00
bubnikv
f8a2087fc6
Fixed a bug after merge.
...
https://github.com/prusa3d/Slic3r/issues/163
2017-03-01 13:16:33 +01:00
bubnikv
46fc4a0a8e
Correctly rename g-code file once it is generated.
2017-02-28 10:44:44 +01:00
Alessandro Ranellucci
80f345d7c1
Remove unnecessary method call
2017-02-28 10:41:36 +01:00
Alessandro Ranellucci
6a90fceaaf
Ported expanded_output_filepath() to C++/XS
2017-02-28 10:38:32 +01:00
bubnikv
66493ce821
Some documentation on missing functionalities.
2017-02-28 10:29:52 +01:00
bubnikv
4010dd71f6
Support Prusa Control project files (.PRUS) by the GUI.
2017-02-27 16:09:22 +01:00
bubnikv
8a8b49ea02
Removed CoolingBuffer.pm as it has been superseeded by the C++ code.
2017-02-27 01:51:08 +01:00
bubnikv
ee619701d8
Got rid of the Perl Format::STL, Format::AMF, Format::OBJ for good.
2017-02-27 01:03:00 +01:00
bubnikv
f0f550783f
Good bye, Perl Expat binding!
2017-02-27 00:38:30 +01:00
bubnikv
b7aeeb968b
Using the C++ file loaders.
2017-02-26 21:54:42 +01:00
bubnikv
121b3c31d2
Removed the old Perl Supports.
2017-02-26 21:49:40 +01:00
Alessandro Ranellucci
4a84643894
Fixed regression causing slowdown_below_layer_time to be ignored. #3515 #3443
2017-02-22 15:29:14 +01:00
bubnikv
9f660738b3
Fixes an issue: Slic3r outputs Weight: %.1fg, Cost: %.1f on command line,
...
instead of filling in the numbers.
https://github.com/prusa3d/Slic3r/issues/144
2017-02-22 12:01:31 +01:00
Alessandro Ranellucci
8174c05df4
Command for reloading an object from file. #1466
2017-02-21 17:58:48 +01:00
bubnikv
d02ee5cf80
By @lordofhyphens:
...
only re-zoom if we have a valid bounding box, avoid a divide by 0 error.
2017-02-21 17:43:28 +01:00
Alessandro Ranellucci
6649888d1c
Support decimal scaling factors and rotation angles. #1617
2017-02-21 16:43:47 +01:00
Joseph Lenox
873161ea7c
Only enable movers if modifier mesh.
2017-02-21 16:30:13 +01:00
Joseph Lenox
e2b56c4462
Repair the generic mesh so it can be exported.
2017-02-21 16:29:57 +01:00
Joseph Lenox
4f428fae40
Added UI options to make a slab, defaulting to the model object's bounding box * 1.5
2017-02-21 16:29:42 +01:00
Joseph Lenox
6aecae3121
UI: fixed naming sphere is not a cylinder.
2017-02-21 16:29:32 +01:00
Joseph Lenox
2971235299
UI code to generate a generic sphere.
2017-02-21 16:29:21 +01:00
Joseph Lenox
716dc2e650
Made cube and cylinder static functions of the package, not some specific TriangleMesh object.
2017-02-21 16:11:52 +01:00
Joseph Lenox
26b6e4c619
Disable sliders if a volume is not selected.
2017-02-21 16:11:41 +01:00
Joseph Lenox
2eea139731
UI now changes its options based on the object type selected.
2017-02-21 16:11:22 +01:00
Joseph Lenox
3ee32ef153
Menu now works to select cylinders (reusing the gui options)
2017-02-21 16:11:09 +01:00
Joseph Lenox
b91b98b21e
Added prototype make_cylinder()
2017-02-21 16:10:38 +01:00
Joseph Lenox
ff33fbbb9a
Use LambdaObjectDialog in GUI.pm to avoid crash on Windows.
2017-02-21 16:09:51 +01:00
Joseph Lenox
107c89d37b
Removed commented code.
2017-02-21 16:04:45 +01:00
Joseph Lenox
a0548898f3
Added a cancel button, and rewrote initial option code to reuse OptionGroup.
2017-02-21 16:04:02 +01:00
Joseph Lenox
3109a9bc1f
Update main plater view after moving mesh
2017-02-21 16:03:46 +01:00
Joseph Lenox
33f489bba9
Anonymous object supports. Initial implementation provides for a box of arbitrary size.
2017-02-21 16:03:19 +01:00
Joseph Lenox
e93cc13698
Permit sliding modifer meshes around in the Settings dialog.
2017-02-21 16:02:56 +01:00
Alessandro Ranellucci
a65c9ba083
Ported CoolingBuffer to C++/XS
2017-02-21 14:02:47 +01:00
Alessandro Ranellucci
c517b0d8f1
Bugfix: object disappeared from 2D plater when reloaded from disk. #3634
2017-02-21 13:57:40 +01:00
Sebastianv650
b8ece2af06
Pressure advance overrides print speeds patch ( #3287 )
...
* Fix PressureRegulation.pm
Check if a pressure advance is needed even if speed is unchanged, but a discharge happened before. Restore print speed after advance / discharge. Solves #3282
2017-02-21 13:09:12 +01:00