Commit Graph

165 Commits

Author SHA1 Message Date
Alessandro Ranellucci
627debf284 Scale bounding_box by sqrt(2) in honeycomb too to ensure it will cover the object even after rotation, like we already did for Rectilinear 2013-05-19 11:25:41 +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
a73020c10e Faster implementation of concentric infill, with loop order reversed so that smaller loops will be printed at the end. #898 2013-05-13 21:22:57 +02:00
Alessandro Ranellucci
6842114d3d Fix for rectilinear infill failing in plates with new caching 2013-04-26 17:14:30 +02:00
Alessandro Ranellucci
850690cf79 Minor optimization 2013-04-18 17:36:06 +02:00
Alessandro Ranellucci
430c825918 Align rectilinear and line infill across layers (new implementation). #712 2013-04-18 17:34:21 +02:00
Alessandro Ranellucci
bd3384525e Revert "Align rectilinear and line infill across layers. #712"
This reverts commit a0a54ea706.
2013-04-15 11:33:24 +02:00
Alessandro Ranellucci
a0a54ea706 Align rectilinear and line infill across layers. #712 2013-04-11 19:36:49 +02:00
Alessandro Ranellucci
769ec0cb03 Better clipping of honeycomb paths 2013-03-26 13:04:57 +01:00
Alessandro Ranellucci
83065b0789 Bugfix: wrong flow and bad pattern rotation when infill-every-layers was set to an arbitrary high value 2013-03-17 01:10:40 +01:00
Alessandro Ranellucci
04c0caad0b Fix honeycomb infill overlap with perimeters 2013-03-17 00:57:58 +01:00
Alessandro Ranellucci
0f5064dd32 Untested fix for incomplete honeycomb support material. #1032 2013-03-16 21:10:12 +01:00
Alessandro Ranellucci
090e3b1fe3 Rename shortest_path to chained_path, which reflects its algorithm more correctly 2013-02-05 17:27:45 +01:00
Alessandro Ranellucci
2963e54d21 Use the faster polygon_multi_linestring_intersection() 2013-01-28 00:32:19 +01:00
Alessandro Ranellucci
1774143011 Bugfix: PlanePath fill patterns were not working anymore. #880 2012-12-31 14:11:36 +01:00
Alessandro Ranellucci
aff0898f35 Typo 2012-11-16 18:24:09 +01:00
Alessandro Ranellucci
86f5cb8654 Previous commit about bridge spacing was incomplete 2012-11-16 18:10:09 +01:00
Alessandro Ranellucci
cb4ede7f9e Do not pass the Print object to SVG::output anymore 2012-11-01 11:34:53 +01:00
Alessandro Ranellucci
cec7bf815c Get rid of the ExtrusionLoop objects in concentric filler 2012-10-30 15:29:13 +01:00
Alessandro Ranellucci
20e73face2 Get rid of max_print_dimension in filler objects 2012-10-30 15:09:54 +01:00
Alessandro Ranellucci
6c97e588b1 Don't require the print object in filler objects 2012-10-30 14:34:41 +01:00
Alessandro Ranellucci
5943114574 Only take layer_id instead of layer in filler objects 2012-10-30 14:25:48 +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
610862a97f Use the actual flow spacing for clipping concentric loops 2012-10-30 14:17:30 +01:00
Alessandro Ranellucci
0a5016a509 Cleaner usage of the PI constant 2012-10-30 14:15:48 +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
6beaf5e597 New faster algorithm for filling gaps, while we work on a new medial axis implementation 2012-10-24 16:17:09 +02:00
Alessandro Ranellucci
0990a9418c Bugfix: honeycomb infill was overlapping too much with perimeters. #732 2012-10-22 13:38:37 +02:00
Alessandro Ranellucci
bbe0a45b58 Optimization: cache scaled flow width and spacing 2012-09-23 03:03:08 +02:00
Alessandro Ranellucci
e0d5f4e528 Replace 'scale epsilon' with 'scaled_epsilon' 2012-09-12 15:22:43 +02:00
Alessandro Ranellucci
bb5f00cf0c Bugfix: extrusion width setting for support material was only affecting the path spacing but not the actual flow. #666 2012-09-12 12:13:43 +02:00
Alessandro Ranellucci
ba58e0733f Avoid backwards moves when doing honeycomb infill. #492 2012-08-24 19:19:45 +02:00
Alessandro Ranellucci
5281b101f9 Some infill paths were still disconnected, causing unnecessary retractions 2012-08-24 18:59:23 +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
1697cb24a6 Memory optimization and code cleanup. Don't keep deserialized paths 2012-07-20 14:39:56 +02:00
Alessandro Ranellucci
9e77e6e8b6 Removed comment about the shortest path search for honeycomb not being useful: it is. #512 2012-07-04 10:02:45 +02:00
Mark Hindess
35ecd65e77 Implement nearest point index and split at index to avoid search for point. 2012-07-02 20:26:56 +01:00
Alessandro Ranellucci
0372d06247 Releasing 0.8.4 2012-06-24 16:50:09 +02:00
Alessandro Ranellucci
f88f516c30 Optimize honeycomb travels 2012-06-24 16:09:24 +02:00
Alessandro Ranellucci
bf1aba3d08 New --support-material-pattern and --support-material-angle options 2012-06-23 22:43:23 +02:00
Alessandro Ranellucci
53d24bc580 Bugfix: some infill paths were not connected. #477 2012-06-23 20:27:28 +02:00
Alessandro Ranellucci
be8970b497 Fixed regression causing infill lines not being always connected near perimeters 2012-06-19 18:49:46 +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
74c00cdb7a Yes, recent memory optimizations broke concentric infill too 2012-05-19 23:47:36 +02:00
Alessandro Ranellucci
b360b2bcea Fixed regression causing side gaps in solid infill 2012-05-19 21:57:47 +02:00
Alessandro Ranellucci
aa9563f00b More constants, less strings => ess memory usage 2012-05-19 15:40:11 +02:00
Alessandro Ranellucci
4b7e9fc284 Fixed regression causing poor adhesion of rectilinear infill to perimeters 2012-05-04 20:51:09 +02:00
Alessandro Ranellucci
84d9368bf6 Bugfix: error on Honeycomb infill 2012-04-30 17:55:32 +02:00
Alessandro Ranellucci
d03925a18d New GUI with plating facilities 2012-04-30 14:56:01 +02:00
Alessandro Ranellucci
17a4426358 Fixed regression throwing fatal error with honeycomb infill 2012-04-29 18:05:23 +02:00
Alessandro Ranellucci
fc0fa0c738 Remove Rectilinear2 infill 2012-04-16 14:06:52 +02:00
Alessandro Ranellucci
d51ba94e8a Remove XXX from dependencies 2012-04-16 14:03:36 +02:00
Alessandro Ranellucci
cb182b8bc2 Honeycomb infill. #300 2012-04-16 11:55:14 +02:00
Alessandro Ranellucci
fc76104aa7 Merge branch 'boost-geometry' 2012-04-10 15:52:44 +02:00
Alessandro Ranellucci
a8adff53ca New implementation of support material 2012-04-09 22:06:30 +02:00
Alessandro Ranellucci
5bfe19a8b9 Huge speed Boost (pun intended). Also fixes a problem where infill was escaping perimeters sometimes (#305). 2012-04-09 11:04:32 +02:00
Alessandro Ranellucci
965a4e1bfd Make sure all concentric fill loops are extruded ccw. #298 2012-04-03 14:11:12 +02:00
Alessandro Ranellucci
64892c2203 Bugfix: fatal error on some models. #255 2012-03-10 23:49:24 +01:00
Alessandro Ranellucci
4a72c77150 Maximize fill/perimeter contact for line infill pattern 2012-03-04 11:45:45 +01:00
Alessandro Ranellucci
be9886eac3 Bugfix: fill escapes perimeters. #139 2012-03-04 11:26:11 +01:00
Alessandro Ranellucci
be0e1a6e0b Bugfix: fill escapes perimeters. However, we keep it disabled. #139 2012-02-25 22:41:53 +01:00
Alessandro Ranellucci
c98f6734c7 Code optimization 2012-02-25 22:18:07 +01:00
Alessandro Ranellucci
7b67fae686 Support material 2012-02-19 12:03:36 +01:00
Alessandro Ranellucci
4ade11b26e Some minor fixes related to polyline refactoring 2012-01-27 14:29:06 +01:00
Alessandro Ranellucci
00c6287488 Bugfix: fill escapes perimeters. #139 2012-01-21 17:11:14 +01:00
Alessandro Ranellucci
63972a3a35 Some more overlap 2012-01-21 16:35:23 +01:00
Alessandro Ranellucci
f1b1454b36 Loops were not closing well 2012-01-21 11:51:31 +01:00
Alessandro Ranellucci
0e23f20df1 Poor overlap between perimeters and infill 2012-01-21 11:48:03 +01:00
Alessandro Ranellucci
a3a9cf5749 Yet other things not changed when refactored. #163 2012-01-12 10:48:18 +01:00
Alessandro Ranellucci
b605381132 Bugfix: more errors in infills after refactoring. #162 2012-01-11 23:19:56 +01:00
Alessandro Ranellucci
8ed91a8ec4 Very large refactoring. Ditched Slic3r::Polyline::Closed and reorganized geometric classes. 2011-12-30 19:59:51 +01:00
Alessandro Ranellucci
ab0300bb70 Bugfix for recent solid infill adjustment math, to take float math into account 2011-12-22 18:55:18 +01:00
Alessandro Ranellucci
4af295bce3 Bugfix: very wrong infill for low density regions. #127 2011-12-19 09:55:03 +01:00
Alessandro Ranellucci
e5619ee543 Bugfix: not all paths were closed correctly due to float rounding 2011-12-18 11:53:15 +01:00
Alessandro Ranellucci
eca6d0b6d0 Adjust flow for solid surfaces when using concentric infill too. #120 2011-12-17 20:29:06 +01:00
Alessandro Ranellucci
6a3eeef83b Removed warnings for concentric infill. #121 2011-12-17 19:59:31 +01:00
Alessandro Ranellucci
f73febff7a Always start concentric infill from the center. #120 2011-12-17 19:56:56 +01:00
Alessandro Ranellucci
d63eabcfa5 Clip less from loops to avoid gaps 2011-12-17 19:54:35 +01:00
Alessandro Ranellucci
1e6ecd9eab Corrections to math. Threads are not always rectangles with semicircles. Better calculation of overlap. 2011-12-17 19:52:34 +01:00
Alessandro Ranellucci
cd0fd80a69 Restore better perimeter/infill overlap for solid surfaces 2011-12-16 18:37:43 +01:00
Alessandro Ranellucci
8e06a4f6f2 Bugfix: fatal error when using concentric infill 2011-12-15 21:46:29 +01:00
Alessandro Ranellucci
18cfc15ead Restored a little overlap between perimeters and infill (we're only explicitely overlapping in the direction of infill lines, because side overlap is handled by the flow logic in Extruder.pm) 2011-12-15 20:21:34 +01:00
Alessandro Ranellucci
569e737ae1 Only connect infill edges when not doing solid surfaces 2011-12-13 17:36:03 +01:00
Alessandro Ranellucci
56691c1dea Model extrusion threads as rectangles with semicircles at the end. Remove overlap_ratio setting. #109 #112 2011-12-13 17:34:31 +01:00
Alessandro Ranellucci
d9a70ea80d Customizable overlap ratio (it defaults to 0.15 now) 2011-12-08 10:53:07 +01:00
Alessandro Ranellucci
313f77ee59 Bugfix: removed error when filling small regions 2011-12-05 19:54:19 +01:00
Alessandro Ranellucci
0aff5fab24 Connect infill segments and adjust spacing and flow rate to fill the area completely without leaving gaps. #89 2011-12-04 16:24:46 +01:00
Alessandro Ranellucci
248ed8589a Bugfix: error when concentric infill. #73 2011-11-28 22:52:35 +01:00
Alessandro Ranellucci
975387d953 New --bridge-feed-rate option. #68 2011-11-28 18:37:53 +01:00
Alessandro Ranellucci
0ab1fd4c19 concentric - new superfast infill pattern 2011-11-26 10:38:45 +01:00
Alessandro Ranellucci
13ef24b5eb Fixes, improvements and refactoring for bridges and solid surfaces. 2011-11-23 09:49:39 +01:00
Alessandro Ranellucci
048410ac52 Bugfix: some infill lines extruded outside objects when using 45° infill angle. #65 2011-11-22 20:35:05 +01:00
Alessandro Ranellucci
a1c766cc52 New bridging logic, more robust. #58 2011-11-19 16:44:24 +01:00
Alessandro Ranellucci
12b06b0ab0 Speed boost for new infill patterns. #20 2011-11-14 10:54:04 +01:00
Alessandro Ranellucci
86f3e4fcd2 Implemented a new "line" fill pattern. #20 2011-11-14 10:31:07 +01:00
Alessandro Ranellucci
a2b4f9f671 Use nozzle diameter as flow width when bridging 2011-11-13 18:21:25 +01:00
Alessandro Ranellucci
038caddcda New fill types (hilbertcurve, archimedeanchords, octagramspiral) and ability to use different patterns for solid layers. #20 2011-11-13 18:14:02 +01:00
Alessandro Ranellucci
7f341cfcd3 New --fill-every-layers option to get high accuracy on external surfaces while speeding up infill 2011-10-18 15:57:53 +02:00