bubnikv
030fc9c320
Merge branch 'master' into gcode_preview
2018-02-13 14:55:54 +01:00
YuSanka
752d089814
Fixed Issue #478
2018-02-13 13:39:20 +01:00
Enrico Turri
f4522cd2fc
GCode Preview - Customizable extrusion role colors by editing 3DPreview.pm
2018-02-13 13:16:23 +01:00
bubnikv
a5e48cdf4d
Merge branch 'master' of https://github.com/prusa3d/Slic3r
2018-02-13 11:19:34 +01:00
bubnikv
e7f05f8516
Fix of "Crash while trying to slice with a raft" #686
...
This was an issue specific to multi-material print with raft
and no support.
2018-02-13 11:18:58 +01:00
Enrico Turri
e77111bf98
Fixed crash when importing .prusa files
2018-02-13 10:25:55 +01:00
bubnikv
81a80ebd61
Synchronized the GCodeSender with the upstream Slic3r, thanks @alexrj.
...
Fixes https://github.com/prusa3d/Slic3r/issues/654
2018-02-12 20:44:06 +01:00
bubnikv
6f92424bab
Fix of https://github.com/prusa3d/Slic3r/issues/709
...
A regression error has been introduced into Slic3r 1.38.xx series
for the float/percent config value, where the value was considered
unchanged if the percent sign has been added or removed.
2018-02-12 19:06:05 +01:00
bubnikv
47d904a628
Changed the Slic3r coordinate type from long to int32 to match
...
the point type on Windows / Linux / OSX
to achieve the same behavior on all the 32 / 64bit systems.
(Windows always treats the long as 32bit int, while Linux treats
long as a 64bit int).
2018-02-12 18:16:10 +01:00
bubnikv
adc9e749c4
Clipper should always throw clipperExceptions, not strings.
2018-02-12 16:34:39 +01:00
bubnikv
0571d22d5f
Fix of https://github.com/prusa3d/Slic3r/issues/707
...
This is a crash due to the recommended thin wall thickness hint.
2018-02-12 15:37:42 +01:00
YuSanka
77bac4c17a
Fixed wrong filling of TextControl, when value is double.
2018-02-12 15:29:21 +01:00
Enrico Turri
3f006dc11a
GCode Preview - Added objects and wipe tower transparent shells
2018-02-12 09:04:05 +01:00
YuSanka
badeb2f64c
Save language preset.
...
* Added global variable g_local_dir to get "localization" directory.
* Chage/Set language works correctly now.
* Probably, fixed work on Linux
2018-02-12 08:57:32 +01:00
YuSanka
d18a200b0f
Fix biuld on Linux a OSX
2018-02-09 12:07:59 +01:00
YuSanka
abcfd5bad9
Implemented Application recreate after changing of language.
...
* Implementation of C++ to Perl callbacks from menu item Localization.
* Added global variable g_tabs_list to control existing Tabs.
2018-02-09 11:04:34 +01:00
Enrico Turri
33553e1c50
3mf Exporter - 1st installment
2018-02-08 13:26:50 +01:00
YuSanka
43aa1680cb
Added menu item for selection of application language from the list of installed languages.
...
* m_Local and its functions moved to GUI.cpp.
* Strings in some files(GUI.cpp, Tab.cpp, Tab.hpp & Field.cpp) marked by _L() macro.
* Updated mo-files for En and Uk languages.
2018-02-08 10:58:13 +01:00
YuSanka
28115a847c
First steps for implementing localization
...
* Created mo-files for Ukrainian and English languages
* For this moment it works only on BedShapeDialog.
2018-02-07 17:13:52 +01:00
Enrico Turri
0d6a013658
GCode Preview - Coloring by tool
2018-02-07 09:07:37 +01:00
YuSanka
407f50a66f
Deleted on more EVT_NOTEBOOK_PAGE_CHANGE hangling of TabPanel
2018-02-06 14:53:38 +01:00
Enrico Turri
6ff9021e04
GCode Preview - Legend texture shown only when gcode is available
2018-02-06 12:43:25 +01:00
YuSanka
6bff67a865
First experiments with wxLocale
2018-02-05 16:12:16 +01:00
Enrico Turri
593d794655
Merge branch 'master' of https://github.com/prusa3d/Slic3r into gcode_preview
2018-02-05 13:28:10 +01:00
Enrico Turri
6e14e6ef17
Merge branch 'master' of https://github.com/prusa3d/Slic3r into 3mf_io
2018-02-05 13:18:56 +01:00
Enrico Turri
f9dd251276
GCode Preview - Added feature type for wipe tower
2018-02-05 13:16:08 +01:00
YuSanka
a72184684c
Fix compilation on Linux and OSX
2018-02-05 12:49:23 +01:00
YuSanka
2d3c2dc595
Fix of #696 in cpp's Tabs,
...
using changes from commit 36bbd6a
2018-02-05 11:03:13 +01:00
bubnikv
ea9920e5d6
Fix of Negative Feedrates: G1 F-3.84007e+006 stops smoothie
...
The problem was caused by the gap fill algorithm, which worked
with square extrusion width values as with rounded extrusion widths,
which sometimes lead to negative extrusion cross sections
for high height to width ratios.
The extrusion width logic has been changed to consider the input width
to be the extrusion spacing, not the extrusion width. The change certainly
removed the negative feed rates, but it also certainly increased the gap
fill width to some exent. It needs to be verified now, whether the gap fill
does not extrude too much.
https://github.com/prusa3d/Slic3r/issues/677
2018-02-02 19:48:16 +01:00
Enrico Turri
f20beeab7a
3mf Importer - fixed Linux build (makefile)
2018-02-02 15:03:06 +01:00
Enrico Turri
fe8dfb9c9b
GCode Preview - fixed Linux build (include in GUI.cpp) 2nd attempt
2018-02-02 13:56:25 +01:00
Enrico Turri
556c9c236f
GCode Preview - fixed Linux build (include in GUI.cpp)
2018-02-02 13:28:37 +01:00
Enrico Turri
a5c4751718
GCode Preview - void wxCheckListBoxComboPopup::OnListBoxSelection(wxCommandEvent& evt) fixed for OsX and Linux
2018-02-02 12:58:31 +01:00
Enrico Turri
787a5f1715
GCode Preview - New Layout
2018-02-02 12:38:35 +01:00
bubnikv
b4483fdcbd
Fix of "Conditional gcode with "<=" condition fails"
...
https://github.com/prusa3d/Slic3r/issues/683
2018-02-02 11:49:09 +01:00
bubnikv
8932055ed5
Fixed spelling of Elephant foot compensation from Elefant to Elephant.
...
Unfortunately the settings is out in the wild, so we did not fix
the spelling of the config value name.
2018-02-02 11:38:30 +01:00
bubnikv
c9887e13bb
Merge branch 'master' of https://github.com/prusa3d/Slic3r
2018-02-02 11:32:52 +01:00
bubnikv
36bbd6a73f
Fix of https://github.com/prusa3d/Slic3r/issues/696
2018-02-02 11:32:32 +01:00
YuSanka
d9521fe733
One more try to fix compilation on OSX
2018-02-01 12:09:09 +01:00
YuSanka
e375a0d5ac
Try fix compilation on OSX
2018-02-01 10:39:27 +01:00
YuSanka
46c39d6ef7
Try fix compilation on OSX
2018-02-01 10:24:12 +01:00
YuSanka
33280b7069
Next try fix compilation on OSX
2018-02-01 10:01:05 +01:00
YuSanka
d414c6e118
Fix compilation on OSX & Linux
2018-02-01 09:29:07 +01:00
YuSanka
733c85936b
Eliminated the g-code pop up text description
...
(switch Enable of Tooltip to false,
when clicking mouse left button inside the control).
2018-01-31 16:46:17 +01:00
YuSanka
54dbc916a8
Fixed strange behavior of Text- and Spin- control on KillFocus event
2018-01-31 14:59:44 +01:00
Enrico Turri
c550ad2268
GCode Preview - Travel moves colored by speed
2018-01-31 11:35:35 +01:00
Enrico Turri
d2d2a3fa8e
speed in mm/s
2018-01-31 10:34:00 +01:00
Enrico Turri
29853a3a45
GCodeTimeEstimator - Added move statistics log (for debug purpose)
2018-01-30 13:18:21 +01:00
YuSanka
667ffa6101
Added changes missing from the previous commit.
2018-01-30 12:13:55 +01:00
YuSanka
7d29a7b45a
BedShapeDialog and Bed_2D (as a part of it) are completed.
...
Added new_scale function to Polyline.
Fixed small bug in PointCtrl.
Extended change_opt_value for coPoints case.
2018-01-30 12:10:12 +01:00
Enrico Turri
475f892413
3mf Importer - 1st installment
2018-01-30 09:27:10 +01:00
Enrico Turri
893201d3d9
3mf Importer - Added miniz library
2018-01-30 08:48:58 +01:00
YuSanka
f90ea5060d
Fixed performance of preset switching.
2018-01-27 17:39:00 +01:00
YuSanka
8c7a56d4ea
Eliminated the g-code pop up text description.
...
Fixed correct writing of TextCtrl values.
2018-01-27 14:21:16 +01:00
YuSanka
6ef5e6bd3d
Deleted Perl's Tabs,
...
but still printer preset switching work very slowly.
2018-01-26 03:24:01 +01:00
YuSanka
4056978731
Implementation of C++ to Perl callbacks from Browse & Test buttons.
2018-01-26 01:44:34 +01:00
YuSanka
4d234e90ae
Some modifications:
...
- Added no_controller to create_preset_tab().
- Small changes in Tab"Setting" constructor.
2018-01-25 21:45:39 +01:00
YuSanka
fced9a85ec
Merge remote-tracking branch 'origin/master' into gui_translate_to_cpp
2018-01-25 13:59:15 +01:00
YuSanka
f0b035059a
Merge with bibnikv.
...
Added some functions to TabIface.
Added BedShapeDialog & Bed2D classes.
Added new_scale to Polygon.
In class Field: Point renamed to PointCtrl and added set_value for PointCtrl, extended get_value for Choice.
2018-01-25 13:46:04 +01:00
bubnikv
a1705c093b
Renamed Tab.h to Tab.hpp
2018-01-23 11:42:04 +01:00
bubnikv
91c7bc43d3
Added new files missing from the previous commit.
2018-01-23 11:37:45 +01:00
bubnikv
09c9f6bdc3
Added TabIface C++ wrapper for GUI::Tab C++ class,
...
exported the TabIface to Perl.
2018-01-23 11:37:19 +01:00
bubnikv
1d10a2293a
Example implementation of C++ to Perl callbacks using wxWidgets command events.
2018-01-21 23:35:00 +01:00
bubnikv
ea8b3a5dc0
Will clang & gcc eat it now?
2018-01-21 22:23:59 +01:00
bubnikv
f529269f62
GCC requires explicit conversion from wxString to std::string.
2018-01-21 22:04:57 +01:00
bubnikv
a78fa58b51
Fix compilation on OSX
2018-01-21 21:56:20 +01:00
bubnikv
28c929f14d
Replaced UTF8 characters in string literals with \uxxxx.
...
Replaced std::make_unique with Slic3r::make_unique to support old C++11
compilers.
2018-01-21 21:42:06 +01:00
Enrico Turri
be63cb7d12
Merge branch 'master' of https://github.com/prusa3d/Slic3r into gcode_preview
2018-01-19 08:49:11 +01:00
YuSanka
bd113ea882
Extended load_config and deleted call of CallAfter,
...
because of in some cases it causes undate() function to be recalled again.
2018-01-18 16:36:26 +01:00
YuSanka
5162cddd5e
Added SavePresetWindow dialog.
2018-01-18 11:45:25 +01:00
Enrico Turri
6591620200
Merge branch 'master' of https://github.com/prusa3d/Slic3r
2018-01-18 09:16:37 +01:00
Enrico Turri
d34f3ffc83
Fix for #574 , #413 , #269 , #262 , #259 , #230 , #228 , #206
2018-01-18 09:15:04 +01:00
Enrico Turri
a417cf955d
GCode Preview - Code cleanup
2018-01-17 10:39:05 +01:00
YuSanka
d6568f9ce7
To Tab added functions to save/delete/upload presets...
...
Changed m_options OptionsGroup from const t_optiondef_map& to std::map<t_config_option_key, Option>.
2018-01-16 16:28:01 +01:00
Enrico Turri
c63e6b74fa
GCode Preview - Added legend texture
2018-01-16 14:59:06 +01:00
YuSanka
636af8933c
Added class ogStaticText to the static text shown among the options.
...
Fixed bugs in Tab.
2018-01-15 12:13:05 +01:00
YuSanka
8e0cd35c23
Merge remote-tracking branch 'origin/master' into gui_translate_to_cpp
2018-01-14 21:58:21 +01:00
YuSanka
bd02174f40
Fixed a bug in "on_change_OG"
2018-01-14 21:52:55 +01:00
YuSanka
2809b4b2b5
Added "update", "update_serial_ports" & "extruders_count_changed" for TabPrinter.
...
Extended "build" for TabPrinter.
2018-01-12 17:16:59 +01:00
YuSanka
d3b4dbf8bc
Added "update" for TabFilament.
...
Added "reload_compatible_printers_widget" and extended "load_key_value" for Tab.
Extended "change_opt_value" in GIU
2018-01-12 12:41:13 +01:00
Enrico Turri
9e0dd2a96a
fix-attempt to build on linux and osx
2018-01-12 11:42:50 +01:00
Enrico Turri
cc1aaceea6
fixed compile on linux and osx
2018-01-12 11:09:53 +01:00
Enrico Turri
f62c66f460
merge with master
2018-01-12 10:26:01 +01:00
Enrico Turri
2cbde291e4
Merge branch 'master' of https://github.com/prusa3d/Slic3r into gcode_preview
2018-01-12 10:18:06 +01:00
Enrico Turri
473bd024fe
removed debug code
2018-01-12 08:55:55 +01:00
Enrico Turri
a8a4c11b5b
New algorithm for GLVolumes generation and reuse of already generated geometry
2018-01-11 14:09:54 +01:00
YuSanka
3567981089
Complited "update" for TabPrint.
...
!->It's one unresolved problem - dlg->ShowModal() call update().
Added "get_field" at Tab & Page.
Extended "change_opt_value"
Extended "get_value" to Choise.
2018-01-11 10:33:17 +01:00
Enrico Turri
bbc9a0abe6
Parallelization of extrude path render geometry generation
2018-01-10 13:43:00 +01:00
YuSanka
129bd898cd
Extended "get_value" to Choice & TextCtrl fields.
...
Extended "change_opt_value".
2018-01-09 13:52:01 +01:00
YuSanka
59432d50ff
To OptionsGroup added "reload_config" to reload configurations after changes in any fields & "get_config_value" to get current option value from config.
...
In Field extended "set_value" to Choice.
In PrintConfig added default_value to "post_process".
2018-01-09 09:41:07 +01:00
Enrico Turri
6a744238b9
Added preview of retractions and unretractions
2018-01-08 16:05:01 +01:00
Enrico Turri
c9839dd7cc
Merge branch 'master' of https://github.com/prusa3d/Slic3r into gcode_preview
2018-01-08 13:45:57 +01:00
Enrico Turri
0f4bec8af0
gcode preview - first installment - wip
2018-01-08 13:44:10 +01:00
Enrico Turri
e94491ee8c
GCodeTimeEstimator - Fixed _simulate_st_synchronize()
2018-01-08 13:23:54 +01:00
Enrico Turri
aeca5def00
GCodeTimeEstimator - Added credits for CuraEngine
2018-01-08 12:27:18 +01:00
Enrico Turri
dfcb502ef4
GCodeTimeEstimator - Fixed square roots of negative numbers
2018-01-08 12:17:39 +01:00
fredizzimo
ad5fcce6e4
Fix environment variable setting on Windows ( #674 )
...
The previous way of checking that _putenv_s is defined does not work,
because _putenv_s is a function and not a define. This is a partial
application of commit 31115e0369747b1e1c45cbe3f2a90f6dff66666a from
alexrj/Slic3r.
I tried cherry picking the whole commit, but unicode is already handled
diffrently here, so that would have been a lot of work.
2018-01-07 22:20:02 +01:00
YuSanka
16458e070a
get_option moved from Tab to ConfigOptionsGroup and extended. Added change_opt_value to changing option value in config
2018-01-07 18:41:40 +01:00
bubnikv
fec1fcdca8
Separated the Marlin G-code flavor from the RepRap G-code flavor
...
due to the differences in the M203 code
(RepRap firmware has it in mm/min, Marlin in mm/sec).
This difference is important to the G-code time estimator.
Changed the g-code flavor to Marlin for all Prusa3D bundled profiles.
2018-01-06 18:49:28 +01:00
bubnikv
eaac587467
Merge remote-tracking branch 'origin/time_estimate'
2018-01-06 15:04:57 +01:00
YuSanka
e62c17bddf
"on_change" function call correctly work now. Start adding of Tab::update().
...
It's need to think about config->set_key_value(...): at cpp side it's non-trivial.
2018-01-05 15:11:33 +01:00
Enrico Turri
ae0688f351
GCodeTimeEstimator - added processing of commands M221 (Set extrude factor override percentage)
2018-01-05 10:35:04 +01:00
Enrico Turri
69e3ea6581
GCodeTimeEstimator - simulate firmware st_synchronize() for commands G4, G92, M1
2018-01-05 09:46:09 +01:00
bubnikv
696d420dc8
New feature: Recommended object thin wall thickness hint.
2018-01-04 15:38:06 +01:00
Enrico Turri
3f57e20235
GCodeTimeEstimator: refactoring of forward and reverse passes on blocks
2018-01-04 13:00:34 +01:00
Lukas Matena
37bbeeb9d0
Parametrization of ramming and loading sequence - first steps
2018-01-04 12:03:06 +01:00
bubnikv
011281df86
Fix of the Spiral Vase after the GCodeReader rework.
...
A patch of the GCodeTimeEstimator to avoid crashes. This is not a final fix though.
2018-01-03 21:55:32 +01:00
bubnikv
998157fc9b
Fixed an issue with vsprintf and on demand buffer allocation.
...
Improved the GCodeReader to support spaces before the G-code.
2018-01-03 20:53:39 +01:00
bubnikv
9d98a27b98
Fix of compilation on OSX and Linux. By the standard, a temporary
...
value cannot be passed to a reference.
2018-01-03 17:57:37 +01:00
bubnikv
b292554fd8
Optimized the GCodeReader.
...
Fixed the profiling build.
2018-01-03 17:29:49 +01:00
YuSanka
f8a48f5c13
Start adding functions to work with presets
2018-01-03 10:12:42 +01:00
bubnikv
0e4ecfaf56
Fix of time estimator (int abs used instead of float abs)
2018-01-02 13:29:40 +01:00
YuSanka
72d1f51146
Correct adding of extruder_pages
2018-01-02 12:50:27 +01:00
bubnikv
fec05d430b
Fixed a typo in fprintf
2018-01-02 11:14:22 +01:00
bubnikv
02256e900f
Merged the branch time_estimate
2018-01-02 10:57:30 +01:00
bubnikv
0de0e4ff41
Bumped up the version number.
2018-01-02 10:34:32 +01:00
bubnikv
4c35d98d7d
Bumped up the version number.
2017-12-29 21:21:26 +01:00
bubnikv
f58d66fe5e
Disabled the object auto centering by default.
2017-12-29 21:17:30 +01:00
YuSanka
838a0885fe
Fixed code review issues
2017-12-26 23:04:54 +01:00
YuSanka
61247fe8d3
Filling the Filament's and Printer's Tabs. Finished. It's need to adding functions to work with presets
2017-12-26 18:12:05 +01:00
YuSanka
67f2469e70
Filling the Print's Tab. Finished. It's need to adding functions to work with presets
2017-12-26 18:12:05 +01:00
YuSanka
281fd26e06
Filling the Print's Tab. Continued. All Controls are on they own places. It's need to adding only SideWidget
2017-12-26 18:12:04 +01:00
YuSanka
67b9b1b273
Filling the Print's Tab. Continued. All labels are on they own places, but still without Controls
2017-12-26 18:12:04 +01:00
YuSanka
d60fac42d6
Start filling the Print's Tab, using @lordofhyphens's Optionsgroup
2017-12-26 18:12:04 +01:00
YuSanka
c5e21c1fbf
First steps
2017-12-26 18:12:03 +01:00
Lukas Matena
180967484e
Correction of wipe tower brim generation
2017-12-22 11:26:43 +01:00
bubnikv
5cf9cd5395
Bumped up the build version.
2017-12-21 21:07:43 +01:00
bubnikv
48ba7e5f73
Removed dependency on Perl Encode::encode_utf8.
2017-12-21 20:11:19 +01:00
bubnikv
3addeb57b4
Fix of "Program crashes when [Suppress "- default -" presets:] is DISABLED"
...
https://github.com/prusa3d/Slic3r/issues/643
2017-12-21 19:19:07 +01:00
bubnikv
1eef6d3552
Improved error reporting of the PlaceholderParser.
2017-12-21 17:07:57 +01:00
bubnikv
f5160b7a72
Fixed "Slic3r crashes when sending STLs with special characters to the printer"
...
https://github.com/prusa3d/Slic3r/issues/597
The "Send to OctoPrint" function will now send the file name encoded
in UTF-8, so the file name will not get mangled.
The C++ Slic3r::encode_path() function was returning a string to Perl,
which was marked as UTF-8. This has been fixed, now encode_path() returns
a plain Perl string.
Added path_to_filename, path_to_stem, path_to_extension, path_to_parent_path
Perl wrappers to boost::filesystem::path splitting functionality
to be able to split UTF-8 encoded files on Windows correctly.
2017-12-21 16:56:33 +01:00
Lukas Matena
c6718c94bf
Merge fix
2017-12-21 14:24:47 +01:00
Lukas Matena
4583d62edd
Merge branch 'master' into wipe_tower_improvements
2017-12-21 13:47:33 +01:00
Lukas Matena
b7a326a550
First attempts of variable wipe implementation, sparse infill modified to sawtooth
2017-12-21 13:28:26 +01:00
bubnikv
1bf67b4b62
Added boost::regex to cmakelists.
2017-12-20 22:13:19 +01:00
bubnikv
fed5128b7f
Reverted regex to boost::regex as the C++11 regex seems to be broken
...
on Linux/gcc 4.9.
2017-12-20 21:54:47 +01:00
bubnikv
8acd51fc62
Replaced boost::regex with std::regex.
2017-12-20 18:25:53 +01:00
bubnikv
b2ba4ee34c
Fixes volumetric speed "Hint-Text" ignores "First Layer Speed"
...
and "Extrusion multiplier" #641
Implements first layer speed adjustments.
2017-12-20 14:51:18 +01:00
bubnikv
4572fe69de
Fix of a regression update issue of the "modified" flag
...
at the active profile, specific to OSX.
https://github.com/prusa3d/Slic3r/issues/632
2017-12-20 13:46:43 +01:00
bubnikv
7142126609
Grey out the compatible_printers_condition edit field in case
...
the compatible_printers list is non empty.
Changed the precendence of compatible_printers_condition over
compatible_printers. Now compatible_printers has precedence.
2017-12-20 13:32:02 +01:00
bubnikv
c8d14fb617
The wipe tower generator does not call start_filament_gcode when
...
returning from a wipe tower and the particular wipe tower layer
is only sparsely filled without a tool change.
https://github.com/prusa3d/Slic3r/issues/642
2017-12-20 12:03:54 +01:00
bubnikv
558a0753c1
Improved loading of the config wizard results.
...
Fixed some updates of the "compatible with printer" flags
at the print and filament presets.
2017-12-20 11:28:16 +01:00
bubnikv
0b6bd3cbde
Implemented a "Reset user profile" on the first page of the configuration
...
wizard if the wizard is opened from the menu. This allows one
to reinstall the bundled printer profile cleanly.
Fixed a bug when loading a config bundle as a config: The config bundle
should not be unpacked into the user profile directory.
2017-12-19 19:51:22 +01:00
bubnikv
a402b1b83d
Implemented <,>,<=,>=,or,and,||,&& operators.
2017-12-19 16:48:14 +01:00
Enrico Turri
b2eb522f55
GCodeTimeEstimator - clean up unused code
2017-12-19 09:29:04 +01:00
bubnikv
6b81f43206
First implementation of the "compatible_printers_condition"
...
for the print and filament profiles.
Added documentation for building the boost library for Slic3r on Linux.
2017-12-18 15:07:38 +01:00
bubnikv
bb61de8379
Fixed a regression error: The "current_extruder" identifier was not set
...
at the placeholder parser.
Implemented a new PlaceholderParser::evaluate_boolean_expression()
functionality to evaluate just a boolean expression using the full
expressive power of the macro processing syntax. This function
will now be used for deciding, which print or filament preset
is compatible with which printer preset.
2017-12-18 12:14:09 +01:00
bubnikv
bbfb9a4190
Added regex matching operators to the conditional G-code processor
...
in a form similar to Perl:
Following expression returns true, if the variable matches the regex:
variable =~ /regex/
Following expression returns true, if the variable does not match the regex:
variable !~ /regex/
2017-12-15 17:14:24 +01:00
bubnikv
4bbe328117
Config wizard will prompt user to copy the profiles from Slic3r to Slic3rPE
...
if the datadir is left to the default value (which is Slic3r),
and Slic3rPE directory exists.
2017-12-14 13:47:22 +01:00
bubnikv
d65835f89b
Improvement of region classification numerical stability.
...
The Clipper library is not stable when calcuating offsets of contours
with holes. Replaced a single call of offset2 with offset_ex(offset_ex()).
This is not the most efficient solution, but it fixes this problem.
Fixes https://github.com/prusa3d/Slic3r/issues/456
2017-12-14 13:26:44 +01:00
bubnikv
cdab27d337
Enabled a long wipe when moving away from the wipe tower
...
to reduce stringing.
2017-12-14 09:50:38 +01:00
bubnikv
d30c154e79
Reverted the introduction of the "presets" subdir to store
...
the print/filament/printer profiles.
The change has been reverted to support the upstream slic3r
using the --datadir. While there are breaking changes
in the PlaceholderParser, if the new macro processing is not used,
the two slic3rs are still mostly interchangeable.
The "presets" subdir may be enabled with the SLIC3R_PROFILE_USE_PRESETS_SUBDIR
and it may happen, that it will be activated one day if ever the two
slci3rs diverge too much.
2017-12-14 09:40:45 +01:00
Enrico Turri
0fe855cd6d
Time estimate shown in GUI as formatted string / Write to file made by class GCode's private methods
2017-12-14 09:18:28 +01:00
bubnikv
08b74f8caf
Fix of the wipe tower priming towers. The priming towers were printed
...
at the homing height on the MK2MM printer, not at the 1st layer height.
2017-12-13 15:35:00 +01:00
bubnikv
d47dc5da3e
Fixed update of "dirty" profile when the "compatible_printers"
...
option appears (filter is active) or disappears (no filter active,
compatible with any printer).
2017-12-13 14:44:27 +01:00
bubnikv
21b4e62e6e
Fixed handling of print and filament presets incompatible
...
with the newly selected print profile,
fixed loading of print and filament tab pages after the print or filament
preset has been changed to be compatible with a newly selected printer.
2017-12-13 14:00:14 +01:00
bubnikv
91e847cb76
Yet another fix for https://github.com/prusa3d/Slic3r/issues/607 .
...
Use EPSILON to match two layers by their floating point Z height.
2017-12-13 10:32:25 +01:00
Enrico Turri
20234c94ee
GCodeTimeEstimator - added retract_acceleration, minimum_travel_feedrate members and process of M201 gcode
2017-12-12 13:44:52 +01:00
bubnikv
74cb74f1fc
Increased maximum allowed temperature to 1500 centigrades as someone
...
is seemingly uses Slic3r to print glass :-)
https://github.com/prusa3d/Slic3r/issues/629
2017-12-12 13:43:36 +01:00
bubnikv
743fc9dbd0
Workaround for buggy Intel HD Graphics OpenGL drivers:
...
Fall back to OpenGL 1.1 by a "use_legacy_opengl" preferences switch.
https://github.com/prusa3d/Slic3r/issues/233
https://github.com/prusa3d/Slic3r/issues/268
https://github.com/prusa3d/Slic3r/issues/619
2017-12-11 18:00:51 +01:00
bubnikv
61e6f23ed2
Fix of
...
"Multimaterial printer switches filament at the wrong time during a print"
https://github.com/prusa3d/Slic3r/issues/607
There was a single layer between the raft top and the object first layer
missing on the wipe tower, and after this missing layer all the tool
changes were shifted by one layer, meaning two color print had the colors
switched.
2017-12-11 17:19:55 +01:00
Enrico Turri
e199d0532c
GCodeTimeEstimator - added process of G92 gcode
2017-12-11 15:15:21 +01:00
Enrico Turri
34a0a2cb5e
GCodeTimeEstimator - added process of M82 and M83 gcodes
2017-12-11 14:03:29 +01:00
Enrico Turri
50a45949d1
merge with master
2017-12-11 12:01:30 +01:00
Enrico Turri
bea9628be0
time estimation shown in GUI after gcode export
2017-12-11 11:11:54 +01:00
bubnikv
1938828520
Slic3r version was not set by the placeholder parser.
...
https://github.com/prusa3d/Slic3r/issues/615
2017-12-11 09:31:29 +01:00
Enrico Turri
a0a503e4a8
integration of time estimator into gcode export - save time estimation into gcode file
2017-12-11 09:06:29 +01:00
bubnikv
679aa2822c
Moved the Slic3rPE/print,filament,printer folders to
...
Slic3rPE/presets/print,filament,printer
to separate the presets from further data stored into the Slic3rPE
directory.
2017-12-10 22:11:00 +01:00
bubnikv
657f2734f1
Extended the Config Wizard to offer a selection of config bundles
...
bundled with Slic3r installation, and install it into user's Slic3r profile.
These bundled config bundles will be contained in the Slic3r source
tree under Slic3r/resources/profiles.
Breaking change! The Slic3r user directory has been renamed to Slic3rPE
for the Prusa Edition. Also it is likely, that the Slic3rPE directory
will be reorganized before the final 1.38 release to reserve space
for temporary profiles downloaded from the Internet.
2017-12-10 13:19:44 +01:00
bubnikv
9a80ff57b2
Improved robustness of handling preset files stored into a wrong location.
...
Fixes https://github.com/prusa3d/Slic3r/issues/616
2017-12-09 18:48:21 +01:00
bubnikv
8509e4b5f5
Fixes regression error introduced in Slic3r 1.38.2:
...
Slic3r 1.38.3 gcodes not building up bed temperature
https://github.com/prusa3d/Slic3r/issues/614
2017-12-09 16:39:49 +01:00
bubnikv
f0e154d54c
Bumped up the build version.
2017-12-09 15:49:43 +01:00
Enrico Turri
092d271fa2
time estimator wip stage 2
2017-12-08 10:50:36 +01:00
Lukas Matena
87c67636df
Extrusion flow calculation based on nozzle diameter etc
2017-12-07 11:59:14 +01:00
bubnikv
75dcdb84b1
Fix of a crash due to the way how the presets are sorted and searched
...
for in the PresetCollection: The 1st preset is always the "-- default --"
even if there are some presets starting with an ASCII character lower than '-'.
https://github.com/prusa3d/Slic3r/issues/603
2017-12-06 16:47:53 +01:00
Enrico Turri
bc3d184d7c
time estimator wip
2017-12-06 14:12:10 +01:00
bubnikv
7892dfd53c
Fixed a regression bug in G-code export, where ferror was called on
...
released FILE structure.
2017-12-05 18:40:46 +01:00
bubnikv
0a2be9d7bf
Fixed compilation on unices.
2017-12-05 17:52:12 +01:00
bubnikv
c34ec9b7d3
PlaceholderParser: Improved error reporting https://github.com/prusa3d/Slic3r/issues/600
...
Fixed '+' operator for strings.
2017-12-05 17:38:29 +01:00
bubnikv
8746f84fa2
Improved error reporting of the PlaceholderParser.
...
The PlaceholderParser is currently used by the GCode.cpp
and by Printer.cpp to generate a new name for the exported G-code or SVG file.
The PlaceholderParser::process() will throw a runtime_error with
a comprehensive error message.
The G-code export will include these error messages into the G-code text
with !!!!!! separators, and the GUI will inform the user, that the G-code
export failed.
2017-12-05 15:54:24 +01:00
Lukas Matena
c34fd10e23
Wipe tower rotation around center point
2017-12-05 11:25:38 +01:00
bubnikv
1244fd09eb
More efficient utf8 parser for the PlaceholderParser.
2017-12-04 18:22:42 +01:00
bubnikv
fb1bebd982
PlaceholderParser: simplistic extension to parse UTF8 characters
...
in the G-code and string constants.
Solves https://github.com/prusa3d/Slic3r/issues/600
2017-12-04 17:42:35 +01:00
bubnikv
2b0b8e6e68
Removed the hard-coded priming line when
...
both single_extruder_multi_material and wipe_tower are enabled,
and the print prints with a single extruder only.
Newly the same situation will be handled through a conditional G-code
in the following format:
{if not has_wipe_tower}
; Do the priming
{endif}
2017-12-04 11:57:54 +01:00
bubnikv
8af329e660
Added Perl to C++ interfaces for creating the preset editor pages
...
from C++ and to add debugging menus from C++. These lightweigth
interfaces should help new team members to hack the UI without
a Perl knowledge.
2017-12-04 10:48:40 +01:00
bubnikv
16bd3fc624
Fixed an extruder ordering bug on the 1st layer wipe tower.
...
This is a regression after introducing the extruder priming areas
at the edge of the print bed.
2017-12-03 09:43:00 +01:00
bubnikv
73a539780a
Bumped up a version number.
2017-12-01 18:56:32 +01:00
bubnikv
ca0626b168
Fixed regression bugs regarding print validation,
...
fixed crashes when loading a config.ini with "compatible_printers"
disabled export of "compatible_printers" into gcode and config.ini
Enabled compatibility of printing multiple objects with support / no support
with a wipe tower.
2017-12-01 18:55:57 +01:00
Lukas Matena
cb84a6cfce
Wipe tower rotation - bug fix (now returning start_pos correctly)
2017-12-01 11:10:01 +01:00
bubnikv
354408c7e6
Load the wxWidgets PNG handler only once.
2017-11-30 20:25:59 +01:00
bubnikv
752d72f58d
Increased fill rate of the support 1st layer from 50% to 70%.
2017-11-30 19:04:07 +01:00
bubnikv
cecaf6eabc
Slight optimization of the filament_start_gcode insertion:
...
It is not needed between the purging towers and the wipe tower brim.
2017-11-30 17:55:39 +01:00
bubnikv
bff7065360
Fixed a bug in the support generator: There was half extrusion width
...
gap created between the support and the support sheath.
Now the support sheath will overlap with the support base by 10%
of the extrusion width by default.
2017-11-30 16:24:48 +01:00
Lukas Matena
55570119f7
Correction of previous commit
2017-11-30 16:11:20 +01:00
bubnikv
3996535e5d
Changed handling of filament_gcode_start and filament_gcode_end custom
...
G-codes in case of single extruder multiple material setup:
At the start of the print, the filament_gcode_start is executed
for the active extruder only, and the filament_gcode_start /
filament_gcode_end are then executed at each tool change.
When the Prusa MM wipe tower is active, the tool changes are handled
a bit differently: M900 K0 is emited before the wipe tower extrusions start,
and the filament_gcode_start code is executed after the wipe tower extrusions
are done. This rule effectively disables the linear advance over the wipe tower.
Implements https://github.com/prusa3d/Slic3r/issues/568
2017-11-30 16:01:47 +01:00
bubnikv
8807d288d7
Fixed a regression issue when starting Slic3r with non-existent datadir.
2017-11-30 15:51:51 +01:00
Lukas Matena
a733df8f37
Wipe tower rotation - preview box
2017-11-30 14:43:47 +01:00
bubnikv
830da1f8e4
Fixed a regression bug of handling the obsolete config parameters,
...
causing crashes.
2017-11-30 13:43:02 +01:00
Lukas Matena
2921302fe9
GUI integration of rotation angle setting
2017-11-30 12:08:22 +01:00
bubnikv
3813402aa3
Merge branch 'master' into wipe_tower_improvements
2017-11-30 10:33:52 +01:00
bubnikv
2f54bf5bca
Fixed a random crash in the PlaceholderParser due to deallocating
...
an undefined pointer.
2017-11-29 20:38:19 +01:00
bubnikv
f754cb422b
Bumped up the version number.
2017-11-29 19:34:24 +01:00
bubnikv
ae118519ab
Fixed a 32bit build bug in the new PlaceholderParser macro processor.
2017-11-29 19:27:26 +01:00
bubnikv
08e81f2765
Bumped up the build version.
2017-11-29 10:52:54 +01:00
Lukas Matena
0e9e487930
First implementation of wipe tower rotation
2017-11-28 17:32:11 +01:00
bubnikv
9ca63f16bc
New PlaceholderParser variable for sequential prints:
...
current_object_idx - zero based index of the object printed.
Implements feature request https://github.com/prusa3d/Slic3r/issues/578
2017-11-28 15:30:05 +01:00
bubnikv
672194b475
Ported the between_objects_gcode custom G-code blocks,
...
thanks @lordofhyphens, https://github.com/alexrj/Slic3r/pull/3275
Improved handling of custom G-code blocks: Slic3r will try to extract
the target extruder and bed temperatures from the custom G-code blocks.
2017-11-28 15:19:57 +01:00
bubnikv
f58b217369
Implemented loading of a Slic3r Config Bundle as a Slic3r Config file.
2017-11-28 11:57:33 +01:00
bubnikv
3c0cd3cbc8
Improve error handling of loading Slic3r profiles.
2017-11-28 10:08:01 +01:00
bubnikv
bb2b180ecc
Fixed G-code export of custom G-code sections to not add a newline
...
if the custom G-code already ends with a newline.
2017-11-26 21:23:18 +01:00
bubnikv
b54a15faa2
Fix of the new PlaceholderParser: Maintain whitespaces and new lines.
2017-11-26 20:43:31 +01:00
bubnikv
571d654e67
Placeholder parser - added a comment with a reference to a C grammar.
2017-11-26 11:52:44 +01:00
bubnikv
5c3ba79c6f
PlaceholderParser - added an unary not operator.
2017-11-26 11:16:28 +01:00
bubnikv
2312fa845e
Fixed compilation on GCC, changed to handle keywords correctly.
2017-11-26 10:54:54 +01:00
bubnikv
708f416c84
PlaceholderParser extended with {if}/{elsif}{else} blocks and
...
+ - * / == != <> numeric expressions.
2017-11-26 09:59:14 +01:00
bubnikv
9205c8aab4
Sketch of the PlaceholderParser if/elsif/else macro.
2017-11-17 18:46:03 +01:00
bubnikv
47f193fe2d
The PlaceholderParser has been rewritten to use
...
a real boost::spirit::qi parser, accessing the DynamicConfig repository
directly. This is a first step towards a full fledged expression
interpreter.
2017-11-17 11:15:46 +01:00
bubnikv
200f176951
Fixed compilation on Linux / GTK
2017-11-10 18:50:14 +01:00
bubnikv
4628308415
Oh those compiler differences.
2017-11-10 17:42:30 +01:00
bubnikv
bfce6dba9b
Integrated the "compatible printers" idea by @alexrj with Vojtech's twist:
...
The incompatible presets are hidden in the tabs if show_incompatible_presets
is false. If show_incompatible_presets is true, there is a button to
show / hide the incompatible presets from the tab selector.
2017-11-10 17:27:05 +01:00
bubnikv
b23b9ea1d2
Implemented volumetric flow rate hints,
...
removed some C++11 conditioned compilation. Slic3r now requires C++11.
2017-11-09 15:10:20 +01:00
bubnikv
9a0100d6de
Initial definition of PresetHints C++ class and Perl binding, ported the cooling logic hints to C++.
...
Removed Perl Flow::new_from_spacing bindings.
Some Fill C++11 beautification.
Fix of a support_material_1st_layer_flow, brim_flow and skirt_flow logic to use the extrusion_width if both first_layer_extrusion_width and support_material_extrusion_width are undefined.
Documented the extrusion width logic in the config tooltips, including the default values.
2017-11-09 10:48:06 +01:00
bubnikv
5fb54ed1f3
Code beautification: PrintConfig tooltips were split to multiple lines.
2017-11-09 10:06:25 +01:00
bubnikv
e4614f301c
ConfigBase with option template to do the type conversion
...
of resolved ConfigOption.
2017-11-09 10:05:37 +01:00
bubnikv
71b58e24a9
Fixed a regression bug in the "first layer extrusion width" G-code comment.
...
https://github.com/prusa3d/Slic3r/issues/566
2017-11-06 15:43:56 +01:00
bubnikv
e6ecb77d9a
Fixed loading of configs and configs from g-codes.
2017-11-03 19:14:33 +01:00
bubnikv
b11d9708ed
Updated Controller after the presets C++ port.
2017-11-02 21:51:06 +01:00
bubnikv
dd9e1aff70
When loading Slic3r.ini of older Slic3rs, remove the .ini suffix
...
from the preset names.
This fixes https://github.com/prusa3d/Slic3r/issues/367
2017-11-02 17:31:24 +01:00
bubnikv
ee84e1773d
Fixed an incorrect comment separator in generated g-code.
2017-11-02 16:50:08 +01:00
bubnikv
4ab4a9afe8
Fighting with boost::filesystem::directory_iterator
2017-11-02 16:40:25 +01:00
bubnikv
7551006102
Another fix or Unices of the previous commit.
2017-11-02 16:35:46 +01:00
bubnikv
df5628422c
Fixed serial port enumeration on non-Win32 systems.
2017-11-02 16:29:03 +01:00
bubnikv
e8b6d92d4d
Looks like the reworked C++ preferences start to work again.
2017-11-02 16:21:34 +01:00
bubnikv
95c284c764
Next step of Perl to C++ configuration layer conversion.
2017-11-01 19:30:05 +01:00
bubnikv
d564fc95df
Split Preset.cpp,hpp to Preset.cpp,hpp and PresetBundle.cpp,hpp
2017-10-30 18:41:50 +01:00
bubnikv
1fee3633a0
New C++ class AppConfig for maintaining the config.ini
...
New helper function for generating a unified "generated by slic3r" header.
2017-10-30 18:15:41 +01:00
bubnikv
835e5b71a8
Reduce UI flicker.
2017-10-28 00:18:02 +02:00
bubnikv
857b78ddca
Fix of the previous commit: Slic3r::Config::new_from_defaults_keys
...
has to be provided with a reference to array of strings.
2017-10-27 22:49:59 +02:00
bubnikv
21633bc0ba
throw std::invalid_argument instead of std::exception
2017-10-27 21:28:39 +02:00
bubnikv
2455aee97c
Further reduction of Perl Config.pm methods.
2017-10-27 18:52:35 +02:00
bubnikv
3bc79e80d5
Fixed configuration & validate C++ ports.
2017-10-27 16:11:06 +02:00
bubnikv
5a99e694ce
Another step towards the C++ presets.
2017-10-26 17:17:39 +02:00
bubnikv
ee645007f2
Another step towards C++ presets.
2017-10-25 12:53:31 +02:00
bubnikv
fe0bf6ebf3
Optimization of Perlglue ConfigBase__get
2017-10-18 14:26:38 +02:00
bubnikv
d9d6d996e9
Utility functions to pass wxWidgets pointers from Perl to C++ code.
...
C++ var_dir / set_var_dir() interface to access the UI resources
from the C++ code.
2017-10-17 20:00:15 +02:00
bubnikv
af51220f34
Fix of preceding commit.
2017-10-17 19:41:04 +02:00
bubnikv
b9d57483d8
perglue.cpp - use static_cast instead of dynamic_cast if possible,
...
use switch instead of plenty of ifs,
export clone<DynamicPrintConfig> to Perl XS.
2017-10-17 19:19:41 +02:00
bubnikv
746afbd790
Yet another compilation fix?
2017-10-17 18:49:07 +02:00
bubnikv
9a7d1bb566
Another compilation fix.
2017-10-17 18:41:54 +02:00
bubnikv
de2c6a2a3d
exception what() method shall be noexcept.
2017-10-17 17:53:16 +02:00
bubnikv
67ce4d862b
One more fix of the preceding commit.
2017-10-17 17:48:04 +02:00
bubnikv
38aca5047f
Fix of the preceding commit for gcc & clang:
...
Add a class name suffix to the s_cache static members
of the StaticPrintConfig derived classes.
2017-10-17 17:37:03 +02:00
bubnikv
3731820c48
Optimization of the configuration layer:
...
The values of StaticPrintConfig derived objects were searched by a name
walking through a huge chained if.
Now they are being mapped with a std::map.
Also initialization of StaticPrintConfig classes from their ConfigOptionDef
defaults is done by maintaining a single global definition of each
StaticPrintConfig derived class, and a new instance is initialized
from this static copy.
Also the ConfigOption instances are casted using static_cast
wherever possible, and their types are verified by a virtual type() method.
This approach avoids insiginificant performance penalty of a dynamic_cast.
Also the compare and clone methods were added to ConfigOption,
and the cloning & compare work on binary values, not by serialization.
2017-10-17 16:01:18 +02:00
bubnikv
a91d7cb2f7
Redefined the ==, != operators of Point and BoundingBox classes
...
to become members of their respective classes to avoid type clashes
through implicit casting operators of ConfigOption classes.
2017-10-17 14:36:30 +02:00
bubnikv
a191fbbec8
Fix of a 3D print path preview for the wipe tower: Calculate
...
the bounding boxes accurately.
2017-10-04 13:50:04 +02:00
bubnikv
a830a3c161
Fixes the scene disappearing when there are no Prusa MM priming towers.
2017-10-03 14:15:00 +02:00
bubnikv
e719e48a84
Fixed a bug in the temperature handling of the Prusa Multi Material
...
priming towers.
2017-10-03 13:43:34 +02:00
bubnikv
eb0117b1c1
Fix of https://github.com/prusa3d/Slic3r/issues/492
...
When a layer contained the support interface only, it was errorneously
printed with the support base material.
2017-10-03 13:22:37 +02:00
bubnikv
9898024ce9
admesh: changed header_num_facets to uint32
2017-10-03 12:41:53 +02:00
bubnikv
1958673806
Fixed the cubic infill: The cubic infill was 30% flatter than it should
...
have been.
2017-10-03 11:29:13 +02:00
bubnikv
a52a04550e
Big endian fix, thanks to @hyperair for hints and initial implementation.
2017-10-03 10:57:16 +02:00
bubnikv
84d4bf8fdb
Load presets into the new C++ class.
2017-10-02 17:35:00 +02:00
bubnikv
b1e3b0cdf9
Further fixes of the previous commit.
2017-09-20 10:16:00 +02:00
bubnikv
8089631f10
Fix of the previous commit: Fix compilation on Linux.
2017-09-20 10:03:53 +02:00
bubnikv
473233019c
Initial partial implementation of presets in C++.
2017-09-19 13:55:48 +02:00
bubnikv
b58756f38b
A bit of refactoring and beautification.
2017-09-18 10:01:37 +02:00
bubnikv
e16f827223
Ported PrintConfigBase::_handle_legacy from Perl to C++,
...
merged from upstream Slic3r, thanks to @alexrj.
2017-09-18 09:56:48 +02:00
bubnikv
cd084a33c6
Fixed a regression bug, which was made during the porting of
...
discover_horizontal_shells() fron Perl to C++, where
the already calculated bridge direction was being lost.
Improved constness of the debug methods
void export_region_slices_to_svg(const char *path) const;
void export_region_fill_surfaces_to_svg(const char *path) const;
2017-09-14 13:15:32 +02:00
bubnikv
777dc8c48b
Fixed a missing bbox.defined=true assignment.
2017-09-13 15:52:51 +02:00
bubnikv
e2a169b0e5
Changed the G-code protocol for cleaning up the priming towers
...
for the multi material prints.
2017-09-13 13:27:49 +02:00
bubnikv
83b5b9e660
Set a missing bbox.defined flag.
2017-09-13 10:28:02 +02:00
bubnikv
6b2b279889
Fix of "exponentional values generated as G1 F-1.95058e+006 causing problems"
...
https://github.com/prusa3d/Slic3r/issues/463
2017-09-12 18:20:06 +02:00
bubnikv
98408bbed0
Fixed a crash when slicing leads to no print.
...
Fixed a bug in TriangleMesh::bounding_box().
2017-09-12 16:48:44 +02:00
bubnikv
b08d6f1969
The last priming area is shortened and the excess wipe is moved
...
into the wipe tower if there is enough space inside the wipe tower.
2017-09-12 15:55:38 +02:00
bubnikv
100c8f60a5
Added GCode/PrintExtents.cpp,h
...
Added a check for a collision between the multi material priming
regions with the rest of the print.
2017-09-12 09:01:48 +02:00
bubnikv
748c1ab1de
Merge branch 'master' of https://github.com/prusa3d/Slic3r
2017-09-11 09:58:54 +02:00
bubnikv
fd3b474a63
Merges https://github.com/prusa3d/Slic3r/pull/509
2017-09-11 09:58:41 +02:00
eyal0
d903af5373
Many warnings fixed ( #510 )
...
Thanks
2017-09-11 09:49:59 +02:00
bubnikv
836dd98113
CMake build system: Adding -fext-numeric-literals when compiling with gcc.
...
This should fix https://github.com/prusa3d/Slic3r/issues/500
2017-09-11 09:20:22 +02:00
bubnikv
93774087f1
Fixed typo from the previous commit.
2017-09-04 13:55:56 +02:00
bubnikv
2c5304a520
Implemented an initial priming line for a single-material print
...
on a Prusa Multi-Material printer.
2017-09-04 13:51:05 +02:00
bubnikv
29d9a1e810
Fixed a default locale on Windows for UTF normalization.
2017-09-04 10:34:51 +02:00
bubnikv
b35f5780dc
Fixed compilation on OSX & LInux
2017-09-04 10:14:56 +02:00
bubnikv
b610866d77
Implemented priming of all the filaments of the Prusa Multi Material.
2017-09-01 17:30:18 +02:00
bubnikv
247070cd82
Fixed a regression bug of Slic3r::encode() / decode()
2017-08-30 14:57:13 +02:00
bubnikv
38e35cefc7
Removed the Perl Build.PL for the XS module. This has been replaced
...
by the CMake based build system.
2017-08-30 10:03:32 +02:00
bubnikv
4bd694e205
CMake build process: Fixed build on OSX: renamed XS to XS.bundle
2017-08-29 16:37:46 +02:00
bubnikv
6688d6c590
CMake build system: Link perl library on windows only.
2017-08-29 12:41:59 +02:00
bubnikv
c0a9c67632
CMake build system: Fix on older linux?
2017-08-28 23:17:24 +02:00
bubnikv
ff4e8d94c0
CMake build process: Workaround for an old CMake on Linux.
2017-08-28 23:11:43 +02:00
bubnikv
0cb491e135
CMake build process:
...
Added the "test" target to execute the perl prove unit / integration tests.
Added a post-build step to copy the XS.dll & Slic3r/XS.pm to local-lib.
2017-08-28 19:11:16 +02:00
bubnikv
48f826c2c5
Disabled a limit of the nozzle diameter 0.4mm for the Prusa Wipe Tower.
...
Allowed scaling of the extrusion amount over the Prusa Wipe Tower
for layer heights over 0.2mm.
2017-08-28 14:57:00 +02:00
bubnikv
61b89865ff
Fixed a regression bug (bundling of multiple STLs into a single model).
2017-08-28 14:54:46 +02:00
Vojtech Bubnik
85ffbf1f57
Merged
2017-08-18 22:47:26 +02:00
Vojtech Bubnik
d0c43c99c3
CMake build system: Linux fixes
2017-08-18 22:45:24 +02:00
Vojtech Bubnik
9620596d59
CMake build system - fixes for OSX. Now a working XS.bundle is being generated.
2017-08-18 13:06:10 -07:00
bubnikv
ba1c0b0137
CMake build process - fixes of the previous check-ins to build
...
cleanly on Windows & Linux. There is still a work on OSX:
The XS module has to be linked without perl.lib and with
the following parameters to produce a bundle: -bundle -undefined dynamic_lookup
2017-08-18 21:09:53 +02:00
bubnikv
e2a685b8bb
CMake build system: Fixes for OSX.
2017-08-18 16:59:36 +02:00
bubnikv
3dbc93c663
CMake: Aadd local-lib to PATH and PERL5LIB environment variables,
...
so the locally installed modules (mainly the Alien::wxPerl) will be reached.
2017-08-18 14:34:54 +02:00
bubnikv
cb1bc0aaf8
CMake build system, initial placeholder for slic3r C binary.
2017-08-18 13:32:35 +02:00
bubnikv
428b7d3f9d
CMake: Added all header files to the particular libraries.
2017-08-18 12:41:01 +02:00
bubnikv
2a3d2fb8c1
CMake: Split the globs into separate libraries.
2017-08-18 11:39:24 +02:00
Vojtech Bubnik
952ca18bf9
Modified to compile on Ubuntu
2017-08-17 19:43:14 +02:00
bubnikv
94483202ec
CMake build system: Always use the system libexpat on Linux.
2017-08-17 18:33:15 +02:00
bubnikv
c0f099c2cf
CMake conversion, further steps: Now it compiles on Visual Studio 2013.
2017-08-17 18:27:51 +02:00
bubnikv
bb36e78428
Further CMake integration, split the xs CMakeFiles.txt to
...
FindAlienWx.cmake and FindPerlEmbed.cmake for easier Perl integration.
2017-08-17 13:30:46 +02:00
bubnikv
5673205d2e
Initial implementation of a CMake build system for the Slic3r XS module.
...
Based on https://github.com/CReimer/Slic3r/tree/makefile_pr
Big thanks to @CReimer for his huge effort.
2017-08-16 19:05:08 +02:00
bubnikv
507f2ff45e
Comprimed the previous pull request.
2017-08-14 12:56:09 +02:00
redPrint7
fdc7036fe3
Update WipeTowerPrusaMM.cpp ( #464 )
...
Resolves compile error on Win XP / Win 7 with native toolchain MinGW32-w64 on perl 5.26 or Citrusperl 5.24.
2017-08-14 12:54:19 +02:00
bubnikv
3b54b68b59
Merged new methods for handling menus with icons,
...
merged "Use submenus for listing options in dropdown menu." #3905
thanks @alexrj
Adapted the "Use submenus" code to sort the menus in the same order
as they appear in the parameter tabs.
2017-08-04 16:28:01 +02:00
bubnikv
8d5e5519f2
Fix of compilation on Windows 32bit: Include windows.h for the declaration
...
of MultiByteToWideChar.
2017-08-03 19:49:41 +02:00
bubnikv
1385018724
Unicode handling:
...
Removed the Perl dependencies on Encode, Encode::Locale and Unicode::Normalize.
Added dependency on boost::locale.
Added encode_path, decode_path, normalize_utf8 functions to Slic3r.xs
Slic3r.xs has been made mostly utf8 safe by using the boost::nowide library,
thanks to @alexrj for the idea.
Simplified the encode_path / decode_path stuff:
wxWidgets are unicode already, so there is no need to decode_path() from it.
Perl / win32 interfacing is non-unicode, so decode_path() is executed
on ARGV just at the beginning of the perl scripts.
2017-08-03 17:31:31 +02:00
bubnikv
31085fb1d7
Ported some ModelObject methods from Perl to C++.
...
Added some utility functions to TriangleMesh, thanks to @alexrj
Some porting to C++ based on work by @alexrj.
2017-08-02 16:05:18 +02:00
bubnikv
777023c7a8
Ported PrintObject::prepare_infill & combine_infill from Perl to C++.
2017-08-02 14:24:32 +02:00
bubnikv
71f99423c5
New feature: Bridging angle override through a bridge_angle config
...
variable. When set to zero, the usual automatic bridge detection applies.
The bridging angle override may be set at the Infill->Advanced settings,
or through a modifier mesh.
2017-07-31 16:23:52 +02:00
bubnikv
75c72bc59b
Fix of "MM incorrect extruder temperature"
...
https://github.com/prusa3d/Slic3r/issues/443
Change of the PlaceholderParser:
All vector configuration values stored into the PlaceholderParser
are expected to be addressed by the extruder ID, therefore
if a vector configuration value is addressed without an index,
a current extruder ID is used.
Also a small fix of fan handling: The fan speed is set to zero
at the start of the G-code if the cooling for the initial extruder
is disabled.
2017-07-31 15:42:55 +02:00
bubnikv
7181f5d163
PrusaControl file format: Added multi-material support.
2017-07-28 15:48:49 +02:00
bubnikv
812a2c7cbd
Further implementation of FillRectilinear3.
2017-07-28 15:47:59 +02:00
bubnikv
137aab9631
Fixed compilation on Linux
2017-07-27 13:21:48 +02:00
bubnikv
a6ea01a23f
Moved some math macros (sqr, lerp, clamp) to libslic3r.h
...
Added UNUSED macro to libslic3r.h, used it to reduce some compile warnings.
Split the Int128 class from Clipper library to a separate file,
extended Int128 with intrinsic types wherever possible for performance,
added new geometric predicates.
Added a draft of new FillRectilinear3, which should reduce overfill near the perimeters in the future.
2017-07-27 10:39:43 +02:00
bubnikv
969e3f4a80
Fixed "Fill angle of any number other than an Integer does not work"
...
https://github.com/prusa3d/Slic3r/issues/427
Also enabled floating point rotation angle for supports.
2017-07-20 13:38:10 +02:00
bubnikv
6bb773d0dd
Prusa MM Wipe Tower, Improvements of the 1st layer:
...
Thiner priming line along the wipe tower,
relatively thick infill at the 1st layer to improve adhesion.
2017-07-20 12:58:51 +02:00
bubnikv
aaefb76888
Fixed test cases after change of the "sane" extrusion widths.
...
Changed the default perimeter / infill overlap to 25%.
2017-07-20 11:03:54 +02:00
bubnikv
ac672d9dc5
Changed the default "sane" extrusion width parameters to
...
1x nozzle_dmr for support and top infill,
and 1.125x nozzle_dmr for the rest.
This corresponds roughly to the default values tuned for the Prusa MK2
for normal prints.
2017-07-19 16:06:29 +02:00
bubnikv
2f2c0ddc99
Refactored Fill / Flow for readability.
...
Added an "overlap" member variable to fill classes in the preparation
for futher move of the "infill / perimeter" overlap to the Fill class.
Moved the orientation predicates from Fill to Geometry.
2017-07-19 15:53:43 +02:00
bubnikv
9c1b1829cf
PerimeterGenerator - a bit of refactoring for readability.
2017-07-19 15:42:49 +02:00
bubnikv
81823fe7df
Reduced the content of Geometry.pm, removed unused Perl subroutines.
...
Reduced the use Slic3r::Geometry and use Slic3r::Geometry::Clipper
clauses to only reference used subroutines.
2017-07-19 10:45:39 +02:00
bubnikv
2c82a327dd
Fix of "Wipe Tower ... only supported ... .4 nozzle" error when slicing
...
a non .4mm nozzle single extruder (Stock MK2S) print
https://github.com/prusa3d/Slic3r/issues/426
The constraint for the "Wipe Tower" checkbox has been raised, so
one will get this error message only if the printer settings has more
than one extruder configured, as the wipe tower does not get generated
for a single extruder print.
2017-07-17 09:07:18 +02:00
bubnikv
ed73f0b6ef
Fix of "Modifier meshes don't work for speed modifications"
...
https://github.com/prusa3d/Slic3r/issues/298
2017-07-14 17:30:54 +02:00
bubnikv
40a882d01e
Experimental feature, which may make the Clipper offsets run faster
...
due to avoiding the 128bit multiply operations:
A filtered predicate is tried to calculate SlopesEqual()
to minimize the invocation of 128bit multiply operations.
2017-07-13 15:52:19 +02:00
bubnikv
bd93d2f334
Fix of "Cooling fan problem Slic3r 1.35.5.16 "
...
https://github.com/prusa3d/Slic3r/issues/418
This is a regression of the cooling buffer changes done for multi-material
(supporting different cooling settings for different filaments)
2017-07-13 12:11:00 +02:00
bubnikv
c159165780
A bit of clean-up in GCode.cpp
2017-07-11 11:42:55 +02:00
bubnikv
c52c31a855
A bit of clean-up in FillRectilinear2.cpp
2017-07-11 11:42:21 +02:00
bubnikv
c7d16699a4
When setting an override extruder in the Object Settings dialog,
...
don't apply this extruder to supports. This did not make sense
as the new "don't change tool (0)" extruder choice fits well for non-soluble
and the soluble supports should not be overriden as well.
2017-07-11 11:41:23 +02:00
bubnikv
41f50b246c
Inlined Surface::any_internal_contains / any_bottom_contains
2017-07-10 13:15:36 +02:00
bubnikv
7c1350d007
Fixed "Too much support generated for buildplate only supports"
...
https://github.com/prusa3d/Slic3r/issues/359
2017-07-07 18:06:41 +02:00
bubnikv
774c69e3c6
Fix of "Problem with larger brim overlapping "
...
https://github.com/prusa3d/Slic3r/issues/373
2017-07-07 16:40:23 +02:00
bubnikv
434f538919
Fix of soluble interface / non-soluble support:
...
The non-soluble support with "don't care" extruder will preferably
be printed with a non-soluble extruder, if possible without a tool change.
2017-07-07 13:22:00 +02:00
bubnikv
abcd746774
Fix of
...
Overhang threshold not utilized after 1.34.1
https://github.com/prusa3d/Slic3r/issues/360
"Overhang threshold" and "Enforce support" don't work
https://github.com/prusa3d/Slic3r/issues/273
2017-07-07 10:45:39 +02:00
bubnikv
e78839d2fc
Fixed a regression after porting GCode generator to C++
...
Not lifting extruder after printing complete individual objects
https://github.com/prusa3d/Slic3r/issues/400
2017-07-05 11:58:00 +02:00
bubnikv
0ad4e9d51f
Refactored the cooling buffer: Removed ElapsedTime.
2017-06-30 20:01:32 +02:00
bubnikv
bf9027ff2d
Fix of a cooling buffer over multiple extruders.
2017-06-30 19:07:14 +02:00
bubnikv
115deee252
FLT_MAX strikes again
2017-06-30 17:14:13 +02:00
bubnikv
1158ce41df
Finalized implementation of a cooling buffer for multiple extruders
...
with different settings.
2017-06-30 17:05:58 +02:00
bubnikv
ab21a253e0
Hopefully finally fixed reordering of the multi-material parts.
2017-06-26 16:44:16 +02:00
bubnikv
8160db23cc
Implementation of "XY size Compensation for first layer"
...
https://github.com/prusa3d/Slic3r/issues/190
2017-06-26 16:28:10 +02:00
bubnikv
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
39b9341359
Include the wipe tower print time into the cooling time.
...
Further refactoring of Extruder class.
2017-06-22 15:18:37 +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
c1146e298b
Set the bed temperature based on the active extruder settings.
...
https://github.com/prusa3d/Slic3r/issues/157
2017-06-21 17:45:55 +02:00
bubnikv
f0325575c2
Slic3r has been modified to propagate the following filament specific
...
values to GCode generator, one per active extruder:
bed_temperature
bridge_fan_speed
cooling
disable_fan_first_layers
fan_always_on
fan_below_layer_time
first_layer_bed_temperature
max_fan_speed
min_fan_speed
min_print_speed
slowdown_below_layer_time
Now it remains to extend Slic3r to correctly apply these values.
2017-06-21 16:15:39 +02:00
bubnikv
0bd2bb1e8e
Compilation issue on Linux & OSX
...
https://github.com/prusa3d/Slic3r/issues/368
2017-06-21 14:12:11 +02:00
bubnikv
b12e4689e8
Fix of changing the order of volumes of a multi-volume part:
...
The 3D preview scene was not updated properly.
2017-06-21 14:10:22 +02:00
bubnikv
7ca02bda0f
Fix of a "split" function issue.
...
1) Load a multi-part stl
2) Rotate it by 90 degrees
3) Split it.
Before this fix, the split object jumped away from the print bed.
This sound similar to
https://github.com/prusa3d/Slic3r/issues/309
2017-06-19 14:26:19 +02:00
bubnikv
cb43f19a90
Fixed a variable layer height profile update issue.
...
https://github.com/prusa3d/Slic3r/issues/358
2017-06-15 20:15:53 +02:00
bubnikv
b724d789fd
New feature: Splitting an object into a multi-part volume.
2017-06-15 15:38:15 +02:00
bubnikv
a1f6403463
Fix of a wipe tower - wipe tower shrinking by the amount of material
...
wiped into the zig-zag pattern.
2017-06-15 10:53:37 +02:00
bubnikv
b8369ab19a
gcc and clang did not like throwing std::exceptions with a cstring arugment
2017-06-14 20:33:20 +02:00
bubnikv
2ac981e422
Improved error handling when importing configuration from a G-code.
2017-06-14 20:18:46 +02:00
bubnikv
f7334f58d3
Finalized the config import from a G-code.
2017-06-14 18:53:11 +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
c61e098066
Integrated the not yet accepted boost::nowide library, thanks @alexrj.
2017-06-14 16:24:49 +02:00
bubnikv
c431bf5982
Fixed missing default_region_config values exported into the g-code.
2017-06-14 15:16:43 +02:00
bubnikv
8a2a9abbd4
Fix of "Raft and support dont work together"
...
https://github.com/prusa3d/Slic3r/issues/314
There was an issue with raft & soluble support.
Also there was a bug, where the support was not generated correctly
after a change of the support Z gap.
2017-06-13 19:29:15 +02:00
bubnikv
6cb7583756
Reverted the "set_and_wait_temperatures" configuration to match
...
the behavior of the @alexrj slic3r.
2017-06-13 13:46:04 +02:00
bubnikv
f7831240e1
Fixed compilation on OSX
2017-06-13 12:09:49 +02:00
bubnikv
a4992602ee
Auto arrange: Do at least something if the objects do not fit the bed.
...
Thans @alexr
https://github.com/prusa3d/Slic3r/issues/336
2017-06-13 11:43:25 +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
21ddcb8487
Fix of a layer height test to allow / disable the wipe tower.
2017-06-12 14:33:33 +02:00
bubnikv
f408f08850
Disabled the new Slic3r version check until we have a server set up
...
for the Slic3r Prusa Edition.
Hopefully a fix of https://github.com/prusa3d/Slic3r/issues/258
by moving the 2D thumbnail generation to the main thread and
forcing the simple 2D convex hull for even the small objects.
2017-06-12 14:25:35 +02:00
bubnikv
881a5c531b
Fix of the last commits:
...
1) FLT_MAX replaced with limits,
2) apply_config is called by the test case harness to update layer height profile.
2017-06-09 14:24:00 +02:00
bubnikv
958c6553e7
Hopefully a fix of
...
"Layer editing does not trigger reslicing with Background Processing enabled"
https://github.com/prusa3d/Slic3r/issues/293
2017-06-09 13:27:35 +02:00
bubnikv
2bbcd49278
Fix of a crash in pressure equlizer filter.
...
https://github.com/prusa3d/Slic3r/issues/339
2017-06-08 20:28:21 +02:00
bubnikv
dd41406a55
Fixed regression in invalidation of slicing steps.
2017-06-08 17:46:28 +02:00
bubnikv
89dcd3e8b1
Implemented raft support for the wipe tower
...
https://github.com/prusa3d/Slic3r/issues/324
Implemented a correct layer height preview for the wipe tower layers,
if the wipe tower layer height is not constant due to the application
of raft.
2017-06-08 16:58:29 +02:00
bubnikv
f9f0940297
Implemented rotation of the support structure.
2017-06-08 14:02:37 +02:00
bubnikv
a15e6127cf
Relaxed the requirements on the layer height for the Wipe Tower to
...
the span of 0.15mm to 0.35mm.
2017-06-08 12:10:34 +02:00
bubnikv
8b5f7f0fb2
Limit the object movement to the vincinity of the print bed.
2017-06-08 11:02:29 +02:00
bubnikv
53d08d1883
New BoundingBox3 class.
2017-06-06 19:12:46 +02:00
bubnikv
baf27ff021
Fix of View menu not working https://github.com/prusa3d/Slic3r/issues/307
2017-06-06 13:39:50 +02:00
bubnikv
3e764ada0c
For the wipe tower to work, verify that all objects are sliced
...
with the same layer heights.
Also enforce layer synchronization for soluble supports.
2017-06-06 11:40:35 +02:00
bubnikv
72f348658f
Testing for the required parameter combinations before enabling the wipe tower.
...
The wipe tower needs to be made more general in the future to overcome
these limitations.
2017-06-06 10:36:14 +02:00
bubnikv
88c9ae6ca6
Fix of
...
https://github.com/prusa3d/Slic3r/issues/315
a crash if the max_layer_height is left to a default value of zero.
2017-06-05 12:02:26 +02:00
bubnikv
ad3be1a69e
Implemented filament start / g-codes.
...
https://github.com/prusa3d/Slic3r/issues/265
https://github.com/prusa3d/Slic3r/issues/319
Based on the implementation by @lordofhyphens
19eea19d91
2017-06-05 11:30:57 +02:00
bubnikv
b5f38dd23f
Fixed the "avoid crossing perimeters" bug introduced in Slic3r 1.34.1.24
...
https://github.com/prusa3d/Slic3r/issues/311
https://github.com/prusa3d/Slic3r/issues/317
https://github.com/prusa3d/Slic3r/issues/323
2017-06-02 13:33:19 +02:00
bubnikv
ef73bb404b
Fixed compilation on gcc.
2017-06-01 16:43:21 +02:00
bubnikv
02592378e2
Improved "ensure vertical wall thickness" feature for multi material:
...
If the "interface_shells" feature is disabled, the "ensure vertical wall thickness"
feature will not add full infill over internal shells.
Fixed some issues with delayed loading of 3d scenes.
2017-06-01 16:31:29 +02:00
bubnikv
556f40bf00
Clean-up of print step invalidation.
2017-05-31 17:02:23 +02:00
bubnikv
c8b934f8d3
Yet more refactoring of Print / PrintObject in regard to
...
C++11 loops, configuration and step invalidation.
2017-05-31 12:55:59 +02:00
bubnikv
0a692cc497
Regression fix of percent config values serialization.
2017-05-30 21:29:43 +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
41a4df0a38
Print, PrintObject: Invalidation of steps, when chained, will now return
...
a correct invalidated / not invalidated flag.
Rewrote the step valid state from std::set to a fixed array for performance
reasons.
2017-05-30 17:17:26 +02:00
bubnikv
e32632b9d9
Config.cpp/h - inlined short functions, converted loops to C++11,
...
fixed some constness issues.
2017-05-30 17:04:36 +02:00
bubnikv
2178180a19
Wipe tower: Wipe less than usual amount of material if the wipe
...
is followed by the final sparse zig-zag tower section.
2017-05-30 10:51:38 +02:00
bubnikv
0120f3ed92
Fix of the final purge over the wipe tower.
2017-05-30 09:25:34 +02:00
bubnikv
3d6c997012
fixed compilation on Windows
2017-05-25 22:54:42 +02:00
bubnikv
2f4ff6577a
With single_extruder_multi_material enabled,
...
don't append a tool selection (Txx) to the extruder temperature
settings (M104 and M109).
2017-05-25 22:52:28 +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
2713aa1772
When generating a g-code for a layer, collect layers of multiple objects
...
with not exactly the same print_z, but support a slight deviation.
2017-05-23 17:09:43 +02:00
bubnikv
ca590cb559
Refactored ToolOrdering to a class,
...
layers with print_z closer than EPSILON are merged and printed together.
2017-05-23 15:00:01 +02:00
bubnikv
aad9f61bad
Wipe Tower: Fixed some ordering issue in the G-code writer.
2017-05-22 20:56:42 +02:00
bubnikv
c9c4105289
Fixed an excessive retract / derectract length
...
with the new retract_before_wipe value set to nonzero.
2017-05-22 18:16:35 +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
dfc4717308
Fixes for Multi Material ramming, increased separation of wipe lines.
2017-05-20 18:59:05 +02:00
bubnikv
a99b006b98
Implemented https://github.com/prusa3d/Slic3r/issues/199
...
by merging the work by @lordofhyphens done on https://github.com/alexrj/Slic3r/issues/3268
2017-05-20 15:29:25 +02:00
bubnikv
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
8bd3dec331
Extrude brim of the wipe tower before any other objects.
2017-05-18 21:22:48 +02:00
bubnikv
11307eb350
typo in default ramming sequence.
2017-05-18 19:49:55 +02:00
bubnikv
c28e4cb0f7
Increased extruder driver current for ramming over the multi material
...
wipe tower.
2017-05-18 19:05:44 +02:00
bubnikv
81701b400c
Prusa Multi Material: Improved path planning when jumping to the wipe tower.
2017-05-18 16:53:19 +02:00
bubnikv
e75d851bc4
Updated MANIFEST,
...
fixed some compiler warnings.
2017-05-17 20:06:33 +02:00
bubnikv
fdff937cb2
Fixed tool ordering for sequential prints.
2017-05-17 19:25:36 +02:00
bubnikv
34747b2015
Added ABS material to the Prusa Multi Material wipe tower.
2017-05-17 18:14:47 +02:00
bubnikv
66b619dfa4
Bugfix of tool ordering.
2017-05-17 17:21:55 +02:00
bubnikv
f27ec3f226
Prusa Multi Material wipe tower: Do an unretract before doing
...
the wipe tower things.
2017-05-17 16:59:56 +02:00
bubnikv
cb0a66b743
Initial implementation of a wipe tower preview UI.
2017-05-17 16:53:40 +02:00
bubnikv
7b6c9b3b3c
Fixes of the Prusa Multi Material wipe tower.
2017-05-17 16:45:37 +02:00
bubnikv
4bc827d1da
WipeTowerPrusaMM: Added some documentation, fixed minor issues.
2017-05-17 10:42:39 +02:00
bubnikv
7b152919a6
Changed handling of extruder temperatures
...
for single_extruder_multi_material printers.
Fixed some compilation errors on OSX.
Disabled re-slicing on change of new G-code only parameters.
2017-05-16 16:02:52 +02:00
bubnikv
21be680ac2
Fixes of G-code multi-tool ordering.
2017-05-16 15:30:03 +02:00
bubnikv
c22b6edeeb
Initial integration of the Prusa MultiMatrial Wipe Tower.
2017-05-16 13:45:28 +02:00
bubnikv
74346efccb
Fix of a multi-material g-code export.
2017-05-15 16:42:29 +02:00
bubnikv
60c65f6da7
Fixed crashes intruduced recently into G-code generator.
...
Added a template sort_remove_duplicates.
2017-05-15 11:32:59 +02:00
bubnikv
89e34ae1d6
Missing include for OSX.
2017-05-12 14:22:20 +02:00
bubnikv
ff0412b417
Support material - Fixed some compilation warnings, added new debbuging
...
SVG file outputs.
2017-05-12 11:18:32 +02:00
bubnikv
3b5f40710c
Support Generator: Fixed initial indices in search caches.
...
Changed the interface layer infill type to concentric for soluble supports.
2017-05-12 11:14:25 +02:00
bubnikv
46e8259b99
Fixing some missing layers with support material.
2017-05-12 11:09:24 +02:00
bubnikv
805179b9da
Wipe tower refactored to remove renundancies,
...
added comments.
2017-05-12 10:44:56 +02:00
bubnikv
b92aa20cef
Include <strings.h> on linux.
2017-05-10 16:15:14 +02:00
bubnikv
146039f402
Added Prusa MultiMaterial Wipe Tower. Now it is time to integrate it
...
into the G-code generator.
2017-05-10 15:54:59 +02:00
bubnikv
2f57ee60d1
Improved G-code generator for multi-material prints
...
to minimize tool switches.
2017-05-10 11:25:57 +02:00
bubnikv
18bb3c3244
Added Notes Tab to Printer Settings #210
2017-05-05 11:59:51 +02:00
bubnikv
60528c5c2a
Performance improvements of the MotionPlanner
...
(rewrote the Dijkstra shortest path algorithm to use a binary priority
heap instead of a dumb O(n^2) algorithm, added some bounding box tests
to avoid expensive in-polygon tests if possible).
2017-05-05 09:59:56 +02:00
bubnikv
0adc6cc65e
Provide own implementation of std::make_unique for older compilers.
2017-05-03 18:57:33 +02:00
bubnikv
867619fa40
missing include <memory>
2017-05-03 18:35:55 +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
69c0f55679
Fixes loading of multi-part ASCII STLs.
...
https://github.com/prusa3d/Slic3r/issues/255
2017-04-18 10:53:31 +02:00
bubnikv
23be6233c8
Finalized the experimental "synchronize support layers with object layers"
...
feature (the support_material_synchronize_layers settings).
The feature is now enabled for the soluble supports only
(with support_material_contact_distance > 0).
Fixes https://github.com/prusa3d/Slic3r/issues/197
2017-04-10 12:00:07 +02:00
bubnikv
688fe3e2b2
Fixed some rare support issues connected with the 1st print layer.
...
Fixed support issue, where the XY gap was ignored for the top contact layers
and a fixed 50% was used instead.
2017-04-07 17:44:51 +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
7ffb3590c4
Finalized the Prusa Control project file format import.
2017-04-05 14:45:43 +02:00
bubnikv
f9023c0603
Removed some unused code.
2017-04-05 13:50:59 +02:00
bubnikv
6f5700a3a6
Fix of
...
https://github.com/prusa3d/Slic3r/issues/66
https://github.com/prusa3d/Slic3r/issues/181
Implemented filtering of the support structures expanded into a grid,
where the support parts leaked through the object wall are removed
after the fact.
2017-04-05 09:56:59 +02:00
bubnikv
5126c5018a
Provision for disabling TBB parallelization for debugging purposes.
2017-04-05 09:53:24 +02:00
bubnikv
74b95e9152
Adapted BoundingBox get_extents(const ExPolygons &expolygons)
...
to work even with empty polygons.
2017-04-05 09:52:06 +02:00
bubnikv
555560f63c
Simplification, C++11 beautification.
2017-04-05 09:51:03 +02:00
bubnikv
ef2cfdb0d1
C++11 beautification of loops.
2017-04-05 08:59:03 +02:00
bubnikv
47543cf82a
Operator< for Point
2017-04-05 08:57:59 +02:00
bubnikv
329f0b9cf4
Debugging output and asserts for TriangleMeshSlicer::slice().
2017-04-05 08:57:37 +02:00
bubnikv
bd9ee88e2f
Fix of https://github.com/prusa3d/Slic3r/issues/214
...
Dent in perimeters around a hole
Clipper Offset has been extended to remove tiny edges before the offset.
This is important as the tiny edges pose difficulty
for normal calculation, leading to various adverse effects like
kinks and dents in the offsetted contour.
2017-04-04 11:17:25 +02:00
bubnikv
70fcedb113
Fix of https://github.com/prusa3d/Slic3r/issues/232
...
Single layer of sparse support above dense support before model
2017-04-04 09:57:54 +02:00
bubnikv
1719952f49
Fixing "opening an obj file causes Slic3r to become stuck and use 100% on one core" #221
...
Extended the OBJ parser to triangulate quads. Higher order polygons are not supported though.
2017-04-03 10:05:22 +02:00
bubnikv
8ac1d37b10
Fixed crashes on OpenGL < 2 due to printing null pointers returned
...
by glGetString().
2017-03-31 15:29:34 +02:00
bubnikv
36416d77b8
Fixes of VBO rendering on Linux with wxWidgets & GTK
2017-03-30 10:25:52 +02:00
bubnikv
b60ae4745f
Fixed missing #include<assert.h>
2017-03-29 19:57:11 +02:00
bubnikv
3e347c33dc
Bundled Eigen library.
2017-03-29 18:19:57 +02:00
bubnikv
5dc899d64e
Reset wipe moves on tool change and on travel.
2017-03-29 17:45:38 +02:00
bubnikv
4bbb1f4b63
Rewrote next_highest_power_of_2 as a template as OSX had issues with
...
the previous implementation.
2017-03-28 18:02:26 +02:00
bubnikv
3ebf0ce7fd
Improved memory allocation efficiency of the 3D path preview generator.
2017-03-28 17:09:57 +02:00
bubnikv
1fb302d480
Reverted due to a failing test t\multi.t
2017-03-28 14:29:27 +02:00
bubnikv
40b75f6cee
Snapped the bottom interface layer print heights to the top interface
...
layer print heights to avoid too thin layer surfaces. The minimum layer
height at the nozzle page is maintained for the support layers.
Base layers are trimmed by the briding bottom surfaces.
2017-03-28 13:46:31 +02:00
bubnikv
9f7a5c7a6f
Some beautification and C++11 adaptation.
2017-03-28 13:25:10 +02:00
bubnikv
640698d28b
Fixing Zero extrusion print moves and overlapping regions in first layer
...
https://github.com/prusa3d/Slic3r/issues/184
No E distances generated when support is selected. bug?
https://github.com/prusa3d/Slic3r/issues/175
2017-03-27 14:34:07 +02:00
bubnikv
67126d6f48
Moved the NVIDIA and AMD hints to the slic3r.exe wrapper.
2017-03-27 09:06:24 +02:00
bubnikv
0dae43e4bc
Bugfix: when the Voronoi diagram contained very large coordinates we need to check whether they are greater than our allowed range and consider the Voronoi edges infinite in those cases, in order to prevent overflows.
...
https://github.com/alexrj/Slic3r/issues/3776
9ad1360e44
2017-03-24 09:32:30 +01:00
bubnikv
53832aff24
Documented the boost libraries required by Slic3r Prusa Edition
...
https://github.com/prusa3d/Slic3r/issues/88
2017-03-23 16:28:23 +01:00
bubnikv
b7d3ed26c6
Link boost & intel Thread Building Blocks statically by default
...
on Windows and OSX, dynamically on Linux.
This could be overidden by an environment variable
SLIC3R_DYNAMIC=1
2017-03-23 15:06:22 +01:00
bubnikv
9e0a690d2e
Simplified the skirt paths.
2017-03-23 12:35:00 +01:00
bubnikv
073d6d2d43
Fixed colors of the path preview.
2017-03-23 12:34:35 +01:00
bubnikv
1b3c651643
Fixed iusses in rendering print paths through VBOs for multiple objects.
2017-03-23 11:10:53 +01:00
bubnikv
3b5d1d0e25
Try to enforce the use of a high performance NVIDIA / ATI GPU
...
on dual graphic card laptops.
2017-03-23 10:28:08 +01:00
bubnikv
1fb3d00932
Fix of parsing ASCII STLs on Visual Studio 2013 with global optimization.
2017-03-22 17:57:27 +01:00
bubnikv
ed495663e8
Support generator parallelized.
2017-03-22 15:35:50 +01:00
bubnikv
04cd474708
Fixed some instance of simplify_polygons() invocation.
...
Geometry::deg2rad() made a template.
Some methods of Layer made inline.
Added a helper template remove_nulls().
2017-03-22 15:35:09 +01:00
bubnikv
039cd0ac5b
new GLShader.cpp,h
2017-03-20 14:48:17 +01:00
bubnikv
045de596e2
Use OpenGL 2.0 shaders for the layer height rendering.
...
Use OpenGL 2.0 shaders for the print path rendering for performance reasons.
2017-03-20 12:05:20 +01:00
bubnikv
56f845f3c1
Fixed the reports given by the build process if BOOST or TBB libraries
...
were not found.
https://github.com/prusa3d/Slic3r/issues/177
2017-03-17 22:49:43 +01:00
bubnikv
8e28bd36a2
Link XS with -framework OpenGL on OSX.
2017-03-16 14:26:16 +01:00
bubnikv
73de247a15
Enabled SLIC3R_GUI by default. This is required to enable the OpenGL 2.0
...
API through C++ GLEW.
2017-03-16 14:09:42 +01:00
bubnikv
7f7d2da5fe
Use Vertex Buffer Objects for rendering of 3D volumes if possible.
2017-03-16 14:02:28 +01:00
bubnikv
c32c7fa1dc
Fixed a typo.
2017-03-15 21:26:46 +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
79e6f23fdc
code beautification, C++11 loops
2017-03-13 16:03:44 +01:00
bubnikv
c96d794604
BoundingBox, Print - methods inlined, added const accessors.
2017-03-13 16:03:11 +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
50976e1b5a
Parallelized slices_to_fill_surfaces_clipped()
2017-03-08 23:02:27 +01:00
bubnikv
720459183e
Parallelized detection of extra perimeters.
2017-03-08 22:38:08 +01:00
bubnikv
a956186c76
Parallelized TriangleMeshSlicer::make_expolygons
2017-03-08 21:55:38 +01:00
bubnikv
336f86c101
Fixed a newly introduced memory leak into the Clipper library,
...
made all Clipper interfaces non-virtual.
2017-03-08 20:27:03 +01:00
bubnikv
4426e47e2a
Fixed a race condition in the parallelization
...
of the "ensure vertical wall thickness" feature.
2017-03-08 18:10:39 +01:00
bubnikv
20796b89c1
Improved debugging of slicing.
2017-03-08 15:58:40 +01:00
bubnikv
798bca561b
Parallelized the slow discover_vertical_shells()
2017-03-08 14:54:04 +01:00
bubnikv
f200781436
C++ compiler suppressed default constructor and assignment operator
...
for Surface after the move operators were implemented. Added
those operators manually.
2017-03-08 14:22:49 +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
73439b7acb
Parallelized PrintObject::_slice(), make_slices() code.
2017-03-08 10:37:47 +01:00
bubnikv
1e6cf0cd98
TriangleMeshSlicer
...
replaced the vectors of vectors by vectors of indices to a continuous memory,
using binary search to get to an index.
2017-03-08 09:47:32 +01:00
bubnikv
edd7cabf68
Trace TriangleMeshSlicer at loglevel debug (nr. 4)
2017-03-07 22:50:32 +01:00
bubnikv
dfba2cb6b2
Parallelized PrintObject::detect_surfaces_type()
2017-03-07 21:46:45 +01:00
bubnikv
65c024f7cf
Parallelize PrintObject::process_external_surfaces()
2017-03-07 17:43:43 +01:00
bubnikv
109013bed7
Yet another fix of the static linking on Windows.
2017-03-07 16:33:36 +01:00
bubnikv
32b0428303
Yet another fix of a static TBB linkage.
2017-03-07 14:50:32 +01:00
bubnikv
a4dea4b7fc
Fix of intel TBB linking.
2017-03-07 14:31:08 +01:00
bubnikv
32ebb1e2c7
Fix of a static library extension of the INtel Thread Building Blocks on OSX/Linux.
2017-03-07 14:13:30 +01:00
bubnikv
cb1a6eae1e
Added dependencies on the Intel Thread Building Blocks.
...
Changed the C++ parallelization code to Intel Thread Building Blocks.
2017-03-07 13:03:14 +01:00
bubnikv
8a42c0ad9f
Implementation of scaling factor of objects into an AMF file.
...
https://github.com/prusa3d/Slic3r/issues/7
2017-03-06 17:35:38 +01:00
bubnikv
c23c0ee7d2
Fix of https://github.com/prusa3d/Slic3r/issues/172 ?
2017-03-06 15:03:31 +01:00
bubnikv
d20a9d73d4
Fix for OSX: clang requires the member operator< and == to be const.
2017-03-05 16:34:16 +01:00
bubnikv
a9a20003c0
Clipper memory optimization: Own memory manager for OutPt objects.
...
Allocate OutPt by chunks of 32, reuse the released OutPt objects.
2017-03-03 23:06:51 +01:00
bubnikv
f24427cd76
Another Clipper optimization. When adding a set of paths
...
to Clipper, allocate the edges in a single continuous vector.
2017-03-03 21:40:40 +01:00
bubnikv
fa4df36963
Fix: Orientation() has been declared inline, therefore not exported.
2017-03-03 20:39:04 +01:00
bubnikv
5580fd64b3
Clipper library:
...
Added some comments,
some methods were made inline, tiny methods moved to the header as inline,
dynamic allocation replaced with std:: containers,
changed some loops to the condensed C++11 syntax.
2017-03-03 20:38:53 +01:00
bubnikv
fddd7c620f
Some optimization of memory allocation, some reduction / inlining of short functions.
2017-03-03 20:38:40 +01:00
bubnikv
1909c75c21
TriangleMeshSlic3r used unordered_map, which was terribly horribly shamelessly
...
slow on mingw. Rewrote using std::vector<>, which is blazing fast.
2017-03-03 17:36:07 +01:00
bubnikv
a219ae3d27
Set boost tracing level on DLL initialization to errors only.
2017-03-03 14:38:25 +01:00
bubnikv
4de33effdc
Tracing of TriangleMesh repair.
2017-03-03 13:31:51 +01:00
bubnikv
930e6752d9
Reverted unification of positive and negative zeros when loaded
...
from an STL file.
2017-03-03 12:54:00 +01:00
bubnikv
4d00aa1800
More tracing of the slicing process.
2017-03-03 12:53:05 +01:00
bubnikv
062a6628e5
Revert "Some optimization of memory allocation, some reduction / inlining of short functions."
...
This reverts commit bc19e97d45
.
2017-03-02 20:44:53 +01:00
bubnikv
473624fcd7
Revert "Clipper library:"
...
This reverts commit 90a415ae10
.
2017-03-02 20:44:43 +01:00
bubnikv
cd7134e6f6
Revert "Fix: Orientation() has been declared inline, therefore not exported."
...
This reverts commit c2ee73d211
.
2017-03-02 20:44:28 +01:00
bubnikv
c2ee73d211
Fix: Orientation() has been declared inline, therefore not exported.
2017-03-02 17:34:53 +01:00
bubnikv
90a415ae10
Clipper library:
...
Added some comments,
some methods were made inline, tiny methods moved to the header as inline,
dynamic allocation replaced with std:: containers,
changed some loops to the condensed C++11 syntax.
2017-03-02 17:11:46 +01:00
bubnikv
4287362aa6
Extended tracing of the slicing process.
2017-03-02 16:52:24 +01:00
bubnikv
d430767fa7
Define a surface type count constant to be able to address a vector
...
with a surface type.
2017-03-02 16:42:26 +01:00
bubnikv
83a80a9b7d
Optimization of LayerRegion::slices_to_fill_surfaces_clipped()
...
Added some run time tracing through boost::log.
2017-03-02 16:41:16 +01:00
bubnikv
73f603d90e
Fix of #117 : A large fractal pyramid takes ages to slice
...
The Clipper library has difficulties processing overlapping polygons.
Namely, the function Clipper::JoinCommonEdges() has potentially a terrible time complexity if the output
of the operation is of the PolyTree type.
This function implmenets a following workaround:
1) Peform the Clipper operation with the output to Paths. This method handles overlaps in a reasonable time.
2) Run Clipper Union once again to extract the PolyTree from the result of 1).
2017-03-02 16:39:43 +01:00
bubnikv
258252cbf3
Shiny Profiler: Disable exponential dumping of the timing data.
2017-03-02 16:35:15 +01:00
bubnikv
349cf841d6
Need to include '-lboost_filesystem' in build #166
2017-03-02 16:33:50 +01:00
bubnikv
07fa15806f
Utility function SVG::export_expolygons() to paint a set of possibly
...
overlapping ExPolygons with attributes.
2017-03-02 16:32:43 +01:00
bubnikv
dff5bda202
The Shiny profiler is not thread safe. Disable parallelization if
...
SLIC3R_PROFILE is enabled.
2017-03-02 16:31:29 +01:00
bubnikv
bc19e97d45
Some optimization of memory allocation, some reduction / inlining of short functions.
2017-03-01 14:27:08 +01:00
Alessandro Ranellucci
6a90fceaaf
Ported expanded_output_filepath() to C++/XS
2017-02-28 10:38:32 +01:00
Alessandro Ranellucci
6f11969257
Restore [input_filename] in custom G-code as well
2017-02-28 10:28:29 +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
c9465cf7fa
Fixed typos in AMF export.
2017-02-27 01:39:20 +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
9ea570ea4e
Fix of a warning in expat parser, which turns to an error
...
on some Perl/XS installations (strawberry Perl 64bit)
2017-02-26 23:35:44 +01:00
bubnikv
2f67a16c6f
Fixing compilation issues.
2017-02-26 23:13:31 +01:00
bubnikv
2c932b1bf4
Fixed a bug in AMF serialization.
2017-02-26 22:59:25 +01:00
Joseph Lenox
1f1b6c8036
Fixed a missing include.
2017-02-26 22:40:10 +01:00
bubnikv
1b89c08bfc
TriangleMesh.cpp/h:
...
New methods: has_multiple_patches(), number_of_patches()
Improved constness of file access methods.
Reduced some memory allocations costs.
Fixed some crashes of the cut() method on invalid meshes, Slic3r crashes on the unstable triangulation now.
Documented.
2017-02-26 22:17:39 +01:00
bubnikv
5b98f1a068
Some utility methods to help loading models from the disk.
...
Not quite sucessfull try to fix the crahes on mesh cut.
2017-02-26 22:03:03 +01:00
bubnikv
efb02f71f0
AdMesh:
...
unify positive and negative zeros in stl_check_facets_exact() and stl_check_facets_nearby()
New function stl_transform() by a 3x4 matrix.
Some constness improvements.
2017-02-26 21:59:09 +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
91af2ddd1e
Include expat parser into the Slic3r source code tree.
...
Having the expat parser inside the Slic3r source base makes life easier
on non-Linux systems and it also allows us to configure the Expat
parser for maximum performance by disabling all unneeded features.
2017-02-26 21:42:52 +01:00
bubnikv
82aed45816
Hopefully fixes the aligned seam:
...
https://github.com/prusa3d/Slic3r/issues/74
The way it works now is following:
Slic3r will add some negative penalty to all perimeter points near the last seam.
Once the perimeter point with minimum penalty is found, its penalty is compared
to a point closest to the last seam. If the penalty of the point
closest to the last seam is nearly as good as the minimum penalty,
the point closest to the last seam is picked instead. This heuristics
will hide the seams into corners if possible, but if not possible, it will
strive to align the seams precisely.
2017-02-22 16:35:07 +01:00
bubnikv
523b7f3ebc
Fix of a typo specific to a debugging build.
2017-02-22 16:13:10 +01:00
bubnikv
f7acb20e23
Changed defaults for the perimeter/infill overlap (15-55%)
...
and for the infill pattern (honeycomb->stars)
2017-02-22 16:06:35 +01:00
bubnikv
a4dd6c7ce5
Added missing get_volume() method to the PrintObject Perl interface.
2017-02-22 16:05:14 +01:00
Alessandro Ranellucci
4a84643894
Fixed regression causing slowdown_below_layer_time to be ignored. #3515 #3443
2017-02-22 15:29:14 +01:00
Alessandro Ranellucci
8174c05df4
Command for reloading an object from file. #1466
2017-02-21 17:58:48 +01:00
Alessandro Ranellucci
a8edff1e84
Always retract in bottom layers. #3053 #3618
2017-02-21 16:37:31 +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
Alessandro Ranellucci
ceb72da632
Implement clone() for Fill classes
2017-02-21 16:22:54 +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
f44df28a96
Fixed mesh generation to generate cylinders.
2017-02-21 16:10:54 +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
8aae5bdb28
The variable layer editing shader was made OpenGL 2.0 compatible.
...
Fixed a bug in the scaling of colors for the variable layer editing.
2017-02-21 09:39:28 +01:00
bubnikv
006173342c
Fixes: Infill patterns triangles/stars seem to be mixed-up
...
https://github.com/prusa3d/Slic3r/issues/143
2017-02-20 22:36:34 +01:00
bubnikv
171148d3a6
Changed the platte of the variable layer height visualization,
...
green shall indicate a thin layer.
2017-02-20 22:22:23 +01:00
bubnikv
440a5eb2a0
Fixes an ugly infinite loop issue.
...
https://github.com/prusa3d/Slic3r/issues/142
2017-02-19 21:45:38 +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
3bfa6416d8
Fixed https://github.com/prusa3d/Slic3r/issues/126
...
by re-shuffling the simplification of a path to be extruded.
A non-simplified path was being used for a wipe move before,
causing an extremely detailed path to be exported into a G-code.
2017-02-15 17:51:46 +01:00
bubnikv
4d739c41a0
Improvements of the layer height spline editing close to the top
...
of the object.
2017-02-15 14:39:08 +01:00
bubnikv
d2d7c5bead
Fixed trimming of support volumes by objects for the soluble supports
...
and for the raft contact layer over soluble supports.
https://github.com/prusa3d/Slic3r/issues/120
2017-02-15 13:34:17 +01:00
bubnikv
d67de182a0
fix of C++11 gcc incompatiblity
2017-02-15 11:16:39 +01:00
bubnikv
3d11d1aebf
make_skirt ported to C++
2017-02-15 11:05:52 +01:00
bubnikv
90028e47e9
Added the append templates for std::vector
2017-02-15 11:03:19 +01:00
bubnikv
f5e4026aee
Fixed some of the raft issues introduced in the new C++ supports.
2017-02-14 19:49:30 +01:00
bubnikv
420e387055
new feature: Clip multi-part objects one by the other.
...
This works the same way as if the XY compensation was set to a tiny value
before, but without the overhead of an offset.
2017-02-14 12:36:04 +01:00
bubnikv
8d6acd2aec
Fix of "no support generated" https://github.com/prusa3d/Slic3r/issues/114
...
when a first layer height was set in percents.
2017-02-12 00:51:53 +01:00
Joseph Lenox
abda054720
Cherry-picked Repetier acceleration fixes, thanks to @lordofhyphens
...
e0d8101627
885f27b8ae
Added a printer settings to enable / disable variable layer height editing.
2017-02-10 09:39:19 +01:00
bubnikv
6c4b4f4d12
Compilation fix on gcc,
...
fix of a maximum layer height limit for variable layer height editing.
2017-02-09 17:09:19 +01:00
bubnikv
b30501b411
Limit the maximum support layer height by the maximum layer height
...
value defined at the printer's nozzle.
Internal filtering of empty support layers to avoid generating
unnecessary Z moves.
2017-02-09 16:19:14 +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
61c0ae4e94
Changed filament density to use g/cm^3. Extended tooltip to indicate calculation methods.
2017-02-08 11:40:52 +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
957803e60c
Added min_layer_height, max_layer_height per nozzle settings
...
for controlling the support layer height & variable layer height.
Added an experimental "rear" seam option.
2017-02-07 18:46:02 +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
4256af22ff
Created a total_lengt() free function for Polygons and Polylines.
...
Modified the "extra perimeters when needed" function to use the new free functions,
extended the tooltip of the "extra perimeters when needed" feature.
2017-02-02 16:03:32 +01:00
bubnikv
c25ae35737
Fix of https://github.com/prusa3d/Slic3r/issues/75
...
Fixed by @alexr 8f0d8f2096
See also https://github.com/alexrj/Slic3r/issues/3613 https://github.com/alexrj/Slic3r/pull/3614
2017-02-02 15:09:22 +01:00
bubnikv
817d827f7a
GCodeWriter - made tiny methods inline.
2017-01-30 19:57:20 +01:00
bubnikv
4ab972b87a
When the support extruders are set to 0, support is printed with the current material without a tool change.
...
A fix of support path generator.
2017-01-30 19:56:46 +01:00
bubnikv
4e90ae9a28
FillRectilinear2:
...
Fix of a degenerate case, where there is a vertical segment on this vertical line and the contour
follows from left to right or vice versa, leading to low,low or high,high intersections.
2017-01-29 00:20:09 +01:00
bubnikv
0ca230a197
Supports - trimming base support layers with the bottom surfaces.
2017-01-26 12:02:10 +01:00
bubnikv
22124e5f61
Multiple bug fixes in the new support generator to guarantee gap
...
between object and support.
2017-01-25 18:33:05 +01:00
bubnikv
a74aaca681
Disable support interface loops by default.
2017-01-25 18:29:10 +01:00
bubnikv
1699864b8a
utility class ClosestPointInRadiusLookup
2017-01-25 18:26:06 +01:00
bubnikv
c5843988c0
ExtrusionEntity - add only valid polylines
2017-01-25 18:25:14 +01:00
bubnikv
40eaf144f0
new function remove_degenerate(Polylines ...)
2017-01-25 18:23:57 +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
ff25c0ccc2
Improvements of the new support generator:
...
Variable path thickness for all support layers to avoid over-extrusion.
Supports only in grid cells below the top contacts.
Provision for filtering excessively long perimeter pieces of the support infill lines.
2017-01-20 15:21:05 +01:00
bubnikv
08351b5e48
Fix of ExtrusionMultiPath binding to Perl & G-code generator.
2017-01-20 15:17:32 +01:00
bubnikv
29b986fa76
Improvement of the move semantics on various objects:
...
The source object will be empty after the move operation.
2017-01-20 14:39:44 +01:00
bubnikv
d5f9db76b3
Fix of an inconsistent bottom contact layer thickness
...
in case two and more bottom contact layers overlap after their extension.
New method modulate_extrusion_by_overlapping_layers() reduces thickness
of an extrusion path where it overlaps in Z with some other paths.
The same trick has yet to be applied to the layers overlapping in Z with
top contact surfaces.
2017-01-19 13:47:06 +01:00
bubnikv
0b90ebd74e
Move semantics on MultiPoint, Polygon, Polyline.
...
Append methods on Polyline.
squared length function on point->DistanceTo
2017-01-19 13:43:29 +01:00
bubnikv
50cdf8e6d1
Move semantics for ExtrusionEntityCollection
2017-01-19 13:37:15 +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
e6b441eea4
Merge branch 'master' of https://github.com/prusa3d/Slic3r
2017-01-16 10:57:06 +01:00
bubnikv
4eed07bbab
Fix of the 1st support layer.
2017-01-16 10:56:40 +01:00
Eyal Soha
b851e04c17
Change char to int
...
char might be signed or unsigned but int is definitely signed. This fixes prusa3d/Slic3r#93 .
2017-01-12 11:30:14 +02:00
Eyal Soha
0db4be56a5
use int instead of char
2017-01-12 10:05:59 +02:00
bubnikv
41fbec9063
Only synchronize intermediate layers if explicitely asked for.
2017-01-11 18:05:03 +01:00
bubnikv
f0cf7adf84
Bugfix of a new support - first layer thickness of the support.
2017-01-11 17:22:28 +01:00
bubnikv
c2ba5901e4
Copy / move assign operators for ExPolygon.
2017-01-11 14:38:24 +01:00
bubnikv
c632d08550
Only compile debug output functions for SupportGenerator if SLIC3R_DEBUG is enabled.
2017-01-11 14:37:53 +01:00
bubnikv
87964eb57a
Move semantics for the ExPolygon constructor.
2017-01-11 13:44:11 +01:00
bubnikv
bd3daeed5a
Slightly more efficient PrintObject Layer destruction.
2017-01-11 13:43:33 +01:00
bubnikv
fa1506c833
Bugfix of duplicate support print paths.
2017-01-11 13:42:41 +01:00
bubnikv
d9ea3df85f
Another step to make the new C++ supports working.
...
Added support_material_xy_spacing configuration.
2017-01-05 09:14:59 +01:00
bubnikv
1ba03af2da
Made the config value support_material_xy_spacing relative
...
to the external perimeter width.
2017-01-05 09:12:24 +01:00
bubnikv
bbdaa44acb
Const version of a PrintObject::get_region(). Made get_region() inline.
2017-01-05 09:11:36 +01:00
bubnikv
b42c5d6dfa
Extended the SVG exporting class with export_expolygons()
...
calculating the contour bounds internally.
2017-01-05 09:10:16 +01:00
bubnikv
aad3d4107f
Improved debugging of the EdgeGrid distance field function.
2017-01-05 09:09:26 +01:00
slicer-builder
bb22f1dc8a
prototyping tweakable XY supports;
...
option should be present now in advanced support menu.
Can't figure out what's going on atm; support should be moving but isn't
2017-01-03 11:46:52 +01:00
bubnikv
07dd06c53c
Merge remote-tracking branch 'origin/supports-synchronize-layers'
2017-01-03 10:51:23 +01:00
bubnikv
7a2572a0fb
Improved debugging of "ensure vertical wall thickness" feature.
2017-01-03 10:51:19 +01:00
bubnikv
17db5bff8d
Fix of
...
Number of solid top/bottom layers ignored,
Ensure Vertical Shell Thickness interferes with solid top layer count
https://github.com/prusa3d/Slic3r/issues/79
https://github.com/prusa3d/Slic3r/issues/60
2017-01-02 16:51:43 +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
6400cec7ae
Merge branch 'master' into dev
2016-12-15 12:54:34 +01:00
bubnikv
c1f4d06be2
define -DBOOST_LOG_DYN_LINK for boost::log
2016-12-15 09:46:41 +01:00
bubnikv
56e87e3bdb
Set BOOST_LOG_DYN_LINK symbol when linking with dynamic boost libraries.
2016-12-14 16:51:27 +01:00
bubnikv
a870b69733
Fixed static linking against boost.
2016-12-14 15:43:26 +01:00
bubnikv
ae2e37b4bd
Added diagnostics of @LIBS, @INCS to the Build.PL
...
Extended MANIFEST with new files.
2016-12-13 22:46:28 +01:00
bubnikv
2cd96cabcd
Another take to get rid of the templates from the ClipperUtil.hpp
...
to compile cleanly on OSX.
2016-12-13 22:13:02 +01:00
bubnikv
852b542913
Had troubles with the template instantiation on OSX, so I reverted
...
them to overloaded functions. This is certainly easier to read and
work with anyway.
2016-12-13 21:30:56 +01:00
bubnikv
ddea33d93a
Fixed compilation of ClipperUtils on GCC, which is more strict
...
than VS2013 compiler.
2016-12-13 19:52:28 +01:00
bubnikv
e64dcf5e59
VS2013 could compile this, let's hope GCC will as well.
2016-12-13 19:39:20 +01:00
bubnikv
6582182e0c
Adapted to the new ClipperUtils.hpp interface by @alexrj
2016-12-13 19:22:23 +01:00
bubnikv
b2a5a1d22f
Added a move constructor / assignment operator to the old Clipper library
...
PolyTree class.
2016-12-13 18:59:18 +01:00
bubnikv
e22d007ab7
Fixed typo, missing class name.
2016-12-12 23:46:50 +01:00
bubnikv
06540f73f7
Try to fix compilation problems due to Perl crazy macros.
2016-12-12 19:13:33 +01:00
bubnikv
ce7717e450
Fix compilation on Linux.
2016-12-12 18:59:35 +01:00
bubnikv
e5b77e08de
Perl crazy macros strike again, they collide with boost threads.
2016-12-12 18:55:04 +01:00
bubnikv
1ea958158a
Support for user definable variable layer thickness, the C++ backend.
2016-12-12 17:53:38 +01:00
bubnikv
2ab86a4895
ConfigOptionVector::get_at(idx)
...
Avoid using exceptons for normal work flow. Assert if the vector is empty.
2016-12-12 15:56:42 +01:00
bubnikv
d775c6c14c
Added methods set/add to SurfaceCollection.
2016-12-12 15:54:37 +01:00
bubnikv
333a0b1c0e
Shortcuts for zero mesh transformations.
2016-12-12 15:52:04 +01:00
bubnikv
933a0db9ed
Minor fix of bridging flow, see @alexrj 3a3b24ec7c803c58919a5401e5804261999875b4
2016-12-12 15:33:14 +01:00
bubnikv
126126cc78
Fixes after the merge of changes by @alexrj.
2016-12-08 19:02:16 +01:00
bubnikv
5d18657ac5
Don't be lazy, use fully qualified Slic3r::Polygon/ExPolygon/Point/Line names
2016-12-08 15:16:09 +01:00
Alessandro Ranellucci
24e0b568b5
Fix compilation, cherry picked from @alexrj fde6e2e61deabd097a3bf565d4948077147b25ab
2016-12-08 15:01:36 +01:00
Alessandro Ranellucci
a26330a292
Try to fix compilation problem with Boost 1.54. #3595
2016-12-08 14:56:13 +01:00
Joseph Lenox
a8930f12cd
Fix perl redefining multiple functions also defined/used by boostlib through the include chain. ( #3593 )
...
Resolved ordering dependency (thanks win32 perl!)
2016-12-08 14:53:52 +01:00
Alessandro Ranellucci
5dc8a0808e
Maybe the Travis CI server has more than 16 cores?
2016-12-08 14:52:42 +01:00
Alessandro Ranellucci
d8082b9db4
Try to fix compilation error about the new threads default
2016-12-08 14:52:15 +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
d628764da6
Minor fixes to parallelize code, cherry picked from @alexrj 5242b3e03ab2b195ba9c7c53fba705a8ed1c7abd
2016-12-08 14:44:03 +01:00
Alessandro Ranellucci
73ddd3b438
Refactored parallelization code, cherry picked from @alexrj 36789774471a0bf9a66bb33cc3ab6984f8ede8c6
2016-12-08 14:40:47 +01:00
Alessandro Ranellucci
9fbd135f14
Automatically detect the number of cores and use that as a default for threads number
2016-12-08 14:28:36 +01:00
Alessandro Ranellucci
70a9de085b
Parallelize TriangleMeshSlicer::slice(), cherry picked from @alexrj 83ad123d951c6ee663d2f3b02e095c203ca794e7
2016-12-08 14:28:09 +01:00
Alessandro Ranellucci
e9290252d6
Fixed regression in the _make_perimeters port
2016-12-08 14:25:05 +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
3e8cafa857
Fix of ASCII STL parser. Accept a model even with invalid normals.
2016-12-05 11:39:17 +01:00
bubnikv
26a8017e99
Made the support interface contact loops configurable.
2016-11-30 17:33:55 +01:00
bubnikv
556204fddc
support_material_synchronize_layers configuration value
...
for synchronization of object layers with print layers.
2016-11-30 16:04:15 +01:00
bubnikv
946b36bb4d
Supports using the EdgeGrid simplify_contour
2016-11-29 19:30:59 +01:00
bubnikv
1d44e92a6e
Point dot operator and PointHash object for std unique_xxx functions.
2016-11-29 19:29:24 +01:00
bubnikv
5c23ee504c
EdgeGrid::contours_simplified for supports
2016-11-29 19:28:33 +01:00
bubnikv
ca5ad58ad2
logging of slicing process
2016-11-29 19:27:23 +01:00
bubnikv
85aa802d4b
Fix of the last clipperutil safety_offset modification. Handle safety
...
offset of holes separately, don't forget to reverse them before / after.
2016-11-29 19:26:26 +01:00
bubnikv
792856a505
Bounding Box - new method align_to_grid
2016-11-29 19:25:10 +01:00
Bill Waggoner
50fe691604
Squashed commit of the following:
...
commit 7fc66514bf3fbcc2c2709a4eb94856fa9b3ba523
Author: Bill Waggoner <ctgreybeard@gmail.com>
Date: Mon Nov 28 14:09:09 2016 -0500
Build.pl fails to find boost libraries
commit 3fa66c4970eb2235aa57041a5a318ddcb1910219
Author: Bill Waggoner <ctgreybeard@gmail.com>
Date: Mon Nov 28 14:00:07 2016 -0500
Build.pl fails to find boost correctly
Signed-off-by: Bill Waggoner <ctgreybeard@gmail.com>
2016-11-28 14:28:50 -05:00
bubnikv
bde2ee6a7e
Step forward in the C++ supports.
2016-11-28 17:36:50 +01:00
bubnikv
8b0784f26c
Added a free "cross product" function to Pointf (thinking the Pointf is
...
really a vector in this case).
Made the == operator inline.
2016-11-28 17:34:52 +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
e93253e270
Extended tracing of Support generator
2016-11-24 15:38:19 +01:00
bubnikv
a5b04d5cf3
Support calculation optimized.
2016-11-24 15:05:05 +01:00
bubnikv
e02755632e
new Utils.hpp
2016-11-24 14:05:06 +01:00
bubnikv
0d20a81354
Log support through boost::log
2016-11-24 13:44:51 +01:00
bubnikv
e67e37c772
Supports: Disabled debugging,fix of bottom surface over print.
2016-11-24 11:29:31 +01:00
bubnikv
14df0717ca
Fix of new suports.
2016-11-24 10:43:47 +01:00
bubnikv
d8be4de6cf
One step further to the C++ Supports.
2016-11-23 15:51:47 +01:00
bubnikv
1a1eaa0810
increased version number.
2016-11-20 23:06:56 +01:00
bubnikv
39679f9518
Missed this one at the last check-in.
2016-11-20 12:59:29 +01:00
bubnikv
ef69474636
Optimized Layer::merge_slices()
...
Don't merge classified pieces of layerm->slices, but use the non-split
islands of a layer. For a single region print, these shall be equal.
Added Slic3r-console.ico windows icon for the console Slic3r.
This is a copy of the big icon, with the big images stripped off.
2016-11-20 12:38:59 +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
2085a482c7
admesh: Fixed a problem in loading an STL when compiled with
...
Visual Studio 2013. Added multiple compile time checks for data
sizes and alignment. The library STL import is not big endian safe, so
added a test for endianity, modified STL export to a faster little endian only.
2016-11-17 16:57:58 +01:00
bubnikv
9772584d78
Tame the Shiny profiler. Make it switchable with define SLIC3R_PROFILE.
2016-11-16 23:11:51 +01:00
bubnikv
3d47c52b47
In "ensure vertical wall thickness", the union_ is called each time
...
a new layer is added to the shell. This is faster than calling union_
over all collected polygons. Also security offset has been disabled.
2016-11-16 22:16:20 +01:00
bubnikv
6a3bdf43dc
ClipperUtils extended with intrusive profiling macros.
...
offset2() was exteded with a shortcut, if both offset directions
are of the same direction.
2016-11-16 22:12:58 +01:00
bubnikv
bcda69c1e5
Extended the Build.PL to understand an environment variable
...
SLIC3R_PROFILE to set the C++ symbol of the same name to enable
Shiny profiler.
2016-11-16 22:10:04 +01:00
bubnikv
c3af189045
Reduced some compiler warnings.
2016-11-16 22:09:00 +01:00
bubnikv
901ec0ad37
Disable includes inside Shiny sources when SLIC3R_PROFILE symbol is not defined.
2016-11-16 22:04:38 +01:00
bubnikv
bfbe85b5c2
Some optimization of the "ensure vertical wall thickness" feature.
2016-11-16 18:04:47 +01:00
bubnikv
e857833a91
Undef seed macro because of crazy perl macro substitutions.
2016-11-16 13:19:48 +01:00
bubnikv
a36cc6491c
Fixed compilation of XS modules by undefinig the "seed" macro
...
redefined crazily by Perl.
2016-11-16 13:14:42 +01:00
bubnikv
1589ffb224
Fix for compilation on Strawberry Perl with C++11 enabled.
2016-11-16 13:06:51 +01:00
bubnikv
68e9ec0d41
Set the C++ version to C++11 for all compilers but Visual Studio C++.
2016-11-16 13:00:36 +01:00
bubnikv
4c407c8a59
Optimization of Model bounding box routines (avoids copying the mesh),
...
optimization of the admesh rotate function (also made numerically more robust).
2016-11-16 11:53:29 +01:00
bubnikv
52de3940fe
Improvements of admesh robustness when loading and fixing STLs.
...
https://github.com/prusa3d/Slic3r/issues/33
2016-11-16 10:33:23 +01:00
bubnikv
d1d6e907c5
Positive and negative zeros are possible in the floats, which are considered equal by the FP unit.
...
When using a memcmp on raw floats, those numbers report to be different.
Unify all +0 and -0 to +0 to make the floats equal under memcmp.
2016-11-16 09:31:18 +01:00
bubnikv
e6d802a5ff
Fixed a 64bit compatiblity in admesh, fixed a typo in TriangleMesh::swap()
2016-11-15 17:22:00 +01:00
bubnikv
9abe07852e
Fixed https://github.com/prusa3d/Slic3r/issues/32
2016-11-12 23:20:49 +01:00
bubnikv
7ebc3b0884
Merge branch 'master' of https://github.com/prusa3d/Slic3r
2016-11-12 19:05:12 +01:00
bubnikv
b116fe287c
Fixes https://github.com/prusa3d/Slic3r/issues/32#issuecomment-260135542
...
Reverts an inadverent bug introduced in 4460b5ce50
2016-11-12 19:04:40 +01:00
Miro Hrončok
ec3aeb1e47
Update the version
...
If this version is not updated, Slic3r shows the old version
in the title bar and status bar and that can be confusing to the user.
2016-11-11 16:46:05 +01:00
bubnikv
c2d5b32ee2
Changed the logic of the "ensure vertical wall thickness" feature
...
slightly by inflating the projected top/bottom/bottom bridge surfaces
before they are added into a surface. This ensures, that the possible
projected infill areas merge with the perimeter supporting areas,
but the perimeter supporting areas will not be inflated on their own,
if there is no touching projection of a top/bottom/bottom bridge
surface.
2016-11-11 11:13:36 +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
317e9131e8
New sparse infill: "stars" - David's star shaped infill.
...
This is very similar to a "triangles" infill, but maximum two lines
intersect at a single point.
added utility function get_extents_vector()
2016-11-09 15:39:12 +01:00
bubnikv
eb0ab38618
Fixes https://github.com/prusa3d/Slic3r/issues/26
...
Strange behavior of Extra perimeters and ensure wall thickness
Old behavior is re-enabled when ensure vertical wall thickness is off.
2016-11-09 10:24:45 +01:00
bubnikv
e92501e51e
Use a less aggressive positive offset for top/bottom/bridge surfaces,
...
when enlarging them for better anchoring.
2016-11-08 15:35:08 +01:00
bubnikv
443e900e07
Fixed compilation on Strawberry
2016-11-08 11:23:08 +01:00
bubnikv
5aacc6b015
Extended exit report when catching an exception under a broken
...
Strawberry Perl.
2016-11-08 11:15:09 +01:00
bubnikv
2e53c06159
Finished the SLIC3R_HAS_BROKEN_CROAK magic.
2016-11-08 10:59:43 +01:00
bubnikv
eb61373b69
Compilation with an environment variable SLIC3R_HAS_BROKEN_CROAK set
...
will force the perl confess / croak called from a C++ code to
print an error message and exit. There is a bug in some Strawberry
Perl instalations leading to an interpreter hang up and an exit
with a reasonable message is better than that.
2016-11-08 10:49:32 +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
5a81731577
Implemented utility functions to operate over lines, polylines, polygons,
...
surfaces.
2016-11-07 22:49:11 +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
e9e55e7ac3
Fix missing cubic infill line, thanks @KoKuToru for pointing out the problem
...
and proposing a fix.
https://github.com/prusa3d/Slic3r/pull/18
Fixed a slight bug, where the infill did not take the complete area.
2016-11-06 16:03:13 +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
89cf29080b
Fix of https://github.com/prusa3d/Slic3r/issues/14
...
A to_polygons(SurfacePtrs &&) method does not make sense as
the ownership of the Surfaces stored in the pointer array is not known.
Thanks to @flannelhead for precisely pinpointing this issue.
2016-11-04 17:20:32 +01:00
bubnikv
96a1c74d45
Let's hope to fix compilation on gcc.
2016-11-04 17:09:01 +01:00
bubnikv
a10e9c6573
Fix of https://github.com/prusa3d/Slic3r/issues/13
...
The BoundingBox::defined flag was not set in constructor,
if initialized from min/max corners.
2016-11-04 16:49:08 +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
3fc57ba8d8
Fixed compilation of the XS module with SLIC3R_GUI compilation flag
...
enabled, leading to a linkage of GL and GLU libraries.
https://github.com/prusa3d/Slic3r/issues/8
2016-11-04 01:06:26 +01:00
bubnikv
61d82b02b5
Improves https://github.com/prusa3d/Slic3r/issues/3
...
Limits the length of an infill connecting segment of a solid infill
to 3x the solid infill spacing.
2016-11-04 00:55:43 +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
f278fa454e
Merge pull request #10 from flannelhead/cpp11-fix
...
Fix compilation with C++11 and above
2016-11-03 19:10:45 +00: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
Sakari Kapanen
fad91b86bd
unique_ptr instead of auto_ptr for C++11 and above
2016-11-03 08:18:27 +02:00
Sakari Kapanen
60ea0561ec
Copy and move variants of chained_path functions
2016-11-02 22:31:03 +02:00
Sakari Kapanen
381c88ce0c
Fix typos preventing compilation with CPPVER >= 11
2016-11-02 22:29:59 +02:00
bubnikv
28ccb51f9b
Fixed a crash when accessing a non-existing config value from C++ infill.
...
Disabled a test case of 100% infill coverage. This needs to be
yet improved.
2016-11-02 16:55:56 +01:00
bubnikv
a6cf6afb49
Missing #include <memory>
2016-11-02 11:13:13 +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
3a31d37d35
Fix of https://github.com/prusa3d/Slic3r/issues/5 :
...
missing #include <assert.h> in FillBase.hpp
Also disabled the automatic width adjustment in all the infills
by default for now.
2016-11-02 09:00:26 +01:00
bubnikv
36f51ff2bf
Fixed a return value in the Config multi-string parser.
2016-11-01 14:52:44 +01:00
bubnikv
0264381f79
Missing include for memcpy for Linux.
2016-11-01 13:53:28 +01:00
bubnikv
3d3654707b
Added "Notes" page to the filament configuration.
...
Added "filament_max_volumetric_speed", a cap on the maximum volumetric
extrusion role, filament specific. This is very useful when mixing
rigid filament with a soft filament.
Extended the import / export of multi-string values into configuration
values, including the test cases. Multi-line strings will be enclosed
into quotes, quotes escaped using a C-style escape sequences. Single
word strings could still be stored without quotes.
2016-11-01 13:41:24 +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
250ff451ba
by alexrj: Fixes in GCodeSender to reset the connection after it breaks.
...
by alexrj: Fix in mouse handling of 2DBed.
by alexrj: ClipperUtils for ExPolygon vs. ExPolygon
2016-10-24 14:07:38 +02:00
bubnikv
cc8b7390ee
Make sure the shells for the "ensure verticall wall thickness" feature
...
are thick enough to be actually filled by the rectilinear fill.
Otherwise gaps would be left in the sparse infill, causing missing
bond to the perimeters.
2016-10-22 22:25:00 +02:00
bubnikv
b28d31d0fe
Fixes gaps created around the 3D honeycomb infill. The bug has been
...
introduced during the C++ porting of the original Perl code.
2016-10-22 21:31:39 +02:00
bubnikv
20cd34a3a5
Cubic infill.
2016-10-21 18:56:55 +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
59f3fed9f2
gcc bailed out on <cstdint>
2016-10-20 18:38:44 +02:00
bubnikv
978fca6f7c
Fixed a compilation problem on OSX.
...
Fixed an inverted assert condition.
2016-10-20 18:34:33 +02:00
bubnikv
9e4edcd8ec
Enabled the C++ fillers for all infills, not just the supports.
...
Made sure the C++ fillers are instantiated at the worker threads,
where there are being released.
Extended the FillRectilinear2 to calculate the contour / line intersection
with exact arithmetics, improved robustness and added error handling
and error reporting, if the contours to be filled are not correct.
2016-10-20 17:44:46 +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
26349b30c5
Fixed a bug in EdgeGrid for horizontal or vertical lines ending at the grid lines.
2016-10-17 18:06:38 +02:00
bubnikv
7fd06ef311
Removed #include <malloc.h> from the Shiny profiler as there is no
...
malloc.h on OSX.
2016-10-17 12:13:30 +02:00
bubnikv
6f4a04c2d7
Fix of compilation on Linux. Disable hopefully finally the Shiny profiler.
2016-10-17 10:33:23 +02:00
bubnikv
52dc18e350
Hopefully fixed compilation of the Shiny profiler on Linux,
...
where the Shiny profiler shall be disabled.
2016-10-17 09:55:42 +02:00
bubnikv
19312d0a1a
Yet another fixes to make SupportMaterial.cpp compile on gcc.
2016-10-17 09:34:48 +02:00
bubnikv
30c1be40da
Fixes of SupportMaterial.cpp
2016-10-17 09:27:20 +02:00
bubnikv
e8f73134e6
Fixed a typo, which broke compilation on GCC.
2016-10-16 23:13:43 +02:00
bubnikv
75ee1baf1d
Another tiny change to support non C++11 compiler.
2016-10-16 23:05:47 +02:00
bubnikv
a7c53c7f5f
Disable C++11 hash feature in C++ Supports to compile on Strawberry.
2016-10-16 22:56:21 +02:00
bubnikv
47cc9687a0
Added a new switch: ensure_vertical_shell_thickness
...
This enables a zig-zag infill similar to Cura or Simplify3D
on overhangs.
2016-10-16 22:11:19 +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
8f40d9b34e
Initial implementation of C++ supports,
...
some documentation of the existing code.
2016-10-13 16:00:22 +02:00
bubnikv
c16eca0065
Improvements of the C++ RectInfill2 code for supports:
...
Make the contours more continuous.
Some documentation, asserts and such.
2016-10-06 21:41:52 +02:00
bubnikv
5268574ade
Made the sheath around the base support configurable. Without the sheath
...
it is easier to remove the support, but the support is more fragile.
2016-10-04 14:38:13 +02:00
bubnikv
5bb37ad2c4
A new feature "support_material_buildplate_only" implemented.
...
Also a bug has been fixed for zero interface layers. Before
slic3r would put infinite number of interface layers over top surfaces,
if the number of interface layers was set to zero.
2016-10-04 13:54:10 +02:00
bubnikv
b7af7276c9
Instantiate the new C++ filler. It will be used for the supports first.
2016-10-03 16:59:00 +02:00
bubnikv
d2635ab799
Finished merging of bridging regions.
2016-09-30 16:11:19 +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
c514e731da
Documented the bridge detector.
2016-09-26 12:53:41 +02:00
bubnikv
feb269c97c
G code generator will include marks for the G-code analyzer, so
...
the path preview will be colored with a fine granularity.
2016-09-26 12:52:40 +02:00
bubnikv
088b0dab90
Bugfix: use Lift-z option for 2. extruder #3385
...
Thanks to https://github.com/platsch
https://github.com/alexrj/Slic3r/pull/3392
2016-09-26 12:49:29 +02:00
bubnikv
edc70e27d9
New routines for debugging visualization of surfaces & infills.
2016-09-26 12:45:23 +02:00
bubnikv
4046552dd1
Documented MultiPoint.
2016-09-26 12:44:45 +02:00
bubnikv
758458e5a0
PressureEqualizer - fixed compiler warnings, documented.
2016-09-26 12:44:03 +02:00
bubnikv
4a13efd081
Surface / Surface Collection - optimization routines for filtering,
...
routines for visualization.
2016-09-26 12:42:44 +02:00
bubnikv
03b1312f2d
G-code analyser, first draft. The G-code analyser will be used
...
for advanced visualization of the printing paths, including
the extrusion types.
2016-09-26 12:37:54 +02:00
bubnikv
459a42aab6
Fixed a bug in conditional compilation of the Shiny profiler.
2016-09-15 00:57:40 +02:00
bubnikv
2a5095a1ea
OpenGL support through GLEW. Only active if compiled with SLIC3R_GUI=1.
2016-09-14 16:31:26 +02:00
bubnikv
266e1c4be1
Initial commit of the GLEW library for calling OpenGL from the C++ code.
2016-09-14 14:07:41 +02:00
bubnikv
b1575b4dcb
Integration of the Shiny lightweight intrusive profiler.
2016-09-14 11:43:38 +02:00
bubnikv
4c67230436
Documented the purpose of various perl modules.
2016-09-14 11:22:41 +02:00
bubnikv
17d9c8c9dd
fixes for gcc: Missing include float.h
2016-09-13 15:59:23 +02:00
bubnikv
7d56827e26
updated for older gcc
2016-09-13 15:29:31 +02:00
bubnikv
f73ca007e6
Fixed compilation on old gcc.
2016-09-13 15:15:44 +02:00
bubnikv
15c1edd552
Configurable volumetric extrusion rate slope.
2016-09-13 15:02:28 +02:00
bubnikv
620c6c7378
Ported from the playground branch. Various documentation and optimization.
2016-09-13 13:30:00 +02:00
bubnikv
a5b7f14dfa
Updates in the C++ infill code.
2016-09-13 11:26:38 +02:00
bubnikv
068f71847e
Some inlining optimizations.
2016-09-13 09:46:41 +02:00
bubnikv
c443f49da3
Fix in splitting the loop at a new point.
2016-09-13 09:44:30 +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
73cbb4b5dc
some optimizations of Point rotation
2016-09-12 13:52:31 +02:00
bubnikv
9a83d4e8d5
Reverted some now unnecessary changes. Reverted the infill to the original perl implementation.
2016-09-12 13:26:17 +02:00
bubnikv
9fcc8fe9ae
Meged with release_candidate_1_3
2016-09-12 11:29:39 +02:00
bubnikv
ab357c75a5
Updated xs/Build.PL to support Visual Studio compiler suite.
...
Updated xs/Build.PL to understand BOOST_LIBRARY_PATH and
BOOST_INCLUDE_PATH environment variables. This way one may easily
switch between various boost builds.
Some minor tweeks were done to make Slic3r compile with
Visual Studio 2013.
2016-08-21 21:46:17 +02:00
bubnikv
bd23fe9c44
Fixed a crash in a constructor of FullPrintConfig due to an incorrect use
...
of virtual inheritance. Note that an invocation of ConfigBase::optptr()
is routed to FullPrintConfig::optptr() for all classes of the FullPrintConfig
hierarchy. FullPrintConfig::optptr() in turn invokes optptr()
of PrintObjectConfig, PrintRegionConfig, PrintConfig and HostConfig.
Due to the use of virtual inheritance, this all happens, when
PrintObjectConfig gets constructed as part of FullPrintConfig, but
at that time PrintRegionConfig, PrintConfig and HostConfig are not
constructed yet. Accessing them at that time leads to crashes,
when compiled with Visual Studio 2013 compiler. For some reason
the code generated by gcc does not crash, but I believe the behavior
is undefined and it is better to be fixed anyway.
The patch solves the problem by calling set_defaults() by the topmost
object, which not only fixes the crashes, but also avoids repeated
initialization.
2016-08-21 19:09:31 +02:00
Vanessa Ezekowitz
39dfee79c7
Mention anti-ooze sacrificial skirt feature.
2016-06-01 17:47:54 -04:00
Alessandro Ranellucci
9e8022f6f6
More refactoring to medial axis and gap fill, more robust
2016-05-20 17:03:57 +02:00
Joseph Lenox
b068616366
Merge pull request #3120 from Vicious-one/patch-1
...
Fix for #3069
2016-05-18 23:01:19 -05:00
Chow Loong Jin
209b919fe6
Fix cooling not working if !gcode_comments
...
The cooling markers were being passed into GCodeWriter::set_speed() as a
comment which were being ignored if gcode_comments was false.
Fixes : #3325
2016-05-12 23:35:39 +08:00
Vojtech Bubnik
d022493297
Merge remote-tracking branch 'upstream/master'
2016-05-03 22:05:31 +02:00
bubnikv
79c5e0a52d
Optimize remove_duplicate_points.
2016-04-15 18:01:08 +02:00
bubnikv
42d9db04f2
Don't crash, if the number of lines to display is zero.
2016-04-15 17:58:29 +02:00
bubnikv
83166a7ff3
Close SVG file when the object gets deallocated.
2016-04-15 17:57:38 +02:00
bubnikv
f3bda8a57a
Disable optimizations and debug check even in debug mode.
2016-04-14 11:17:44 +02:00
bubnikv
23a5edbd11
Breaking into the debugger from the menu. This may be useful in Windows.
2016-04-13 20:51:03 +02:00
bubnikv
d6b53d18b8
Optimized and improved rectilinear fill.
2016-04-13 20:46:45 +02:00
bubnikv
f767ce816b
Optimized and improved rectilinear fill.
2016-04-13 20:45:44 +02:00
Joseph Lenox
510ca9f9e2
Merge pull request #3303 from hyperair/fix-cooldown
...
Changes to properly detect extrusion moves for "layer cooldown" slowdowns and properly calculate time required to complete moves.
2016-04-12 12:50:43 -05: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
Chow Loong Jin
4c622c504f
Account for travel moves in elapsed_time
2016-04-13 01:13:39 +08:00
Alessandro Ranellucci
a54edf8fbc
Support static linking of the Boost libs
2016-04-11 22:14:12 +02:00
bubnikv
3b81bf0e33
Remove some debugging info.
2016-04-11 17:48:27 +02:00
bubnikv
3ba625da22
Revert incorrect checkins.
2016-04-11 17:34:15 +02: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
be3e4caf1d
Fills were reimplemented in C++.
...
While reimplementing the FillPlanePath code, the octagon infill was fixed to extrude the right amount of material.
2016-04-11 17:08:30 +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
f66585c250
Fixed compilation on OS X
2016-04-11 12:04:54 +02:00
bubnikv
d392858ee3
The chaining and leftmost_point methods were rewritten as static methods, so they may be called on Polylines without having to convert to PolylineCollection first.
2016-04-10 19:32:39 +02:00
bubnikv
6c5c9eddba
Fixed a typo when SLIC3R_DEBUG is active.
2016-04-10 19:13:08 +02:00
bubnikv
bcfbe02c8d
New method to rotate only polygons, not translate.
...
New free function to_polygons. Whithout this function one needs to construct the ExPolygonCollection, which means a deep copy.
2016-04-10 19:12:32 +02:00
bubnikv
023310882f
Added a macro SLIC3R_CPPVER to indicate the C++ language version supported by the compiler.
2016-04-10 19:07:34 +02:00
bubnikv
7d54e28e30
Added optimized methods for point and polyline rotation.
...
Existing methods for rotation were optimized by calculating the sin/cos values once only.
Added an operator- for points.
2016-04-10 19:06:46 +02:00
bubnikv
c8ff517389
New constructors for the bounding box with min/max points were added.
...
empty(bbox) function template was added.
2016-04-10 19:02:00 +02:00
bubnikv
33ddb13e5d
Use CLIPPER_OFFSET_SCALE instead of a numeric value.
2016-04-10 18:58:12 +02:00
Chow Loong Jin
2e2e4e68d3
Fix layer time slowdown
...
The recent GCode writer changes which put the speed changes on a line of
their own have caused the layer time slowdown to be ignored by the regex
in CoolingBuffer.pm.
Fixes : #3134
2016-04-10 16:10:18 +08:00
bubnikv
4156b51c18
Debugging visualization of the gap fills into a SVG format, if SLIC3R_DEBUG is set.
2016-03-27 10:53:59 +02:00
Alessandro Ranellucci
9576973b57
Tune gap fill and thin walls to less extreme values
2016-03-26 18:37:37 +01:00
Alessandro Ranellucci
36d5272f05
Filter gap fill using length relative to the actual width. #2781
2016-03-26 18:10:17 +01:00
Alessandro Ranellucci
660b56acb5
Fixed type error
2016-03-26 12:21:54 +01:00
Alessandro Ranellucci
7041bb5bd9
Rewritten the medial axis algorithm, now more robust (don't just prune MAT from endpoints, but validate all single edges)
2016-03-26 01:45:08 +01:00
Alessandro Ranellucci
b744947711
Missing #include
2016-03-20 01:50:27 +01:00
Alessandro Ranellucci
dd879c3ef2
When loading an AMF file having multiple objects that look like multiple parts of a single object, prompt user and ask how to consider it. #2970
...
Conflicts:
lib/Slic3r/Model.pm
2016-03-19 22:24:20 +01:00
Alessandro Ranellucci
dfb1ec99ac
Variable-width thin walls. Yay!
2016-03-19 19:40:11 +01:00
Alessandro Ranellucci
6dc42ee902
Variable-width gap fill. Yay! #2960
2016-03-19 19:20:04 +01:00
Alessandro Ranellucci
5ff7511a14
Fixed regression in bridging caused by error in porting. Includes regression test. #3175
2016-03-18 22:40:29 +01:00
Mark Walker
92e1f1011a
Fix issue with undefined BOOST_VERSION
...
if BOOST_VERSION < 106000 always succeeds because BOOST_VERSION is
undefined. In order to avoid the code for new boost, we need
<boost/version.hpp>
2016-03-13 23:51:35 -07:00
Alessandro Ranellucci
7aafa54bf0
Raise allowed temperatures to 500°C. #3114
2016-03-14 00:08:08 +01:00
Alessandro Ranellucci
f4a9fa6569
Support incompatible change in Boost 1.60. #3117
2016-03-14 00:06:56 +01:00
Alessandro Ranellucci
38d9acbbfb
Bugfix: memory corruption in BridgeDetector (thanks @JakeQZ for the patch). #3267
2016-03-13 21:13:51 +01:00
Alessandro Ranellucci
d5ff69b1aa
Make GCodeSender more robust (keep more than one sent line) and fix a memory access problem in the asio write buffer
2016-03-13 18:27:02 +01:00
Alessandro Ranellucci
ff0a947364
Merge pull request #3190 from farhaven/master
...
Implement serial port baudrate selection for OpenBSD
2016-03-13 15:37:13 +01:00
Alessandro Ranellucci
6e5938c833
Fixed return value for deserialize() implementations. #3250
2016-03-13 15:26:52 +01:00
wenjie
3acb0514e1
fix a segment fault by admesh
2016-03-12 16:01:16 +08:00
Alessandro Ranellucci
9eabbded2b
Fixed regression in the C++ port of PerimeterGenerator causing gaps to be filled twice
2016-02-20 19:27:00 +01:00
Gregor Best
5a13c4384f
Implement serial port baudrate selection for OpenBSD
...
Signed-off-by: Gregor Best <gbe@unobtanium.de>
2016-01-03 17:35:59 +01:00
Alessandro Ranellucci
83c91a3538
Dump serial messages to file in order to debug communication issues
2015-12-26 11:50:20 +01:00
Alessandro Ranellucci
7c8b71012c
Force the 'nearest' strategy for starting skirt loops
2015-12-21 15:02:39 +01:00
Alessandro Ranellucci
1a286fc906
Fixes and improvements to MotionPlanner, much smarter now
2015-12-21 14:46:35 +01:00
Alessandro Ranellucci
70e8db8a0a
Minor code cleanup here and there
2015-12-19 20:27:04 +01:00
Alessandro Ranellucci
795107dfa2
Bugfix: external details were simplified too much when using default settings at low layer height, because the internal flow was erroneously taken into account. #2807
2015-12-19 16:46:56 +01:00
Alessandro Ranellucci
bab3404b2d
Very minor code improvements
2015-12-19 16:36:07 +01:00
Alessandro Ranellucci
2df750a9c9
Fixed ported code of PerimeterGenerator
2015-12-19 16:35:51 +01:00
Alessandro Ranellucci
667a121ddb
Fixed error in porting causing wrong moves with avoid_crossing_perimeters
2015-12-19 14:49:29 +01:00
Alessandro Ranellucci
a2ea191d84
Fix regression in lift, includes regression test
2015-12-19 12:44:22 +01:00
Alessandro Ranellucci
fd7795da59
One more fix for compilation with older compilers
2015-12-19 10:20:05 +01:00
Alessandro Ranellucci
8138fbf349
New --retract-lift-above and --retract-lift-below options. #763 #3057
2015-12-18 18:36:39 +01:00
Alessandro Ranellucci
562efc1677
Typo
2015-12-18 13:49:22 +01:00
Alessandro Ranellucci
b8f0391934
Fix compilation with GCC
2015-12-18 13:40:57 +01:00
Alessandro Ranellucci
44825d91af
Some changes to DLP projector
2015-12-18 00:56:56 +01:00
Alessandro Ranellucci
3ec3aaf960
Removed debugging statements
2015-12-16 13:11:41 +01:00
Alessandro Ranellucci
e381100812
More efficient syntax for the PrintConfigDef constructor
2015-12-16 13:09:25 +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
21364b7cd1
Fix one regression in arrange
2015-12-14 00:15:26 +01:00
Alessandro Ranellucci
c0248dea8c
Bugfix: missing include assert.h #3155
2015-12-11 21:36:51 +01:00
Alessandro Ranellucci
e2f2761a00
One more fix for compilation
2015-12-08 11:07:45 +01:00
Alessandro Ranellucci
9f90b2a1bf
Fix compilation
2015-12-08 11:01:12 +01:00
Alessandro Ranellucci
5cfa36f36e
Fix typo #3152
2015-12-08 10:53:57 +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
32a333f16a
Import config bundle automatically if found in application directory
2015-12-07 12:17:06 +01:00
Alessandro Ranellucci
7e1fac8f76
Separate libslic3r code from slic3r application code
2015-12-06 12:54:01 +01:00
Alessandro Ranellucci
7eb3a70649
Bump version number
2015-12-06 11:18:27 +01:00
Alessandro Ranellucci
954e2c9bf0
Fix comment stripping in sender
2015-12-06 11:17:58 +01:00
Alessandro Ranellucci
27dcd60c77
Fix compilation on Windows
2015-12-06 11:17:50 +01:00
Alessandro Ranellucci
d0db8914f7
Fix a compilation error on Win32
2015-12-05 11:48:24 +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
48f1fab49f
Bugfix: an error in porting caused bad perimeter ordering. Includes regression test and more unit tests for PerimeterGenerator
2015-12-01 20:40:00 +01:00
Alessandro Ranellucci
39924ee89c
More small fixes for compilation on Linux
2015-11-19 17:02:01 +01:00
Alessandro Ranellucci
1378562e63
Further improvements for compilation (Ubuntu)
2015-11-19 15:30:27 +01:00
Alessandro Ranellucci
21a5d6e137
Several fixes to GCodeSender, including compilation on older OS X and DTR reset
2015-11-19 13:17:52 +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
ca48501f91
Remove Boost from distribution and fix some more things for Windows compilation
2015-11-06 11:34:37 +01:00
Alessandro Ranellucci
e7d2be842d
Improve Boost path detection
2015-11-06 11:03:45 +01:00
Alessandro Ranellucci
97bf69ba7f
Fix compilation on Windows
2015-11-06 10:43:11 +01:00
Alessandro Ranellucci
9f9b5afedb
Merge branch 'master' into sender
2015-11-05 11:04:01 +01:00
Alessandro Ranellucci
2e9a0f5590
Added more search paths for Boost on Win32
2015-11-05 11:02:12 +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
ntfshard
7c7982d9f3
Fix signed-unsigned compare
2015-11-04 20:49:20 +01:00
ntfshard
c90ecac48e
Addtional check for TPPLPoly::operator=
2015-11-04 20:49:20 +01:00
ntfshard
d62f33b0b4
Removed unused variables
2015-11-04 20:49:20 +01:00
ntfshard
32f5538e0d
Fix for -Wmaybe-uninitialized warninig
2015-11-04 20:49:20 +01:00
ntfshard
40e49613b1
Config: pass value as a reference
2015-11-04 20:49:20 +01:00
ntfshard
ef0050662c
Function arguments passed by reference
2015-11-04 20:49:20 +01:00
ntfshard
e1d663c0ce
Function arguments passed by reference
2015-11-04 20:49:20 +01:00
ntfshard
dbcd1e2df6
Fix: memory leak in ExPolygon::triangulate_p2t
2015-11-04 20:49:20 +01:00
ntfshard
c6ef26a457
std::list::empty faster than std::list::size (for C++03)
2015-11-04 20:49:19 +01:00
ntfshard
dd5c5eb931
Fix: Initializer list, right initialisation order
2015-11-04 20:49:19 +01:00
ntfshard
eb7464ace6
Style fix: const for some functions
2015-11-04 20:49:19 +01:00
ntfshard
f2c4a66e45
Refactoring: prefix inc/dec operators for iterators
2015-11-04 20:49:19 +01:00
Alessandro Ranellucci
06913cc8b8
Merge pull request #3111 from mdebski/temp_comments
...
Fix incorrect comments to bed temperature setting gcode
2015-11-04 20:17:58 +01:00
Alessandro Ranellucci
7a2a1b5446
Merge pull request #3039 from llluis/patch-1
...
Bugfix #3038
2015-11-04 19:47:02 +01:00
Alessandro Ranellucci
b67b903902
Include the option category for first_layer_extrusion_width. #3061
2015-11-04 19:33:49 +01:00
Alessandro Ranellucci
c34430c6c4
Fix G-code checksum
2015-11-04 14:00:37 +01:00
Maciej Dębski
369b99c712
Fix incorrect comments to temperature-setting gcode
2015-11-04 13:55:08 +01:00
Alessandro Ranellucci
1d10e463a3
Bugfix: wrong error handling in GCodeSender
2015-11-03 23:08:16 +01:00
Alessandro Ranellucci
9ee6829ebc
Implemented connection timeout in C++
2015-11-02 20:36:36 +01:00
Alessandro Ranellucci
9438289fc1
Removed debugging statement
2015-11-02 01:44:44 +01:00
Alessandro Ranellucci
b309c61de3
Test button for serial connection
2015-11-02 01:35:28 +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
2811af349a
Added a new grid infill pattern
2015-11-01 19:03:11 +01:00
Alessandro Ranellucci
889a54e946
Bump version number
2015-10-26 23:25:26 +01:00
Alessandro Ranellucci
9fcec10737
Finished porting LayerRegion to C++
2015-10-26 23:24:46 +01:00
Vicious-one
8e0d458d1d
Fix for #3069
2015-09-30 16:22:49 +03:00
Luís Andrade
b31edc0be3
Update GCode.cpp
...
Bugfix #3038
2015-08-10 18:03:45 -04:00
Alessandro Ranellucci
5b8ed7367a
Fixed potential hang in PerimeterGenerator.cpp
2015-08-06 10:07:13 +02:00
Alessandro Ranellucci
6ac79e3ed6
Ported make_perimeters() to C++
2015-07-23 16:27:21 +02:00
Alessandro Ranellucci
15d2522f3d
Merge branch 'xs-perimetergenerator'
2015-07-23 15:53:19 +02:00
Alessandro Ranellucci
b4515cf695
Finished porting PerimeterGenerator to C++
2015-07-23 15:53:02 +02:00
Alessandro Ranellucci
9ac4fc9034
Fix compilation on Windows due to lack of setenvt(). #2973
2015-07-10 16:01:45 +02:00
Alessandro Ranellucci
0e18b094d1
More work for porting PerimeterGenerator to XS
2015-07-07 01:17:31 +02:00
Alessandro Ranellucci
b8aecbd56c
Initial work for porting PerimeterGenerator to XS
2015-07-03 22:58:29 +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
72355a9500
Use macro in PrintConfig.hpp
2015-07-02 14:35:21 +02:00
Alessandro Ranellucci
ff5747bb60
Macro for readability
2015-07-02 14:31:21 +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
ab858f320d
Updated test
2015-07-01 21:02:36 +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
4a39665804
Bugfix: binary ASCII files were not written with the correct fopen() mode. #2928
2015-06-20 14:16:23 +02:00
Alessandro Ranellucci
3cd6c78044
Releasing 1.2.9
2015-06-17 10:38:28 +02:00
Alessandro Ranellucci
be635c69e7
Fixed regression casusing some rare STL files not to parsed correctly because of lack of the solid name. #2914
2015-06-15 17:17:36 +02:00
Alessandro Ranellucci
539cde8d7a
Raise the thickness threshold used for generating thin walls. TODO: don't enforce this at the segment level but consider the average thickness of an entire polyline and compare it to the total length. #2910
2015-06-15 17:00:10 +02:00
Alessandro Ranellucci
38a9e32a28
Limit bridge over sparse infill to areas that can absorb such extrudate. #2899
2015-06-13 19:48:46 +02:00
Alessandro Ranellucci
7a34078f5f
Bump version number
2015-06-13 11:42:37 +02:00
Alessandro Ranellucci
4a91ea817a
Releasing 1.2.8
2015-06-09 17:18:43 +02:00
Alessandro Ranellucci
e715974688
Better validation for speeds (prevent 0mm/s travel speed). #2893
2015-06-09 17:15:01 +02:00
Alessandro Ranellucci
911bed827c
Fixed regression in STL parser. #2886
2015-06-09 14:54:52 +02:00
Alessandro Ranellucci
7b65a35519
Always limit volumetric speed with Max Volumetric Speed (not just when using autospeed). #2810
2015-06-02 11:54:38 +02:00
Alessandro Ranellucci
1fcfdf4718
Added a couple full_label values
2015-06-01 23:22:44 +02:00
Alessandro Ranellucci
6095427926
Fix admesh's STL parser in order to make it more tolerant for broken STL files having multiple 'solid' definitions. Still not the ideal STL parser, but handles the cases that were reported so far. #2471 #2842
2015-06-01 19:49:52 +02:00
Alessandro Ranellucci
f14c0e2183
Bugfix: concave starting points were not correctly detected for slice holes. Includes regression test. #2857
2015-06-01 17:55:51 +02:00
Alessandro Ranellucci
fbea32a81c
Prevent writing empty materials to AMF files. Also add a note about material-id = 0 being reserved by AMF spec. #2871
2015-06-01 11:51:00 +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
aa8b6afe8b
Assign color to filaments
2015-05-26 02:01:43 +02:00
Alessandro Ranellucci
a547645e86
Bump version number
2015-05-24 23:29:59 +02:00
Alessandro Ranellucci
249a48d68d
Releasing 1.2.7
2015-05-24 17:39:27 +02:00
Alessandro Ranellucci
31e0fc7f17
Fixes and improvements to thin wall detection. #2829
2015-05-22 01:46:01 +02:00
Alessandro Ranellucci
70ec433e67
Faster (but less precise) implementation of simplify_by_visibility(), since it was the bottleneck of avoid_crossing_perimeters. #2777
2015-05-18 19:28:59 +02:00
Alessandro Ranellucci
97211f35e7
More robust medial axis pruning. #2800
2015-05-13 20:50:30 +02:00
Alessandro Ranellucci
0d01348acc
Use radians everywhere, including ModelInstance::rotation
2015-05-03 18:40:00 +02:00
Alessandro Ranellucci
79ce094e3a
Bugfix: splitting a rotated object resulted in wrong positions. #2772
2015-05-03 18:28:39 +02:00
Alessandro Ranellucci
7d81aee62f
Added the [scale] placeholder. #2791
2015-05-02 21:59:15 +02:00
Alessandro Ranellucci
bf541a1fed
Refactoring in PlaceholderParser
2015-05-02 21:43:22 +02:00
Alessandro Ranellucci
a16dda0885
Bugfix: changes to the resolution config option didn't trigger reslicing. #2795
2015-04-29 19:22:44 +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
095391d702
When using raft, validate first layer height against support material extruder only instead of taking other extruders into account, thus potentially allowing larger nozzles to be used for it. #2701
2015-03-06 21:35:00 +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
1ab8efba7f
Fixed regression causing random failures in bridge direction detection. #2636
2015-02-27 21:55:02 +01:00
Alessandro Ranellucci
e88cf466fe
A couple notes about infill_only_where_needed
2015-02-23 00:55:00 +01:00
Alessandro Ranellucci
2655f3f816
Better and more robust implementation of infill_only_where_needed
2015-02-23 00:44:51 +01:00
Alessandro Ranellucci
2eca094170
Added failing test case for Clipper regression causing extra points in polyline intersection, thus crash with circular bed shape
2015-02-22 17:03:23 +01:00
Alessandro Ranellucci
edbc11477c
Update to Clipper 6.2.9. Fixes #2639
2015-02-22 15:13:52 +01:00
Alessandro Ranellucci
6413d5dcba
Merge pull request #2630 from lordofhyphens/fix-admesh-warning
...
Fix a warning about unused return value when using freopen in admesh.
2015-02-22 14:48:17 +01:00
Alessandro Ranellucci
ba6ae12635
Change end_program() to postamble()
2015-02-15 17:09:17 +01:00
Alessandro Ranellucci
1180a6d83f
Merge pull request #2508 from strahlex/machinekit-gcode
...
added support Machinekit flavour GCode
2015-02-15 17:00:08 +01:00
Alessandro Ranellucci
8851dc7f23
Added failing test case for upstream Clipper issue 126 (our #2639 )
2015-02-15 16:47:55 +01:00
Alessandro Ranellucci
32b8eb489c
Updated Clipper to 6.2.8. This fixes several minor issues, including infill paths not being trimmed correctly. #2448
2015-02-15 16:10:04 +01:00
Kent Fredric
df5c2a6f11
Remove redundant dep on ExtUtils::Typemap
...
Typemap (Singluar) version 1.00 is essentially identical to Typemaps (Plural)
Typemap is literally a dumb subclass of TypeMaps, and so this
dependency simply gives an extra installation requirement that does
nothing.
2015-02-14 06:44:22 +13:00
Alexander Rössler
cef1494852
Switched to P parameter instead of S for Machinekit flavour MCode commands
2015-02-10 14:22:23 +01:00
Alessandro Ranellucci
a68fed3938
Bump version number
2015-02-09 10:53:55 +01:00
Alexander Rössler
f2fa8cb63f
added end_program() function to GCodeWriter
2015-02-07 12:36:29 +01:00
Alexander Rössler
32eff40422
added retract and unretract command for Machinekit flavour
2015-02-06 19:16:57 +01:00
Alexander Rössler
d35226b889
added support Machinekit flavour GCode
2015-02-06 18:48:46 +01:00
Joseph Lenox
102785d154
Fix a warning about unused return value when using freopen in admesh. Added another NULL check for safety.
2015-02-05 00:58:27 -06:00
Alessandro Ranellucci
73eb11b395
Releasing 1.2.6
2015-02-01 15:47: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
07cd25d0ec
New option for customization of infill/perimeters overlap. #2459
2015-02-01 12:08:25 +01:00
Alessandro Ranellucci
84eb37e218
Typo in previous commit
2015-01-31 11:57:18 +01:00
Alessandro Ranellucci
62e418d0fc
Modernize some defaults
2015-01-31 11:38:17 +01:00
Alessandro Ranellucci
059b00a829
New --before-layer-change option and new layer_z placeholder. #2602
2015-01-30 20:08:00 +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
9ad5d9bb3d
Fixed minor issue in 3D preview causing single-line toolpaths to miss the cap on one endpoint
2015-01-28 23:35:48 +01:00
Alessandro Ranellucci
7652abdf8d
Merge pull request #2595 from xdissent/deserialize-points
...
Use std::getline to deserialize point list coords, fixes #2318
2015-01-28 21:02:05 +01:00
Greg Thornton
b0b9c17c23
Use std::getline to deserialize point list coords, fixes #2318
2015-01-28 09:08:50 -06:00
Alessandro Ranellucci
b1f1893481
Bugfix: tangent horizontal mesh surfaces were not included in slices under rare circumstances, generating almost invalid polygons that confused Clipper and caused skipped layers. Includes regression test
2015-01-28 13:00:38 +01:00
Alessandro Ranellucci
8a5a0b6726
Minor optimization in TriangleMesh code
2015-01-25 17:30:55 +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
7b980c1dc9
New option for vertical distance between object and support material, with special handling of the 0 case that disabled bridge flow/speed in order to allow for soluble material. #2491 #2272 #2069 #1942 #2435 #1703
2015-01-19 09:52:24 +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
4696b46475
Clarified tooltip for First Layer Extrusion Width. #2543
2015-01-18 11:42:19 +01:00
Alessandro Ranellucci
b646b5c98a
Revert "Updated Clipper to 6.2.7"
...
This reverts commit e6c022a61c
.
2015-01-18 01:31:10 +01:00
Alessandro Ranellucci
e9d08ce51f
Updated MANIFEST
2015-01-18 01:14:14 +01:00
Alessandro Ranellucci
e6c022a61c
Updated Clipper to 6.2.7
2015-01-18 01:07:23 +01:00
Alessandro Ranellucci
357f10732a
Added test case for a Clipper bug
2015-01-18 01:07:23 +01:00
Alessandro Ranellucci
2bbb6c570b
Ported toolpaths rendering to C++
2015-01-18 01:07:22 +01:00
Alessandro Ranellucci
cf4119e169
Populate ExtrusionPath::height correctly in case of bridge
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
a616d64971
Bump version number
2015-01-15 22:35:14 +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
9a7e5327ab
Support --solid-fill-pattern for legacy. #2527
2015-01-13 23:22:27 +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
bb9ceba343
Releasing 1.2.5
2015-01-09 13:44:28 +01:00
Alessandro Ranellucci
02d717b7a3
Don't put any M200 automatically when volumetric mode is selected. Explain how to do it manually in the tooltip. #1746
2015-01-09 12:02:04 +01:00
Alessandro Ranellucci
64c9e3af4b
Bugfix: objects were floating in STL export after rotation and flip. #2512
2015-01-09 00:47:40 +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
79cb350f2d
Fixed segfault in new MotionPlanner code when environments were empty (small islands). #2511
2015-01-08 21:24:51 +01:00
Alessandro Ranellucci
fc47892474
Bump version number
2015-01-08 15:31:59 +01:00
Alessandro Ranellucci
406d045ced
The inwards move after an external loop was still randomly generated outwards in some cases. Perimeters are now generated with a distinct iterator for each slice. Nested islands are also correctly supported too. Various regression tests included. #2253
2015-01-08 15:22:13 +01:00
Alessandro Ranellucci
af92e3d49e
Bugfix: validation for sequential printing was not entirely correct. #2480
2015-01-07 21:57:22 +01:00
Alessandro Ranellucci
1b766f12ca
Minor fix after recent changes in MotionPlanner
2015-01-06 23:30:28 +01:00
Alessandro Ranellucci
21a660c56c
Fix compilation
2015-01-06 21:29:32 +01:00
Alessandro Ranellucci
d4ae734659
Minor improvement to IntersectionLine (now subclasses Line)
2015-01-06 20:58:07 +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
5e100abe25
Added several drawing methods to Slic3r::SVG
2015-01-06 20:51:48 +01:00
Alessandro Ranellucci
713fcb5e8e
New methods in Slic3r::SVG C++ class
2015-01-06 16:26:15 +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
9fd0637990
Bugfix: artifacts were introduced when perimeters were recalculated through incremental slicing. #2494
2015-01-05 21:00:50 +01:00
Alessandro Ranellucci
47e4e8bb66
Option to use volumetric E values. #1746
2015-01-05 19:39:10 +01:00
Alessandro Ranellucci
6776d6bc00
Bugfix: a bug in Polyline::split_at() caused random loss of perimeter segments. #2495
2015-01-05 15:51:57 +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
a6f3e6bfdb
Mark Vibration Limit as deprecated. #2483
2015-01-04 19:32:59 +01:00
Alessandro Ranellucci
92e896c4d1
Prettify infill pattern labels
2015-01-04 19:32:05 +01:00
Alessandro Ranellucci
cbc0e270b7
Nicer configuration fields for USB/Serial connection
2015-01-04 19:14:54 +01:00
Alessandro Ranellucci
16939b80e6
Implemented priority queue
2015-01-04 18:17:15 +01:00
Alessandro Ranellucci
504cbd89db
Fix bug in admesh code that causes random binary STL files not to be read correctly on Windows. #2461
2015-01-04 11:46:58 +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
fffdbe0abb
Releasing 1.2.4
2014-12-30 14:51:59 +01:00
Alessandro Ranellucci
c4832c5342
Bugfix: early object destruction caused a segfault when splitting. Also fixed a memory leak and restore background processing when split only detected one part. #2466 #2398
2014-12-30 13:16:28 +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
200130bc10
Bump version number
2014-12-29 12:49:49 +01:00
Alessandro Ranellucci
6896e53078
Octoprint -> OctoPrint
2014-12-29 12:49:32 +01:00
Alessandro Ranellucci
13b4237fec
Releasing 1.2.3
2014-12-29 11:45:41 +01:00
Alessandro Ranellucci
fbb3462f5b
Bump version number
2014-12-28 14:58:58 +01:00
Alessandro Ranellucci
efe7d5f857
Integration with Octoprint. #1826
2014-12-28 01:30:05 +01:00
Alessandro Ranellucci
b126f92f41
Finished GCodeSender
2014-12-27 22:58:01 +01:00
Alessandro Ranellucci
8b438dc0de
Merge branch 'master' into sender
2014-12-27 18:10:03 +01:00
Alessandro Ranellucci
9803e2fabf
Releasing 1.2.2
2014-12-27 14:38:55 +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
5639132dae
Bugfix: the region_volumes vector was not always extended after creating new regions, causing bad memory access in apply_config(). #2446
2014-12-24 18:35:59 +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
91bc4d8157
Bugfix: a typo caused wrong loop splitting, thus wrong ordering of perimeters having bridging parts. Includes regression test. #2258
2014-12-24 00:11:29 +01:00
Alessandro Ranellucci
25bc8e6f29
Smarter automatic disabling of GUI fields + reordering of Print Settings pages + minor adjustments to tooltips
2014-12-23 20:47:11 +01:00
Alessandro Ranellucci
64061267c8
Align infill across layers regardless of first-layer-specific extrusion width. Includes a good internal API refactoring and a fix to 3D honeycomb flow
2014-12-22 16:47:35 +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
1b582ea66a
Remove the "(slow)" mark on infill patterns that used to be slow in the past
2014-12-22 10:48:05 +01:00
Alessandro Ranellucci
4fc955a0fd
Fixed concave_points() and convex_points() after recent change of ccw_angle()
2014-12-21 23:10:38 +01:00
Alessandro Ranellucci
7253dc699a
Some more work on wireframe
2014-12-21 22:52:18 +01:00
Alessandro Ranellucci
a0dda36df0
Minor fix to BridgeDetector
2014-12-17 01:21:12 +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
133466a6b5
Minor improvements to the Skirt Loops tooltip
2014-12-12 22:50:43 +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
93d9ee9205
Consider extrusion width in Print::total_bounding_box()
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
d350241da3
Make combine_infill() completely idempotent. Includes unit testing
2014-12-08 21:23:42 +01:00
Alessandro Ranellucci
6ce651eb4a
Fixed wrong implementation of concave_points() and convex_points() in C++. #2384
2014-12-07 19:53:22 +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
e4dd5cf82f
Bugfix: object steps were not invalidated when First layer extrusion width was changed. #2379
2014-12-01 00:00:11 +01:00
Alessandro Ranellucci
e8f242ee3f
Move toolpaths preview to the plater dialog
2014-12-01 00:00:11 +01:00
Alessandro Ranellucci
7a7d00c8d6
Rename solid_fill_pattern to external_fill_pattern and clarify tooltip
2014-11-27 00:38:05 +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
ff9b53260d
New experimental feature for pressure management. Credits to @llluis for the original implementation. #1203 #1677 #2018
2014-11-24 18:22:39 +01:00
Alessandro Ranellucci
945567d1f3
Merge pull request #2278 from hroncok/admesh98
...
Updated to admesh 0.98.1
2014-11-24 15:36:26 +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
60a76b8cfa
Fixed regression causing retraction to be skipped when Retract Length was 0 but Use Firmware Retraction was enabled. Includes regression test. #2359
2014-11-23 19:32:06 +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
3605289bbc
--spiral-vase now automatically overrides --perimeters, --top-solid-layers and --fill-density instead of throwing incompatibility error. #2360
2014-11-22 23:10: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
harriv
33cdee1ad6
Removed extra ; from Print.cpp
2014-11-11 22:17:02 +02: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
a78be203aa
Upgrade Clipper to 6.2.1
2014-11-08 12:05:27 +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
c3d401fb41
Limit automatic extrusion width for support material interface as well
2014-11-07 23:35:33 +01:00
Alessandro Ranellucci
d645dabcff
Ported reload_object() to XS
2014-11-07 20:25:05 +01:00
Alessandro Ranellucci
bf3f45604a
Solid infill below area option was not invalidating the correct steps
2014-11-07 00:53:15 +01:00
Alessandro Ranellucci
a4eef93950
Fixed minor regression
2014-11-04 21:07:18 +01:00
Alessandro Ranellucci
01133fd0be
Fix tests after recent output change for ConfigOptionPoint values
2014-10-28 23:37:20 +01:00
Alessandro Ranellucci
366e10d6ec
Added comment
2014-10-25 11:10:44 +02:00
Alessandro Ranellucci
7f57f007cd
Refactoring: moved Slic3r::GCode::Base to Slic3r::GCode::Writer
2014-10-25 10:42:07 +02:00
Alessandro Ranellucci
c2e710d092
Removed --g0
2014-10-21 21:41:11 +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
6573ae002a
Bugfix: fix crash in some circumstances caused by Avoid crossing perimeters. #2271
2014-09-23 20:19:47 +02:00
Miro Hrončok
b9f4880b23
Updated to admesh 0.98.1
2014-09-23 14:34:37 +02:00
Alessandro Ranellucci
f3db284e2a
Merge branch 'master' of github.com:alexrj/Slic3r
2014-09-21 14:42:09 +02:00
Alessandro Ranellucci
73b3c06361
Ported more things to XS
2014-09-21 10:51:36 +02:00
Alessandro Ranellucci
fcf65223e1
Make tooltip for toolchange_gcode more precise
2014-08-14 21:50:57 +02:00
Alessandro Ranellucci
5a96bad8c2
Ported some more methods to C++
2014-08-08 21:48:59 +02:00
Alessandro Ranellucci
534b8c3f12
Fixed minor harmless error in a couple tests
2014-08-08 11:07:51 +02:00
Alessandro Ranellucci
5435d88924
Bugfix: wrong arguments supplied to Flow constructor (rarely used case)
2014-08-08 02:56:25 +02:00
Alessandro Ranellucci
c0a6b1a9cc
Bugfix: enabling/disabling support material didn't cause skirt to be recalculated
2014-08-08 01:37:39 +02:00
Alessandro Ranellucci
04d2e4124f
Fix numerical issue on Win32
2014-08-04 15:05:36 +02:00
Alessandro Ranellucci
d9f6b0933b
Use istringstream for deserializing config options in order to use the correct locale. #2187
2014-08-04 11:34:53 +02:00
Alessandro Ranellucci
b10917806a
Ported some Model methods to XS
2014-08-03 20:33:16 +02:00
Alessandro Ranellucci
f06566dd3a
Fix error in PrintRegion::flow() port
2014-08-03 20:02:58 +02:00
Alessandro Ranellucci
6adc3477c9
Moved C++ code into new libslic3r directory
2014-08-03 19:42:29 +02:00
Alessandro Ranellucci
b8676241e0
Split Print.cpp and Layer.cpp into multiple compilation units
2014-08-03 19:28:40 +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
53f2d6bb4b
New 3D Honeycomb infill pattern (credits: David Eccles (gringer)). #1646
2014-07-26 17:07:43 +02:00
Alessandro Ranellucci
c4d70bcb85
Always use a rectangle with semicircles as extrudate shape
2014-07-26 15:29:24 +02:00
Alessandro Ranellucci
7aaf27c0c7
Put skirt outside brim to avoid conflicts. #2157
2014-07-24 23:43:19 +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
70fb381ecf
Bugfix: some extra spots were added in medial axis
2014-07-23 16:32:31 +02:00
Alessandro Ranellucci
a02ea2842c
Change default layer height to 0.3mm
2014-07-23 14:15:14 +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
a06fad9e13
Enable/disable GUI controls according to the others in order to guide the user through option dependency
2014-07-01 18:18:23 +02:00
Alessandro Ranellucci
04b67f0cb0
Refactored OptionsGroup class for cleaner OOP model and cleaner event model
2014-07-01 16:42:12 +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
b263da8d4c
Assign category to dont_support_bridges
2014-06-19 00:14:22 +02:00
Alessandro Ranellucci
928335f186
Removed print_center option (but left --print-center from CLI)
2014-06-16 23:58:45 +02:00
Alessandro Ranellucci
7cc0bce97d
Merge branch 'bedshape'
2014-06-16 22:57:04 +02:00
Alessandro Ranellucci
998a4225de
Finished implementation of bed_shape in plater
2014-06-16 15:18:39 +02:00
Alessandro Ranellucci
7a20c4d52a
More incomplete work for using bed_shape in plater
2014-06-16 14:05:22 +02:00
Alessandro Ranellucci
4fe2128fc4
Initial work for custom bed shape
2014-06-16 01:49:49 +02:00
Alessandro Ranellucci
6fbb6613ee
Remove erroneous min limit from xy_size_compensation definition. #2096
2014-06-15 11:50:52 +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
Alessandro Ranellucci
1a5a7dcd36
Added min limits for most numeric options
2014-06-14 15:20:38 +02:00
Y. Sapir
a837e26f51
Translate PlaceholderParser::apply_config to C++.
2014-06-14 00:01:52 +02:00
Alessandro Ranellucci
6eec3440cc
Don't invalidate things if the changed options only affect G-code export
2014-06-13 23:07:46 +02:00
Alessandro Ranellucci
a1bcbea816
Use async timer everywhere
2014-06-13 20:36:45 +02:00
Alessandro Ranellucci
4d76d05bbb
Refactoring: better API for Print/Object steps with explicit dependencies
2014-06-13 20:05:18 +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
34750d47fe
Move external_perimeters_first to PrintRegionConfig
2014-06-11 22:15:28 +02:00
Alessandro Ranellucci
e158d1e612
Move bridge_flow_ratio to PrintRegionConfig
2014-06-11 22:10:33 +02:00
Alessandro Ranellucci
7eaba2d132
Move PrintConfigDef::build_def() to .cpp
2014-06-11 22:04:19 +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
7ccfd2f024
More work on incremental slicing
2014-06-11 17:51:18 +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
c5c069b9a0
Update MANIFEST
2014-06-10 16:03:43 +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
e3e69251cb
New XY Size Compensation option. #581 #56
2014-06-10 13:28:57 +02:00
Alessandro Ranellucci
3599bd0bae
Distinct extrusion width for external perimeters
2014-06-09 21:22:15 +02:00
Alessandro Ranellucci
28695c719c
Fixed regression causing bridge flow to be incorrect when a manual default extrusion width was specified. Includes several regression tests. #2027
2014-06-03 23:59:03 +02:00
Alessandro Ranellucci
f5b9df2413
New implementation of Avoid crossing perimeters using Voronoi diagrams
2014-05-28 10:16:58 +02:00
Alessandro Ranellucci
f018828bfd
Simplify islands before initializing MotionPlanner
2014-05-27 01:11:40 +02:00
Alessandro Ranellucci
07b915fb4f
Fix MANIFEST
2014-05-27 00:05:45 +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
65dd95aaac
Update MANIFEST and test
2014-05-27 00:03:23 +02:00
Alessandro Ranellucci
98b8936ee2
Automatically disable retract_layer_change when using spiral_vase
2014-05-26 23:51:58 +02:00
Alessandro Ranellucci
2ac40f9547
Revert "Update Clipper to r468. #2028 "
...
This reverts commit 6a6439576b
.
2014-05-26 20:00:59 +02:00
Alessandro Ranellucci
6a6439576b
Update Clipper to r468. #2028
2014-05-26 17:21:31 +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
Alessandro Ranellucci
0decbbf910
Revert "Updated Clipper to r467 but it doesn't seem to fix #2028 yet"
...
This reverts commit a62457d6b5
.
2014-05-25 23:27:26 +02:00
Alessandro Ranellucci
a62457d6b5
Updated Clipper to r467 but it doesn't seem to fix #2028 yet
2014-05-25 22:48:58 +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
Y. Sapir
0486a7f857
Try to fix _copies_shift scaling.
2014-05-24 23:50:45 +03:00
Y. Sapir
db51e4693d
Return NULL values from XS as undef.
2014-05-24 23:50:45 +03:00
Y. Sapir
d06c300926
Add ::Ref classes for every missing C++ class (going by REGISTER_CLASS calls).
2014-05-24 23:50:44 +03:00
Y. Sapir
8da0bded1d
Move Print object storage to C++. (along with its subobjects)
2014-05-24 23:50:29 +03:00
Alessandro Ranellucci
88a2e5c791
Typo seal -> seam :-)
2014-05-24 22:10:28 +02:00
Alessandro Ranellucci
3df2488eca
Disable test until Clipper bug 96 is fixed #2028
2014-05-24 00:10:37 +02:00
Alessandro Ranellucci
ed58f35fe5
Revert "Fix bad test". Test was actually correct. Clipper's still slightly buggy since it splits polylines
...
This reverts commit bf2af85da5
.
2014-05-24 00:09:04 +02:00
Alessandro Ranellucci
bf2af85da5
Fix bad test
2014-05-24 00:01:27 +02:00
Alessandro Ranellucci
fcdb462abe
Failing test cases for Clipper bug returning empty result set. #2028
2014-05-24 00:00:15 +02:00
Alessandro Ranellucci
70ceb853f1
Update Clipper to last trunk to fix a couple Clipper bugs causing empty intersection results and failure to process polylines with coinciding endpoints. This also caused crashed in some rare circumstances
2014-05-23 23:58:43 +02:00
Alessandro Ranellucci
a3bd1b5302
New seal_position option that replaces randomize_start, start_perimeters_at_concave_points and start_perimeters_at_non_overhang. The two latter options are now always on by default. A new "Aligned" seal position value has been added, that forces starting points to be aligned when not randomized. #1741 #925
2014-05-22 19:34:49 +02:00
Alessandro Ranellucci
c63bd8165d
Fixed minor compilation issue
2014-05-22 13:47:30 +02:00
Alessandro Ranellucci
f2c5e799b1
Enforce seam alignment and blend in spiral vase. #2023
2014-05-22 12:28:12 +02:00
Alessandro Ranellucci
254ab29a97
New Point::projection_onto() methods
2014-05-21 20:08:21 +02:00
Alessandro Ranellucci
874c7a6e8b
One line missing for support_material_interface_speed declaration
2014-05-21 15:53:41 +02:00
Alessandro Ranellucci
5e6ff952df
Fix more regressions in test suite regarding the workaround for Clipper bug
2014-05-21 15:45:16 +02:00
Alessandro Ranellucci
8ca352eb62
Separate speed option for support material interface. #2009
2014-05-21 15:21:20 +02:00
Alessandro Ranellucci
08279ec5d8
Bugfix: thin walls forming a closed loop had overlapping segments at their endpoints. #1948 #1875
2014-05-21 15:03:31 +02:00
Alessandro Ranellucci
a8b6e32767
Gracefully handle loading config files having empty strings for multi-value options (like wipe). #2003
2014-05-21 11:38:42 +02:00
Alessandro Ranellucci
ac0a91a162
Move many speed settings to PrintRegionConfig
2014-05-15 18:53:05 +02:00
Alessandro Ranellucci
ad99b2a0fd
Fixed one more regression introduced with Model refactoring. Includes regression test
2014-05-15 16:37:18 +02:00
Alessandro Ranellucci
5fe5021fd7
Implemented avoid_crossing_perimeters with VisiLibity
2014-05-13 20:06:01 +02:00
Alessandro Ranellucci
ee2c1c6127
Refactored the Slic3r::GCode logic for speeds
2014-05-13 08:34:21 +02:00
Alessandro Ranellucci
5d12a03b82
Move Detect Bridging Perimeters to region config
2014-05-12 23:02:33 +02:00
Alessandro Ranellucci
59f0e76da1
Distinct extrusion role for support material interface
2014-05-12 22:59:49 +02:00
Alessandro Ranellucci
69002b8ea2
No tests were covering randomize-start, which was not working anymore after recent ExtrusionLoop refactoring. #2028
2014-05-12 21:49:17 +02:00
Alessandro Ranellucci
a02a7f1a0f
Apply workaround for buggy GCC 4.7.2 #1965
2014-05-10 17:03:05 +02:00
Alessandro Ranellucci
27c73f5983
Some fixes after the recent Model refactoring
2014-05-10 16:59:17 +02:00
Alessandro Ranellucci
65b7d27def
Draft for binary representation of G-code commands
2014-05-10 15:08:49 +02:00
Alessandro Ranellucci
7ba08c90cf
Refactoring to Model API for making it stricter and safer
2014-05-09 14:24:35 +02:00
Alessandro Ranellucci
bc023c2d51
Remove new/delete keywords from ClipperUtils.cpp
2014-05-08 15:00:49 +02:00
Alessandro Ranellucci
76a8ec3d9e
Replace to_SV_ref() and to_SV_clone_ref() with templated glue functions
2014-05-08 14:52:48 +02:00
Alessandro Ranellucci
f76e2c2222
Several minor fixes to Model
2014-05-08 13:33:43 +02:00
Alessandro Ranellucci
6e207d3830
Merge branch 'sapir-modelcpp'
2014-05-08 11:13:21 +02:00
Alessandro Ranellucci
c37ef2f18b
New semantics for ExtrusionLoop objects. Early processing of perimeter overhangs for paralellizing such work and making G-code export lighter. Lots of refactoring. This should fix a number of minor bugs, including reversals of perimeter overhangs.
2014-05-08 11:07:37 +02:00
Alessandro Ranellucci
d2d885fc53
Turn ExtrusionLoop into a collection of polylines. Includes some changes to the Polygon API to avoid returning newly allocatd objects
2014-05-07 12:02:09 +02:00
Alessandro Ranellucci
931f3114c0
Fix clear_objects() and clear_volumes()
2014-05-07 01:23:14 +02:00
Alessandro Ranellucci
13af16ea24
Use Pointf for origin_translation and pass const refs whenever possible
2014-05-07 00:58:29 +02:00
Alessandro Ranellucci
54a199919b
Removed StringMap
2014-05-07 00:22:56 +02:00
Y. Sapir
05b2993769
Translate Model class' storage to C++.
...
Some code copied from xs-model branch.
Also:
* Generate ::Ref classes programatically.
* Add separate __REGISTER_CLASS macro
(for use where forward declaration won't work, i.e. typedefs)
2014-05-05 16:30:19 +03:00
Alessandro Ranellucci
cb1527f7ef
Refactoring: move direction math into a single function. Includes some fixes and adjustments
2014-05-02 18:48:11 +02:00
Petr Ledvina
028ef3a868
Add missing perlglue.hpp to xsp files
...
perlglue was missing in some xsp files. If file ordering ib XS.c is changed, header file could be missing. Maybe solves #2000
2014-05-02 14:08:44 +02:00
Alessandro Ranellucci
0a88492fdc
Use a more robust parallelism detection
2014-05-02 13:26:59 +02:00
Alessandro Ranellucci
c81ffc391d
Tentative fix for unreproduced compilation error reported
2014-05-02 11:51:07 +02:00
Alessandro Ranellucci
edeb0a90dd
Use poly2tri for triangulation. This fixes some cases where polyPartition couldn't triangulate successfully. Reported as issue #9 in polyPartition repository. Tested with MotorHalter_0.stl cut at 1.2
2014-05-01 12:07:11 +02:00
Alessandro Ranellucci
60f640f100
Remove self-intersections before supplying polygon data to polyPartition and rename triangulate2() to triangulate_pp()
2014-05-01 10:37:38 +02:00
Alessandro Ranellucci
9734a40647
Fix Polygon::contains_point() overflowing on Windows. #1950
2014-04-30 16:55:20 +02:00
Alessandro Ranellucci
581376bf75
Rename EMC to LinuxCNC
2014-04-30 15:05:32 +02:00
Alessandro Ranellucci
98e40d3fe4
Store width and height in ExtrusionEntity objects for debugging purposes
2014-04-29 23:16:16 +02:00
Alessandro Ranellucci
24571612c7
Some minor changes to the newly-ported Extruder class
2014-04-28 22:02:34 +02:00
Alessandro Ranellucci
4c330b6c59
Merge pull request #1968 from sapir/extrudercpp
...
Translate Extruder class to C++
2014-04-28 21:45:53 +02:00
Alessandro Ranellucci
19fdf9b184
Test triangulate2() instead of the faulty triangulate()
2014-04-28 20:19:26 +02:00
Alessandro Ranellucci
2720000a17
New get_trapezoids() implementation. Maybe heavier but it doesn't fail with some versions of GCC like the one provided by Boost.Polygon. #1965
2014-04-28 20:14:20 +02:00
Alessandro Ranellucci
d4e97d17d5
Use -O1 with GCC 4.7.0-4.7.2. #1965
2014-04-28 19:24:19 +02:00
Y. Sapir
ad03a88733
Add xsp wrapper for Pointf class.
2014-04-28 01:13:50 +03:00
Y. Sapir
e005ff32c4
Replace Extruder::config accessor with Perl wrapper, with C++ option accessors.
2014-04-28 00:49:05 +03:00
Y. Sapir
71b0b211ec
Constify ConfigOptionVector::get_at.
2014-04-28 00:19:03 +03:00
Y. Sapir
d824de6168
Keep pointer to PrintConfig instead of copying it.
2014-04-28 00:03:22 +03:00
Y. Sapir
c2b249d059
Add REGISTER_CLASS call for Extruder class.
2014-04-27 23:53:28 +03:00
Y. Sapir
2565d80679
Replace multitude of Extruder fields with querying a PrintConfig object by id.
2014-04-27 23:43:44 +03:00
Y. Sapir
b319dc9361
Correctly convert extruder_offset to Point object before passing to C++ code.
2014-04-27 23:43:43 +03:00
Y. Sapir
717d099ae1
Add XS Extruder files to manifest.
2014-04-27 23:43:43 +03:00
Y. Sapir
04fad70cbf
Make C++ gcode generator use C++ Extruder object directly.
2014-04-27 23:43:43 +03:00
Y. Sapir
66d23a2416
Convert Extruder object (mostly) to C++ with lots of fields.
2014-04-27 23:42:59 +03:00
Petr Ledvina
115aa6885f
Implement type checking for XS objects
...
Type handling is mainly done using templates.
Template Slic3r::ClassTraits is used to store info about exported types (perl class name). Currently only perl class name and refference name is used.
Template values are initialized by REGISTER_CLASS macro. This macro is used in .cpp file of class ( it needs to be used exactly for each type).
Ref<type> class is used to return value as perl reference. Operator overloading is used to make c++ and XSpp happy, only pointer value should be possible to return.
Clone<type> class is used to return copy of value ( using new and copy constructor). Copy is created on assigment, this should be probably improved (memory leak on multiple assignments).
It is overloaded to be able to return type, type* and type&.
Typechecking in ExtrusionEntityCollection updated to check all passed types.
2014-04-27 19:38:56 +02:00
Y. Sapir
87eee8eea3
Remove execute permissions for clipper source files.
2014-04-27 13:19:11 +03:00
Alessandro Ranellucci
ce9cf4d964
Don't put supports under bridges and potential bridges
2014-04-26 17:19:50 +02:00
Alessandro Ranellucci
7e3024d6ad
Explain that infill_every_layers can be set to arbitrarily large values in the tooltip
2014-04-25 20:29:37 +02:00
Alessandro Ranellucci
7ac0095018
Fix regression causing default extrusion width to be ignored. #1958
2014-04-25 19:39:27 +02:00
Alessandro Ranellucci
924cb2e558
Update MANIFEST. #1969
2014-04-25 19:14:03 +02:00
Alessandro Ranellucci
f6897a346a
Fix islands not being ordered efficiently with the logic that completes each of them before moving to the next one (which is now the default behavior). #1137
2014-04-25 19:11:17 +02:00
Alessandro Ranellucci
8db4913b04
New option for rotating the lower part resulting from the cut so that the flat surface lies on the print bed
2014-04-25 17:50:03 +02:00
Alessandro Ranellucci
4f17c2b7d1
First working implementation of a GUI for cutting
2014-04-25 17:14:39 +02:00
Alessandro Ranellucci
334bc4c581
Fix cut() test
2014-04-25 13:27:45 +02:00
Alessandro Ranellucci
4f5d9ca795
Finished --cut implementation
2014-04-25 12:40:21 +02:00
Alessandro Ranellucci
fe1691c151
New --cut feature
2014-04-25 10:20:30 +02:00
Alessandro Ranellucci
37c7b958d4
New ExPolygon::triangulate() method
2014-04-24 17:06:16 +02:00
Alessandro Ranellucci
bb0ce3cccd
New Polygon::triangulate_convex() method
2014-04-24 16:59:36 +02:00
Alessandro Ranellucci
ca4d4211c9
Refactored signatures of many C++ methods for more efficient and safer style. Includes a bugfix for Point::nearest_point() which was returning a pointer to freed memory. #1961
2014-04-24 16:40:10 +02:00
Alessandro Ranellucci
6201aacf88
New coverage detection for bridges. Includes implementation of ExPolygon::get_trapezoids()
2014-04-24 13:44:39 +02:00
Alessandro Ranellucci
1fc76b73a4
Merge pull request #1953 from ledvinap/fix-clipper-1834
...
Apply bug fix from upstream clipper. Fixes #1834
2014-04-22 15:39:42 +02:00
Petr Ledvina
c30040b691
Apply bug fix from upstream clipper
...
Clipper fix in commit [r463] for bug repport #92 (http://sourceforge.net/p/polyclipping/code/463/tree//trunk/cpp/clipper.cpp?diff=504b9404fd48f873331e913b:462 )
is applied here.
2014-04-22 15:19:35 +02:00
Alessandro Ranellucci
bc101bd93e
Assume bridge angle is stored in radians in infill generation. #1917
2014-04-21 23:21:15 +02:00
Alessandro Ranellucci
7041ebdd22
Workaround for upstream module bug causing command line option parsing for multi-boolean options like retract-layer-change and wipe
2014-04-19 19:14:41 +02:00
Alessandro Ranellucci
8018eac0f0
Set min temperature to 0
2014-04-19 18:32:04 +02:00
Alessandro Ranellucci
c3bb8a69db
Bugfix: crash when extending an array option by 2+ positions. #1908
2014-04-19 16:38:28 +02:00
Alessandro Ranellucci
f51921a11a
Default extruder wasn't applied to perimeter extruder. Includes regression test. #1868
2014-04-19 11:43:41 +02:00
Alessandro Ranellucci
93a7d87fc6
Bugfix: pillars support material crashed when no overhangs were detected
2014-04-07 16:59:22 +02:00
Alessandro Ranellucci
1c020eda78
Merge pull request #1911 from sapir/speed
...
Rewriting the extrusion path gcode generation in C++
2014-04-07 09:38:21 +02:00
Alessandro Ranellucci
d6d6a51e0d
Fix for incomplete extrusion on solid surfaces
2014-04-05 10:54:24 +02:00
Alessandro Ranellucci
b68c55fec0
Bugfix: the Y coordinate of Point config fields was not correctly validated and lead to a crash when entering non-numeric values. Includes regression test. #1906
2014-04-05 09:40:24 +02:00
Y. Sapir
4deeff995a
Move extrusion path gcode generation to C++ for speed.
2014-04-01 21:11:43 +03:00
Alessandro Ranellucci
bbebcca82c
Set default support material pattern to pillars
2014-03-27 00:05:22 +01:00
Alessandro Ranellucci
071097d3f1
Fix extruder assignment and tests
2014-03-27 00:01:33 +01:00
Alessandro Ranellucci
4540350b66
Specify that extruder indices are 1-based in tooltips
2014-03-26 00:14:45 +01:00
Alessandro Ranellucci
0ff33f47f1
Fix the extruder override logic. All role-based extruder options now default to 0, meaning no override is defined and the default (inherited) extruder is used. The default extruder option does not use the shortcut logic anymore (it was thus moved to be a CLI-specific logic)
2014-03-26 00:08:15 +01:00
Alessandro Ranellucci
432a87e73d
New option for forcing the generation of interface shells. #1847
2014-03-25 01:11:28 +01:00
Alessandro Ranellucci
91799a9e58
Rephrase the tooltip for start G-code to make its position more clear. #1822
2014-03-24 22:06:35 +01:00
Alessandro Ranellucci
9fa2a17136
Better tooltip for top_solid_infill_speed. #1752
2014-03-24 14:25:12 +01:00
Alessandro Ranellucci
4c6f9703df
Fix bad deserialization of extruder_offset = 0x0
2014-03-24 14:16:37 +01:00
Alessandro Ranellucci
7a58457add
Prevent GUI from crashing when invalid values were written in numeric fields. Includes basic validation. #1709
2014-03-24 01:07:30 +01:00
Alessandro Ranellucci
e9620c30b1
Update Clipper to 6.1.3a
2014-03-23 21:40:35 +01:00
Alessandro Ranellucci
d02b64b31b
Bugfix: binary STL export produced corrupt results on Windows. #1814
2014-03-23 19:17:56 +01:00
Alessandro Ranellucci
9f8b5f80d1
Add 0% to fill_density combobox
2014-03-23 16:57:12 +01:00
Alessandro Ranellucci
d75417601e
Make the override panel prettier and prevent the default extruder setting from being deleted since it can't be readded manually
2014-03-23 15:18:08 +01:00
Alessandro Ranellucci
21e6de0e59
Only expand shortcut options in StaticConfig objects. This way we can keep a default extruder value in the parts panel
2014-03-22 20:12:54 +01:00
Alessandro Ranellucci
b5b735c988
ComboBox for fill density values
2014-03-22 17:01:48 +01:00
Alessandro Ranellucci
7421a7bf63
Turn fill_density into percentage
2014-03-22 16:23:33 +01:00
Alessandro Ranellucci
ed8a2f7330
Extend medial axis endpoints to fill the entire length. Includes fix for a minor memory leak caused by usage of old signature for Line::point_at()
2014-03-15 16:53:20 +01:00
Alessandro Ranellucci
52de292a48
Fixed wrong refactoring of perimeter tree traversal. #1832
2014-03-15 02:16:04 +01:00
Alessandro Ranellucci
b71d28bd5a
Fix minor error and update MANIFEST
2014-03-11 19:19:34 +01:00
Alessandro Ranellucci
7f5442265e
Include thin walls in general top-level perimeter sorting to get more efficient paths
2014-03-09 20:19:30 +01:00
Alessandro Ranellucci
2a73ab988f
Recursive pruning. Some more unit tests
2014-03-09 17:46:02 +01:00
Alessandro Ranellucci
33da6adc3c
Better pruning
2014-03-08 11:36:48 +01:00
Alessandro Ranellucci
04d80ca392
Some improvements to pruning and some additions here and there
2014-03-05 18:43:01 +01:00
Alessandro Ranellucci
c2ed6090d3
Fix the max width supplied to medial axis code: it's up to two extrusions
2014-03-05 00:53:51 +01:00
Alessandro Ranellucci
4a894b1e20
Add safety offset to thin wall regions to prevent overlapping geometry and corrupt Voronoi diagram
2014-03-05 00:45:17 +01:00
Alessandro Ranellucci
e1f93fd112
Consider contour thickness when validating medial axis segments
2014-03-05 00:05:26 +01:00
Alessandro Ranellucci
3c77b301a7
Promising approach to medial axis pruning
2014-03-04 23:33:13 +01:00
Alessandro Ranellucci
b49a652736
Rewritten half-edge traversal in a more robust way. Includes first medial axis unit test
2014-03-03 01:48:05 +01:00
Alessandro Ranellucci
eadffe4a9e
Merge branch 'master' into boost-medialaxis
...
Conflicts:
lib/Slic3r/Layer/Region.pm
xs/src/ExPolygon.cpp
xs/src/Point.cpp
xs/src/Point.hpp
xs/src/TriangleMesh.cpp
xs/t/01_trianglemesh.t
2014-03-02 22:36:20 +01:00
Alessandro Ranellucci
691db31da0
Some incomplete work for per-region config
2014-02-14 22:26:00 +01:00
Alessandro Ranellucci
cfc1c5037d
Mark strings as UTF-8 when passing them to Perl
2014-02-14 22:25:59 +01:00
Alessandro Ranellucci
3d483722c6
Perform additional checks before merging solid surfaces (i.e. take flow and fill pattern into account)
2014-02-10 13:19:44 +01:00
Kamil Kwolek
c20489ee40
fix XS build on Windows #1433 #1681
2014-02-01 11:53:45 +01:00
Alessandro Ranellucci
42519174cd
New erase() method for DynamicConfig objects
2014-01-22 21:15:19 +01:00
Alessandro Ranellucci
bc832f1a6d
Updated MANIFEST with Boost files
2014-01-18 14:37:17 +01:00
Alessandro Ranellucci
90194ee581
Fix overflow in Point::ccw() affecting convex hull generation. Includes regression test
2014-01-17 14:49:51 +01:00
Alessandro Ranellucci
0d7f0705f0
Fix overflow in distance_to(Line*). It was affecting Douglas-Peucker causing massive loss of geometry. Includes regression test and a couple wkt() implementations
2014-01-17 14:22:37 +01:00
Alessandro Ranellucci
3a3e53b59b
Fixed some obvious mistakes and applied strict type checking to SurfaceCollections too
2014-01-16 19:02:50 +01:00
Alessandro Ranellucci
a831f5b176
Refactor loop building code to make_loops()
2014-01-16 11:38:17 +01:00
Alessandro Ranellucci
86f91bb3c4
New TriangleMeshSlicer::cut() method
2014-01-16 11:25:26 +01:00
Alessandro Ranellucci
519ed91c68
Refactored mesh slicing code into a new TriangleMeshSlicer class
2014-01-15 20:31:38 +01:00
Alessandro Ranellucci
fcaa3a03c2
Bugfix: incomplete slicing when a horizontal surface was tangent to the slicing plane and it shared an edge with an adjacent volume. #1672
2014-01-13 00:45:19 +01:00
Alessandro Ranellucci
b0a7baa454
Add a (failing) test for slicing at the same height of a horizontal surface attached to a volume. In this case, the loop isn't completed. #1672
2014-01-13 00:06:16 +01:00
Alessandro Ranellucci
3637ca39df
TriangleMesh::slice() now accepts a vector of floats instead of doubles for consistency with mesh coordinates
2014-01-12 23:56:07 +01:00
Alessandro Ranellucci
69f1f65a8b
Because of numerical instability, lower_bound() was not including a layer having z == 0.8 even if the facet's min_z == 0.8. #1672
2014-01-12 16:01:14 +01:00
Alessandro Ranellucci
bac743a602
Little cleanup to slice(): only used scaled coordinates in slicing instead of mixing them with unscaled
2014-01-12 14:48:51 +01:00
Alessandro Ranellucci
51af10da4f
Some fixes to config API
2014-01-12 12:35:13 +01:00
Alessandro Ranellucci
a51743a8c1
Bugfix: lack of strong type checking when passing arrayref objects to XS caused random lack of infill. Now added strong type checking for all XS entities. Also fixes a potential issue with bridges caused by the same error. #1652
...
Conflicts:
lib/Slic3r/Layer/Region.pm
2014-01-12 00:54:10 +01:00
Alessandro Ranellucci
c0a74780cb
The ratio_over parameter was missing in the definition of first_layer_extrusion_width
2014-01-11 14:48:13 +01:00
Alessandro Ranellucci
15ef762e43
Fix failing XS test
2014-01-10 17:07:47 +01:00
Alessandro Ranellucci
170a7d24de
Fix failing XS test
2014-01-10 17:07:18 +01:00
Alessandro Ranellucci
7b0decbeb1
Finished implementing Boost.Polygon medial axis. Some cleanup needed
2014-01-10 16:18:55 +01:00
Alessandro Ranellucci
07a4c37c4c
Semi-working Boost.Polygon medial axis. Hangs after perimeters, though. Needs pruning and chaining
2014-01-10 11:47:16 +01:00
Alessandro Ranellucci
f9642786d3
More work to get Boost.Polygon to compile
2014-01-09 19:56:12 +01:00
Alessandro Ranellucci
bf91f3096a
Incomplete work for using Boost.Polygon to compute medial axis
2014-01-09 17:26:39 +01:00
Alessandro Ranellucci
6da98a6ecc
Fix GUI
2014-01-07 19:08:37 +01:00
Alessandro Ranellucci
c8a48b4527
Implement modifier volumes and port _merge_loops() to XS
2014-01-07 15:40:38 +01:00
Alessandro Ranellucci
b17d06f9d1
Finished porting BoundingBox to XS
2014-01-07 12:48:09 +01:00
Alessandro Ranellucci
ea47f3b6e7
More fixes to BoundingBox
2014-01-06 19:42:31 +01:00
Alessandro Ranellucci
9c0a6a79d3
Incomplete work for porting BoundingBox to XS
2014-01-06 18:29:10 +01:00
Alessandro Ranellucci
3e93a14912
New support material pattern: pillars!
2014-01-05 16:51:16 +01:00
Alessandro Ranellucci
0bdea60b53
Merge branch 'region-config'
...
Conflicts:
lib/Slic3r/Format/AMF/Parser.pm
2014-01-05 14:59:36 +01:00
Alessandro Ranellucci
c523ddea35
Fix option names not showing in plater object settings
2014-01-05 14:58:41 +01:00
Alessandro Ranellucci
036badf932
Ported Flow to XS
2014-01-05 13:16:13 +01:00
Alessandro Ranellucci
07b9b12475
Make tests pass
2014-01-05 00:36:33 +01:00
Alessandro Ranellucci
8ed738d3f7
More incomplete work for Flow/Extruder refactoring
2014-01-03 18:27:46 +01:00
Alessandro Ranellucci
b9793b3f12
Moved first_layer_extrusion_width to PrintConfig
2014-01-03 00:34:30 +01:00
Alessandro Ranellucci
81663215c5
Adapt plater to the new split config
2014-01-02 22:06:58 +01:00
Alessandro Ranellucci
44e7e542c2
Bugfix: overflow causing full object facets reversal when STL file has large coordinates. #1666
2014-01-02 18:52:27 +01:00
Alessandro Ranellucci
bfa2ee2770
Remove scale, rotate, duplicate, duplicate_grid from config (but leave them in CLI)
2014-01-02 18:01:21 +01:00
Alessandro Ranellucci
5bf0942f45
Satisfy test suite and CLI
2014-01-02 17:24:23 +01:00
Miro Hrončok
aad41ee023
Rename some admesh functions to preserve compatibility with oiriginal admesh #1525
2014-01-02 15:10:03 +01:00
Alessandro Ranellucci
e2f1040a76
More work
2014-01-02 10:44:54 +01:00
Alessandro Ranellucci
0883d0f4eb
More work here and there
2014-01-01 17:29:15 +01:00
Alessandro Ranellucci
51b976721d
Split PrintConfig into PrintObjectConfig and PrintRegionConfig
2013-12-31 15:52:37 +01:00
Alessandro Ranellucci
83326845dd
More incomplete work
2013-12-31 14:33:03 +01:00
Alessandro Ranellucci
beb1baa096
Incomplete work for refactoring regions and flows
2013-12-30 18:28:41 +01:00
Alessandro Ranellucci
bd133d9434
Update Clipper to 6.1.2
2013-12-24 12:40:46 +01:00
Alessandro Ranellucci
0693cfb116
Simplify print_def structure
2013-12-24 01:16:51 +01:00
Alessandro Ranellucci
c5ead0f2a6
Fixes to Config and plater; also refactored the arrange() code
2013-12-24 00:30:51 +01:00
Alessandro Ranellucci
5b9bbe43b2
Fix MANIFEST
2013-12-23 22:48:41 +01:00
Alessandro Ranellucci
ab25cc4940
Merge branch 'xs-config'
...
Conflicts:
lib/Slic3r/Config.pm
xs/MANIFEST
2013-12-22 01:41:55 +01:00
Alessandro Ranellucci
c0070a8d54
Satisfy test suite with new XS based config
2013-12-22 01:38:10 +01:00
Alessandro Ranellucci
4515d90052
Finished porting Config and option definition to XS
2013-12-22 00:39:03 +01:00
Alessandro Ranellucci
9836e963a5
Incomplete work for adapting the application to the new XS-based Config
2013-12-21 21:06:45 +01:00
Alessandro Ranellucci
e0c0a42a8b
Expose static PrintConfig objects to Perl and test apply()
2013-12-21 16:32:11 +01:00
Alessandro Ranellucci
56d4da2ac7
Decoupled a generic Config implementation from the PrintConfig definitions
2013-12-21 16:15:41 +01:00
Alessandro Ranellucci
b2b67372ad
Inline serialize() and deserialize() for ConfigOptionEnum
2013-12-21 14:48:25 +01:00
Alessandro Ranellucci
872e9bf810
Support for more array config types
2013-12-21 14:27:58 +01:00
Alessandro Ranellucci
bb5bbe191f
Support enum config options
2013-12-21 10:46:43 +01:00
Alessandro Ranellucci
f274287b0e
Support bool options in XS
2013-12-20 21:32:18 +01:00
Alessandro Ranellucci
64e549a46f
More work for XS Config
2013-12-20 20:54:11 +01:00
Alessandro Ranellucci
008f38cf68
More work for porting Config to XS
2013-12-20 16:37:28 +01:00
Alessandro Ranellucci
a6a6a6888b
Ported Slic3r::Print::State to XS
2013-12-20 01:36:42 +01:00
Alessandro Ranellucci
916a0a0e58
Fix compilation and test suite
2013-12-18 16:34:31 +01:00
Alessandro Ranellucci
250608aa52
Move centering outside the Print object
2013-12-15 16:17:12 +01:00
Alessandro Ranellucci
5470fbbebc
Make quick_slice() work with new model handling
2013-12-13 12:18:30 +01:00
Alessandro Ranellucci
0e8a0ef1ca
Refactoring. Use Model class for representing the plate in GUI
2013-12-12 20:19:33 +01:00
Alessandro Ranellucci
f55e057504
More work for refactoring add_model() to add_model_object(). Tests pass
2013-12-09 01:12:37 +01:00
Alessandro Ranellucci
4d066840ba
Initial work for porting Slic3r::Config to XS
2013-12-07 16:14:30 +01:00
Alessandro Ranellucci
e9b87b69df
Bugfix: segfault in SurfaceCollection->group(), fixed with a better implementation. #1566
2013-12-04 00:11:08 +01:00
Alessandro Ranellucci
bd8c430afd
Merge branch 'stable'
...
Conflicts:
lib/Slic3r/Geometry/Clipper.pm
lib/Slic3r/Layer/Region.pm
2013-11-24 22:48:31 +01:00
Alessandro Ranellucci
7b7e45fd43
Merge branch 'master' of github.com:alexrj/Slic3r
2013-11-24 22:44:08 +01:00
Alessandro Ranellucci
3fca0956bc
Adapt plater to new convex hull
2013-11-24 22:42:52 +01:00
Alessandro Ranellucci
bed1625d6b
Split objects could not be repositioned in plater. 3D preview and stats were not available too. #1543
2013-11-24 14:28:17 +01:00
Alessandro Ranellucci
af457cd3d7
Fix compilation on Windows
2013-11-24 11:24:10 +01:00
Alessandro Ranellucci
9cf138574c
New TriangleMesh::convex_hull()
2013-11-24 01:15:52 +01:00
Alessandro Ranellucci
a93c862338
Ported traverse_pt() to XS
2013-11-23 23:21:59 +01:00
Alessandro Ranellucci
3a5e4931cc
Move Geometry.cpp to Slic3r::Geometry namespace
2013-11-23 21:54:56 +01:00
Alessandro Ranellucci
0516aac715
Ported chained_path() to XS
2013-11-23 21:39:05 +01:00
Alessandro Ranellucci
4d5d003ba7
Ported horizontal_projection() to XS
2013-11-23 19:41:40 +01:00
Alessandro Ranellucci
e75dbf37fa
Never scale TriangleMesh objects
2013-11-23 19:25:33 +01:00
Alessandro Ranellucci
46e3b3180e
Ported Surface->offset() to XS
2013-11-23 18:29:25 +01:00
Alessandro Ranellucci
a331f4d27a
Finished porting group() to XS
2013-11-23 18:15:59 +01:00
Alessandro Ranellucci
67a7e4f769
Change method signature for slice()
2013-11-23 00:15:42 +01:00
Alessandro Ranellucci
878d587196
Ported is_solid() and is_bridge() to XS. Also ported (but not used yet) group() to SurfaceCollection::group()
2013-11-23 00:07:04 +01:00
Alessandro Ranellucci
de9d5403e8
Finished porting convex_hull() to XS and removed dependency on Math::ConvexHull::MonotoneChain
2013-11-22 22:48:07 +01:00
Alessandro Ranellucci
5309e3ef22
More files for convex_hull
2013-11-22 22:38:30 +01:00
Alessandro Ranellucci
4577f0725c
Incomplete work for XS-based convex_hull
2013-11-22 21:43:35 +01:00
Alessandro Ranellucci
a950fbe0c2
Removed more unused functions and fixed tests
2013-11-22 16:19:15 +01:00
Alessandro Ranellucci
132d170f73
Ported simplify() to XS and removed dependency on Boost::Geometry::Utils
2013-11-22 16:01:50 +01:00
Alessandro Ranellucci
df8d889481
More unfinished work
2013-11-22 02:16:10 +01:00
Alessandro Ranellucci
518798beb3
Incomplete work for porting simplify() to XS
2013-11-21 20:25:24 +01:00
Alessandro Ranellucci
5f2b2c90b6
Fix error in contains_point() port
2013-11-21 18:42:16 +01:00
Alessandro Ranellucci
ac88fbcbb0
Ported clip_end(), length(), is_perimeter(), is_fill(), is_bridge() to XS
2013-11-21 18:03:40 +01:00
Alessandro Ranellucci
761f261a68
Ported intersect_expolygons() and subtract_expolygons() to XS
2013-11-21 17:53:50 +01:00
Alessandro Ranellucci
5f81292f3f
Ported encloses_point() to XS and renamed to contains_point()
2013-11-21 16:21:42 +01:00
Alessandro Ranellucci
a225a8b2ef
Ported contains_line() to XS
2013-11-21 15:12:06 +01:00
Alessandro Ranellucci
3025c77675
Use Clipper for line clipping
2013-11-21 14:15:38 +01:00
Alessandro Ranellucci
1d6a18071a
Support the new Clipper API
2013-11-20 15:59:19 +01:00
Alessandro Ranellucci
50c0081d25
Update Clipper to 6.0.0
2013-11-20 11:35:58 +01:00
Alessandro Ranellucci
e62ef35fbf
Bugfix: some binary STL files were not correctly parsed on Windows. #1370 1467
2013-11-12 16:58:26 +01:00
Alessandro Ranellucci
3464e646f7
Use fread() to read facet number
2013-11-12 15:27:42 +01:00
Alessandro Ranellucci
d0d842e24a
Use fread() to read binary STL files
2013-11-12 15:23:48 +01:00
Alessandro Ranellucci
885ab5844e
Ported regular_points() to XS and renamed it to equally_spaced_points()
2013-11-11 20:59:58 +01:00
Alessandro Ranellucci
3ac94bd6d8
Fix a valgrind warning about mismatched free()
2013-11-11 15:07:38 +01:00
Alessandro
e024b08762
Round Perl coordinates instead of truncating them to integers. #1486 #1445 #1464
2013-11-11 13:00:50 +01:00
Alessandro Ranellucci
c133a33ed2
Ported point_line_distance() and removed same_point()
2013-11-06 23:08:03 +01:00
Alessandro Ranellucci
d8e098ab0e
Ported same_line() to XS
2013-11-06 19:38:10 +01:00
Alessandro Ranellucci
b5aaeb9b12
More work on the clipping method for medial axis. Includes Polyline->is_valid()
2013-11-06 19:30:45 +01:00
Nicolas Dandrimont
067cc1a74a
Fix rounding error in clipper.cpp
...
This fixes half of #1486 (test failure in t/geometry.t)
2013-11-03 01:13:23 +01:00
Alessandro Ranellucci
29b83517cb
Ported point_along_segment(), Polyline::length(), Polyline::clip_end() to XS
2013-10-27 22:57:25 +01:00
Alessandro Ranellucci
e6efda4ba4
Bugfix: incomplete slicing when more than two facets shared the same edge. #1483
2013-10-26 14:43:47 +02:00
Alessandro Ranellucci
5988f14b14
Flag for arrows in SVG.cpp
2013-10-26 14:41:37 +02:00
Alessandro Ranellucci
d59e62c9d8
Bugfix: wrong slicing (error in XS port). #1469
2013-10-13 16:00:20 +02:00
Alessandro Ranellucci
ac93e15c98
New class for generating SVG from XS. Includes some minor refactoring to TriangleMesh
2013-10-13 15:59:38 +02:00
Alessandro Ranellucci
9918c1e97d
Minor improvements in debug output
2013-10-13 12:12:03 +02:00
Alessandro Ranellucci
ac5e713323
Fix segfault when calling chained_path() on an ExtrusionPathCollection using no_sort. Includes regression test
2013-09-28 15:30:10 +02:00
Alessandro Ranellucci
91289fad49
Fix compilation on Windows. #1433
2013-09-23 11:27:35 +02:00
Alessandro Ranellucci
b1a3bd65ea
Remove unused variable and add missing define
2013-09-19 16:19:47 +02:00
Alessandro Ranellucci
ae7600ee55
Update MANIFEST
2013-09-19 16:06:57 +02:00
Alessandro Ranellucci
4fe0675380
Removed ZTable code
2013-09-17 23:55:38 +02:00
Alessandro Ranellucci
e0da81e8bf
Introduce a ->count method for all collections to save time
2013-09-17 23:38:23 +02:00
Alessandro Ranellucci
0c2bfab5f2
Fix an overflow point causing wrong chained path
2013-09-17 13:04:36 +02:00
Alessandro Ranellucci
aef5c05c57
Update brim generation code. Includes regression test. #1440
2013-09-16 10:33:30 +02:00
Alessandro Ranellucci
4dce461aaf
Minor optimizations
2013-09-13 15:19:15 +02:00
Alessandro Ranellucci
6e22a82e7d
Conditional compilation to exclude all Perl/XS stuff from C++ code
2013-09-13 14:48:40 +02:00
Alessandro Ranellucci
2280804daa
Update xs/MANIFEST
2013-09-12 11:14:54 +02:00
Alessandro Ranellucci
749b8421b0
Merge pull request #1435 from jluis/master
...
Round results when rotating to minimize errors & pass the tests
2013-09-12 02:10:18 -07:00
Alessandro Ranellucci
d660a1de0a
Fix XS STL reader not populating stats.size correctly
2013-09-12 10:29:42 +02:00
Alessandro Ranellucci
bc48e17dff
Use precomputed normals in 3D preview
2013-09-11 20:15:42 +02:00
Alessandro Ranellucci
d4512a12df
Make plater work with new XS code
2013-09-11 20:00:51 +02:00
Alessandro Ranellucci
a821eb7f3c
More work to avoid working with vertices outside XS
2013-09-11 11:55:08 +02:00
Alessandro Ranellucci
11e18f681d
Incomplete work to store TriangleMesh objects in Model objects instead of extracting vertices and facets
2013-09-11 09:49:28 +02:00
Jose Luis Perez Diez
69a92c10f0
Round results when rotating to minimize errors & pass the tests
2013-09-10 17:14:49 +02:00
Alessandro Ranellucci
566d38a472
Replace TriangleMesh with the XS port
2013-09-10 00:40:46 +02:00
Alessandro Ranellucci
311eda7d42
Implemented TriangleMesh->clone
2013-09-10 00:09:56 +02:00
Alessandro Ranellucci
9b12d6037a
Ported TriangleMesh::scale_xyz()
2013-09-09 23:38:49 +02:00
Alessandro Ranellucci
5e34a9cf21
Make Repair() idempotent and lowercase
2013-09-09 23:18:33 +02:00
Alessandro Ranellucci
28b043e9a9
Add unit test for split()
2013-09-09 23:09:56 +02:00
Alessandro Ranellucci
3919ba83d8
Implemented TriangleMesh->merge
2013-09-09 22:45:22 +02:00
Alessandro Ranellucci
27e7c6b9f7
Finished implementation of TriangleMesh->split
2013-09-09 22:27:58 +02:00
Alessandro Ranellucci
2d4aa439ae
Merge branch 'master' into xsslice
2013-09-09 21:43:52 +02:00
Alessandro Ranellucci
c592932cee
Use a general-purpose T_ARRAYREF_PTR typemap
2013-09-09 21:43:28 +02:00
Alessandro Ranellucci
1fbf9c3952
Move confess_at() to utils.cpp
2013-09-09 21:41:45 +02:00
Alessandro Ranellucci
93dddb7ee2
Untested implementation of split_mesh()
2013-09-09 21:41:28 +02:00
Alessandro Ranellucci
b6548137de
Move confess_at() to utils.cpp
2013-09-09 21:40:57 +02:00
Alessandro Ranellucci
873762491b
Fix a bad access after recent change about ->p returning objects by reference
2013-09-09 17:10:54 +02:00
Alessandro Ranellucci
dbf739318a
Almost finished porting slice()
2013-09-09 12:18:52 +02:00
Alessandro Ranellucci
46bd407da4
More porting work
2013-09-08 00:44:01 +02:00
Alessandro Ranellucci
5adb187dd2
More porting work
2013-09-07 21:08:53 +02:00
Alessandro Ranellucci
346c17d483
Some initial work for porting slice()
2013-09-07 14:06:09 +02:00
Alessandro Ranellucci
907ba55aab
Some minor fixes needed after the xsdata merge. #1421
2013-09-06 22:52:56 +02:00
Alessandro Ranellucci
e02ae0d18a
Return Surface objects by reference from SurfaceCollection objects and fix a bug in XS code causing some shell options to be ignored
2013-09-06 18:36:38 +02:00
Alessandro Ranellucci
cb677c45de
Don't grow horizontal shells having acute angles. #1387
2013-09-06 17:43:40 +02:00
Anders Sundman
d9646ff6ba
Fixed: Missing include directive
2013-09-04 22:41:25 +02:00
Alessandro Ranellucci
a49dc603cc
Many changes and fixes to remove leaks and return objects by reference
2013-09-03 19:26:58 +02:00
Alessandro Ranellucci
275422fac7
Don't return first_point() and last_point() by reference
2013-09-02 22:33:03 +02:00
Alessandro Ranellucci
c0789506e4
Return objects by reference instead of always cloning
2013-09-02 20:22:20 +02:00
Alessandro Ranellucci
1741301973
Fix segfault when appending an ExtrusionPath::Collection to another Collection
2013-08-31 01:23:47 +02:00
Alessandro Ranellucci
dd70f6be2f
Return ExtrusionPath->polyline and ExtrusionLoop->polygon by reference
2013-08-31 00:50:03 +02:00
Alessandro Ranellucci
d2e4bba074
Fixed memory leak in ExtrusionPath::Collection and return collection items by reference
2013-08-31 00:37:17 +02:00
Alessandro Ranellucci
bb45437526
Return Surface->expolygon by reference
2013-08-31 00:28:24 +02:00
Alessandro Ranellucci
1cfdf7e955
Ported Slic3r::Polyline::Collection
2013-08-30 00:06:10 +02:00
Alessandro Ranellucci
bd7b0e2aed
Ported ExtrusionPath::Collection->chained_path
2013-08-29 11:47:59 +02:00
Alessandro Ranellucci
ea1d138c95
Ported ExtrusionLoop->make_counter_clockwise()
2013-08-29 01:40:42 +02:00
Alessandro Ranellucci
5d6fd7f4d9
Optimizations for better usage of XS code
2013-08-29 01:36:42 +02:00
Alessandro Ranellucci
e19c6a1494
Ported Point->distance_to() and Line->length()
2013-08-28 20:41:41 +02:00
Alessandro Ranellucci
fb763b0187
Removed dependency on Math::Clipper
2013-08-27 01:26:44 +02:00
Alessandro Ranellucci
b11b595c97
Ported nearest_point() and nearest_point_index()
2013-08-27 00:52:20 +02:00
Alessandro Ranellucci
9fb14f2119
Ported (and used) ExtrusionPath->first_point
2013-08-26 23:42:00 +02:00
Alessandro Ranellucci
fe42427a54
Ported Polygon->is_valid() and ExPolygon->is_valid()
2013-08-26 23:27:51 +02:00
Alessandro Ranellucci
da0b85c0d9
Ported ExPolygon->contour and ExPolygon->holes
2013-08-26 23:09:18 +02:00
Alessandro Ranellucci
85011dfef3
Ported Surface->p
2013-08-26 23:03:00 +02:00
Alessandro Ranellucci
706851f836
Ported ExPolygon->area()
2013-08-26 22:50:26 +02:00