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
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
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
c2aa119c09
Require Boost::Geometry::Utils 0.08
2013-04-09 14:03:24 +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