Commit Graph

385 Commits

Author SHA1 Message Date
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
Alessandro Ranellucci
acf4f032be Bump version number 2012-05-29 14:43:48 +02:00
Alessandro Ranellucci
af7ccb9fc1 Refactor resource paths 2012-05-29 14:19:14 +02:00
Alessandro Ranellucci
263806dd8c Releasing 0.8.0 2012-05-29 13:28:21 +02:00
Alessandro Ranellucci
5a78111efa Options to set extruder clearance for sequential printing and graphical preview of collisions 2012-05-23 11:47:52 +02:00
Alessandro Ranellucci
4dd236d025 Previous commit broke everything 2012-05-21 19:16:42 +02:00
Alessandro Ranellucci
cbd77cd71b Compatibility with recent Moo changes for threads global destruction. #379 2012-05-21 18:44:31 +02:00
Alessandro Ranellucci
ce6b4aeaee New option to print each object completely before moving onto next one (watch out for extruder collisions, Slic3r isn't doing any check since it doesn't know its shape) 2012-05-20 20:08:59 +02:00