Commit Graph

1800 Commits

Author SHA1 Message Date
Alessandro Ranellucci
37bf0fa53b Bugfix: medial axis thin wall detection was triggered when not needed 2013-07-26 00:13:24 +02:00
Alessandro Ranellucci
8fe228fcee Smarter ordering of gap fill 2013-07-26 00:03:28 +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
b1147861dd Implement lower_bound() and upper_bound() methods for ZTable 2013-07-20 21:19:59 +02:00
Alessandro Ranellucci
e29aca3553 Reapply correct optimization for simplifiying fill_surfaces before performing the offset. #1325 2013-07-20 12:22:41 +02:00
Alessandro Ranellucci
1b285f3f46 Thread-safe integration of ExtrusionPath::Collection 2013-07-18 22:29:12 +02:00
Alessandro Ranellucci
c030e38908 Ported ExtrusionPath::Collection 2013-07-18 19:09:07 +02:00
Alessandro Ranellucci
0efea9e442 Ported diff() and intersection() 2013-07-17 01:21:30 +02:00
Alessandro Ranellucci
c7b6818ccf Ported offset() and offset2() 2013-07-17 00:48:29 +02:00
Alessandro Ranellucci
bf8c799685 Ported diff_ex, intersection_ex, union_ex, xor_ex 2013-07-17 00:29:09 +02:00
Alessandro Ranellucci
f7ada2b5db Ported make_clockwise() and make_counter_clockwise() 2013-07-16 21:09:29 +02:00
Alessandro Ranellucci
fe061b19ad Ported Polygon->is_counter_clockwise() and rearranged code in .cpp files 2013-07-16 21:04:14 +02:00
Alessandro Ranellucci
79db996696 Ported diff_ex() to XS 2013-07-16 20:29:15 +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
Mark Hindess
b5426ad297 Revert "Optimization: simplify fill_surfaces before the offset operation"
To workaround issue #1325 and possibly #1320.

This reverts commit 3a046e3411.
2013-07-16 10:44:52 +01: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
d0701cdcd4 Implemented Slic3r::ExtrusionLoop 2013-07-15 16:21:09 +02:00
Alessandro Ranellucci
c9749ca3b3 More integration of Slic3r::Point::XS 2013-07-15 16:04:49 +02:00
Alessandro Ranellucci
159a009f96 Fix tests here and there 2013-07-15 15:26:56 +02:00
Alessandro Ranellucci
f612d4c64e Ported ExtrusionPath to XS. Failing test for Surface 2013-07-15 12:14:22 +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
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
7f4dc4e248 Fix merging error 2013-07-14 00:20:03 +02:00
Alessandro Ranellucci
31809d473f Merge branch 'master' into xsdata
Conflicts:
	lib/Slic3r/GCode.pm
	xs/src/Point.hpp
2013-07-13 21:00:19 +02:00
Alessandro Ranellucci
027f8d1e53 Optimizations in the algorithm that builds loops 2013-07-13 20:56:13 +02:00
Alessandro Ranellucci
69a8bac9c9 Show a warning if we repaired the input file 2013-07-13 20:34:57 +02:00
Alessandro Ranellucci
6affa23297 Show repair stats in object info dialog 2013-07-13 20:23:03 +02:00
Alessandro Ranellucci
89fae9ee15 Make threaded perls work with XS data in plater thumbnails. Includes cleaner ->arrayref implementation 2013-07-11 19:34:37 +02:00
Alessandro Ranellucci
fb7cea3cb9 Make plater work with XS data in single-thread environment 2013-07-11 19:13:43 +02:00
Alessandro Ranellucci
87a5de193d ExPolygon::XS->rotate() 2013-07-11 18:55:51 +02:00
Alessandro Ranellucci
1506907212 More incomplete work to make the plater work with XS data 2013-07-11 16:48:44 +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
6f6ee40dae Small optimization in case no overhang logic is required at all 2013-07-07 19:12:44 +02:00
Alessandro Ranellucci
c57a88c943 start_perimeters_at_non_overhang was still partially enforced 2013-07-07 19:11:23 +02:00
Alessandro Ranellucci
5409c27852 Partial GUI compatibility with XS data 2013-07-07 18:43:04 +02:00
Alessandro Ranellucci
8380ca812b One more arrayref conversion 2013-07-07 17:10:22 +02:00
Alessandro Ranellucci
a1e4bda670 Have Clipper.pm only return ExPolygon::XS objects 2013-07-07 15:17:09 +02:00
Alessandro Ranellucci
53e4532f9c Merge branch 'master' into xsdata 2013-07-07 12:58:06 +02:00
Alessandro Ranellucci
3a046e3411 Optimization: simplify fill_surfaces before the offset operation 2013-07-07 12:57:26 +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
cca25c9950 Fix a numerical issue causing failure to detect some bridge anchors 2013-07-06 14:38:53 +02:00
Alessandro Ranellucci
532ff3cde9 Apply the Polyline constructor refactoring to the newslice code 2013-07-06 12:18:58 +02:00
Alessandro Ranellucci
985af5ee56 Merge branch 'newslice' 2013-07-06 12:16:54 +02:00
Alessandro Ranellucci
0bb4a5649a Merge branch 'master' into xs 2013-07-06 12:15:17 +02:00
Alessandro Ranellucci
8d1069766b Workaround dclone() not being thread-safe 2013-07-06 12:14:49 +02:00
Alessandro Ranellucci
9dbf21235c Fixed missing change in recent refactoring, causing plater crash. #1298 2013-07-06 11:50:41 +02:00
Alessandro Ranellucci
ab584babf6 Encode Windows paths for the C STL reader 2013-07-06 11:39:28 +02:00
Alessandro Ranellucci
28f8083ab7 Merge branch 'master' into xs 2013-07-06 11:38:40 +02:00
Alessandro Ranellucci
f455ecb7da Rename adjust_overhang_flow to overhangs 2013-07-06 11:35:40 +02:00
Alessandro Ranellucci
606d856af8 Lower case option group titles 2013-07-06 02:46:09 +02:00
Alessandro Ranellucci
b857d79604 Move spiral_vase to vertical shells section 2013-07-05 22:23:45 +02:00
Alessandro Ranellucci
f8ae8d3e8d New option to disable overhang flow 2013-07-05 22:12:58 +02:00
Alessandro Ranellucci
282c751b0f New option for disabling thin wall detection 2013-07-05 22:10:43 +02:00
Alessandro Ranellucci
0a7e0ffecf New options: start_perimeters_at_concave_points start_perimeters_at_non_overhang 2013-07-05 22:06:58 +02:00
Alessandro Ranellucci
362232ada4 New Quality section in GUI 2013-07-05 21:57:56 +02:00
Alessandro Ranellucci
f0440bede4 Move infill_every_layers infill_only_where_needed into their own "Reducing Printing Time" section 2013-07-05 21:55:01 +02:00
Alessandro Ranellucci
eb2d20d062 Merge branch 'master' into xs 2013-07-05 17:29:28 +02:00
Alessandro Ranellucci
339c487077 Fix starting point after overhang clipping is performed 2013-07-05 17:25:56 +02:00
Alessandro Ranellucci
b3b2a1e891 One more fix in overhang starting point detection 2013-07-05 17:08:26 +02:00
Alessandro Ranellucci
df4612a209 Prefer starting points that are NOT in overhangs 2013-07-05 17:00:14 +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
be4eb3762f Use dclone() in Point class too 2013-07-05 14:48:03 +02:00
Alessandro Ranellucci
72f77a3420 Use dclone() in Polyline and ExPolygon too 2013-07-05 14:46:32 +02:00
Alessandro Ranellucci
8061cc6e30 Optimization in Polyline instantiation 2013-07-05 14:44:41 +02:00
Alessandro Ranellucci
27c421c27f Slight optimization 2013-07-05 14:21:20 +02:00
Alessandro Ranellucci
b266d6217a Skip slow gap detection if we aren't going to fill gaps anyway 2013-07-05 14:17:54 +02:00
Alessandro Ranellucci
4d46ebc6cb Removed useless, slow, code 2013-07-05 14:17:09 +02:00
Alessandro Ranellucci
f26f084064 New freeze.t test 2013-07-03 15:42:01 +02:00
Alessandro Ranellucci
bb656ea72c Merge branch 'master' into xs 2013-07-03 10:52:13 +02:00
Alessandro Ranellucci
71057b54a9 Allow negative values in validation... 2013-07-03 10:51:44 +02:00
Alessandro Ranellucci
63ba894260 Add some comments to OpenGL code 2013-07-01 12:23:44 +02:00
Alessandro Ranellucci
8ec3ec6bda Cosmetic changes to the new OpenGL code by iXce 2013-07-01 10:58:30 +02:00
Alessandro Ranellucci
dcc2b7f4ff Enable PreviewCanvas 2013-07-01 01:51:11 +02:00
Alessandro Ranellucci
7c4b1bc736 Merge pull request #1283 from iXce/master
Panning/rotation/zooming support for 3D viewer
2013-06-30 16:50:16 -07:00
Guillaume Seguin
b2e0c1ab42 Use max of all dimensions instead of max of first 2 2013-07-01 00:08:02 +02:00
Guillaume Seguin
1f229f3233 Cleanup 2013-06-30 23:54:13 +02:00
Guillaume Seguin
e92fefb6ff Working rotation for mesh viewer 2013-06-30 23:51:06 +02:00
Alessandro Ranellucci
1b6a9c0c3b Added validation on all settings. #611 2013-06-30 15:39:03 +02:00
Guillaume Seguin
6668a81c64 Start work on rotation handling 2013-06-29 18:31:06 +02:00
Guillaume Seguin
dd7830b1b7 Add panning support 2013-06-29 15:12:57 +02:00
Guillaume Seguin
43d764feff Implement zoom to point 2013-06-29 14:16:56 +02:00
Guillaume Seguin
317c911c67 Remove leftover from 47b2c13c 2013-06-29 14:16:38 +02:00
Guillaume Seguin
bb3ebb0244 Switch to orthographic projection 2013-06-29 10:43:35 +02:00
Guillaume Seguin
47b2c13c99 Get rid of demo timer in PreviewCanvas 2013-06-29 10:43:21 +02:00
Alessandro Ranellucci
1f50d9c7e8 https -> http in manual URL 2013-06-24 20:38:20 +02:00
Alessandro Ranellucci
5975145426 Automatically repair any input STL file 2013-06-24 20:34:57 +02:00
Alessandro Ranellucci
ecdc2f077b Merge branch 'master' into xs
Conflicts:
	Build.PL
2013-06-24 19:37:07 +02:00
Alessandro Ranellucci
f29faf0548 New Slic3r::TriangleMesh::XS class 2013-06-24 19:35:49 +02:00
Alessandro Ranellucci
f5cc446853 Menu item for launching the manual 2013-06-24 18:07:33 +02:00
Alessandro Ranellucci
a15884dac9 Remove useless algorithm in loop merging code 2013-06-24 00:08:39 +02:00
Alessandro Ranellucci
3622193c3f Rewrite the algorithm that closes loops in order. We now tolerate the case when more than two facets share a common edge 2013-06-24 00:02:01 +02:00
Alessandro Ranellucci
86c4f5c5b0 Merge branch 'master' into newslice 2013-06-23 22:23:25 +02:00
Alessandro Ranellucci
de45b823e1 Merge branch 'master' into xs 2013-06-23 21:12:19 +02:00
Alessandro Ranellucci
2a2633da0a New automatic built-in STL repair 2013-06-23 21:11:46 +02:00
Alessandro Ranellucci
625a300822 New [layer_num] placeholder in layer change G-code 2013-06-23 19:25:32 +02:00
Alessandro Ranellucci
8ea4ed3b5e Allow to supply custom G-code via command line if file is not found 2013-06-23 19:25:02 +02:00
Alessandro Ranellucci
2d687cd0a0 Only combine internal infill and leave internal-solid as it is. #1248 2013-06-23 18:21:47 +02:00
Alessandro Ranellucci
f3a9d41c70 Cache a Z table for layer range search 2013-06-23 17:07:12 +02:00
Alessandro Ranellucci
37105e8237 Ported get_layer_range() to C 2013-06-23 15:33:07 +02:00
Alessandro Ranellucci
9a904dc88d Lighter implementation of the slicing algorithm to save memory and time 2013-06-23 12:26:40 +02:00
Alessandro Ranellucci
cd1a39397b Optimize concentric loops 2013-06-23 00:50:44 +02:00
Alessandro Ranellucci
78f1527ab7 Compensate perimeter/infill overlap for concentric infill 2013-06-23 00:37:04 +02:00
Alessandro Ranellucci
5c7b447f07 Ensure there's no numerical error when searching for concave points 2013-06-23 00:21:19 +02:00
Alessandro Ranellucci
1e3ce9b8c4 Complete retraction if the wipe path was too short for the full retract. #1264 2013-06-23 00:10:57 +02:00
Alessandro Ranellucci
c03f9f0197 Fixed regression causing wrong direction for inwards move in holes. Includes regression test. #1265 2013-06-23 00:05:08 +02:00
Alessandro Ranellucci
0bd3d958e2 More optimizations in slice_facet() 2013-06-22 20:48:56 +02:00
Alessandro Ranellucci
1565560b55 One more little optimization 2013-06-22 20:37:15 +02:00
Alessandro Ranellucci
db266cde9f Little optimizations in slicing 2013-06-22 20:32:39 +02:00
Alessandro Ranellucci
398e66572d Optimization: remove overkill sort 2013-06-22 19:59:27 +02:00
Alessandro Ranellucci
82fbdb603f Optimization: cache model bounding box 2013-06-22 19:36:50 +02:00
Alessandro Ranellucci
4774b0e910 Be tolerant with STL files without the "normal" word 2013-06-22 16:15:07 +02:00
Alessandro Ranellucci
64a21276e3 Add regression test for concave starting points. #135 2013-06-22 15:22:58 +02:00
Alessandro Ranellucci
b35e668ee7 Require Boost::Geometry::Utils 0.15 2013-06-21 19:46:45 +02:00
Alessandro Ranellucci
aba7641fe4 Avoid starting loops on convex vertices and/or overhangs. #296 #135 2013-06-21 19:43:15 +02:00
Alessandro Ranellucci
90d8da0e0d Limit fan speed to 100% :-) 2013-06-21 16:08:16 +02:00
Alessandro Ranellucci
19b40baf55 Add regression test to ensure fan is enabled when printing overhangs. #432 2013-06-21 15:38:58 +02:00
Alessandro Ranellucci
c707073a73 Some fixes about overhang detection. Includes regression tests 2013-06-21 14:52:35 +02:00
Alessandro Ranellucci
f5322596d9 Note to self in code 2013-06-20 20:16:15 +02:00
Alessandro Ranellucci
7e875393f5 New algorithm for overhang detection 2013-06-20 20:11:46 +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
4474595629 Removed useless code 2013-06-20 19:21:35 +02:00
Alessandro Ranellucci
b414c50b68 Optimization: use Boost.Geometry for point in polygon 2013-06-20 18:48:11 +02:00
Alessandro Ranellucci
f7be746599 Disable overhang detection for now 2013-06-19 20:09:58 +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
b71bc37111 Remove a couple cases of dangerous aliasing, causing crashes. #1257 2013-06-17 19:27:08 +02:00
Alessandro Ranellucci
799aeedd97 Fixed wrong refactoring in ac4a0bcdd8 2013-06-17 13:32:53 +02:00
Alessandro Ranellucci
c4036470af Fix one thing leftover from bounding box refactoring 2013-06-17 12:11:28 +02:00
Alessandro Ranellucci
c6ef81fb91 Modify overhang detection algorithm 2013-06-16 18:08:17 +02:00
Alessandro Ranellucci
45611d6742 Fix connection algorithm for rectilinear infill as sometimes it wasn't connecting segments correctly 2013-06-16 18:05:56 +02:00
Alessandro Ranellucci
0ad78eaf55 Return explicit 0 from have_version_check() to avoid wxMenuItem->Enable errors 2013-06-16 16:07:47 +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
32aafd2eb9 Temporary workaround until Boost::Geometry::Utils 0.14 is available 2013-06-16 15:11:39 +02:00
Alessandro Ranellucci
258842b845 New logic for connecting honeycomb loops 2013-06-16 13:31:10 +02:00
Alessandro Ranellucci
9ff85898b1 New logic for connecting honeycomb paths 2013-06-16 13:26:57 +02:00
Alessandro Ranellucci
961586fe8f Rewrite honeycomb infill so that it only generates the pattern for the bounding box of the region instead of the full print, so reduce complexity of the clipping routine 2013-06-16 13:13:52 +02:00
Alessandro Ranellucci
ac4a0bcdd8 Refactoring: use Slic3r::Geometry::BoundingBox objects everywhere 2013-06-16 12:21:25 +02:00
Alessandro Ranellucci
07407e5dbd Merge branch 'master' into overhang
Conflicts:
	lib/Slic3r/GCode.pm
2013-06-16 10:49:33 +02:00
Alessandro Ranellucci
2993a1659e Bump version number 2013-06-16 10:22:22 +02:00
Alessandro Ranellucci
d0eac88ff9 Reduce vibrations when doing gap fill 2013-06-15 21:27:36 +02:00
Alessandro Ranellucci
8b48d79563 Improve zigzag gap fill. #1234 2013-06-15 21:10:04 +02:00
Alessandro Ranellucci
cb75b1e47b Fix plater crash on threaded perls 2013-06-15 19:15:24 +02:00