bubnikv
32c4cddb91
Ported the AboutDialog to C++, thanks @alexrj for the work.
...
New "configuration" menu over the snapshots, user preferences etc.
2018-04-09 17:03:37 +02:00
Vojtech Kral
90a8ef8e9f
Cleanup
2018-04-06 15:17:02 +02:00
Vojtech Kral
9dcec6662e
ConfigWizard: Other vendor sample data, minor fixes
2018-04-06 13:24:02 +02:00
Vojtech Kral
e53949f2c8
Apply printer model / variant preferences when loading presets
2018-04-06 13:24:02 +02:00
Vojtech Kral
57e47a3296
AppConfig: Support for vendor / model / variant enable state
2018-04-06 13:24:02 +02:00
Vojtech Kral
3fcf194e39
ConfigWizard: Basic structure / WIP
2018-04-06 13:23:49 +02:00
Lukas Matena
7253028d79
Merge branch 'master' into wipe_tower_improvements
2018-04-06 12:33:12 +02:00
Enrico Turri
b4efff1d95
Merge branch 'master' of https://github.com/prusa3d/Slic3r into scene_manipulators
2018-04-06 08:40:38 +02:00
bubnikv
e37cbdfcfc
Merge remote-tracking branch 'remotes/origin/profile_changes_reset'
2018-04-05 19:53:53 +02:00
Enrico Turri
76beaa6421
Objects colored by extruder color
2018-04-05 12:52:29 +02:00
Lukas Matena
eb9917536c
Merge branch 'master' into wipe_tower_improvements
2018-04-04 13:06:46 +02:00
Vojtech Kral
b0840065ed
Octoprint ( #804 )
...
* Octoprint progress dialog
* Fix curl version on Windows
2018-04-04 11:18:22 +02:00
bubnikv
33e1108f65
Background processing in C++, WIP.
2018-03-28 17:05:31 +02:00
bubnikv
5063c15442
Fixed automatic tests.
2018-03-23 16:00:00 +01:00
bubnikv
e931f75010
Work in progress: Good bye, Perl Threads!
2018-03-23 11:41:20 +01:00
YuSanka
08a8fe84a4
Merge remote-tracking branch 'origin/master' into profile_changes_reset
2018-03-22 14:18:48 +01:00
Enrico Turri
4b8bd48663
AMF and 3MF export - Export of print config customizable by user in the select file dialog
2018-03-22 13:49:48 +01:00
Lukas Matena
e30405d672
Merge branch 'master' into wipe_tower_improvements
2018-03-21 11:33:37 +01:00
Chow Loong Jin
a32281c268
Fix format-security violations ( #802 )
...
croak() expects printf-style format strings. Calling croak(e.what()) directly
causes compilations to fail with -Werror=format-security
2018-03-21 08:38:33 +01:00
bubnikv
0bd9918643
Implements SPE-159 "substitute accented letters with non-accented ones"
2018-03-16 18:20:47 +01:00
Lukas Matena
3d6f6530c0
Merge branch 'master' into wipe_tower_improvements
2018-03-16 14:06:23 +01:00
Vojtech Kral
c88d2780ce
Octoprint ( #796 )
...
* Octoprint: GUI for CA file, improvements
* Octoprint: Add GUI for Bonjour lookup, bugfixes
* Octoprint: Bonjour browser: Cleanup Perl interaction
* Octoprint: Bonjour: Perform several broadcast, UI fixes
* Octoprint: Add files to localization list
* Http: Disable CA File setting on SSL backends that don't support it
2018-03-15 18:06:26 +01:00
Lukas Matena
e864238609
Merge branch 'project_specific_config' into wipe_tower_improvements
2018-03-15 14:05:45 +01:00
YuSanka
d97a8f5740
Merge remote-tracking branch 'origin/master' into profile_changes_reset
2018-03-15 10:24:54 +01:00
YuSanka
a41e55a773
Merge remote-tracking branch 'origin/profile_inheritance' into profile_changes_reset
2018-03-14 16:34:51 +01:00
bubnikv
ab654f6319
Merge branch 'scene_manipulators'
2018-03-14 16:15:26 +01:00
bubnikv
e680658cf5
Fixed selection of sensible active print / filament / printer profile
...
after the initial wizard run.
2018-03-14 13:29:50 +01:00
bubnikv
5f28b89ae0
Added a project specific config to the PresetBundle class.
...
This project specific config will be stored into the config.ini,
into .3mf and .amf and .gcode,
and recover it from the same files.
2018-03-14 11:54:11 +01:00
YuSanka
e8adbd7303
First prototype of adding of UI for frequently changed parameters
2018-03-09 18:34:30 +01:00
YuSanka
d5e136a6d5
Fixed bug with updating of the value of "Wipe while retracting" CheckBox.
2018-03-09 17:17:51 +01:00
bubnikv
f55becd43c
Introduced the system profiles.
...
The Config Wizard now just copies the Vendor's Config Bundle
into user_dir/vendor/ directory and Slic3r uses the configs
from the bundles found in user_dir/vendor directly.
2018-03-09 16:37:33 +01:00
Lukas Matena
1c6fa6660e
Merge branch 'master' into wipe_tower_improvements
2018-03-09 15:10:15 +01:00
Enrico Turri
7a2df9f54f
Out of bed detection - Volumes' layer texture rendering moved to cpp
2018-03-09 14:33:44 +01:00
Enrico Turri
bdd2d725c8
Out of bed detection - 1st installment
2018-03-09 10:40:42 +01:00
Vojtech Kral
7cfc5204c8
WIP: OctoPrint
2018-03-05 18:33:15 +01:00
bubnikv
69fc99edbb
Merge remote-tracking branch 'remotes/origin/gui_translate_to_cpp'
2018-02-23 15:32:13 +01:00
YuSanka
3d805a0f43
PreferencesDialog moved to C++ part
2018-02-22 11:12:29 +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
YuSanka
6ad38f80fb
Language configuration is saved now in AppConfig instead of wxConfig.
2018-02-20 08:58:46 +01:00
Enrico Turri
7375f6a6f5
Fixed camera shifting after generating gcode
2018-02-19 11:28:56 +01:00
bubnikv
39100068c1
Removed the Perl Tab & BedDialog as they were replaced by their C++
...
counterparts.
2018-02-15 18:16:19 +01:00
bubnikv
f1840a52db
Merged the C++ port of the GUI Tabs / OptionGroup / Option classes
...
by @YuSanka, thanks @lordofhyphens for the initial port
of the OptionGroup / Option.
2018-02-15 18:13:37 +01:00
bubnikv
b695089bc4
Merge remote-tracking branch 'remotes/origin/3mf_io'
2018-02-15 17:02:47 +01:00
bubnikv
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
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
Enrico Turri
8885f5e344
3mf import/export of config data
2018-02-13 15:19:55 +01:00
bubnikv
030fc9c320
Merge branch 'master' into gcode_preview
2018-02-13 14:55:54 +01:00
Enrico Turri
f4522cd2fc
GCode Preview - Customizable extrusion role colors by editing 3DPreview.pm
2018-02-13 13:16:23 +01:00
bubnikv
47d904a628
Changed the Slic3r coordinate type from long to int32 to match
...
the point type on Windows / Linux / OSX
to achieve the same behavior on all the 32 / 64bit systems.
(Windows always treats the long as 32bit int, while Linux treats
long as a 64bit int).
2018-02-12 18:16:10 +01:00
Enrico Turri
3f006dc11a
GCode Preview - Added objects and wipe tower transparent shells
2018-02-12 09:04:05 +01:00
YuSanka
badeb2f64c
Save language preset.
...
* Added global variable g_local_dir to get "localization" directory.
* Chage/Set language works correctly now.
* Probably, fixed work on Linux
2018-02-12 08:57:32 +01:00
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
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
Enrico Turri
593d794655
Merge branch 'master' of https://github.com/prusa3d/Slic3r into gcode_preview
2018-02-05 13:28:10 +01:00
YuSanka
2d3c2dc595
Fix of #696 in cpp's Tabs,
...
using changes from commit 36bbd6a
2018-02-05 11:03:13 +01:00
Enrico Turri
787a5f1715
GCode Preview - New Layout
2018-02-02 12:38:35 +01:00
bubnikv
36bbd6a73f
Fix of https://github.com/prusa3d/Slic3r/issues/696
2018-02-02 11:32:32 +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
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
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
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
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
bubnikv
48ba7e5f73
Removed dependency on Perl Encode::encode_utf8.
2017-12-21 20:11:19 +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
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
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
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
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
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
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
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
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
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
a733df8f37
Wipe tower rotation - preview box
2017-11-30 14:43:47 +01:00
bubnikv
3c0cd3cbc8
Improve error handling of loading Slic3r profiles.
2017-11-28 10:08:01 +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
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
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
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
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
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
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
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
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
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
247070cd82
Fixed a regression bug of Slic3r::encode() / decode()
2017-08-30 14:57:13 +02: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
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
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
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
41f50b246c
Inlined Surface::any_internal_contains / any_bottom_contains
2017-07-10 13:15:36 +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
bf9027ff2d
Fix of a cooling buffer over multiple extruders.
2017-06-30 19:07:14 +02:00
bubnikv
ab21a253e0
Hopefully finally fixed reordering of the multi-material parts.
2017-06-26 16:44:16 +02:00
bubnikv
32fa84c5a5
Fix of https://github.com/alexrj/Slic3r/issues/4043 , thanks to @lordofhyphens.
...
Further refactoring of the cooling logic to collect per extruder data.
2017-06-23 10:13:09 +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
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
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
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
8b5f7f0fb2
Limit the object movement to the vincinity of the print bed.
2017-06-08 11:02:29 +02:00
bubnikv
102329c54d
Further refactoring, C++11 conversion and code simplification.
2017-05-30 20:09:34 +02:00
bubnikv
e1ca1a82fb
Fixed a regression bug from the last commit. Some more code simplification
...
and inlining.
2017-05-30 18:33:17 +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
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
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
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
36416d77b8
Fixes of VBO rendering on Linux with wxWidgets & GTK
2017-03-30 10:25:52 +02: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
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
Alessandro Ranellucci
6a90fceaaf
Ported expanded_output_filepath() to C++/XS
2017-02-28 10:38:32 +01:00
AndylgTom
4528f35bc0
Update Config.xsp ( #50 )
...
For fix to display Unicode in category
2017-02-28 10:06:03 +01:00
bubnikv
4010dd71f6
Support Prusa Control project files (.PRUS) by the GUI.
2017-02-27 16:09:22 +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
25dfe7278c
Initial rewrite of the file accessors from Perl to C++.
...
This is especially important for the extremely slow AMF parser.
Also there is a new file handler for the Prusa Control 'PRUS' format.
2017-02-26 21:46:33 +01:00
bubnikv
a4dd6c7ce5
Added missing get_volume() method to the PrintObject Perl interface.
2017-02-22 16:05:14 +01:00
Joseph Lenox
c575a1f1d6
Added make_sphere, generates a mesh with specified step angle and raidus rho.
2017-02-21 16:29:09 +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
b91b98b21e
Added prototype make_cylinder()
2017-02-21 16:10:38 +01:00
Joseph Lenox
3bb237deee
Added new constructor to TriangleMesh that accepts vectors of Points and make_cube function to make a new simple cube mesh.
2017-02-21 16:10:14 +01:00
Alessandro Ranellucci
a65c9ba083
Ported CoolingBuffer to C++/XS
2017-02-21 14:02:47 +01:00
bubnikv
70229be9bc
Added SystemInfo dialog,
...
a new SLIC3R_BUILD define to be replaced by the build script,
a menu item to open the "New Issue" github page.
2017-02-19 16:04:57 +01:00
bubnikv
3d11d1aebf
make_skirt ported to C++
2017-02-15 11:05:52 +01:00
bubnikv
88e34ff5de
Store / retrieve layer height profile from the AMF file.
...
Reset the layer height profile when changing a print profile to an incompatible one.
Reset button on the layer height bar.
Fixed an update issue on zooming by a scroll wheel.
Fixed an issue when loading an AMF file: Object names are now retained.
2017-02-09 14:56:13 +01:00
Joseph Lenox
203a965b3d
added total cost/weight to Extruder statistics, mocked up addendum to status bar change.
2017-02-08 11:40:01 +01:00
Joseph Lenox
3846d9e734
Add weight/cost output to gcode. On the way to #647
2017-02-08 11:39:45 +01:00
bubnikv
43ac693900
Added a tooltip overlay for the variable layer height edit tool.
...
Short methods of PrintState made inline.
Added layer height profile to a Model class.
2017-02-07 18:17:12 +01:00
bubnikv
7e6390c4b6
Avoid placement of seams on bridging perimeters, if random seam is enabled.
...
https://github.com/alexrj/Slic3r/issues/3526#issuecomment-263125049
2017-02-02 18:49:33 +01:00
bubnikv
c46b6ca27e
ExtrusionMultiPath perl binding - polyline() method.
2017-01-25 18:22:29 +01:00
bubnikv
3985f50c5b
Added new file: ExtrusionMultiPath.xsp
...
Fixed a missing copy constructor of ExtrusionPath.
2017-01-20 15:41:50 +01:00
bubnikv
e016c4e423
New extrusion class: ExtrusionMultiPath
...
This is similar to an ExtrusionLoop, but it is open.
It may contain multiple chained paths with differing parameters.
This allows one to have a hierarchy of paths, where the ExtrusionEntityCollection
will be chained by the G-code generator, but ExtrusionMultiPath will not.
2017-01-19 13:35:55 +01:00
bubnikv
479f716625
Improvements in the manual layer width editor.
2016-12-21 16:00:41 +01:00
bubnikv
955bc957ba
New supports now do rafts at least to the extent the test cases run through.
...
New supports enabled, old supports will go away soon.
2016-12-20 12:19:13 +01:00
bubnikv
6582182e0c
Adapted to the new ClipperUtils.hpp interface by @alexrj
2016-12-13 19:22:23 +01:00
bubnikv
1ea958158a
Support for user definable variable layer thickness, the C++ backend.
2016-12-12 17:53:38 +01:00
Alessandro Ranellucci
9e8dae817d
Fixes and improvements to the view selection menu, cherry picked from @alexrj a7693c4719c0e0e0129aea7461706d2ed53a52cc
2016-12-08 14:51:35 +01:00
Alessandro Ranellucci
86c8207d31
Ported make_perimeters() and infill() to C++/XS, use pure C++ threads, cherry picked from @alexrj 66591bcc556c01572ec7519b1f8cb4ee2d430685
2016-12-08 14:24:40 +01:00
bubnikv
695c92fb00
CLIPPER_OFFSET_SCALE was made a power of two, the scaling functions
...
inside ClipperUtils are now using bit shifts instead of multiplication
by doubles, which makes the scaling precise.
Removed the scale parameter from all offset functions.
Modified the safety offset to calculate offset per polygon instead
of over all polygons at once. The old way was not safe and very slow,
sometimes this meant a kiss of death for supports for example.
2016-11-28 17:33:17 +01:00
bubnikv
0d20a81354
Log support through boost::log
2016-11-24 13:44:51 +01:00
bubnikv
39679f9518
Missed this one at the last check-in.
2016-11-20 12:59:29 +01:00
bubnikv
79f5a16536
Reverted the perimeter generator to not save the perimeter areas.
...
These could be calculated from the fill areas if needed.
On the other side, the non-classified (non-split) fill areas are stored
now for use in the "ensure vertical wall thickness" feature,
also the non-split fill areas are re-used when recalculating the infills.
This is safer than trying to stitch the fill region together from the
classified fragments.
Modified the "ensure vertical wall thickness" feature to use the non-split
fill areas instead of perimeter areas for the calculation
of non-supported regions. This is cheaper as the fill areas contain
roughly half the edges.
2016-11-17 23:22:59 +01:00
bubnikv
c3af189045
Reduced some compiler warnings.
2016-11-16 22:09:00 +01:00
bubnikv
4460b5ce50
re-wrote PrintObject::detect_surfaces_type() to C++,
...
Fixed some cracks in the fill surfaces created by rounding all surfaces inside detect_surface_type().
Fixed https://github.com/prusa3d/Slic3r/issues/12
Bridging-Angle not optimal
Extended the "Ensure veritcal wall thickness" mode (merged with the original discover_horizontal_shells function), but this a work in progress. Already Slic3r with "ensure vertical wall thickness" produces less spurious infills inside solids.
2016-11-10 19:23:01 +01:00
bubnikv
22ca927f12
Reworked the bridge detector to allow searching a single bridging
...
direction over multiple regions. This allows a single bridge to be
drawn over holes, which are too close to each other to allow
for separate bridges.
Fixes Bridging-Angle not optimal
https://github.com/prusa3d/Slic3r/issues/12
Re-allowed adaptive infill line width for solid infills. The adaptive
infill line width works in some circumstances, see Issue #15 ,
but the original implementation often changed the line width too
aggressively. The current implementation limits the line width change
to 20%.
Fixes Gaps between infill and perimeter leads to errors in laydown on following layer
https://github.com/prusa3d/Slic3r/issues/15
2016-11-08 09:59:25 +01:00
bubnikv
aac968162b
Unit test to verify whether Slic3r would hang when croaking from
...
a C++ exception handler. This is an unfortunate error in some
Strawberry Perl distributions.
2016-11-06 17:42:36 +01:00
bubnikv
bfb336df0c
Refactored Print::validate() method to not throw an exception, but
...
to return a string with an error message instead. This was necessary
to avoid a hang-up on some Strawberry Perl distributions, when
a perl "croak" function is called after a C++ exception is caught.
2016-11-05 02:23:46 +01:00
bubnikv
6217622865
Hopefully a fix of https://github.com/prusa3d/Slic3r/issues/11
...
Replaced eval { die } construct with a bool return value indicating
success or failure of an automatic arrangement of parts on the print bed.
Don't know exactly what is happening here, but throwing a "die" inside
a XS function and then catching it inside an eval {} block is suspcious.
2016-11-04 15:03:51 +01:00
bubnikv
483a658144
Method ExtrusionEntity::polygons_covered() and derived were split
...
into polygons_covered_by_width() and polygons_covered_by_spacing().
Bugfix of ExtrusionLoop::split_at(const Point &point),
where the split ExtrusionPaths were not initialised correctly.
2016-11-04 00:10:35 +01:00
bubnikv
7b6b609df1
ExtrusionEntity and derived classes: Documented, short methods made
...
inline for efficiency and readability, grow() renamed to polygons_covered().
2016-11-03 10:24:32 +01:00
bubnikv
95ede7c4b8
Rewrote Fill2.pm to C++, deleted Perl infills for good.
...
Removed dependency on Perl Math::PlanePath module.
Fixed compilation with Visual Studio and SLIC3R_DEBUG: Visual Studio older than 2015 does not support the prinf type specifier %zu. Use %Iu instead.
C++11 move semantics enabled.
2016-11-02 10:47:00 +01:00
bubnikv
4e66ed81d2
Fixed the fill density for rectilinear, triangular and cubic infills.
...
Initial implementation of the "infill link maximum distance" feature.
Parts of the perimeter connecting two infill lines will be dropped,
if longer than a given threshold.
2016-10-27 17:03:57 +02:00
bubnikv
4524ecf66b
by alexrj: Always convert strings to UTF-8 before passing them to XS
2016-10-24 14:08:22 +02:00
bubnikv
1fb57e439e
Defined the +-* operators on Pointf.
...
Removed the deprecated VibrationLimit feature.
Added triangle infill.
The Prusa3D fork of Slic3r has been marked as "Slic3r Prusa Edition"
with menus pointing to the prusa3d/slic3r github release page
and Prusa3D drivers downloads page.
2016-10-21 16:53:42 +02:00
bubnikv
15d3e94a66
Unified the creation of paths of debugging output files
...
pointing to a predefined output directory.
2016-10-21 10:18:01 +02:00
bubnikv
f788f50b5a
Disabled asserts in the release build (-DNDEBUG).
...
Added a safe variant of offset(const Slic3r::ExPolygon...), which offsets each loop separately.
New functions "remove_sticks" to remove zero area parts of polygons.
New functions "remove_small" and "remove_degenerate" for polygon clean up.
Extended the C++ supports, those are not finalized yet though.
2016-10-20 13:04:23 +02:00
bubnikv
53907a9cfe
Fix of a crash when setting a viewport over an empty platter.
...
Exported bounding box 'empty' method to perl.
2016-10-18 16:44:05 +02:00
bubnikv
7d7f093120
C++ supports sketched, but not finalized yet. Slic3r is still using
...
the old Perl supports, but this time with the C++ fillers.
2016-10-16 16:30:56 +02:00
bubnikv
3a81e6bee4
Bugfix of bottom bridges. If close regions shall be closed by bridges,
...
these regions are grown to anchor the bridge lines to the bottom surface.
The grown regions may overlap. In that case the regions are now merged
before the bridging direction is calculated for the merged region.
2016-09-30 15:23:18 +02:00
bubnikv
403329db49
Misc bugfixes.
2016-09-26 13:58:47 +02:00
bubnikv
790b640521
Visualization of fill surfaces.
2016-09-26 13:56:24 +02:00
bubnikv
e0d1aa8a1a
Collect the perimeter surfaces when generating perimeters.
...
The perimeter surfaces are later used for performing infill
below overhangs and to maintan configured vertical wall thickness
at sloping surfaces.
2016-09-26 13:44:23 +02:00
bubnikv
620c6c7378
Ported from the playground branch. Various documentation and optimization.
2016-09-13 13:30:00 +02:00
bubnikv
f518e0675c
Initial commit of the new Pressure Equalizer, the EdgeGrid
...
signed distance field structure.
The EdgeGrid is used to avoid placing the seams on overhangs.
2016-09-12 16:25:15 +02:00
bubnikv
9fcc8fe9ae
Meged with release_candidate_1_3
2016-09-12 11:29:39 +02:00
Alessandro Ranellucci
9e8022f6f6
More refactoring to medial axis and gap fill, more robust
2016-05-20 17:03:57 +02:00
Vojtech Bubnik
d022493297
Merge remote-tracking branch 'upstream/master'
2016-05-03 22:05:31 +02:00
bubnikv
f767ce816b
Optimized and improved rectilinear fill.
2016-04-13 20:45:44 +02:00
Chow Loong Jin
3d73fbf5fd
Use float for elapsed_time
...
When accumulating elapsed_time from many moves that take less than 1
second, elapsed_time does not get incremented because (unsigned int)0.9
= 0.
2016-04-13 01:13:42 +08:00
bubnikv
ed83ff37f8
Simulation of extrusion in a plane, useful for finding out under / over-extruions.
2016-04-11 17:10:13 +02:00
bubnikv
9716ee8eca
Interface to a filler, ported from Perl to C++.
2016-04-11 17:09:15 +02:00
bubnikv
7da68c91a5
Vojtech likes to use Sublime on Windows to get the wheels rolling.
2016-04-11 17:05:58 +02:00
Alessandro Ranellucci
660b56acb5
Fixed type error
2016-03-26 12:21:54 +01:00
Alessandro Ranellucci
7c8b71012c
Force the 'nearest' strategy for starting skirt loops
2015-12-21 15:02:39 +01:00
Alessandro Ranellucci
934bd43e35
More refactoring on Config XS bindings
2015-12-16 12:58:06 +01:00
Alessandro Ranellucci
3c862836f2
Refactored the Config XS bindings
2015-12-16 12:33:19 +01:00
Alessandro Ranellucci
e2f2761a00
One more fix for compilation
2015-12-08 11:07:45 +01:00
Alessandro Ranellucci
4913e90e10
Remove any Perl related code from libslic3r
2015-12-08 00:39:54 +01:00
Alessandro Ranellucci
3fac8cd77e
Large refactoring of the Config classes
2015-12-07 19:39:49 +01:00
Alessandro Ranellucci
7e1fac8f76
Separate libslic3r code from slic3r application code
2015-12-06 12:54:01 +01:00
Alessandro Ranellucci
e2b203ba8d
Disable screensaver while projecting (untested on Windows)
2015-12-04 21:25:45 +01:00
Alessandro Ranellucci
7523550066
Try to fix compilation on older Perls
2015-12-02 19:57:03 +01:00
Alessandro Ranellucci
1bebe6097b
Make test happy
2015-12-02 19:39:16 +01:00
Alessandro Ranellucci
4f8a18bbad
Ported Layer::maker_perimeters() to XS
2015-12-02 19:32:57 +01:00
Alessandro Ranellucci
3a9cf91f83
Ported a couple more methods to XS
2015-12-02 18:29:33 +01:00
Alessandro Ranellucci
ed75219215
Ported mode Model methods to XS
2015-12-02 18:06:18 +01:00
Alessandro Ranellucci
dfce3a3138
Ported _arrange() and arrange_object() to XS
2015-12-01 21:51:16 +01:00
Alessandro Ranellucci
9febb10bd7
Smoother manual control movements
2015-11-08 10:20:47 +01:00
Alessandro Ranellucci
9a8724cdd0
More compilation changes for Win32
2015-11-06 11:51:24 +01:00
Alessandro Ranellucci
9f9b5afedb
Merge branch 'master' into sender
2015-11-05 11:04:01 +01:00
Alessandro Ranellucci
61f0a9e4da
Replace the flip word with mirror. #3060
2015-11-04 23:11:30 +01:00
Alessandro Ranellucci
f8d2c69713
Fixed compilation warnings and a potential bug in MotionPlanner, as reported in #3054
2015-11-04 20:50:32 +01:00
Alessandro Ranellucci
9ee6829ebc
Implemented connection timeout in C++
2015-11-02 20:36:36 +01:00
Alessandro Ranellucci
fc1a7471cf
Several improvements to the print job queue
2015-11-02 01:18:05 +01:00
Alessandro Ranellucci
9b21ac877a
Merge branch 'master' into sender
...
Conflicts:
Build.PL
lib/Slic3r.pm
xs/MANIFEST
xs/src/libslic3r/PrintConfig.hpp
2015-11-01 19:12:13 +01:00
Alessandro Ranellucci
9fcec10737
Finished porting LayerRegion to C++
2015-10-26 23:24:46 +01:00
Alessandro Ranellucci
6ac79e3ed6
Ported make_perimeters() to C++
2015-07-23 16:27:21 +02:00
Alessandro Ranellucci
b4515cf695
Finished porting PerimeterGenerator to C++
2015-07-23 15:53:02 +02:00
Alessandro Ranellucci
3e739b87da
Finished porting Slic3r::GCode to XS (speed boost!)
2015-07-02 20:24:16 +02:00
Alessandro Ranellucci
0ad4296aaf
Ported GCode::set_extruders() and GCode::change_layer() to XS
2015-07-02 19:33:08 +02:00
Alessandro Ranellucci
9a17efc480
Use GCodeWriter for path segments (refactoring)
2015-07-02 19:14:55 +02:00
Alessandro Ranellucci
fbd640fdc5
Ported GCode::extrude_path() to XS (speed boost!)
2015-07-02 18:57:40 +02:00
Alessandro Ranellucci
b025efe729
Ported GCode::travel_to() to XS
2015-07-02 15:12:04 +02:00
Alessandro Ranellucci
a6f4c8e567
Ported GCode::set_extruder() and OozePrevention
2015-07-02 15:02:20 +02:00
Alessandro Ranellucci
b14290b9f6
Make tests happy
2015-07-02 14:29:20 +02:00
Alessandro Ranellucci
5571144c0e
Ported Slic3r::GCode::needs_retraction() to XS
2015-07-01 23:14:40 +02:00
Alessandro Ranellucci
b4019bb438
Ported more Slic3r::GCode methods to XS
2015-07-01 23:00:52 +02:00
Alessandro Ranellucci
801f629fdc
Ported Slic3r::GCode storage to XS
2015-07-01 21:47:17 +02:00
Alessandro Ranellucci
280f3f38d7
Ported Slic3r::GCode::OozePrevention storage to XS
2015-07-01 21:01:42 +02:00
Alessandro Ranellucci
b43dd92766
Ported Slic3r::GCode::Wipe storage to XS
2015-07-01 20:57:16 +02:00
Alessandro Ranellucci
bf9cd1b8e6
Ported Slic3r::GCode::AvoidCrossingPerimeters to XS
2015-07-01 20:14:05 +02:00
Alessandro Ranellucci
580d28d071
Finished porting PlaceholderParser to XS
2015-07-01 19:35:22 +02:00
Alessandro Ranellucci
249088b4f8
Ported Config::setenv() to XS
2015-07-01 18:18:25 +02:00
Alessandro Ranellucci
f361d8ad43
Ported PlaceholderParser::apply_env_variables() to XS
2015-07-01 17:56:38 +02:00
Alessandro Ranellucci
7f70da97b4
New experimental autospeed feature. #2810
2015-05-31 22:04:32 +02:00
Alessandro Ranellucci
13b7316807
Merge branch 'master' into sender
...
Conflicts:
Build.PL
lib/Slic3r/GUI/MainFrame.pm
2015-05-28 18:05:36 +02:00
Alessandro Ranellucci
7d81aee62f
Added the [scale] placeholder. #2791
2015-05-02 21:59:15 +02:00
Alessandro Ranellucci
d6d7880507
Ported Slic3r::Geometry::arrange() to C++/XS
2015-04-29 19:19:07 +02:00
Alessandro Ranellucci
5eb3bc52ef
Ported ModelObject::rotate() and ModelObject::flip() to XS, as well as axes constants
2015-04-16 21:22:04 +02:00
Alessandro Ranellucci
be2f46ca68
Ported Layer::merge_slices() to XS
2015-04-16 20:44:55 +02:00
Alessandro Ranellucci
1f8ef2a63c
Fixed regression introduced by the recent PerimeterGenerator refactoring causing spiral vase not to be correctly skipped on multi-loop layers. Includes regression test. #2761
2015-04-12 20:16:27 +02:00
Alessandro Ranellucci
8654537e55
Use support material layer height for raft layer instead of object layer height. #2723
2015-03-09 19:36:23 +01:00
Alessandro Ranellucci
d8ee9dd5f5
Limit first object layer height correctly when using a larger support material extruder. #2722
2015-03-09 19:27:57 +01:00
Alessandro Ranellucci
6cab5668e3
Restore correct ordering of concentric infill loops, preventing them from being reordered during G-code generation
2015-03-09 18:28:07 +01:00
Alessandro Ranellucci
d2172b4383
Merge branch 'master' into sender
2015-03-06 22:15:43 +01:00
Alessandro Ranellucci
722e94513c
Refactoring: removed the non-idempotent init_extruders() step. Also, infill_extruder was not limited to the available number of extruders when slicing from the plater, and support material extruder was considered also when support material was disabled
2015-03-06 09:56:58 +01:00
Alessandro Ranellucci
ba6ae12635
Change end_program() to postamble()
2015-02-15 17:09:17 +01:00
Alexander Rössler
f2fa8cb63f
added end_program() function to GCodeWriter
2015-02-07 12:36:29 +01:00
Alessandro Ranellucci
3ae6f2630e
Merge branch 'master' into sender
...
Conflicts:
Build.PL
2015-02-01 14:07:32 +01:00
Alessandro Ranellucci
bb3bf28e59
Ported prepare_fill_surfaces() to XS/C++
2015-02-01 12:43:58 +01:00
Alessandro Ranellucci
8605969dc5
Don't output slic3r:z attribute in SVG for raft layers
2015-01-30 18:45:30 +01:00
Alessandro Ranellucci
e2b1b52679
Added a new Slic3r::Geometry::simplify_polygons() function
2015-01-30 18:33:20 +01:00
Alessandro Ranellucci
c264969962
Bugfix: crash when rendering lines with zero length in 3D preview. #2569
2015-01-25 15:21:45 +01:00
Alessandro Ranellucci
a5c0ffe963
Faster loading of 3D preview and much less memory used
2015-01-24 23:35:29 +01:00
Alessandro Ranellucci
8791f5a493
Cleanup of some method signatures and of XS return types
2015-01-19 18:53:04 +01:00
Alessandro Ranellucci
9f0283f808
Minor issue when dealing with files with empty layers at bottom. #2553
2015-01-18 12:35:05 +01:00
Alessandro Ranellucci
2bbb6c570b
Ported toolpaths rendering to C++
2015-01-18 01:07:22 +01:00
Alessandro Ranellucci
e749f6040f
New +Line::intersection_infinite() method
2015-01-16 16:25:39 +01:00
Alessandro Ranellucci
e0a3d2577c
Initial work for 3D rendering of toolpaths
2015-01-15 20:06:30 +01:00
Alessandro Ranellucci
18e815d032
More efficient 3D preview of slices
2015-01-15 18:49:07 +01:00
Alessandro Ranellucci
bf02062a67
Bugfix: random but frequent crashes after recent perimeter code refactoring
2015-01-14 22:55:11 +01:00
Alessandro Ranellucci
04aa240265
Only apply perimeter/infill overlap to the endpoints of rectilinear infill (and do that in a more proper way)
2015-01-13 20:55:20 +01:00
Alessandro Ranellucci
9ec7b43ca1
Merge branch 'master' into sender
...
Conflicts:
lib/Slic3r/GUI/Tab.pm
2015-01-08 22:47:43 +01:00
Alessandro Ranellucci
8f4cbefd0d
Lots of improvements to MotionPlanner/avoid_crossing_perimeters. Smoother paths and several edge cases now handled better
2015-01-06 20:52:36 +01:00
Alessandro Ranellucci
2562070232
Refactored the travel/retract/avoid_crossing_perimeters logic. Several edge cases are now handled correctly. #2498
2015-01-06 14:52:03 +01:00
Alessandro Ranellucci
7e82159620
Fixed one more case where only_retract_when_crossing_perimeters didn't apply. #2498
2015-01-06 11:29:34 +01:00
Alessandro Ranellucci
9af43bee52
Handle log, temperatures. Move controller to main tabpanel. More things
2015-01-04 23:18:23 +01:00
Alessandro Ranellucci
3ab4d4b094
Merge branch 'master' into sender
2015-01-04 19:36:28 +01:00
Alessandro Ranellucci
16939b80e6
Implemented priority queue
2015-01-04 18:17:15 +01:00
Alessandro Ranellucci
2c0d216c1a
More work on print controller
2015-01-03 23:25:55 +01:00
Alessandro Ranellucci
d8be67c28b
Bugfix: Douglas-Peucker used perpendicular distance instead of shortest distance, thus clipping more than it should. #2474
2015-01-03 15:03:53 +01:00
Alessandro Ranellucci
c06ce3b58c
Initial work for a controller GUI
2014-12-31 19:10:46 +01:00
Alessandro Ranellucci
29d64107de
Merge branch 'master' into sender
2014-12-31 16:25:26 +01:00
Alessandro Ranellucci
494efe65b2
Bugfix: auto-center didn't update the PrintObject copies properly, causing misalignment. #2464
2014-12-29 22:29:24 +01:00
Alessandro Ranellucci
b126f92f41
Finished GCodeSender
2014-12-27 22:58:01 +01:00
Alessandro Ranellucci
005f138ce7
Merge branch 'master' into sender
2014-12-26 01:30:48 +01:00
Alessandro Ranellucci
70601eeb51
Tell what options were changed when prompting user for saving a modified preset. Also, check whether the preset was actually modified by performing a proper idempotent diff. #2165
2014-12-25 17:35:31 +01:00
Alessandro Ranellucci
5a0f4eac8d
One more retraction optimization
2014-12-25 11:37:54 +01:00
Alessandro Ranellucci
4848cb7606
Ported PrintObject::bridge_over_infill() to XS
2014-12-24 10:20:55 +01:00
Alessandro Ranellucci
5d3cd792eb
Make infill_only_where_needed idempotent. #2198
2014-12-24 01:29:36 +01:00
Alessandro Ranellucci
93507bfd49
Bugfix: only_retract_when_crossing_perimeters was not correctly applied on bottom layer when no bottom solid layers were printed
2014-12-22 11:46:16 +01:00
Alessandro Ranellucci
7253dc699a
Some more work on wireframe
2014-12-21 22:52:18 +01:00
Alessandro Ranellucci
21ea100d0e
Fixed tests
2014-12-17 01:15:47 +01:00
Alessandro Ranellucci
9264db7ecd
Removed useless thing added in e79aa2e81c
2014-12-17 00:52:01 +01:00
Alessandro Ranellucci
c00061678b
Use perimeter extruder for brim. #618
2014-12-17 00:45:05 +01:00
Alessandro Ranellucci
e79aa2e81c
New --solid-infill-extruder option. Includes a refactoring of the strategy used to order layer extrusions according to their extruder and island; toolchanges and travel moves should be more optimized now. #618
2014-12-17 00:34:00 +01:00
Alessandro Ranellucci
fcfb3b98bc
3D object positioning
2014-12-16 01:12:56 +01:00
Alessandro Ranellucci
a82f95e903
Some initial work for 3D slice rendering
2014-12-15 15:19:42 +01:00
Alessandro Ranellucci
9cd0a63331
Refactoring of PreviewCanvas
2014-12-15 01:28:11 +01:00
Alessandro Ranellucci
2f2ae75529
Some incomplete work for moving objects in 3D plater
2014-12-13 22:18:43 +01:00
Alessandro Ranellucci
d1f58cbed5
Objects can be selected in 3D preview now. Double click and right click work as well
2014-12-13 20:41:03 +01:00
Alessandro Ranellucci
ac495e974a
Update test
2014-12-12 23:02:28 +01:00
Alessandro Ranellucci
360dee862b
Keep model objects aligned to Z = 0 in plater
2014-12-12 22:43:56 +01:00
Alessandro Ranellucci
050f9ff61a
Removed two useless methods in Print
2014-12-12 22:43:56 +01:00
Alessandro Ranellucci
e8ab9ac13a
Ported Print::bounding_box(), Print::total_bounding_box(), Print::skirt_flow(), Print:skirt_first_layer_height() to XS
2014-12-12 22:43:56 +01:00
Alessandro Ranellucci
c8596c5c58
Limit "Only retract when crossing perimeters" so that retraction is triggered also when crossing the boundaries of a single region. #2298
2014-12-09 01:08:58 +01:00
Alessandro Ranellucci
eb23990d6d
Ported PrintObject::total_layer_count() to XS
2014-12-01 00:00:12 +01:00
Alessandro Ranellucci
c7f5753a28
Ported PrintObject::bounding_box() to XS
2014-12-01 00:00:12 +01:00
Alessandro Ranellucci
1fda9e3d50
Ported concave_points() and convex_points() to XS
2014-12-01 00:00:12 +01:00
Alessandro Ranellucci
e8f242ee3f
Move toolpaths preview to the plater dialog
2014-12-01 00:00:11 +01:00
Alessandro Ranellucci
11dd67ab34
Initial work for G-code sender and more intensive usage of Boost
2014-11-26 22:30:25 +01:00
Alessandro Ranellucci
634bc09e2c
Refactoring: renamed all contains_*() methods to contains() in C++
2014-11-23 20:14:13 +01:00
Alessandro Ranellucci
5deadc8f12
Refactoring: removed _islands members in Slic3r::GCode
2014-11-23 20:03:16 +01:00
Alessandro Ranellucci
2c64c3dd5b
Bugfix: spiral vase was not working when extrusion axis was not E. #2350
2014-11-23 18:59:18 +01:00
Alessandro Ranellucci
6010297465
All std::string variables are now supposed to be UTF-8 encoded. We now embed the std::string typemaps in order to do this. #2282
2014-11-22 22:20:28 +01:00
Alessandro Ranellucci
bf0eb1af0c
Refactored ClipperUtils API for a more consistent arguments convention
2014-11-15 23:44:03 +01:00
Alessandro Ranellucci
28466750e6
Ported some minor methods to XS
2014-11-15 23:06:15 +01:00
Alessandro Ranellucci
379cde30e2
Ported Slic3r::BridgeDetector to XS
2014-11-15 22:41:22 +01:00
Alessandro Ranellucci
33fe53fd7c
Ported three PrintObject methods to XS
2014-11-13 00:34:56 +01:00
Alessandro Ranellucci
a5df9fb795
Ported ModelObject::split() to XS
2014-11-12 23:50:09 +01:00
Alessandro Ranellucci
334086d605
Bugfix: skirt and brim were not recalculated when objects where just moved in plater
2014-11-12 23:28:42 +01:00
Alessandro Ranellucci
a5787cfb04
Merge branch 'xs-reload-object'
...
Conflicts:
lib/Slic3r/Print.pm
2014-11-12 22:51:48 +01:00
Alessandro Ranellucci
8b6a8e6307
Ported PlaceholderParser::update_timestamp() to XS
...
Note that Slic3r version number is now located in libslic3r.h
2014-11-09 20:41:43 +01:00
Alessandro Ranellucci
ee3fb7caa2
Ported GCodeWriter to XS (faster G-code export!)
2014-11-09 19:02:45 +01:00
Alessandro Ranellucci
b69caff93c
Ported LayerRegion::make_slices() to XS
2014-11-09 16:24:07 +01:00
Alessandro Ranellucci
948793e570
Prettier validation errors
2014-11-09 15:31:40 +01:00
Alessandro Ranellucci
bad0bd8520
Ported Print::validate() to XS
2014-11-09 15:27:34 +01:00
Alessandro Ranellucci
3e4c572164
Ported some methods including add_model_object() and apply_config() to XS
2014-11-09 12:25:59 +01:00
Alessandro Ranellucci
c97cac5bc9
Fixed glitch in commit 9c93e52c8f
causing tests failures
2014-11-08 15:02:58 +01:00
Alessandro Ranellucci
9c93e52c8f
Workaround Clipper changing point coordinates while performing simplify_polygons(), thus causing a crash in Slic3r. #2306
2014-11-08 12:56:14 +01:00
Alessandro Ranellucci
67f1cdf76f
Bugfix: seam_position = random didn't work with a single perimeter. #2179
2014-11-07 23:53:18 +01:00
Alessandro Ranellucci
d645dabcff
Ported reload_object() to XS
2014-11-07 20:25:05 +01:00
Alessandro Ranellucci
7f57f007cd
Refactoring: moved Slic3r::GCode::Base to Slic3r::GCode::Writer
2014-10-25 10:42:07 +02:00
Alessandro Ranellucci
71ec90a1dd
Finish porting the Extruder class to libslic3r
2014-10-21 20:36:52 +02:00
Alessandro Ranellucci
f82e92f498
Merge branch 'gcode-refactoring'
2014-10-21 20:20:28 +02:00
Alessandro Ranellucci
167df0ab87
Refactoring: moved most of the low-level G-code to the Slic3r::GCode::Base class. Cleanup of the retraction and wipe logic.
2014-10-21 20:16:45 +02:00
Alessandro Ranellucci
e521475b7e
Refactoring: moved some low-level G-code generation methods to the new Slic3r::GCode::Base class
2014-10-18 17:41:21 +02:00
Alessandro Ranellucci
6b8f03ff1c
Bugfix: crash in some circumstances when avoid_crossing_perimeters is enabled. #2266
2014-10-15 00:59:26 +02:00
Alessandro Ranellucci
73b3c06361
Ported more things to XS
2014-09-21 10:51:36 +02:00
Alessandro Ranellucci
5a96bad8c2
Ported some more methods to C++
2014-08-08 21:48:59 +02:00
Alessandro Ranellucci
b10917806a
Ported some Model methods to XS
2014-08-03 20:33:16 +02:00
Alessandro Ranellucci
6adc3477c9
Moved C++ code into new libslic3r directory
2014-08-03 19:42:29 +02:00
Alessandro Ranellucci
7ff13c063f
Port PrintRegion::flow() and LayerRegion.flow() to XS
2014-08-03 19:17:23 +02:00
Alessandro Ranellucci
380dd8adfc
Ported some methods to XS
2014-08-03 18:41:09 +02:00
Alessandro Ranellucci
30fa055995
Bugfix: medial axis missed some segments. #2144
2014-08-03 15:03:47 +02:00
Alessandro Ranellucci
f462af20f9
Visual preview for bed shape dialog
2014-08-03 00:20:55 +02:00
Alessandro Ranellucci
3ff613d166
Merge branch 'acp-voronoi'
...
Conflicts:
xs/xsp/my.map
2014-07-26 22:38:35 +02:00
Alessandro Ranellucci
86bad17abb
Display skirt and brim in toolpaths preview. Also take support material margin into account when sizing the window. #2169
2014-07-24 18:32:07 +02:00
Alessandro Ranellucci
d9f5fdae72
Bugfix: make_perimeters() was not truly idempotent because prepare_infill() split ->slices into typed surfaces
2014-07-15 19:07:38 +02:00
Alessandro Ranellucci
da4d6cbabb
3D preview of plater
2014-07-13 12:10:34 +02:00
Alessandro Ranellucci
aacc01a56f
Store object and volume names in the new 'name' property instead of relying on material id
2014-07-12 11:20:57 +02:00
Alessandro Ranellucci
f82a8475a1
Use AMF object and volume metadata for handling per-object and per-volume settings
2014-07-11 20:09:01 +02:00
Alessandro Ranellucci
d9dc2fda00
Fixed regression causing variable layer heights to be ignored. #2136
...
Conflicts:
xs/xsp/my.map
2014-07-01 19:49:15 +02:00
Alessandro Ranellucci
67bf99633e
Fix compilation under 5.20 (untested). #2109
2014-06-25 14:57:06 +02:00
Alessandro Ranellucci
b9e8fbacb7
Put the Default Extruder option in a less confusing position
2014-06-19 20:07:16 +02:00
Alessandro Ranellucci
4bf23c67bb
Bugfix: wrong input validation in set_layer_height_ranges(). #2105
2014-06-19 14:44:50 +02:00
Alessandro Ranellucci
998a4225de
Finished implementation of bed_shape in plater
2014-06-16 15:18:39 +02:00
Alessandro Ranellucci
04ed3abd3f
Fix compilation on 5.18(?)
2014-06-14 23:12:03 +02:00
Alessandro Ranellucci
e9910a2c0b
XYZ mirroring from plater
2014-06-14 21:14:33 +02:00
Y. Sapir
a837e26f51
Translate PlaceholderParser::apply_config to C++.
2014-06-14 00:01:52 +02:00
Alessandro Ranellucci
d9e7a50a6e
Partial work for background processing
2014-06-13 11:19:53 +02:00
Alessandro Ranellucci
97231327e0
Have Print::apply_config() return true if any step was invalidated
2014-06-12 09:29:26 +02:00
Alessandro Ranellucci
6194cbf530
Refactoring: new method in Flow for calculating spacing between extrusions having different width
2014-06-12 09:17:37 +02:00
Alessandro Ranellucci
8ee11b3239
Refactoring: keep height in Flow object and calculate spacing on demand
2014-06-12 01:00:13 +02:00
Alessandro Ranellucci
5dcc1eab79
Bugfix: seam_position = aligned failed in certaim circumstances because of faulty concave points detection. Includes regression test
2014-06-11 21:58:41 +02:00
Alessandro Ranellucci
d2ca4c1b13
Some initial work for incremental slicing
2014-06-11 00:15:02 +02:00
Alessandro Ranellucci
5c54acf9ac
Use ->ptr() for CoolingBuffer too
2014-06-10 16:17:34 +02:00
Alessandro Ranellucci
3f6360ee8f
Finish porting Print classes to XS
2014-06-10 16:01:57 +02:00
Alessandro Ranellucci
ba8148f4ad
Merge branch 'printcpp' of github.com:sapir/Slic3r into sapir-printcpp
...
Conflicts:
lib/Slic3r/GCode.pm
lib/Slic3r/Print.pm
lib/Slic3r/Print/Object.pm
lib/Slic3r/Print/Region.pm
2014-06-10 14:46:40 +02:00
Alessandro Ranellucci
3599bd0bae
Distinct extrusion width for external perimeters
2014-06-09 21:22:15 +02:00
Alessandro Ranellucci
7215e66a6a
Merge branch 'master' into visilibity
...
Conflicts:
lib/Slic3r/GCode.pm
xs/MANIFEST
2014-05-27 00:04:53 +02:00
Alessandro Ranellucci
b02e459c4b
Attempt to fix compilation issue
2014-05-26 17:13:24 +02:00
Alessandro Ranellucci
3d25b9030c
Bugfix: movement between objects in sequential printing mode was going too far away. #2013 #2007
2014-05-26 15:19:13 +02:00
Y. Sapir
19d18bdd84
Attempt to solve conflict with a3bd1b5
by adding id to PrintObject and using that as a hash key.
2014-05-25 03:00:29 +03:00
Y. Sapir
9247f21ff8
Add missing include "BoundingBox.hpp" to Polygon.xsp.
2014-05-25 00:55:13 +03:00
Y. Sapir
d2e51242d9
Really fix total_used_filament / total_extruded_volume.
2014-05-25 00:53:47 +03:00
Y. Sapir
07dd799967
Fix inherited Layer::Support id and object accessors.
2014-05-25 00:50:49 +03:00
Y. Sapir
b8b8c746d9
Make clear_regions and delete_region methods private (both Print & Layer), and remove from XSP.
2014-05-25 00:11:17 +03:00
Y. Sapir
22b05cb187
Make read-only constructor parameters - private.
2014-05-24 23:50:45 +03:00
Y. Sapir
76738dc66b
Remove some more Clone typemaps and add some whitespace.
2014-05-24 23:50:45 +03:00