Commit Graph

1687 Commits (f7ada2b5dbc588e3da5e556404b2182cbee5b6da)

Author SHA1 Message Date
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
Alessandro Ranellucci 8d9d023dd7 Merge branch 'honeycomb-clipping' 2013-06-15 18:10:16 +02:00
Alessandro Ranellucci 20158aac0d Merge branch 'issue1161' 2013-06-15 18:08:01 +02:00
Alessandro Ranellucci 7560d5f131 Merge branch 'perl-518' 2013-06-15 18:06:36 +02:00
Alessandro Ranellucci 8b6afb61d9 Fix little error in tests 2013-06-15 17:17:48 +02:00
Alessandro Ranellucci 7bf308c08f Fix one more centering problem caused by wrong bounding box implementation 2013-06-15 15:50:02 +02:00
Alessandro Ranellucci a8981b8b35 Bugfix: infill was clipped badly. Includes regression test. #1245 2013-06-15 12:10:57 +02:00
Alessandro Ranellucci 5fa49aad02 Releasing 0.9.10 2013-06-14 16:59:20 +02:00
Alessandro Ranellucci 878d17605c Ignore solid_infill_every_layers when fill_density is 0. Includes regression test. #1240 2013-06-14 16:48:24 +02:00
Alessandro Ranellucci 145fe08203 More fixes for plater positioning. #1171 2013-06-13 20:05:32 +02:00
Alessandro Ranellucci 962a51cc80 Some cleanup for the plater code 2013-06-13 14:33:10 +02:00
Alessandro Ranellucci def013ba91 Use _transform_thumbnail when rescaling thumbnails 2013-06-13 11:28:27 +02:00
Alessandro Ranellucci 0a74e45432 Scale and recenter thumbnails when bed size and/or print center is changed 2013-06-13 11:27:15 +02:00
Alessandro Ranellucci 5dcf277563 Rotate cw when using free rotation button to be consistent with icon. #1171 2013-06-13 10:27:47 +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 8e0e03247d Bugfix: ineffective scale() method in recently created BoundingBox objects caused wrong positioning for scaled objects in plater. Includes regression test. #1171 2013-06-10 15:34:45 +02:00
Alessandro Ranellucci 8b2c13cc6f Regression test for top solid surfaces in V-shaped object. #1161 2013-06-08 20:01:26 +02:00
Alessandro Ranellucci d5a9320587 Bugfix: narrow top surfaces didn't generate solid layers. #1161 2013-06-08 17:48:34 +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 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 9ea55497c2 Prevent crash when user deleted object from plater before thumbnail was generated in the other thread. #1207 2013-06-07 13:54:40 +02:00
Alessandro Ranellucci f991e3bc10 Fixed SVG export and added regression test 2013-06-07 12:00:03 +02:00
Alessandro Ranellucci fcc442882c Fix plater defect causing misalignment 2013-06-06 20:53:56 +02:00
Alessandro Ranellucci 43814e99f6 Remove smart match and lexical $_ for compatibility with perl 5.18. #1216 2013-06-06 10:46:58 +02:00
Alessandro Ranellucci 8c40cefe1e Also use G1 when traveling with avoid_crossing_perimeters enabled 2013-06-05 17:12:34 +02:00
Alessandro Ranellucci 532ae53d0b Use G1 instead of G0 for restart after retraction to avoid blending with the previous travel move. #1212 2013-06-05 16:58:30 +02:00
Alessandro Ranellucci b3f1795cb4 Reduce wipe feedrate a bit 2013-06-03 22:49:47 +02:00
Alessandro Ranellucci 8b3aa32a7e Update tooltip for only_retract_when_crossing_perimeters 2013-06-03 22:40:29 +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 09b81ad027 Fix typo causing regression in island ordering. #1211 2013-06-03 21:27:09 +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 974379c955 Add M103 after retraction and M101 before restart when Makerbot G-code flavor is selected. #1119 2013-06-03 15:37:32 +02:00
Alessandro Ranellucci 71608e799e Keep per-extruder E absolute value for Makerbot flavour to avoid any G92 E0. #950 2013-06-03 15:27:58 +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 7134df4638 Only skip objects with no layers without stopping the whole job 2013-06-03 11:39:23 +02:00
Alessandro Ranellucci 8c74d2f41e New --autosave option for better toolchain integration. #837 2013-06-02 20:03:22 +02:00
Alessandro Ranellucci 895e0bbfcd Include M82/M83 for Teacup too. #1206 2013-06-02 19:58:29 +02:00
Alessandro Ranellucci 6bb2e593a7 Avoid potential fatal error when processing models with empty layers. #1127 2013-06-02 19:49:21 +02:00
Alessandro Ranellucci 8a01cb9e96 Generate a better error when input file is too thin and no layers could be generated. #1127 2013-06-02 19:44:59 +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 28a01e7c5e Fix past participle 2013-06-02 16:58:23 +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 da36df65a4 Warning removed when exporting config 2013-06-02 11:15:57 +02:00
Alessandro Ranellucci 30ce7dc745 Bugfix: wizard crashing in Simple Mode. #1077 #1122 2013-06-01 18:56:23 +02:00
Alessandro Ranellucci d801876ee9 Revert "Bugfix: configuration wizard crash 2 #1077"
This reverts commit 55c413627f.
2013-06-01 18:54:07 +02:00
Alessandro Ranellucci 973d30a2b4 Merge pull request #1148 from hroncok/patch-1
Bugfix: configuration wizard crash 2 #1077
2013-06-01 09:46:17 -07: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 c62b49d1af Optimization of extra perimeters detection 2013-05-31 14:30:07 +02:00
Alessandro Ranellucci 917915d68e Bugfix: superfluous extra perimeters were generated. #1170 2013-05-31 14:23:42 +02:00
Alessandro Ranellucci 5f06cea821 Prevent --extrusion-multiplier <= 0. #1183 2013-05-31 12:45:18 +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 7baaf6bf5d Fixed regression causing skirt_height to he honored incorrectly when printing more than one object. Includes regression test #1200 2013-05-30 20:06:05 +02:00
Alessandro Ranellucci 8f5a958948 Rename do_slice() to quick_slice() 2013-05-20 11:02:12 +02:00
Alessandro Ranellucci 71d6f428ca Apparent fix for "Attempt to free unreferenced scalar" 2013-05-20 10:57:27 +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 f13d4e4e66 Restore skirt preview and extrude clearance after recent usage of int_offset() 2013-05-19 18:03:18 +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 48e37f97b4 Fixed bad copy and paste causing multiple extruders to throw an error 2013-05-19 15:33:54 +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 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 b5b0c2cc89 Bad copy and paste in commit from yesterday causing loss of perimeters. #1178 2013-05-19 10:47:00 +02:00
Alessandro Ranellucci 7180e7cb30 Speed optimization in avoid_crossing_perimeters 2013-05-19 10:35:11 +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 e33ca54943 Some code cleanup in MotionPlanner 2013-05-17 20:03:38 +02:00
Alessandro Ranellucci ba433822b6 Disable OpenGL code in master branch for now 2013-05-17 15:44:23 +02:00
Alessandro Ranellucci 8f77d3b945 Increase spacing for bridge traces. #1090 2013-05-17 15:03:42 +02:00
Alessandro Ranellucci 8e2063397a Merge branch 'opengl' 2013-05-17 14:17:02 +02:00
Alessandro Ranellucci 5c74fd095b Very basic implementation of 3D preview - install Wx::GLCanvas to get it working 2013-05-17 14:14:33 +02:00
Alessandro Ranellucci 61c1045331 Merge branch 'master' into overhang 2013-05-16 18:36:11 +02:00
Alessandro Ranellucci 228c84ddc1 Use glDrawArrays() 2013-05-16 13:42:19 +02:00
Alessandro Ranellucci 09989ab8bd Fix regression in --gcode-arcs 2013-05-16 12:54:38 +02:00
Alessandro Ranellucci 521d668712 Reduce overlap for bridges. #1090 2013-05-16 12:34:24 +02:00
Alessandro Ranellucci 55071e544f Fix brim spacing. #1174 2013-05-16 12:29:46 +02:00
Alessandro Ranellucci fc1a23f5b0 Quick and dirty OpenGL mockup 2013-05-16 12:09:01 +02:00
Alessandro Ranellucci bff31d7002 Fix split_mesh() not working anymore since analyze() is lazy 2013-05-16 11:25:15 +02:00
Alessandro Ranellucci a94d26b1ce Fix overhang detection for contours 2013-05-15 10:50:38 +02:00
Alessandro Ranellucci 575127151b New algorithm for overhang detection 2013-05-14 20:19:42 +02:00
Alessandro Ranellucci 90280fe63b Little fix for bridge rendering in SectionCut 2013-05-14 20:11:05 +02:00
Alessandro Ranellucci 967d567db0 Fix bridge rendering in SectionCut 2013-05-14 19:48:52 +02:00
Alessandro Ranellucci 632652d924 Unfinished work for displaying bridge paths in section cuts 2013-05-14 19:48:47 +02:00
Alessandro Ranellucci 06ad6b70f8 Bugfix: scaling object from the plater applied scale factor over the factor used in the previous slicing job. #1075 2013-05-14 16:31:50 +02:00
Alessandro Ranellucci 7eff002e21 Memory and speed optimization: only study meshes when needed 2013-05-14 14:47:00 +02:00
Alessandro Ranellucci e51dbb994d One more speed optimization in STL.pm 2013-05-14 14:17:46 +02:00
Alessandro Ranellucci 745cea8e6c One more little speed optimization in STL.pm 2013-05-14 14:12:32 +02:00
Alessandro Ranellucci 25bafe7ff1 Memory (and maybe speed?) optimization in STL reader 2013-05-14 13:54:25 +02:00
Alessandro Ranellucci 4121a7ece5 Set support material enforce layers to 0 when spiral printing 2013-05-14 13:54:24 +02:00
Mark Hindess 7979dd9e9c Avoid expensive TriangleMesh BUILD method during clone.
Gives 6% speedup and uses less memory when slicing yoda.stl and should
give significantly bigger speedup on more complex models and plates.
2013-05-13 21:27:55 +01: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 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 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 ece6dd8a0b Only make the inwards move when we have more than one perimeter 2013-05-13 19:35:42 +02:00
Alessandro Ranellucci 7c89476602 Move fan_always_on in the Enable options group. #1166 2013-05-13 18:33:44 +02:00
Alessandro Ranellucci 1aae311148 Fix menus for --no-plater. #1112 2013-05-13 18:30:12 +02:00
Alessandro Ranellucci f6dc712158 Bugfix: most of the File menu items didn't work with --no-plater. #1112 2013-05-13 18:22:47 +02:00
Alessandro Ranellucci d2425748a3 Code cleanup and remove arc compensation code 2013-05-13 13:18:58 +02:00
Alessandro Ranellucci 5efa409c7c Move gap fill to its own method 2013-05-13 13:07:22 +02:00
Alessandro Ranellucci 1d94618c5e Correctly detect external hole perimeters 2013-05-13 12:52:57 +02:00
Alessandro Ranellucci ca549cd2fe Perimeters refactoring complete 2013-05-11 21:30:26 +02:00
Alessandro Ranellucci 67b24efd49 Incomplete work - still wrong order 2013-05-11 21:05:29 +02:00
Alessandro Ranellucci df62c25c8f One more offset_ex() optimization 2013-05-11 09:39:38 +02:00
Alessandro Ranellucci 0e100827f8 Avoid useless looping and usage of ExPolygons 2013-05-11 09:35:33 +02:00
Alessandro Ranellucci 6e216e2fd9 New traverse_pt() 2013-05-11 09:24:48 +02:00
Alessandro Ranellucci 7953dcfb12 Merge branch 'better-brim'
Conflicts:
	lib/Slic3r/Geometry/Clipper.pm
	lib/Slic3r/Print.pm
2013-05-11 09:19:23 +02:00
Alessandro Ranellucci bac5093de4 Alwyas apply disable_fan_first_layers, even if cooling is disabled, since fan_always_on is applied in that case as well. Update descriptive text and have it appear in case of disabled auto cooling. #1166 2013-05-10 15:09:27 +02:00
Alessandro Ranellucci 6b8894cf9a Rename ex_int_offset2 to offset2_ex 2013-05-10 13:56:29 +02:00
Alessandro Ranellucci 993fcd9182 Revert "Smarter ordering of brim loops. #687" until new Math::Clipper is out
This reverts commit 4aad2f6243.
2013-05-10 13:51:28 +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