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
Alessandro Ranellucci
1187f4846d
Some Clipper optimizations
2013-03-31 19:40:25 +02:00
Alessandro Ranellucci
0d6ff22e19
Merge branch 'wipe'
2013-03-31 11:36:04 +02:00
Alessandro Ranellucci
04d2231901
Bugfix: is_printable() wasn't discarding narrow ring-shaped top/bottom surfaces because it was only considering the contour. This caused extra shell material even in hollow prints. #1049
2013-03-30 11:22:12 +01:00
Alessandro Ranellucci
7f23e72a10
Display preview for small files too. #929
2013-03-30 00:52:45 +01:00
Alessandro Ranellucci
33a4ec660d
better handling of too-small and too-short models #929 .
...
These changes handle small models better in the plater preview.
Extremely small thumbnails are preserved instead of culled,
allowing the model to be scaled up. The scale range is extended to
100000% to allow mm-scale objects expressed in meters to be opened
and scaled to mm.
Original coding by mesheldrake
2013-03-30 00:47:13 +01:00
Alessandro Ranellucci
ac2356f66a
Don't crash at the end of empty prints. #1042
2013-03-30 00:36:14 +01:00
Alessandro Ranellucci
7b7c9f6330
Launch even if config is corrupted. #1067
2013-03-30 00:30:21 +01:00
Alessandro Ranellucci
f5e48a306d
Bugfix: support material and brim didn't work correctly. Includes unit test. #1074
2013-03-30 00:21:09 +01:00
Alessandro Ranellucci
d4119b0eb1
Better bridge direction detection. #1068
2013-03-29 23:49:58 +01:00
Alessandro Ranellucci
5beb2187d3
Bugfix: infill direction wasn't correctly alternated when infilling every 2 layers. #1068
2013-03-29 19:24:08 +01:00
Alessandro Ranellucci
1b79b1cb20
Refactoring: use the clone() method for inflating Surface objects
2013-03-29 19:18:06 +01:00
Alessandro Ranellucci
e563c62094
Replace SetValue with ChangeValue to avoid wxWidgets to fire useless events
2013-03-29 18:56:34 +01:00
Alessandro Ranellucci
d2b451d9a1
Merge branch 'master' into wipe
2013-03-26 16:28:01 +01:00
Alessandro Ranellucci
aae9625a13
Bugfix: solid-infill-below-area wasn't ignored when fill_density = 0, causing solid layers here and there. #1049
2013-03-26 15:47:40 +01:00
Alessandro Ranellucci
2f046799f2
Removed offset() method from Slic3r::Polygon because it only works with ccw polygons
2013-03-26 14:03:24 +01:00
Alessandro Ranellucci
4c41f6c462
Safer safety_offset() for ExPolygons
2013-03-26 13:57:37 +01:00
Alessandro Ranellucci
769ec0cb03
Better clipping of honeycomb paths
2013-03-26 13:04:57 +01:00
Alessandro Ranellucci
843a700e96
Fixes for wipe
2013-03-25 23:06:18 +01:00
Alessandro Ranellucci
4cb36fcbe2
Remove cooling checkbox from simple mode
2013-03-24 21:28:16 +01:00
Alessandro Ranellucci
6bc5de0b5d
Allow custom ranges with layer_height = 0
2013-03-24 15:26:55 +01:00
Alessandro Ranellucci
b7cd362820
Remove scale from G-code comments
2013-03-19 19:16:13 +01:00
Alessandro Ranellucci
7ec6c6ffba
Lower 0.5*w to 0.4*w to fill finer gaps. #1057
2013-03-19 16:08:19 +01:00
Alessandro Ranellucci
34b192fde3
Merge pull request #1059 from cakeller98/Universal_File_Visibility
...
Added "known" as a valid model file type
2013-03-19 08:05:19 -07:00
Alessandro Ranellucci
9c122bda5e
Fix memory leak in avoid_crossing_perimeters. #1044
2013-03-19 16:02:03 +01:00
Alessandro Ranellucci
813aa5b307
Allow drag and drop for OBJ files
2013-03-19 12:25:10 +01:00
Alessandro Ranellucci
fd2a5e894a
Respect perimeter/infill order when multiple extruders are configured but only one is used
2013-03-19 11:58:03 +01:00
Christopher Keller
8bbaafd830
Added "known" as a valid model file type
...
=> 'Known files (*.stl, *.obj, *.amf)|*.stl;*.STL;*.obj;*.OBJ;*.amf;*.AMF;*.xml;*.XML',
When dialog pops up, it can see ALL known file types instead of only stl.
2013-03-18 20:52:55 -07:00
Alessandro Ranellucci
ec5f0635f7
Add wipe in GUI
2013-03-18 21:20:32 +01:00
Alessandro Ranellucci
96f1b7ab57
Merge branch 'master' into wipe
2013-03-18 21:18:24 +01:00
Alessandro Ranellucci
1abd8c9a9e
Remove the 'simplify' handle in ExtrusionPath after the recent refactoring. #1054
2013-03-18 18:03:14 +01:00
Alessandro Ranellucci
f0ac1c704e
Fix test framework detecting dE=0 as retraction
2013-03-18 18:01:01 +01:00
Alessandro Ranellucci
0b81911cff
Bugfix: artifacts near walls. #1049
2013-03-18 17:55:16 +01:00
Alessandro Ranellucci
8ce31c2a2b
Don't exclude any infill under internal bridges; revert infill pattern to rectilinear for internal bridges. #240
2013-03-18 13:32:19 +01:00
Alessandro Ranellucci
7f917671ab
Bugfix: horizontal projection for high-res models might show corrupted result
2013-03-17 15:39:51 +01:00
Alessandro Ranellucci
8d2c651ef2
$surface->thickness was erroneously defaulting to 1 mm
2013-03-17 14:58:10 +01:00
Alessandro Ranellucci
1064c9bb2a
Merge branch 'master' into grow-narrow
...
Conflicts:
lib/Slic3r/Fill.pm
lib/Slic3r/Print/Object.pm
2013-03-17 02:30:20 +01:00
Alessandro Ranellucci
7de8b20bc4
New wipe feature
2013-03-17 02:22:50 +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
537fca47c5
Use solid infill speed for internal bridges; apply slowdown if any; don't use bridge fan settings. #240
2013-03-17 00:42:53 +01:00
Alessandro Ranellucci
700fee14aa
Set honeycomb as default fill pattern, as it works better at low layer heights and makes stronger parts
2013-03-17 00:24:53 +01:00
Alessandro Ranellucci
c999d0c44f
Set default value for first_layer_height to 0.35mm so that first_layer_extrusion_width = 200% works fine even when user sets layer_height to 0.1. A first layer height of 0.35mm works fine for both 0.35 and 0.5 nozzles so it should be fine for most users
2013-03-17 00:22:53 +01:00
Alessandro Ranellucci
78a4ae4835
Use full flow for sparse infill by default
2013-03-17 00:21:17 +01:00
Alessandro Ranellucci
35bd5a3423
New --solid-infill-extrusion-width option
2013-03-17 00:02:31 +01:00
Alessandro Ranellucci
c13d9e9fb3
Don't collapse overhangs too early
2013-03-16 21:51:38 +01:00
Alessandro Ranellucci
0f5064dd32
Untested fix for incomplete honeycomb support material. #1032
2013-03-16 21:10:12 +01:00
Alessandro Ranellucci
25554a345f
Reorder object copies using a nearest neighbor search
2013-03-16 20:56:14 +01:00
Alessandro Ranellucci
cf5adca928
New --resolution option to simplify input models
2013-03-16 19:58:34 +01:00
Alessandro Ranellucci
10b6bc9d15
Removed keep_meshes
2013-03-16 19:39:00 +01:00
Alessandro Ranellucci
f4b8185698
Fixed typo preventing support material to work with new simplify() syntax
2013-03-16 19:11:49 +01:00
Alessandro Ranellucci
db2e76a0df
New option to change perimeter order. #534
2013-03-16 18:56:49 +01:00
Alessandro Ranellucci
33b40eda18
Always fix self-intersecting polygons that Douglas-Peucker might return
2013-03-16 18:42:56 +01:00
Alessandro Ranellucci
0f8ca6191a
Merge branch 'master' into grow-narrow
2013-03-16 16:22:03 +01:00