Alessandro Ranellucci
0883d0f4eb
More work here and there
2014-01-01 17:29:15 +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
57e4e5c8e1
One more fix for ooze_prevention and skirt_height == -1
2013-12-24 15:33:54 +01:00
Alessandro Ranellucci
f9d38f6655
Allow value -1 for skirt_height with the meaning of: as tall as the object. This might fix an overflow on 32-bit systems when ooze_prevention is enabled
2013-12-24 15:16:10 +01:00
Alessandro Ranellucci
bd133d9434
Update Clipper to 6.1.2
2013-12-24 12:40:46 +01:00
Alessandro Ranellucci
2956c1a2e5
More work for removing references to $Slic3r::Config
2013-12-24 11:58:36 +01:00
Alessandro Ranellucci
1157a7f859
Remove package variable $Slic3r::Config
2013-12-24 11:29:31 +01:00
Alessandro Ranellucci
7ddf4f3ddf
Fixes to complete_objects to make t/gcode.t pass
2013-12-24 01:13:02 +01:00
Alessandro Ranellucci
4f58a1c401
Rewrite avoid_crossing_perimeters() to fix a regression and get better performance by choosing regular points along contours. #1531
...
Conflicts:
lib/Slic3r/GCode/MotionPlanner.pm
2013-12-22 19:07:07 +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
1cee992604
Temporarily disabled step-based slicing
2013-12-20 01:38:00 +01:00
Alessandro Ranellucci
a6a6a6888b
Ported Slic3r::Print::State to XS
2013-12-20 01:36:42 +01:00
Alessandro Ranellucci
d2295cdf70
New Slic3r::Print::State class
2013-12-19 18:54:24 +01:00
Alessandro Ranellucci
685e8e4dfa
More work for step-based slicing
2013-12-19 15:23:10 +01:00
Alessandro Ranellucci
5280b05ebb
Initial work for step refactoring
2013-12-19 12:11:02 +01:00
Alessandro Ranellucci
15235699e4
Completed adapting plater behavior to new Print object API
2013-12-18 18:54:11 +01:00
Alessandro Ranellucci
916a0a0e58
Fix compilation and test suite
2013-12-18 16:34:31 +01:00
Alessandro Ranellucci
0591eecab7
Lazy mesh generation so that we only keep it in model object
2013-12-18 00:13:41 +01:00
Alessandro Ranellucci
02df73c94b
More refactoring to clean up the Print object API
2013-12-16 00:54:59 +01:00
Alessandro Ranellucci
d3171b1eea
More work for updating the embedded Print object when Model is changed in plater
2013-12-16 00:36:53 +01:00
Alessandro Ranellucci
250608aa52
Move centering outside the Print object
2013-12-15 16:17:12 +01:00
Alessandro Ranellucci
2eff7c238e
Some initial work for stateful Print object
2013-12-13 14:02:01 +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
7871673bf6
Initial work for new model handling
2013-11-27 12:18:24 +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
387df3b900
Fix regression causing toolchange_gcode to crash Slic3r. Includes regression test. #1545
2013-11-24 13:04:16 +01:00
Alessandro Ranellucci
a93c862338
Ported traverse_pt() to XS
2013-11-23 23:21:59 +01:00
Alessandro Ranellucci
0516aac715
Ported chained_path() to XS
2013-11-23 21:39:05 +01:00
Alessandro Ranellucci
e75dbf37fa
Never scale TriangleMesh objects
2013-11-23 19:25:33 +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
4577f0725c
Incomplete work for XS-based convex_hull
2013-11-22 21:43:35 +01:00
Alessandro Ranellucci
518798beb3
Incomplete work for porting simplify() to XS
2013-11-21 20:25:24 +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
50c0081d25
Update Clipper to 6.0.0
2013-11-20 11:35:58 +01:00
Alessandro Ranellucci
583fc767d8
Fix regression in Avoid Crossing Perimeters. #1531
2013-11-18 17:20:48 +01:00
Alessandro Ranellucci
beb7939e22
Rename standby_temperature to ooze_prevention. #1523
2013-11-15 16:01:15 +01:00
Alessandro Ranellucci
5e78f8a0b0
Make sure all extruders are outside skirt at toolchange when standby_temperature is enabled
2013-11-15 15:52:11 +01:00
Alessandro Ranellucci
9f41f0279e
Some work to reduce recursive dependencies between classes
2013-11-11 20:37:06 +01:00
Alessandro Ranellucci
bad8afdcda
Fix regression causing incomplete output filepath expansion. #1514
2013-11-11 00:08:50 +01:00
Alessandro Ranellucci
4755e61d71
Bugfix: [input_filename] and [input_filename_base] were only available in the filename pattern and not in the custom G-code settings. #1507
2013-11-02 15:49:20 +01:00
Alessandro Ranellucci
0b63afb370
Fix complete_objects after XS port. Includes regression test. #1511
2013-11-02 14:44:30 +01:00
Alessandro Ranellucci
f603db5e84
Fix --export-svg
2013-10-13 11:45:22 +02:00
Alessandro Ranellucci
032698fb07
Test that toolchanges happen outside skirt when standby-temperature is enabled
2013-09-19 10:44:29 +02:00
Alessandro Ranellucci
40fd7418cd
Added test for standby_temperature
2013-09-19 01:29:34 +02:00
Alessandro Ranellucci
0062c3b7fc
Almost finished the implementation of --standby-temperature
2013-09-18 20:03:59 +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
9a51964e98
Clean medial axis code and gap fill
2013-09-17 10:37:01 +02:00
Alessandro Ranellucci
aef5c05c57
Update brim generation code. Includes regression test. #1440
2013-09-16 10:33:30 +02:00
Alessandro Ranellucci
a821eb7f3c
More work to avoid working with vertices outside XS
2013-09-11 11:55:08 +02:00
Alessandro Ranellucci
566d38a472
Replace TriangleMesh with the XS port
2013-09-10 00:40:46 +02:00
Alessandro Ranellucci
2d3dae621a
Minor typos preventing correct positioning after recent XS merge
2013-09-05 14:23:31 +02:00
Alessandro Ranellucci
67aefdccc7
Fixed --avoid-crossing-perimeters and --support-material after the xsdata merge
2013-09-04 00:10:53 +02:00
Alessandro Ranellucci
c9f68ed28a
Refactor E code and keep track of per-extruder consumend filament
2013-08-28 20:40:13 +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
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
9cf831b9c5
Ported union_pt() to XS
2013-08-26 18:37:19 +02:00
Alessandro Ranellucci
49040db9a3
Fixes to pass all tests
2013-08-26 16:25:42 +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
026e0c06e4
Ability to customize how materials are mapped to extruders. #1020
2013-08-25 19:52:32 +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
4862d832b5
Simplify layer change code now that we have distinct support layers
2013-08-09 19:46:20 +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
cde662cb51
Fix collision detection for brim
2013-08-09 14:22:41 +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
6ddeb2fa07
Initialize support material interface extruder explicitely. #1364
2013-07-31 19:52:25 +02:00
Alessandro Ranellucci
415a2d165a
Cleaner code for first layer temperatures
2013-07-31 18:55:23 +02:00
Alessandro Ranellucci
60e5e2166a
Include support contact layers in skirt/brim generation
2013-07-31 16:29:44 +02:00
Alessandro Ranellucci
913f401280
Merge new-support2
2013-07-29 20:50:26 +02:00
Alessandro Ranellucci
a2cc230bb5
Add note about a bug caused by the disabled optimization about splitting meshes before avoid_crossing_perimeters. #1315
2013-07-29 19:50:47 +02:00
Alessandro Ranellucci
10a8f479f9
Bugfix: lift was not working correctly with multiple extruders and multiple skirt layers. Also, we now ignore all lift settings except the one of the first extruder. Includes regression tests. #1332 #1338
2013-07-29 19:43:57 +02:00
Alessandro Ranellucci
1b285f3f46
Thread-safe integration of ExtrusionPath::Collection
2013-07-18 22:29:12 +02:00
Alessandro Ranellucci
c7b6818ccf
Ported offset() and offset2()
2013-07-17 00:48:29 +02:00
Alessandro Ranellucci
898007fc36
Port offset_ex() and offset2_ex() to XS
2013-07-16 20:09:53 +02:00
Alessandro Ranellucci
9458c7db97
Fix integration of XS containers
2013-07-16 17:13:01 +02:00
Alessandro Ranellucci
9b582a11ff
Adopt XS containers everywhere (incomplete work)
2013-07-16 09:49:34 +02:00
Alessandro Ranellucci
ab6b3d41a7
XS interface completed, including new Line class
2013-07-15 22:57:22 +02:00
Alessandro Ranellucci
9af2a1c007
Use XS Point everywhere
2013-07-15 20:31:43 +02:00
Alessandro Ranellucci
159a009f96
Fix tests here and there
2013-07-15 15:26:56 +02:00
Alessandro Ranellucci
13e3a9129c
Use Slic3r::ExPolygon::Collection for Layer->slices
2013-07-14 15:06:49 +02:00
Alessandro Ranellucci
7534c1e6d9
Use Slic3r::Surface::Collection for Layer::Region->slices
2013-07-14 15:03:45 +02:00
Alessandro Ranellucci
5885be881c
New Slic3r::Surface::Collection class
2013-07-14 14:56:43 +02:00
Alessandro Ranellucci
d074b98aba
Optimization: don't store wipe path if wipe is not requested
2013-07-05 15:03:08 +02:00
Alessandro Ranellucci
8061cc6e30
Optimization in Polyline instantiation
2013-07-05 14:44:41 +02:00
Alessandro Ranellucci
fcd4de00e5
One more fix for --complete-objects working on single-object plates
2013-06-19 18:01:24 +02:00
Alessandro Ranellucci
5843f5df6c
Fix regression in --complete-objects causing fatal error and/or wrong warnings about object heights
2013-06-19 17:34:37 +02:00
Alessandro Ranellucci
799aeedd97
Fixed wrong refactoring in ac4a0bcdd8
2013-06-17 13:32:53 +02:00
Alessandro Ranellucci
3bcf1da702
Disable avoid_crossing_perimeters optimization until we can detect nested shells. #1254
2013-06-16 16:04:19 +02:00
Alessandro Ranellucci
ac4a0bcdd8
Refactoring: use Slic3r::Geometry::BoundingBox objects everywhere
2013-06-16 12:21:25 +02:00
Alessandro Ranellucci
a8981b8b35
Bugfix: infill was clipped badly. Includes regression test. #1245
2013-06-15 12:10:57 +02:00
Alessandro Ranellucci
962a51cc80
Some cleanup for the plater code
2013-06-13 14:33:10 +02:00
Alessandro Ranellucci
aee7b70d79
Bugfix: the order of transformations was not consistent in plater and actual G-code generation. #1171 #1191
2013-06-12 16:53:19 +02:00
Alessandro Ranellucci
b12a09ed71
Rename makerbot G-code flavor to makerware; also mention Repetier among RepRap firmwares. #1034
2013-06-07 23:24:53 +02:00
Alessandro Ranellucci
f991e3bc10
Fixed SVG export and added regression test
2013-06-07 12:00:03 +02:00
Alessandro Ranellucci
230367b383
Order objects using a nearest neighbor search instead of relying on the order in plater. #1184
2013-06-03 21:54:55 +02:00
Alessandro Ranellucci
3ffe98f0c3
Use actual Z to order objects in sequential printing rather than layer count, as layer heights might be different
2013-06-03 21:40:13 +02:00
Alessandro Ranellucci
c95245f143
Some G-code flavor logic simplification
2013-06-03 18:01:14 +02:00
Alessandro Ranellucci
167ec7a4e7
Use M135 for makerbot toolchange; also disable any G90 and G21 command. #1034
2013-06-03 16:21:22 +02:00
Alessandro Ranellucci
7134df4638
Only skip objects with no layers without stopping the whole job
2013-06-03 11:39:23 +02:00
Alessandro Ranellucci
895e0bbfcd
Include M82/M83 for Teacup too. #1206
2013-06-02 19:58:29 +02:00
Alessandro Ranellucci
086ec4af9c
Fixed yet one more regression in Quick Slice caused by recent Model refactoring. #1208
2013-06-02 19:32:53 +02:00
Alessandro Ranellucci
655d528d92
Fixed recent regression causing a spike when avoid_crossing_perimeters was used on split objects
2013-06-02 16:56:08 +02:00
Alessandro Ranellucci
49531f6f78
Fixed regression causing rotation from plater to also translate the resulting G-code. #1191
2013-05-31 19:41:31 +02:00
Alessandro Ranellucci
5c7dd2cf78
Some fixes to the cooling logic and new test suite for cooling
2013-05-31 12:18:33 +02:00
Alessandro Ranellucci
da76496988
Store config in Slic3r::GCode object
2013-05-31 11:19:36 +02:00
Alessandro Ranellucci
bbb190dc68
Generate infill using each object's bounding_box instead of full print. #1177
2013-05-19 11:35:41 +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
08a0bbd7f0
Optimization: split meshes automatically when avoid_crossing_perimeters is enabled, so that we reduce the complexity of the MotionPlanner graphs. This commit includes a very large refactoring of the Model class which is now responsible for duplication and arrangement
2013-05-18 16:48:26 +02:00
Alessandro Ranellucci
55071e544f
Fix brim spacing. #1174
2013-05-16 12:29:46 +02:00
Alessandro Ranellucci
4121a7ece5
Set support material enforce layers to 0 when spiral printing
2013-05-14 13:54:24 +02:00
Alessandro Ranellucci
a86c48d85c
Disable retract on layer change when doing spiral vase; also check that we're printing a single-material object
2013-05-13 21:55:34 +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
6e216e2fd9
New traverse_pt()
2013-05-11 09:24:48 +02:00
Alessandro Ranellucci
6b8894cf9a
Rename ex_int_offset2 to offset2_ex
2013-05-10 13:56:29 +02:00
Alessandro Ranellucci
5bf3f5f5e4
Make sure brim paths don't overlap
2013-05-10 13:47:40 +02:00
Alessandro Ranellucci
4aad2f6243
Smarter ordering of brim loops. #687
2013-05-09 14:52:56 +02:00
Alessandro Ranellucci
bc9ff47d3f
New module to output SVG vertical sections of extrusion paths with real width and height. The commit includes a bugfix to the Polyline->grow() method and some simplification in the Line class which is now child of Polyline
2013-04-27 15:02:13 +02:00
Mark Hindess
aac2c45450
Avoid merging meshes when there is only one mesh to merge.
...
When slicing yoda.stl it reduces peak memory usage by 5% and speeds up
slicing by 13%.
Further optimization using a simple proxy to implement the two methods
(size/extends) needed on the merge meshes is also possible and
undoubtedly worthwhile.
2013-04-18 19:50:05 +01:00
Alessandro Ranellucci
e088d9b3f7
Cache Slic3r::Fill object
2013-04-18 18:40:59 +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
a563801304
Merge branch 'master' of github.com:alexrj/Slic3r
2013-04-04 01:15:46 +02:00
Alessandro Ranellucci
3afeb5c7b5
Second layer commands were written multiple times
2013-04-04 00:52:11 +02:00
Devin Grady
e602aad998
inspired by f5e48a3
, a seems to work to fix 1076
2013-04-01 22:12:51 -05:00
Alessandro Ranellucci
0d6ff22e19
Merge branch 'wipe'
2013-03-31 11:36:04 +02:00
Alessandro Ranellucci
ac2356f66a
Don't crash at the end of empty prints. #1042
2013-03-30 00:36:14 +01:00
Alessandro Ranellucci
d2b451d9a1
Merge branch 'master' into wipe
2013-03-26 16:28:01 +01:00
Alessandro Ranellucci
2f046799f2
Removed offset() method from Slic3r::Polygon because it only works with ccw polygons
2013-03-26 14:03:24 +01:00
Alessandro Ranellucci
b7cd362820
Remove scale from G-code comments
2013-03-19 19:16:13 +01:00
Alessandro Ranellucci
9c122bda5e
Fix memory leak in avoid_crossing_perimeters. #1044
2013-03-19 16:02:03 +01:00
Alessandro Ranellucci
fd2a5e894a
Respect perimeter/infill order when multiple extruders are configured but only one is used
2013-03-19 11:58:03 +01:00
Alessandro Ranellucci
7de8b20bc4
New wipe feature
2013-03-17 02:22:50 +01:00
Alessandro Ranellucci
78a4ae4835
Use full flow for sparse infill by default
2013-03-17 00:21:17 +01:00
Alessandro Ranellucci
35bd5a3423
New --solid-infill-extrusion-width option
2013-03-17 00:02:31 +01:00
Alessandro Ranellucci
25554a345f
Reorder object copies using a nearest neighbor search
2013-03-16 20:56:14 +01:00
Alessandro Ranellucci
cf5adca928
New --resolution option to simplify input models
2013-03-16 19:58:34 +01:00
Alessandro Ranellucci
10b6bc9d15
Removed keep_meshes
2013-03-16 19:39:00 +01:00
Alessandro Ranellucci
33b40eda18
Always fix self-intersecting polygons that Douglas-Peucker might return
2013-03-16 18:42:56 +01:00
Alessandro Ranellucci
964accb588
Typo
2013-03-10 19:07:41 +01:00
Alessandro Ranellucci
2942485a94
New option to make infill before perimeters. #1039
2013-03-10 18:15:44 +01:00
Alessandro Ranellucci
ab3d1ac820
Give priority to infill extruder if it was used last. #940
2013-03-10 17:40:19 +01:00
Alessandro Ranellucci
107f48d894
Reduce toolchanges by giving priority to last extruder on layer change. #940
2013-03-10 17:28:03 +01:00
Alessandro Ranellucci
dac168eff0
Do each island completely if avoid_crossing_perimeters is enabled. #278
2013-03-10 16:09:03 +01:00
Alessandro Ranellucci
f10a4787b2
Fix layer ordering when printing objects with different layer heights
2013-03-10 15:36:52 +01:00
Alessandro Ranellucci
f670acb4b1
Slice a single object with multiple layer heights. :-)
2013-03-10 14:58:49 +01:00