bubnikv
8746f84fa2
Improved error reporting of the PlaceholderParser.
...
The PlaceholderParser is currently used by the GCode.cpp
and by Printer.cpp to generate a new name for the exported G-code or SVG file.
The PlaceholderParser::process() will throw a runtime_error with
a comprehensive error message.
The G-code export will include these error messages into the G-code text
with !!!!!! separators, and the GUI will inform the user, that the G-code
export failed.
2017-12-05 15:54:24 +01:00
bubnikv
3bc79e80d5
Fixed configuration & validate C++ ports.
2017-10-27 16:11:06 +02:00
bubnikv
5a844c91f1
When executing G-code post-processing scripts written in perl on windows,
...
run the perl interpreter, which was used to run the Slic3r.
https://github.com/prusa3d/Slic3r/issues/514
2017-10-03 17:05:47 +02:00
bubnikv
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
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
6f28818f87
Fix of
...
"Unicode char like for example "ł" crush app when used in profile name"
https://github.com/prusa3d/Slic3r/issues/388
The Prusa3D binary builds are missing the UTF8 libraries.
To avoid having to bundle them, the case sensitive regexes testing
file suffixes were replaced with explicit enumeration of lower / upper
case letters. While crude, it avoids triggering the UTF8 library.
2017-07-11 17:15:34 +02:00
bubnikv
774c69e3c6
Fix of "Problem with larger brim overlapping "
...
https://github.com/prusa3d/Slic3r/issues/373
2017-07-07 16:40:23 +02:00
bubnikv
e000b22578
Implemented wipe tower print path preview.
2017-05-25 22:27:53 +02:00
bubnikv
8a628c451c
Fixed a newly introduced G-code issue on Windows
...
when exporting into a localized directory.
2017-05-04 09:24:34 +02:00
bubnikv
e90279c513
Ported the G-code generator from Perl to C++.
...
Removed GCode.pm
Removed the Perl bindigns for AvoidCrossingPerimeters, OozePrevention, SpiralVase, Wipe
Changed the std::set of extruder IDs to vector of IDs.
Removed some MSVC compiler warnings, removed obnoxious compiler warnings when compiling the Perl bindings.
2017-05-03 18:28:22 +02:00
bubnikv
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
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
4d00aa1800
More tracing of the slicing process.
2017-03-03 12:53:05 +01:00
bubnikv
f8a2087fc6
Fixed a bug after merge.
...
https://github.com/prusa3d/Slic3r/issues/163
2017-03-01 13:16:33 +01:00
bubnikv
46fc4a0a8e
Correctly rename g-code file once it is generated.
2017-02-28 10:44:44 +01:00
Alessandro Ranellucci
80f345d7c1
Remove unnecessary method call
2017-02-28 10:41:36 +01:00
Alessandro Ranellucci
6a90fceaaf
Ported expanded_output_filepath() to C++/XS
2017-02-28 10:38:32 +01:00
bubnikv
3d11d1aebf
make_skirt ported to C++
2017-02-15 11:05:52 +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
ce8973b33a
Fixed a bug in renaming a G-code at the end of a G-code export
...
from .tmp suffix to a non .tmp file on localized Windows.
2017-02-13 15:45:31 +01:00
bubnikv
e2f8ea2809
When renaming the exported G-code (removing the .tmp suffix),
...
some other application (thank you, Windows Explorer) may keep the file locked.
Try to wait a bit and then rename the file again.
2017-02-13 12:36:46 +01:00
Alessandro Ranellucci
bbd63616b1
Write to a temporary file before renaming with the final name. #1844
2017-02-08 11:27:15 +01:00
bubnikv
e386a2bf72
Documentation of the UI config update functions,
...
documented missing AMF support for the variable layer thickness.
2017-02-07 18:28:53 +01:00
Alessandro Ranellucci
86c8207d31
Ported make_perimeters() and infill() to C++/XS, use pure C++ threads, cherry picked from @alexrj 66591bcc556c01572ec7519b1f8cb4ee2d430685
2016-12-08 14:24:40 +01:00
bubnikv
695c92fb00
CLIPPER_OFFSET_SCALE was made a power of two, the scaling functions
...
inside ClipperUtils are now using bit shifts instead of multiplication
by doubles, which makes the scaling precise.
Removed the scale parameter from all offset functions.
Modified the safety offset to calculate offset per polygon instead
of over all polygons at once. The old way was not safe and very slow,
sometimes this meant a kiss of death for supports for example.
2016-11-28 17:33:17 +01:00
bubnikv
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
b2a6f43923
Documented perl modules.
2016-09-13 11:24:55 +02:00
Alessandro Ranellucci
7c8b71012c
Force the 'nearest' strategy for starting skirt loops
2015-12-21 15:02:39 +01:00
Alessandro Ranellucci
3c862836f2
Refactored the Config XS bindings
2015-12-16 12:33:19 +01:00
Alessandro Ranellucci
3a9cf91f83
Ported a couple more methods to XS
2015-12-02 18:29:33 +01:00
Alessandro Ranellucci
580d28d071
Finished porting PlaceholderParser to XS
2015-07-01 19:35:22 +02:00
Alessandro Ranellucci
c64308a5e7
Render brim and skirt in 3D toolpaths preview. #2649
2015-05-18 00:49:16 +02:00
Alessandro Ranellucci
7d81aee62f
Added the [scale] placeholder. #2791
2015-05-02 21:59:15 +02: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
9d435c8f4d
Bugfix: we can't check for executability of post-processing scripts on Windows. #2616
2015-03-02 21:49:05 +01:00
Alessandro Ranellucci
a07c48bb30
Fixed regression causing [input_filename] and [input_filename_base] not being available in custom G-code anymore. Includes regression test. #1507
2015-02-15 23:47:35 +01:00
Alessandro Ranellucci
2d3fdf920b
Fixed SVG export not placing object inside the SVG viewport anymore. #2601
2015-01-30 19:34:46 +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
90afbc8bd9
Bugfix: don't crash when skirts > 0 but skirt_height = 0. Includes regression test. #2537
2015-01-18 13:01:00 +01:00
Alessandro Ranellucci
35da87a90a
Check whether the configured post-processing scripts are executable and show an error when they aren't
2015-01-17 10:50:34 +01:00
Alessandro Ranellucci
b77d35f6f1
Don't autoassign extruders to material config. #2522
2015-01-16 16:35:35 +01:00
Alessandro Ranellucci
e8dc981774
Fixes to Ooze Prevention
2014-12-29 00:51:27 +01:00
Alessandro Ranellucci
c00061678b
Use perimeter extruder for brim. #618
2014-12-17 00:45:05 +01:00
Alessandro Ranellucci
d9cffeca4a
Bugfix: adjust skirt flow according to each layer's height. #2307
2014-12-16 18:55:16 +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
98cb9f0e18
Refactoring: moved G-code export logic into new Slic3r::Print::GCode class. Removed Slic3r::GCode::Layer class. Fixes the order of post-processing filters so that cooling buffer is applied before any other filter whose logic is affected by speeds
2014-12-01 00:00:11 +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
c1e26a70f8
Refactoring: move ooze prevention, wipe and avoid crossing perimeters into nested classes for better isolation
2014-11-23 15:13:40 +01:00
Alessandro Ranellucci
a5787cfb04
Merge branch 'xs-reload-object'
...
Conflicts:
lib/Slic3r/Print.pm
2014-11-12 22:51:48 +01:00