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
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
Alessandro Ranellucci
855ba90332
New script to generate vertical section cuts from any given G-code file
2013-05-02 11:42:51 +02:00
Alessandro Ranellucci
dde3e6e870
Disable Net::DBus. #1015
2013-04-29 15:57:07 +02:00
Alessandro Ranellucci
c2301c5796
Don't extend solid layers when fill density is 0
2013-04-29 15:55:50 +02:00
Alessandro Ranellucci
f7153d67d0
Make preset placeholders available in Quick Slice too. #921
2013-04-28 23:26:50 +02:00
Alessandro Ranellucci
bde730a611
Little fix in SectionCut.pm
2013-04-28 11:31:03 +02:00
Alessandro Ranellucci
6db8afe36d
New option to remember last output directory. #698
2013-04-27 21:07:30 +02:00
Alessandro Ranellucci
f5bda326b8
Version check. #1006
2013-04-27 20:55:43 +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
Alessandro Ranellucci
6842114d3d
Fix for rectilinear infill failing in plates with new caching
2013-04-26 17:14:30 +02:00
Alessandro Ranellucci
24fd152ce4
Bugfix: cooling buffer was broken. #1149
2013-04-24 11:19:08 +02:00
Miro Hrončok
55c413627f
Bugfix: configuration wizard crash 2 #1077
2013-04-23 16:17:43 +03:00
Mark Hindess
8c26f0da30
Avoid memory leaks by breaking reference cycle: Print -> Fill -> Print
2013-04-18 22:49:43 +01: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
Mark Hindess
407de02fe4
Use binary search for get_layer_range.
...
Gives a 13% speed up on Teethy_Tiki.stl (thing:49334) with default settings
on my laptop.
When $self->layers->[0]->slice_z == $min_z the returned $min_layer value is
0 rather than the (incorrect?) -1 returned by the old code.
2013-04-18 19:29:05 +01:00
Alessandro Ranellucci
4e6c58f749
TYpo
2013-04-18 19:49:02 +02:00
Alessandro Ranellucci
17f76c4951
Move bridge detection to its own method
2013-04-18 18:43:46 +02:00
Alessandro Ranellucci
e088d9b3f7
Cache Slic3r::Fill object
2013-04-18 18:40:59 +02:00
Alessandro Ranellucci
312bb285a0
Fix initialization of Rectilinear filler
2013-04-18 18:37:46 +02:00
Alessandro Ranellucci
c46bfc71b4
Merge branch 'master' into boost-optimizations
2013-04-18 17:48:46 +02:00
Alessandro Ranellucci
01bd9040f5
Fix syntax for ex_int_offset2()
2013-04-18 17:46:13 +02:00
Alessandro Ranellucci
b160feacfd
Merge branch 'master' into clipper-optimizations
2013-04-18 17:36:42 +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
94ed6cd239
Always move Z at travel speed. #1093
2013-04-08 22:23:51 +02:00
Jesse Vincent
7ec6332141
split apart the math in nearest_point_index and short-circuit if we know the candidate is no good
2013-04-07 19:53:15 -04:00
Jesse Vincent
e8ca1e59a6
no functional change. only return from one place for clarity
2013-04-07 19:44:32 -04:00
Jesse Vincent
da0e67a891
Only look up $point's X and Y once, rather than once on every pass through the loop.
...
(Those lookups are expensive)
2013-04-07 18:28:08 -04:00
Jesse Vincent
3e8c5804fe
Inline comparable_distance_between_points
...
It was called on an incredibly hot codepath from a single place. At 12313276 calls
on my test .stl, the sub call overhead alone was a significant perf hit.
2013-04-07 18:13:40 -04:00
Jesse Vincent
060d2da7fe
Small optimization on an incredibly hot codepath.
2013-04-07 18:01:15 -04:00
Alessandro Ranellucci
7e51cbcf69
Allow 0.1mm slots. #959 #1056
2013-04-04 01:24:40 +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
Alessandro Ranellucci
b725847a51
Bugfix: configuration wizard led to crash with simple mode. #1077
2013-04-03 19:26:59 +02:00
Alessandro Ranellucci
88e70a59c7
Don't wipe if option is disabled
2013-04-03 19:08:12 +02:00
Alessandro Ranellucci
d089d2b2d4
Bugfix: crash introduced by wipe
2013-04-03 19:06:33 +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
bf809d1fd0
Use linestring_length() from Boost
2013-03-31 19:50:22 +02:00