Enrico Turri
96d9879d72
class 3D on_select callback moved to c++
2018-06-08 11:37:07 +02:00
YuSanka
4215b2b373
Merge remote-tracking branch 'origin/master' into new_main_page_ui
2018-06-08 10:10:10 +02:00
Enrico Turri
bf2fd54578
reload_scene method of 3D class moved to c++
2018-06-08 09:40:00 +02:00
Enrico Turri
a8500d6bae
class 3D callbacks moved to c++
2018-06-07 11:18:28 +02:00
Enrico Turri
ff86407840
Key down and char event handlers of class 3D moved to c++
2018-06-07 09:22:19 +02:00
YuSanka
9e0d2793cb
CallBack from C++ to Perl to manipulations with object list
2018-06-07 00:55:09 +02:00
Enrico Turri
e79037c44d
3DScene member variables moved to c++
2018-06-06 12:36:52 +02:00
Enrico Turri
c6e44509e0
3DScene load_object method moved to c++
2018-06-06 10:16:58 +02:00
YuSanka
5f82d01f19
Porting object list manipulation from Perl to c++:
...
* Set count and scale to the objects on c++ side
* Select/unselect object
2018-06-05 14:35:38 +02:00
Enrico Turri
a8254e0053
Generation of preview paths moved to c++
2018-06-05 14:09:36 +02:00
Enrico Turri
5392008916
Generation of gcode paths moved to c++
2018-06-05 10:56:55 +02:00
bubnikv
d05d3cb652
Initial working implementation of the "Fix by Netfabb" function.
2018-06-04 21:22:42 +02:00
YuSanka
04dc50cec4
Add, Delete and DeleteAll are working for new list now
2018-06-04 15:59:55 +02:00
Enrico Turri
d74b85f3fe
Another set of 3DScene methods moved to c++
2018-06-04 15:42:34 +02:00
Enrico Turri
af8e869880
3rd attempt to fix opengl initialization on linux
2018-06-04 14:28:59 +02:00
Enrico Turri
ac47ba5864
1st attempt to fix opengl initialization on linux
2018-06-04 13:15:28 +02:00
Enrico Turri
8911cf6051
OpenGL info moved to c++
2018-06-04 10:14:09 +02:00
Enrico Turri
8dc3a73571
Merge branch 'master' of https://github.com/prusa3d/Slic3r into time_estimate
2018-06-04 09:29:16 +02:00
Enrico Turri
ac3408a4ab
Merge branch 'master' of https://github.com/prusa3d/Slic3r into scene_manipulators
2018-06-04 09:29:07 +02:00
Enrico Turri
7d56b38e40
Merge branch 'master' of https://github.com/prusa3d/Slic3r into opengl_to_cpp
2018-06-04 09:28:55 +02:00
Vojtech Kral
4df0b94b79
Beta bugfixes ( #931 )
...
* Fix: Function signature in avrdude
* Fix: Remove mockup vendor bundles
* Fix: Make ConfigWizard error handling more friendly
* Fix: Opening the datadir in AppImage-based Slic3r
2018-06-04 09:07:29 +02:00
Enrico Turri
364134515b
Refactoring and cleanup
2018-06-01 15:54:41 +02:00
Enrico Turri
6bf009edee
3DScene mouse event handler partially moved to c++ - part 2
2018-05-31 16:04:59 +02:00
Enrico Turri
276533e236
3DScene mouse event handler partially moved to c++
2018-05-31 13:51:50 +02:00
YuSanka
c857b68fbe
Functions "Add/Delete" objects to/from list works correct now
2018-05-31 08:43:10 +02:00
Enrico Turri
30a3b2179b
3DScene timer and _variable_layer_thickness_action method moved to c++
2018-05-30 15:18:45 +02:00
Enrico Turri
5a8d1ffdba
Prototype for exporting estimated remaining time into gcode for default and silent mode
2018-05-30 12:08:03 +02:00
Enrico Turri
2f773a89df
3DScene set_viewport_from_scene method moved to c++
2018-05-29 15:36:09 +02:00
Enrico Turri
df14a3c399
3DScene update_volumes_colors_by_extruder method moved to c++
2018-05-29 15:07:06 +02:00
Enrico Turri
5ee5465f94
3DScene mark_volumes_for_layer_height method moved to c++
2018-05-29 14:34:45 +02:00
Enrico Turri
363a964ebb
3DScene render method partially moved to c++
2018-05-29 13:54:34 +02:00
Enrico Turri
db260a669c
3DScene mouse wheel event moved to c++
2018-05-28 15:23:01 +02:00
Enrico Turri
aacdcd4add
3DScene layers editing mouse containment methods moved to c++
2018-05-28 14:39:59 +02:00
Enrico Turri
994222c317
3DScene _first_selected_object_id_for_variable_layer_height_editing method moved to c++
2018-05-28 14:10:02 +02:00
Enrico Turri
951e8528b4
3DScene layers editing parameters moved to c++
2018-05-28 13:43:29 +02:00
YuSanka
d93a8aec3d
New concept of the main IU.
...
* only 2 mode - Regular & Expert
* "Export Gcode" moved to bottom of the window (analogue to the PrusaControll)
* Experiments with layout of collapsible_pane [! not successful]
2018-05-27 22:12:01 +02:00
Enrico Turri
a8311bd1bd
3DScene layer_editing_allowed method moved to c++
2018-05-25 16:28:24 +02:00
Enrico Turri
c51ce63b9b
3DScene layer editing overlay completely moved to c++
2018-05-25 15:56:14 +02:00
Enrico Turri
455076231b
Layers editing shader moved to c++
2018-05-25 14:05:08 +02:00
Enrico Turri
bdbc86167c
3DScene volume selection methods moved to c++
2018-05-25 09:03:55 +02:00
Enrico Turri
70664122af
3DScene layer height profile rendering moved to c++
2018-05-24 15:17:01 +02:00
Enrico Turri
f31c55ceed
3DScene layer editing overlay textures rendering moved to c++
2018-05-24 13:46:17 +02:00
Enrico Turri
751b41b94b
3DScene picking pass moved to c++
2018-05-23 15:35:11 +02:00
Enrico Turri
90c50b281a
3DScene mouse variables moved to c++
2018-05-23 13:56:54 +02:00
Enrico Turri
91b9b8aebf
Fixed wrong layer height texture updates when using multiple objects
2018-05-23 12:49:56 +02:00
tamasmeszaros
a7298d9d89
Merge with latest master
2018-05-23 12:27:07 +02:00
Enrico Turri
b36243ba10
Objects rendering moved to c++
2018-05-23 11:14:49 +02:00
Enrico Turri
b4beb7aae9
3DScene plain shader moved to c++
2018-05-23 09:57:44 +02:00
YuSanka
83cec1a640
Merge remote-tracking branch 'origin/master' into new_main_page_ui
2018-05-23 08:30:27 +02:00
Enrico Turri
85b6784dcb
Merge with master
2018-05-22 15:03:40 +02:00
bubnikv
306d77559e
Merge remote-tracking branch 'remotes/origin/scene_manipulators'
2018-05-22 14:32:07 +02:00
YuSanka
2a8391dfbf
Merge remote-tracking branch 'origin/master' into new_main_page_ui
2018-05-22 09:05:34 +02:00
Enrico Turri
451c58d58f
3DScene's enable_picking variable moved to c++
2018-05-22 09:02:42 +02:00
Enrico Turri
59af3fb866
Merge branch 'master' of https://github.com/prusa3d/Slic3r into opengl_to_cpp
2018-05-22 08:33:23 +02:00
Enrico Turri
369d027544
Merge branch 'master' of https://github.com/prusa3d/Slic3r into scene_manipulators
2018-05-22 08:30:30 +02:00
bubnikv
7b4aeef40c
Moved the "Flash firmware" menu to "Configuration",
...
removed the "Check for updates" from the "Configuration" menu,
added an "Open file explorer at the datadir" item to the Help menu.
2018-05-21 21:04:03 +02:00
bubnikv
33f21422e6
Added friendly names to serial ports, added automatic selection of Prusa's printers in the firmware updater dialog
2018-05-21 18:58:22 +02:00
Vojtech Kral
af360d7097
Firmware updater GUI
2018-05-21 18:58:22 +02:00
Enrico Turri
ae53c7cb2e
Volumes rendering moved to c++
2018-05-21 15:57:03 +02:00
Enrico Turri
0f035d0bae
Background rendering moved to c++
2018-05-21 15:24:52 +02:00
Enrico Turri
bf7b9eb3e7
Legend texture moved to c++
2018-05-21 14:57:43 +02:00
YuSanka
622c613b41
Update of the view mode works correctly
2018-05-21 14:49:31 +02:00
Enrico Turri
3fdc5e20a7
Warning texture moved to c++
2018-05-21 14:40:09 +02:00
Enrico Turri
7cff6ef6db
Shaders loaded from files
2018-05-21 13:08:02 +02:00
Enrico Turri
a7fc57a176
3DScene reset_object method moved to c++
2018-05-18 14:08:59 +02:00
Enrico Turri
5fc8fdee11
3DScene axes moved to c++
2018-05-18 13:02:47 +02:00
YuSanka
876cf9aa8b
Show/hide warning icon according to the view mode
2018-05-18 11:39:49 +02:00
Enrico Turri
1e0a8de5b1
3DScene cutting plane moved to c++
2018-05-18 11:05:48 +02:00
Enrico Turri
0584990b65
Fixed z layers indices under 3D preview sliders
2018-05-18 10:14:47 +02:00
YuSanka
4e47f4973c
Updating of the right column according selected view mode
2018-05-17 16:03:18 +02:00
YuSanka
d310668462
Added Regular view mode to the menu.
...
Right column objects send fron Perl to C++
2018-05-17 10:46:32 +02:00
tamasmeszaros
d9ff63c022
Basic svg export ported from perl to the point where actual svg is assembled. Empty PNG files are genereted for each sliced layer.
2018-05-15 18:01:47 +02:00
Enrico Turri
2b4829a4b9
3DScene bed variables moved to c++
2018-05-15 15:38:25 +02:00
Enrico Turri
f0d1888ca9
3DScene select_view() function moved to c++
2018-05-15 11:30:11 +02:00
Enrico Turri
75f1f832aa
3DScene bed origin moved to c++
2018-05-15 11:07:32 +02:00
Enrico Turri
7519e34507
3DScene zoom functions moved to c++
2018-05-15 10:32:38 +02:00
Enrico Turri
f4303ebdb8
1st attempt of perl callback from c++ for 3DScene
2018-05-15 09:50:01 +02:00
Enrico Turri
0c1655b884
3DScene::Resize() method moved to c++
2018-05-14 14:14:19 +02:00
Enrico Turri
1fd59144c7
Camera data moved to c++ - WIP
2018-05-14 11:31:58 +02:00
Enrico Turri
5024fc4be7
OpenGL to c++ 1st installment - WIP
2018-05-09 10:47:04 +02:00
Enrico Turri
bd4061c3b0
Merge with master branch
2018-05-09 10:16:28 +02:00
Enrico Turri
8eb9ddc2eb
Max count of auto assigned extruders when splitting object set as dependent of current printer
2018-05-07 16:13:58 +02:00
Enrico Turri
81636abaa9
Merge branch 'master' of https://github.com/prusa3d/Slic3r into scene_manipulators
2018-05-02 14:45:42 +02:00
Vojtech Kral
5624b8afd2
Add a new error dialog
2018-04-30 14:34:47 +02:00
Vojtech Kral
62d67d35ec
Merge branch 'profile_changes_reset' into updating
2018-04-24 18:15:23 +02:00
Vojtech Kral
a50bde4267
Merge branch 'master' into updating
2018-04-24 18:11:34 +02:00
Vojtech Kral
fea5603409
PresetUpdater: Bundle incompatibility / Slic3r downgrade scnario
2018-04-24 18:06:42 +02:00
Enrico Turri
71d9500b2e
More robust fix for 3D view and GUI buttons not in synch when object's size is almost identical to print volume's size
2018-04-24 09:00:33 +02:00
YuSanka
b8cb936973
Added effective update of ComboBoxes on Plater
2018-04-20 17:32:08 +02:00
bubnikv
8ab62d702c
Fixed memory leak of TabIface.
...
Added documentation of the XS interface on how the Ref<> and Clone<>
wrappers work.
2018-04-18 18:06:07 +02:00
Vojtech Kral
df03b8e4e8
PresetUpdater: Notify about Slic3r updates
2018-04-17 16:59:53 +02:00
Vojtech Kral
214ad2925b
Merge branch 'master' into updating
2018-04-16 17:32:58 +02:00
Vojtech Kral
7710b541da
Merge branch 'config_snapshots' into updating
2018-04-16 17:00:31 +02:00
Vojtech Kral
c733e3151b
Updating: Detect legacy datadir, remove conflicting presets
2018-04-16 16:55:24 +02:00
bubnikv
913cdef297
Merge remote-tracking branch 'origin/scene_manipulators'
2018-04-13 16:54:22 +02:00
bubnikv
c5af8bfe78
Merged with Vojtech's branch
2018-04-13 16:19:27 +02:00
Vojtech Kral
7dbb2ed6a3
Configuration updates downloading
2018-04-13 15:24:55 +02:00
bubnikv
82890ec815
Removed some obsolete Perl binding.
...
Added Version Index "version" method.
Implemented automatic selection of default_print_profile and
default_filament_profile, when the print / filament profiles are
not compatible with the selected printer profile.
Fixed selection of a printer profile, if the currently selected
printer profile becomes invisible.
2018-04-13 14:49:33 +02:00
Vojtech Kral
b49b59cbb2
Configuration update application at startup
2018-04-13 11:04:39 +02:00
Vojtech Kral
12b3132b1a
Perform init_vendors at startup
2018-04-11 18:05:21 +02:00
Vojtech Kral
31ea03feb0
ConfigWizard: Make bundle installation more intelligent, fixes
2018-04-11 18:05:12 +02:00
bubnikv
da2878958b
Wizard runs from the new Config menu,
...
snapshots could be rolled back / forward.
2018-04-11 12:21:15 +02:00
bubnikv
4275b15dcd
Merge remote-tracking branch 'origin/updating' into config_snapshots
2018-04-10 16:46:15 +02:00
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