Commit Graph

1648 Commits

Author SHA1 Message Date
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
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
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
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