Commit Graph

162 Commits

Author SHA1 Message Date
Alessandro Ranellucci
380dd8adfc Ported some methods to XS 2014-08-03 18:41:09 +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
bcc8e356b2 Merge perimeters of adjacent regions having the same perimeter settings 2014-07-12 15:28:21 +02:00
Alessandro Ranellucci
5e80d7a388 Readd use strict and use warnings 2014-06-12 09:23:10 +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
af1a47c461 Minor optimization 2014-06-10 00:54:37 +02:00
Y. Sapir
85cbbed663 Set ISA manually for Slic3r::Layer::Support. 2014-05-24 23:50:46 +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
a31b2e6ca2 Stricter implementation of the overhang detection. Includes unit tests 2014-04-29 19:58:58 +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
fec41d6dfd Update plater and print upon changing object parts and their settings 2014-03-23 16:45:55 +01:00
Alessandro Ranellucci
e75dbf37fa Never scale TriangleMesh objects 2013-11-23 19:25:33 +01:00
Alessandro Ranellucci
9f41f0279e Some work to reduce recursive dependencies between classes 2013-11-11 20:37:06 +01:00
Alessandro Ranellucci
6adce9f66b Update support material code to use shared memory 2013-09-17 23:14:49 +02:00
Alessandro Ranellucci
fc9cec9d81 Merge branch 'master' into xsdata
Conflicts:
	lib/Slic3r/Layer/Region.pm
	lib/Slic3r/Print/Object.pm
2013-08-25 19:59:42 +02:00
Alessandro Ranellucci
3d6fb1b05c New feature: ability to override specific settings for individual objects in the plater. #344 2013-08-25 14:37:50 +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
5d80c26b29 Adjust collision detection for brim and include support islands inside the only_retract_when_crossing_perimeters logic 2013-08-09 15:04:14 +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
913f401280 Merge new-support2 2013-07-29 20:50:26 +02:00
Alessandro Ranellucci
51de3ce14f Switch print_z to unscaled coordinates 2013-07-29 00:27:53 +02:00
Alessandro Ranellucci
9b582a11ff Adopt XS containers everywhere (incomplete work) 2013-07-16 09:49:34 +02:00
Alessandro Ranellucci
13e3a9129c Use Slic3r::ExPolygon::Collection for Layer->slices 2013-07-14 15:06:49 +02:00
Alessandro Ranellucci
f7967414e0 Store layer slices and region slices as XS data to save memory and make them shared across threads 2013-07-07 12:54:20 +02:00
Alessandro Ranellucci
015580629b Removed wrong optimization causing possible extra retractions while moving in infill space 2013-06-20 19:43:53 +02:00
Alessandro Ranellucci
48d5d6de58 Typo 2013-06-03 12:29:45 +02:00
Alessandro Ranellucci
81bae56e92 Limit only_retract_when_crossing_perimeters to travel moves that are completely enclosed in the upper layer's slices so that we avoid visible traces on top layers. #1091 2013-06-03 12:25:32 +02:00
Alessandro Ranellucci
2275de9f0d Factored out the layer height logic 2013-03-10 11:37:16 +01:00
Alessandro Ranellucci
a9090688f9 Refactor bridge flow to Slic3r::Flow::Bridge class 2013-02-27 10:43:50 +01:00
Alessandro Ranellucci
504962712b Bugfix: when using low layer heights and support material, the contact regions were generated with a negative height. #1013 2013-02-23 17:40:38 +01:00
Alessandro Ranellucci
3eedd4bbed Fixed regression in support material after recent flow refactoring. #1012 2013-02-23 16:08:29 +01:00
Alessandro Ranellucci
91bcfc8a74 Remove $Slic3r::flow and $Slic3r::first_layer_flow 2013-02-22 16:08:11 +01:00
Alessandro Ranellucci
9222526e03 Customizable number of interface layers for support material and raft 2013-02-03 17:23:50 +01:00
Alessandro Ranellucci
177f1a9bf0 New raft_layers option. #123 2013-01-28 14:12:01 +01:00
Alessandro Ranellucci
30d9b2e508 Refactoring: initialize all layers at once and avoid duplication of slicing height math. #637 2013-01-01 23:28:48 +01:00
Alessandro Ranellucci
d5537e7797 Enable retraction for support material too, but only when moving away from support islands. #831 2012-12-20 18:47:40 +01:00
Alessandro Ranellucci
0bff8ad576 Bugfix: some multimaterial files generated a fatal error 2012-11-05 15:59:31 +01:00
Alessandro Ranellucci
ccb49a8439 Do a slightly thinner interface layer at the top of support material structures by taking into account the diameter of bridge extrudates (nophead's idea) 2012-10-28 16:59:20 +01:00
Alessandro Ranellucci
a0fe93e8cf Bugfix: sometimes first layer extrusion width was not applied 2012-10-28 10:28:40 +01: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
d488afd243 More work (breaks centering and internal surfaces detection) 2012-09-22 19:38:25 +02:00
Alessandro Ranellucci
02356fd613 Large refactoring to allow processing multimaterial files 2012-09-22 19:04:36 +02:00
Alessandro Ranellucci
1053947c19 Consider single walls as external perimeters. #661 2012-09-06 10:56:42 +02:00
Alessandro Ranellucci
896641cb7e Fixed regression causing some bridges not to be detected correctly. #629 2012-08-25 20:04:29 +02:00
Alessandro Ranellucci
65b11fa850 Minor refactoring for better readability of perimeter generation logic 2012-08-24 21:58:51 +02:00
Alessandro Ranellucci
92518d28fc New option to configure the threshold for enforcing solid infill. #224 2012-08-24 19:38:36 +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
67b415a2b3 Remove almost duplicated logic for small infill regions detection 2012-07-22 21:06:19 +02:00
Alessandro Ranellucci
1d04e15b63 Refactor/clean up. Merge remove_small_surfaces() into prepare_fill_surfaces(), rename infill_every_layers() to combine_infill(), remove $layer->fill_boundaries, initialize layer properties explicitely for clarity. 2012-07-22 21:00:02 +02:00