Commit Graph

392 Commits

Author SHA1 Message Date
Alessandro Ranellucci
d896ad090b Fixed concurrency issues 2014-06-13 19:23:51 +02:00
Alessandro Ranellucci
d2ca4c1b13 Some initial work for incremental slicing 2014-06-11 00:15:02 +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
d56bb940e7 Bump dev version number 2014-06-09 18:55:59 +02:00
Alessandro Ranellucci
d8e1437014 Releasing 1.1.4 2014-06-05 18:07:03 +02:00
Alessandro Ranellucci
fb4a971339 Bump version number 2014-05-26 17:12:14 +02:00
Alessandro Ranellucci
5ca81d699e Releasing 1.1.3 2014-05-26 16:45:40 +02:00
Y. Sapir
8da0bded1d Move Print object storage to C++. (along with its subobjects) 2014-05-24 23:50:29 +03: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
b3c9285e7a Bump version number 2014-05-02 22:20:20 +02:00
Alessandro Ranellucci
e16ef7a569 Releasing 1.1.2 2014-05-02 19:48:26 +02:00
Alessandro Ranellucci
24571612c7 Some minor changes to the newly-ported Extruder class 2014-04-28 22:02:34 +02:00
Y. Sapir
66d23a2416 Convert Extruder object (mostly) to C++ with lots of fields. 2014-04-27 23:42:59 +03:00
Alessandro Ranellucci
f7ffc48397 Bump version number 2014-04-25 19:44:04 +02:00
Alessandro Ranellucci
c87a21f304 Releasing 1.1.1 2014-04-22 11:20:58 +02:00
Alessandro Ranellucci
93f4fe05e1 Better logic for gap fill: don't subtract from fill surfaces those gaps that medial axis was unable to fill. Thanks ledvinap for the idea and proof of concept implementation. Includes a tolerance factor for avoiding being too strict when collapsing loops (allow some overlap if that helps avoiding triggering medial axis). #1803 2014-04-15 01:41:40 +02:00
Alessandro Ranellucci
119778caa9 Refactoring: move bridge angle detection to a separate class for easier unit testing 2014-04-07 23:18:11 +02:00
Alessandro Ranellucci
f308a46cd5 Bump version number 2014-04-02 20:25:05 +02:00
Alessandro Ranellucci
f41480ab8f Releasing 1.1.0 2014-03-27 11:15:39 +01:00
Alessandro Ranellucci
34f1511e0c Better fix for non-global options not being replaced in filename placeholders. Includes refactoring and a new PlaceholderParser class. Also includes regression tests. #1831 2014-03-17 00:39:07 +01:00
Alessandro Ranellucci
28a39f0275 Fix garbage collection of recently added classes 2014-01-14 20:11:08 +01:00
Alessandro Ranellucci
b17d06f9d1 Finished porting BoundingBox to XS 2014-01-07 12:48:09 +01:00
Alessandro Ranellucci
a2cbb261cb More work for refactoring Flow/Extruder 2014-01-03 20:02:00 +01:00
Alessandro Ranellucci
8ed738d3f7 More incomplete work for Flow/Extruder refactoring 2014-01-03 18:27:46 +01:00
Alessandro Ranellucci
385e0e0974 Refactoring: new Slic3r::Print::Simple class for non-interactive slicing (used in CLI and Quick Slice) 2014-01-02 17:54:18 +01:00
Alessandro Ranellucci
e2f1040a76 More work 2014-01-02 10:44:54 +01:00
Alessandro Ranellucci
1157a7f859 Remove package variable $Slic3r::Config 2013-12-24 11:29:31 +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
4515d90052 Finished porting Config and option definition to XS 2013-12-22 00:39:03 +01:00
Alessandro Ranellucci
1b9079ffbe Merge branch 'xs-model' 2013-12-20 01:41:13 +01:00
Alessandro Ranellucci
a6a6a6888b Ported Slic3r::Print::State to XS 2013-12-20 01:36:42 +01:00
Alessandro Ranellucci
21ca1901c1 Merge branch 'xs-model'
Conflicts:
	lib/Slic3r/Model.pm
2013-12-13 12:22:17 +01:00
Alessandro Ranellucci
5470fbbebc Make quick_slice() work with new model handling 2013-12-13 12:18:30 +01:00
Alessandro Ranellucci
361ca1568a Raise version number in master branch 2013-12-07 18:25:35 +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
754e6ac74b Update version number. Releasing 1.0.0RC1! 2013-11-18 18:27:12 +01:00
Alessandro Ranellucci
d0cbf56354 Workaround "Attempt to free unreferenced scalar..." on Linux 32-bit 2013-11-12 12:10:32 +01:00
Alessandro Ranellucci
ed529b62f3 Fix threading issue with GUI. #1443 #1444 2013-09-19 16:00:47 +02:00
Alessandro Ranellucci
4fe0675380 Removed ZTable code 2013-09-17 23:55:38 +02:00
Alessandro Ranellucci
e8323fc339 Move support material code to its own class 2013-09-17 23:27:57 +02:00
Alessandro Ranellucci
6adce9f66b Update support material code to use shared memory 2013-09-17 23:14:49 +02:00
Alessandro Ranellucci
747fd25f6d Fix threads, tests and require the most recent Moo version 2013-09-12 11:09:03 +02:00
Alessandro Ranellucci
5f17fa342b Move arc fitting code to its own post-processing filter and remove the built-in ExtrusionPath::Arc class 2013-08-28 20:40:13 +02:00
Alessandro Ranellucci
73c05a6092 Moved vibration limit to its own G-code filter 2013-08-28 20:37:56 +02:00
Alessandro Ranellucci
fa07c512b4 Merge branch 'master' into xsdata
Conflicts:
	lib/Slic3r/Layer/Region.pm
	lib/Slic3r/Print.pm
	lib/Slic3r/Print/Object.pm
2013-08-16 09:09:56 +02:00
Alessandro Ranellucci
2b36778dc1 Fix a situation where extra perimeters prevented top shell to be fully propagated. #1387 2013-08-13 09:45:33 +02:00
Alessandro Ranellucci
b38cc2c244 Merge branch 'master' into xsdata
Conflicts:
	lib/Slic3r.pm
	lib/Slic3r/ExPolygon.pm
	lib/Slic3r/Fill.pm
	lib/Slic3r/Fill/Rectilinear.pm
	lib/Slic3r/GCode.pm
	lib/Slic3r/GUI/Plater.pm
	lib/Slic3r/Geometry/Clipper.pm
	lib/Slic3r/Layer/Region.pm
	lib/Slic3r/Print.pm
	lib/Slic3r/Print/Object.pm
	lib/Slic3r/TriangleMesh.pm
	t/shells.t
	xs/MANIFEST
2013-08-08 02:10:34 +02:00
Alessandro Ranellucci
2b8662cf0c Temporary workarond for an upstream bug in Moo which causes failure when running with threads. #1330 2013-07-24 10:06:02 +02:00
Alessandro Ranellucci
7ad291ea64 Add ZTable to thread_cleanup() 2013-07-23 23:20:18 +02:00
Alessandro Ranellucci
aa2ad3bbd2 Fix garbage collection of shared data. #1348 2013-07-23 23:18:22 +02:00
Alessandro Ranellucci
1b285f3f46 Thread-safe integration of ExtrusionPath::Collection 2013-07-18 22:29:12 +02:00
Alessandro Ranellucci
9b582a11ff Adopt XS containers everywhere (incomplete work) 2013-07-16 09:49:34 +02:00
Alessandro Ranellucci
9af2a1c007 Use XS Point everywhere 2013-07-15 20:31:43 +02:00
Alessandro Ranellucci
399bc80899 Ported Slic3r::Surface to XS 2013-07-14 13:05:55 +02:00
Alessandro Ranellucci
b1ad466189 Ported Slic3r::ExPolygon::Collection to XS 2013-07-14 00:38:01 +02:00
Alessandro Ranellucci
8d171a297e Add thread cleanup to avoid double destruction of shared XS data 2013-07-11 16:17:36 +02:00
Alessandro Ranellucci
5409c27852 Partial GUI compatibility with XS data 2013-07-07 18:43:04 +02:00
Alessandro Ranellucci
37105e8237 Ported get_layer_range() to C 2013-06-23 15:33:07 +02:00
Alessandro Ranellucci
b35e668ee7 Require Boost::Geometry::Utils 0.15 2013-06-21 19:46:45 +02:00
Alessandro Ranellucci
2993a1659e Bump version number 2013-06-16 10:22:22 +02:00
Alessandro Ranellucci
5fa49aad02 Releasing 0.9.10 2013-06-14 16:59:20 +02:00
Alessandro Ranellucci
510c2092df Fix rotation and scaling in plater producing mispositioned objects in G-code after recent changes. Includes a large refactoring and the new Slic3r::Geometry::BoundingBox class. #1171 #1191 2013-06-07 23:16:02 +02:00
Alessandro Ranellucci
c43ef45064 Require the newest Math::Clipper and Boost::Geometry::Utils to avoid the huge memory leaks present in previous versions 2013-05-20 09:56:55 +02:00
Alessandro Ranellucci
5494f4f385 Free @_ before spawning a new thread (known old Perl bug) as an attempt to fix the unref scalars error 2013-05-19 17:34:33 +02:00
Alessandro Ranellucci
f599ed00c6 Avoid closures, move planning code to _plan() and layer G-code generation to Slic3r::GCode::Layer 2013-05-18 17:41:37 +02:00
Alessandro Ranellucci
8f77d3b945 Increase spacing for bridge traces. #1090 2013-05-17 15:03:42 +02:00
Alessandro Ranellucci
521d668712 Reduce overlap for bridges. #1090 2013-05-16 12:34:24 +02:00
Alessandro Ranellucci
ccdb29ddc9 New --spiral-vase option to continously raise Z when printing single-walled vases. #997 2013-05-13 20:15:45 +02:00
Alessandro Ranellucci
baa1a8c736 Move Slic3r::Test::GCodeReader to Slic3r::GCode::Reader 2013-05-13 20:14:33 +02:00
Alessandro Ranellucci
f5bda326b8 Version check. #1006 2013-04-27 20:55:43 +02:00
Alessandro Ranellucci
c2aa119c09 Require Boost::Geometry::Utils 0.08 2013-04-09 14:03:24 +02:00
Alessandro Ranellucci
b4be61b703 Bugfix: time estimates for cooling were computed for each object separately instead of the whole actual layer. #1071 2013-04-04 01:17:44 +02:00
Alessandro Ranellucci
0e6d80d33c Bump version number 2013-03-31 11:24:33 +02:00
Alessandro Ranellucci
01e86c2615 Releasing 0.9.9 2013-03-30 15:59:17 +01:00
Alessandro Ranellucci
04c0caad0b Fix honeycomb infill overlap with perimeters 2013-03-17 00:57:58 +01:00
Alessandro Ranellucci
bb83f070ae Load threads::shared before Wx. #1018 2013-02-27 11:08:08 +01:00
Alessandro Ranellucci
72df796185 Bugfix: failure in launching on Windows with non-ASCII characters in username. #1011 2013-02-22 18:40:00 +01:00
Alessandro Ranellucci
91bcfc8a74 Remove $Slic3r::flow and $Slic3r::first_layer_flow 2013-02-22 16:08:11 +01:00
Alessandro Ranellucci
721b61e798 Require Boost::Geometry::Utils 0.06 2013-01-28 00:34:09 +01:00
Alessandro Ranellucci
61b164b539 Merge branch 'master' into avoid-crossing-perimeters
Conflicts:
	lib/Slic3r/GCode.pm
	lib/Slic3r/Print.pm
2013-01-26 21:45:17 +01:00
Alessandro Ranellucci
09bdd2ea5d Bump version number 2013-01-17 17:44:56 +01:00
Alessandro Ranellucci
71052433de Releasing 0.9.8 2013-01-17 15:50:45 +01:00
Alessandro Ranellucci
ad9be0e4d7 Bugfix: crash when reading/writing files to paths containing non-ASCII characters on Windows. #651 #865 2013-01-13 10:18:34 +01:00
Alessandro Ranellucci
48e00a4c40 Merge branch 'master' into avoid-crossing-perimeters
Conflicts:
	lib/Slic3r/GCode.pm
	lib/Slic3r/GUI/Plater.pm
	lib/Slic3r/Print.pm
	lib/Slic3r/SVG.pm
2013-01-12 19:00:18 +01:00
Alessandro Ranellucci
e6afebb982 Bump version number 2012-11-23 19:37:41 +01:00
Alessandro Ranellucci
452b62e53d Releasing 0.9.7 2012-11-23 18:38:50 +01:00
Alessandro Ranellucci
c99ff0cfe2 Apply Douglas-Peucker to all paths before generating G-code 2012-11-18 17:38:08 +01:00
Alessandro Ranellucci
e13fe1d636 Raise overlap factor to 1 >:-) 2012-11-16 18:11:06 +01:00
Alessandro Ranellucci
8f0e388c5b Bump version number 2012-11-07 23:22:12 +01:00
Alessandro Ranellucci
af78469231 Releasing 0.9.5 2012-11-07 23:07:43 +01:00
Alessandro Ranellucci
68c2ac601b Bump version number 2012-11-05 23:38:55 +01:00
Alessandro Ranellucci
ed100c477c Releasing 0.9.4 2012-11-05 17:52:08 +01:00
Alessandro Ranellucci
61047f0df5 Define perimeter/infill overlap over spacing instead of width and increase it slightly to compensate 2012-10-30 14:21:59 +01:00
Alessandro Ranellucci
be7e211bb6 Make flow_spacing required for ExtrusionPath objects 2012-10-30 14:07:01 +01:00
Alessandro Ranellucci
f2389682b6 Factor out some hard-coded settings 2012-10-29 00:23:33 +01:00
Alessandro Ranellucci
1627268fd4 Merge branch 'master' into avoid-crossing-perimeters
Conflicts:
	lib/Slic3r/GCode.pm
2012-10-24 11:49:31 +02:00
Alessandro Ranellucci
769134bb6f Fixed regression causing skirt ignoring the first layer extrusion width override. #728 2012-10-15 10:57:15 +02:00
Alessandro Ranellucci
faaf6d90b8 Bump version number 2012-09-28 17:44:38 +02:00
Alessandro Ranellucci
6bb4c28b01 Release 0.9.3 2012-09-28 17:06:19 +02:00
Alessandro Ranellucci
ec0d3987db Rename materials to regions 2012-09-23 02:52:31 +02:00
Alessandro Ranellucci
e696764af8 Assign extruders and flows to materials 2012-09-23 02:40:25 +02:00
Alessandro Ranellucci
02356fd613 Large refactoring to allow processing multimaterial files 2012-09-22 19:04:36 +02:00
Alessandro Ranellucci
cc8d8bd26f Merge branch 'master' into avoid-crossing-perimeters
Conflicts:
	README.markdown
	lib/Slic3r/Config.pm
	lib/Slic3r/GCode.pm
	lib/Slic3r/Print.pm
	slic3r.pl
2012-09-12 16:04:16 +02:00
Alessandro Ranellucci
36796645cb Warn the user when Slic3r is being run under 5.16 2012-09-11 16:02:26 +02:00
Alessandro Ranellucci
8d7b781473 Bump version number 2012-08-31 00:12:13 +02:00
Alessandro Ranellucci
25f647a60c Releasing 0.9.2 2012-08-30 23:15:42 +02:00
Alessandro Ranellucci
f90520ed06 Refactoring: new Slic3r::Model class to represent files 2012-08-29 17:12:32 +02:00
Alessandro Ranellucci
0eadc5adba Manual rebase of the avoid_crossing_perimeters feature 2012-08-23 15:42:58 +02:00
Henrik Brix Andersen
d6b06e08bc Bump version number 2012-08-19 09:49:43 +02:00
Alessandro Ranellucci
0833b4e021 Releasing 0.9.1 2012-08-10 16:14:35 +02:00
Alessandro Ranellucci
55b3b4f0c5 Bump version number 2012-08-08 22:04:06 +02:00
Alessandro Ranellucci
d4d305db3b Releasing 0.9.0 2012-08-08 12:29:15 +02:00
Alessandro Ranellucci
7e34244b05 Refactored configuration handling.
Slic3r::Config is now an object. Multiple partial config objects are used throughout the codebase as local repositories, then merged and serialized when necessary.
2012-07-27 21:16:11 +02:00
Alessandro Ranellucci
1d364d7823 Refactor OptionsGroup to decouple it from the config repository, add ConfigOptionsGroup 2012-07-24 15:33:11 +02:00
Alessandro Ranellucci
30a2213fd9 Some multi-extruder options in GUI 2012-07-18 20:44:36 +02:00
Alessandro Ranellucci
f173096a6c Merge branch 'new-gui'
Conflicts:
	lib/Slic3r.pm
	lib/Slic3r/Config.pm
	lib/Slic3r/GUI/OptionsGroup.pm
	lib/Slic3r/GUI/SkeinPanel.pm
	lib/Slic3r/Print.pm
2012-07-18 15:48:04 +02:00
Alessandro Ranellucci
606b9e49a7 Set first layer extrusion width to 200% by default 2012-07-15 15:53:08 +02:00
Mark Hindess
07f2dab5f6 Fix perimeters_* options to be singular to be consistent. 2012-06-30 23:18:15 +01:00
Alessandro Ranellucci
fb96cdec76 Command line options to assign perimeters and infill to different extruders 2012-06-28 16:48:56 +02:00
Alessandro Ranellucci
80501d5b3c New option to customize support material extrusion width 2012-06-28 16:33:07 +02:00
Alessandro Ranellucci
f9f2361acb Allow setting different temperatures and first layer temperatures for each extruder. Also make support material extruder selection compatible with the new architecture 2012-06-28 16:22:11 +02:00
Alessandro Ranellucci
dbcfebeb66 Rename support_material_tool to support_material_extruder 2012-06-28 15:14:27 +02:00
Alessandro Ranellucci
898266fd34 Initial refactoring for supporting multiple extruders. Little speed optimization included 2012-06-28 14:44:54 +02:00
Alessandro Ranellucci
47a07a86ee Bugfix: GUI was unable to update flow settings 2012-06-27 19:49:53 +02:00
Alessandro Ranellucci
96a3234eaa Different speed for external perimeters. #488 2012-06-27 19:42:16 +02:00
Alessandro Ranellucci
f057dd4818 Bump version number to the correct one 2012-06-24 17:21:27 +02:00
Alessandro Ranellucci
73655d7ccc Bump version number 2012-06-24 17:18:29 +02:00
Alessandro Ranellucci
0372d06247 Releasing 0.8.4 2012-06-24 16:50:09 +02:00
Alessandro Ranellucci
a6dca1d82a New option for support material pattern spacing; also, fixes and speedups to the overhang detection 2012-06-24 14:39:35 +02:00
Alessandro Ranellucci
36753d85b7 New option to define the overhang threshold angle for support material generation 2012-06-23 23:54:39 +02:00
Alessandro Ranellucci
07daefeddb Require Moo 0.091009 2012-06-23 23:28:21 +02:00
Alessandro Ranellucci
bf1aba3d08 New --support-material-pattern and --support-material-angle options 2012-06-23 22:43:23 +02:00
Alessandro Ranellucci
e72bd56b9d Rename brim_thickness to brim_width 2012-06-23 22:27:59 +02:00
Alessandro Ranellucci
48addf8c3f New feature: brim. #424 2012-06-23 21:31:29 +02:00
Alessandro Ranellucci
410279823c New separate option to control the addition of automatic extra perimeters. Also, add none if perimeters are set to 0. #459 2012-06-23 17:10:30 +02:00
Alessandro Ranellucci
a664709b31 Remember last presets 2012-06-19 18:11:51 +02:00
Alessandro Ranellucci
35f36e0446 New preset management (unfinished) 2012-06-18 22:27:57 +02:00
Alessandro Ranellucci
4d2a813450 Bump version number 2012-06-14 20:26:58 +02:00
Alessandro Ranellucci
a2c0e4a674 Releasing 0.8.3 2012-06-14 19:13:04 +02:00
Alessandro Ranellucci
fbfbfac2b6 New --top-solid-infill-speed option. Also, --solid-infill-speed and --small-perimeter-speed can be expressed as ratios too. #174 #151 2012-06-06 19:59:20 +02:00
Alessandro Ranellucci
82dd3c7a3e New --perimeters-extrusion-width and --infill-extrusion-width options. #302 2012-06-06 18:05:03 +02:00
Alessandro Ranellucci
8a031fe501 New --first-layer-extrusion-width option. #385 2012-06-06 17:29:12 +02:00
Alessandro Ranellucci
16b774603c Accept either absolute or relative values for --first-layer-height. #151 2012-06-06 16:11:38 +02:00
Alessandro Ranellucci
896c7e952e Renamed bottom_layer_speed to first_layer_speed for consistency 2012-06-06 15:52:21 +02:00
Alessandro Ranellucci
91ffb74429 Accept either absolute or relative values for --bottom-layer-speed. #151 2012-06-06 15:43:54 +02:00
Alessandro Ranellucci
aedb6cc35f Accept both relative and absolute extrusion width values. #151 2012-06-06 15:23:34 +02:00
Alessandro Ranellucci
949055d86c Bump version number 2012-05-29 17:16:32 +02:00
Alessandro Ranellucci
fc1624531a Releasing 0.8.2 2012-05-29 17:13:08 +02:00
Alessandro Ranellucci
09d4ab8470 Bump version number 2012-05-29 15:00:05 +02:00
Alessandro Ranellucci
63f8f4d710 Releasing 0.8.1 2012-05-29 14:55:33 +02:00