Alessandro Ranellucci
8ded268e7e
Take into account that $layerm->perimeters also contains ExtrusionPath objects. #1991
2014-04-30 10:47:31 +02:00
Alessandro Ranellucci
1667d1826d
Put continuous base flange under pillars support material
2014-04-30 01:51:19 +02:00
Alessandro Ranellucci
1d10cd3da6
Also remove bridged perimeters area from support material
2014-04-30 01:20:18 +02:00
Alessandro Ranellucci
3e3cc4171c
TODO about bridges and support material
2014-04-29 23:40:52 +02:00
Alessandro Ranellucci
ef2296dc8d
Make sure interface and base generation honor the gap between support material and object
2014-04-29 23:29:52 +02:00
Alessandro Ranellucci
98e40d3fe4
Store width and height in ExtrusionEntity objects for debugging purposes
2014-04-29 23:16:16 +02:00
Alessandro Ranellucci
a31b2e6ca2
Stricter implementation of the overhang detection. Includes unit tests
2014-04-29 19:58:58 +02:00
Alessandro Ranellucci
ce9cf4d964
Don't put supports under bridges and potential bridges
2014-04-26 17:19:50 +02:00
Alessandro Ranellucci
148c773319
Exclude support from bridged areas
2014-04-26 16:07:43 +02:00
Alessandro Ranellucci
9ee3868f92
Removed debugging line left
2014-04-25 20:05:08 +02:00
Alessandro Ranellucci
7ac0095018
Fix regression causing default extrusion width to be ignored. #1958
2014-04-25 19:39:27 +02:00
Alessandro Ranellucci
fe1691c151
New --cut feature
2014-04-25 10:20:30 +02:00
Alessandro Ranellucci
f6e99f1467
Bugfix: [filament_preset] was not replaced in filename when using Quick Slice. #1870
2014-04-19 12:10:15 +02:00
Alessandro Ranellucci
62e19469bc
Fixed regression in --infill-only-where-needed. Includes a minimal test suite for such feature. #1871
...
Conflicts:
t/fill.t
2014-04-18 21:48:32 +02:00
Alessandro Ranellucci
93a7d87fc6
Bugfix: pillars support material crashed when no overhangs were detected
2014-04-07 16:59:22 +02:00
Alessandro Ranellucci
20df1023a6
Fixed broken command line scaling. Regression test was in previous commit. #1889
2014-04-05 11:22:05 +02:00
Alessandro Ranellucci
d6d6a51e0d
Fix for incomplete extrusion on solid surfaces
2014-04-05 10:54:24 +02:00
Alessandro Ranellucci
45559f87f3
Save the vector used for aligning object volumes to origin and apply it to additional parts added from the object part panel in order to make them coincide
2014-04-02 20:23:26 +02:00
Alessandro Ranellucci
432a87e73d
New option for forcing the generation of interface shells. #1847
2014-03-25 01:11:28 +01:00
Alessandro Ranellucci
ea3266c6e9
Fix modifiers
2014-03-23 16:56:41 +01:00
Alessandro Ranellucci
fec41d6dfd
Update plater and print upon changing object parts and their settings
2014-03-23 16:45:55 +01:00
Alessandro Ranellucci
6a157c22c2
Fixed minor fatal error
2014-03-22 17:44:42 +01:00
Alessandro Ranellucci
7421a7bf63
Turn fill_density into percentage
2014-03-22 16:23:33 +01:00
Alessandro Ranellucci
e837183327
Fixed regression when using --infill-only-where-needed. Includes regression test. #1721
2014-02-16 12:48:07 +01:00
Alessandro Ranellucci
ffc891d885
Bugfix: when processing with fill_density = 0, top/bottom solid shells were missing regions thinner than 3 * extrusion width. Includes regression test. #1602
...
Conflicts:
lib/Slic3r/Print/Object.pm
t/fill.t
2014-02-07 02:07:21 +01:00
Alessandro Ranellucci
89d3dbaa5a
Bugfix: incorrect number of raft layers was generated when too few were requested. #1678
...
Conflicts:
lib/Slic3r/Print/Object.pm
2014-01-11 23:26:48 +01:00
Alessandro Ranellucci
ea173cf815
Bugfix: ambiguous semantics of the layers_count() method caused M73 to go beyond 100%. #1670
...
Conflicts:
lib/Slic3r/GCode.pm
lib/Slic3r/Print.pm
lib/Slic3r/Print/Object.pm
2014-01-11 17:40:09 +01:00
Alessandro Ranellucci
c8a48b4527
Implement modifier volumes and port _merge_loops() to XS
2014-01-07 15:40:38 +01:00
Alessandro Ranellucci
b17d06f9d1
Finished porting BoundingBox to XS
2014-01-07 12:48:09 +01:00
Alessandro Ranellucci
3e93a14912
New support material pattern: pillars!
2014-01-05 16:51:16 +01:00
Alessandro Ranellucci
07b9b12475
Make tests pass
2014-01-05 00:36:33 +01:00
Alessandro Ranellucci
a2cbb261cb
More work for refactoring Flow/Extruder
2014-01-03 20:02:00 +01:00
Alessandro Ranellucci
8ed738d3f7
More incomplete work for Flow/Extruder refactoring
2014-01-03 18:27:46 +01:00
Alessandro Ranellucci
52ce6e4a7b
Some initial work for refactoring Print->extruders
2014-01-03 10:44:36 +01:00
Alessandro Ranellucci
b9793b3f12
Moved first_layer_extrusion_width to PrintConfig
2014-01-03 00:34:30 +01:00
Alessandro Ranellucci
bfa2ee2770
Remove scale, rotate, duplicate, duplicate_grid from config (but leave them in CLI)
2014-01-02 18:01:21 +01:00
Alessandro Ranellucci
385e0e0974
Refactoring: new Slic3r::Print::Simple class for non-interactive slicing (used in CLI and Quick Slice)
2014-01-02 17:54:18 +01:00
Alessandro Ranellucci
5bf0942f45
Satisfy test suite and CLI
2014-01-02 17:24:23 +01:00
Alessandro Ranellucci
e2f1040a76
More work
2014-01-02 10:44:54 +01:00
Alessandro Ranellucci
0883d0f4eb
More work here and there
2014-01-01 17:29:15 +01:00
Alessandro Ranellucci
83326845dd
More incomplete work
2013-12-31 14:33:03 +01:00
Alessandro Ranellucci
beb1baa096
Incomplete work for refactoring regions and flows
2013-12-30 18:28:41 +01:00
Alessandro Ranellucci
1157a7f859
Remove package variable $Slic3r::Config
2013-12-24 11:29:31 +01:00
Alessandro Ranellucci
20f1f3d2b4
Fix regression preventing raft from being generated for the entire object footprint. #1614 #1567
2013-12-23 20:31:50 +01:00
Alessandro Ranellucci
1b9079ffbe
Merge branch 'xs-model'
2013-12-20 01:41:13 +01:00
Alessandro Ranellucci
a6a6a6888b
Ported Slic3r::Print::State to XS
2013-12-20 01:36:42 +01:00
Alessandro Ranellucci
d2295cdf70
New Slic3r::Print::State class
2013-12-19 18:54:24 +01:00
Alessandro Ranellucci
685e8e4dfa
More work for step-based slicing
2013-12-19 15:23:10 +01:00
Alessandro Ranellucci
38ea5f79d7
Merge branch 'xs-model'
2013-12-18 19:20:23 +01:00
Alessandro Ranellucci
15235699e4
Completed adapting plater behavior to new Print object API
2013-12-18 18:54:11 +01:00
Alessandro Ranellucci
916a0a0e58
Fix compilation and test suite
2013-12-18 16:34:31 +01:00
Alessandro Ranellucci
a12b1765d6
Fixed wrong commit f495136
. Thanks pdbogen for the report. #1623
2013-12-18 10:21:17 +01:00
Alessandro Ranellucci
0591eecab7
Lazy mesh generation so that we only keep it in model object
2013-12-18 00:13:41 +01:00
Alessandro Ranellucci
f4951367ea
Fixed fatal error about missing method thin_walls(). #1607 #1615
2013-12-17 16:17:15 +01:00
Alessandro Ranellucci
250608aa52
Move centering outside the Print object
2013-12-15 16:17:12 +01:00
Alessandro Ranellucci
2eff7c238e
Some initial work for stateful Print object
2013-12-13 14:02:01 +01:00
Alessandro Ranellucci
5470fbbebc
Make quick_slice() work with new model handling
2013-12-13 12:18:30 +01:00
Alessandro Ranellucci
0e8a0ef1ca
Refactoring. Use Model class for representing the plate in GUI
2013-12-12 20:19:33 +01:00
Alessandro Ranellucci
57fd6ad563
Removed dependency on ->object from Region.pm
2013-11-26 18:46:48 +01:00
Alessandro Ranellucci
0045f84ed2
Removed chained_path_points()
2013-11-23 21:42:01 +01:00
Alessandro Ranellucci
e75dbf37fa
Never scale TriangleMesh objects
2013-11-23 19:25:33 +01:00
Alessandro Ranellucci
a331f4d27a
Finished porting group() to XS
2013-11-23 18:15:59 +01:00
Alessandro Ranellucci
7475762a27
Remove residual uses of Boost for line clipping
2013-11-21 18:47:25 +01:00
Alessandro Ranellucci
c5f7318fc9
Removed debugging statement
2013-11-20 15:38:51 +01:00
Alessandro Ranellucci
50c0081d25
Update Clipper to 6.0.0
2013-11-20 11:35:58 +01:00
Alessandro Ranellucci
ab3e5b5a2c
No support when --support-material-interface-layers was set to 1. #1515
2013-11-14 18:13:57 +01:00
Alessandro Ranellucci
885ab5844e
Ported regular_points() to XS and renamed it to equally_spaced_points()
2013-11-11 20:59:58 +01:00
Alessandro Ranellucci
6bb425e88d
Minor fix about raft and support after previous commit
2013-11-11 20:50:22 +01:00
Alessandro Ranellucci
9f41f0279e
Some work to reduce recursive dependencies between classes
2013-11-11 20:37:06 +01:00
Alessandro Ranellucci
f491b7ba71
Fix t/support.t
2013-11-02 11:32:23 +01:00
Alessandro Ranellucci
3f7adfc07d
Fix raft_layers according to the new support material logic
2013-11-02 11:16:44 +01:00
Alessandro Ranellucci
ff25cc97fa
Explicitely clip support material with object slices (test case from #1397 )
2013-10-27 23:20:06 +01:00
Alessandro Ranellucci
a99d34a91a
Bad memory access in regular_points()
2013-10-27 20:55:55 +01:00
Alessandro Ranellucci
58d92ac36a
Support interface_layers == 0
2013-10-27 18:54:52 +01:00
Alessandro Ranellucci
0e3c9ebe52
Extend interface into base support when the latter is contained in a hole (for better interface anchoring) and fix contact loops when object is enclosed in a hole
2013-10-27 16:37:04 +01:00
Alessandro Ranellucci
4cba5111a3
Fix generation of contact loops
2013-10-27 15:22:44 +01:00
Alessandro Ranellucci
28e9682d0e
Several changes to support material, including a fix to prevent vertical overlapping and horizontal fusion of support and object
2013-10-27 10:19:26 +01:00
Alessandro Ranellucci
c08d4cc798
Fixed support unit tests and reduced dependency on $object
2013-10-26 17:56:59 +02:00
Alessandro Ranellucci
bdf825d078
Refactoring: split support material code into several methods
2013-10-26 17:20:54 +02:00
Mark Hindess
f523c095b1
Trivial fix for support-related undefined sub errors.
2013-09-24 09:54:23 +01:00
Alessandro Ranellucci
197cd8e68b
Typo
2013-09-19 16:09:47 +02:00
Alessandro Ranellucci
ed529b62f3
Fix threading issue with GUI. #1443 #1444
2013-09-19 16:00:47 +02:00
Alessandro Ranellucci
4fe0675380
Removed ZTable code
2013-09-17 23:55:38 +02:00
Alessandro Ranellucci
a7989e382c
Bugfix: enabling raft layers generated support for the whole model. Includes regression test. #1375
2013-09-17 23:51:30 +02:00
Alessandro Ranellucci
e8323fc339
Move support material code to its own class
2013-09-17 23:27:57 +02:00
Alessandro Ranellucci
6adce9f66b
Update support material code to use shared memory
2013-09-17 23:14:49 +02:00
Alessandro Ranellucci
ea0e136b45
Prevent superfluous extra perimeters added when a region has an acute angle
2013-09-17 20:18:54 +02:00
Alessandro Ranellucci
39449f9245
Revert a recent change made to shells generation, causing too much solid infill. Includes regression test. #1431
2013-09-17 19:24:16 +02:00
Alessandro Ranellucci
c7db2cb10f
Prune tiny shells to avoid random extra internal solid infill. #1431
2013-09-16 12:36:04 +02:00
Alessandro Ranellucci
a821eb7f3c
More work to avoid working with vertices outside XS
2013-09-11 11:55:08 +02:00
Alessandro Ranellucci
566d38a472
Replace TriangleMesh with the XS port
2013-09-10 00:40:46 +02:00
Alessandro Ranellucci
5e34a9cf21
Make Repair() idempotent and lowercase
2013-09-09 23:18:33 +02:00
Alessandro Ranellucci
1b9d2e2ef8
Use the XS slicing code
2013-09-09 18:21:10 +02:00
Alessandro Ranellucci
873762491b
Fix a bad access after recent change about ->p returning objects by reference
2013-09-09 17:10:54 +02:00
Alessandro Ranellucci
8607c559c7
Minor tidying
2013-09-07 00:42:56 +02:00
Alessandro Ranellucci
09684c67c2
Optimization: Remove useless calls to union()
2013-09-07 00:28:53 +02:00
Alessandro Ranellucci
10ab3bbb86
Fix Only infill where needed putting insufficient material. #1412
2013-09-07 00:02:58 +02:00
Alessandro Ranellucci
907ba55aab
Some minor fixes needed after the xsdata merge. #1421
2013-09-06 22:52:56 +02:00
Alessandro Ranellucci
f104659020
Optimization
2013-09-06 19:21:38 +02:00
Alessandro Ranellucci
e02ae0d18a
Return Surface objects by reference from SurfaceCollection objects and fix a bug in XS code causing some shell options to be ignored
2013-09-06 18:36:38 +02:00
Alessandro Ranellucci
cb677c45de
Don't grow horizontal shells having acute angles. #1387
2013-09-06 17:43:40 +02:00
Alessandro Ranellucci
67aefdccc7
Fixed --avoid-crossing-perimeters and --support-material after the xsdata merge
2013-09-04 00:10:53 +02:00
Alessandro Ranellucci
a49dc603cc
Many changes and fixes to remove leaks and return objects by reference
2013-09-03 19:26:58 +02:00
Alessandro Ranellucci
fb763b0187
Removed dependency on Math::Clipper
2013-08-27 01:26:44 +02:00
Alessandro Ranellucci
fe42427a54
Ported Polygon->is_valid() and ExPolygon->is_valid()
2013-08-26 23:27:51 +02:00
Alessandro Ranellucci
da0b85c0d9
Ported ExPolygon->contour and ExPolygon->holes
2013-08-26 23:09:18 +02:00
Alessandro Ranellucci
494ed5c5ad
Minor optimization (group offset_ex calls)
2013-08-26 22:54:06 +02:00
Alessandro Ranellucci
fc9cec9d81
Merge branch 'master' into xsdata
...
Conflicts:
lib/Slic3r/Layer/Region.pm
lib/Slic3r/Print/Object.pm
2013-08-25 19:59:42 +02:00
Alessandro Ranellucci
026e0c06e4
Ability to customize how materials are mapped to extruders. #1020
2013-08-25 19:52:32 +02:00
Alessandro Ranellucci
3d6fb1b05c
New feature: ability to override specific settings for individual objects in the plater. #344
2013-08-25 14:37:50 +02:00
Alessandro Ranellucci
fa07c512b4
Merge branch 'master' into xsdata
...
Conflicts:
lib/Slic3r/Layer/Region.pm
lib/Slic3r/Print.pm
lib/Slic3r/Print/Object.pm
2013-08-16 09:09:56 +02:00
Alessandro Ranellucci
2b36778dc1
Fix a situation where extra perimeters prevented top shell to be fully propagated. #1387
2013-08-13 09:45:33 +02:00
Alessandro Ranellucci
f1922ce7b3
Fix regression causing lack of contact infill
2013-08-12 19:19:22 +02:00
Alessandro Ranellucci
e5fe04ea7a
Make sure teeth are not too tight
2013-08-12 19:10:40 +02:00
Alessandro Ranellucci
9513fa7600
Enforce some horizontal margin between object and interface/support (contact not affected)
2013-08-12 18:55:11 +02:00
Alessandro Ranellucci
ca7d4163d7
Remove jitter and overlaps in interface infill
2013-08-12 18:45:03 +02:00
Alessandro Ranellucci
7062d028d2
Bugfix: top layers were not detected correctly, causing overlap of support material and object in some situations where there were contact regions having the same Z as some top regions
2013-08-12 18:12:53 +02:00
Alessandro Ranellucci
8d413eda44
Refactoring: generate interface and support in different cycles
2013-08-11 19:25:51 +02:00
Alessandro Ranellucci
5f07d39509
Reapply perimeter only to support
2013-08-10 21:30:50 +02:00
Alessandro Ranellucci
5380b6cb33
Incomplete work to improve support material by avoiding thin columns and making sure everything is supported correctly
2013-08-10 19:39:35 +02:00
Alessandro Ranellucci
abb5d1256f
Added some debugging code
2013-08-09 21:27:57 +02:00
Alessandro Ranellucci
5d80c26b29
Adjust collision detection for brim and include support islands inside the only_retract_when_crossing_perimeters logic
2013-08-09 15:04:14 +02:00
Alessandro Ranellucci
f6569cf359
Minor error causing support material to fail when first_layer_height was expressed in % (caught by regression test). #1371
2013-08-08 14:41:23 +02:00
Alessandro Ranellucci
b38cc2c244
Merge branch 'master' into xsdata
...
Conflicts:
lib/Slic3r.pm
lib/Slic3r/ExPolygon.pm
lib/Slic3r/Fill.pm
lib/Slic3r/Fill/Rectilinear.pm
lib/Slic3r/GCode.pm
lib/Slic3r/GUI/Plater.pm
lib/Slic3r/Geometry/Clipper.pm
lib/Slic3r/Layer/Region.pm
lib/Slic3r/Print.pm
lib/Slic3r/Print/Object.pm
lib/Slic3r/TriangleMesh.pm
t/shells.t
xs/MANIFEST
2013-08-08 02:10:34 +02:00
Alessandro Ranellucci
d8e2cde962
Avoid problems caused in support material by layer heights being specified in configuration without the leading 0 (like .25). #1366
2013-07-31 23:44:17 +02:00
Alessandro Ranellucci
1b4878f305
Fix hang in new support material caused by numerical approximation leaving small polygons, as usual
2013-07-30 15:44:08 +02:00
Alessandro Ranellucci
913f401280
Merge new-support2
2013-07-29 20:50:26 +02:00
Alessandro Ranellucci
51de3ce14f
Switch print_z to unscaled coordinates
2013-07-29 00:27:53 +02:00
Alessandro Ranellucci
691c45d57f
Smarter handling of hollow prints. Optimization included
2013-07-28 10:56:41 +02:00
Alessandro Ranellucci
25af3eb35f
Proper fix for preventing shells to propagate too much
2013-07-27 19:41:36 +02:00
Alessandro Ranellucci
6bd4803612
Failing test case about spurious infill in hollow objects, caused by shells being correctly generated even for hollow objects - however sometimes we don't want that
2013-07-26 20:17:33 +02:00
Alessandro Ranellucci
b1147861dd
Implement lower_bound() and upper_bound() methods for ZTable
2013-07-20 21:19:59 +02:00
Alessandro Ranellucci
1b285f3f46
Thread-safe integration of ExtrusionPath::Collection
2013-07-18 22:29:12 +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
898007fc36
Port offset_ex() and offset2_ex() to XS
2013-07-16 20:09:53 +02:00
Alessandro Ranellucci
9b582a11ff
Adopt XS containers everywhere (incomplete work)
2013-07-16 09:49:34 +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
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
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
985af5ee56
Merge branch 'newslice'
2013-07-06 12:16:54 +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
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
1565560b55
One more little optimization
2013-06-22 20:37:15 +02:00
Alessandro Ranellucci
ac4a0bcdd8
Refactoring: use Slic3r::Geometry::BoundingBox objects everywhere
2013-06-16 12:21:25 +02:00
Alessandro Ranellucci
20158aac0d
Merge branch 'issue1161'
2013-06-15 18:08:01 +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
d5a9320587
Bugfix: narrow top surfaces didn't generate solid layers. #1161
2013-06-08 17:48:34 +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
7134df4638
Only skip objects with no layers without stopping the whole job
2013-06-03 11:39:23 +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
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
bbb190dc68
Generate infill using each object's bounding_box instead of full print. #1177
2013-05-19 11:35:41 +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
c2301c5796
Don't extend solid layers when fill density is 0
2013-04-29 15:55:50 +02: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
e088d9b3f7
Cache Slic3r::Fill object
2013-04-18 18:40:59 +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
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
1b79b1cb20
Refactoring: use the clone() method for inflating Surface objects
2013-03-29 19:18:06 +01:00
Alessandro Ranellucci
6bc5de0b5d
Allow custom ranges with layer_height = 0
2013-03-24 15:26:55 +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
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
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
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
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
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
Alessandro Ranellucci
dc0f706789
Bugfix: simplification of support areas could lead to complex polygons with bad orientation, thus causing wrong pattern clipping. #1032
2013-03-14 14:27:08 +01:00
Alessandro Ranellucci
d9b82c79da
Grow narrow infill regions into void - to be tested more
2013-03-13 01:03:54 +01:00
Alessandro Ranellucci
6058384978
Fixed regression causing crash when support material threshold angle was defined. #1048
2013-03-12 19:39:43 +01:00
Alessandro Ranellucci
999af84c54
Don't make internal bridges when fill_density == 1. #1045
2013-03-11 18:41:12 +01:00
Alessandro Ranellucci
0eecf33198
Bugfix: narrow solid shells were collapsed when spacing was added before generating infill, so we grow them
2013-03-11 18:37:01 +01:00
Alessandro Ranellucci
b7945ac790
Finished new extra perimeters implementation
2013-03-11 14:23:16 +01:00
Alessandro Ranellucci
74e21d7a04
New implementation of extra perimeters - to test
2013-03-10 19:08:36 +01:00
Alessandro Ranellucci
f670acb4b1
Slice a single object with multiple layer heights. :-)
2013-03-10 14:58:49 +01:00
Alessandro Ranellucci
17cbca5e06
Factor out layer height in support material generation
2013-03-10 12:22:40 +01:00
Alessandro Ranellucci
2ab5fa9c72
Factor out layer height from combine_infill()
2013-03-10 12:08:18 +01:00
Alessandro Ranellucci
2275de9f0d
Factored out the layer height logic
2013-03-10 11:37:16 +01:00
Alessandro Ranellucci
36d24ccb0b
Infill refactoring and cleanup complete
2013-03-07 15:47:32 +01:00
Alessandro Ranellucci
a9df56670f
Bugfix: internal-bridge regions were not touching perimeters
2013-03-05 19:33:06 +01:00
Alessandro Ranellucci
a9090688f9
Refactor bridge flow to Slic3r::Flow::Bridge class
2013-02-27 10:43:50 +01:00
Alessandro Ranellucci
d00c2882c4
Remove debug line slipped into last commit
2013-02-27 10:30:05 +01:00
Alessandro Ranellucci
37be4f7319
Some cleanup for detect_surfaces_type()
2013-02-26 20:52:13 +01:00
Alessandro Ranellucci
f4e8cdbf36
Better logic for extra perimeters
2013-02-26 20:00:05 +01:00
Alessandro Ranellucci
bd76e7677c
Adjust extra perimeters
2013-02-24 17:04:19 +01:00
Alessandro Ranellucci
c3dde74776
Fix brim and extra perimeters after recent changes to ->slices
2013-02-24 16:40:14 +01:00
Alessandro Ranellucci
de0c2febd9
Remove useless lines
2013-02-23 23:50:46 +01:00
Alessandro Ranellucci
08a72c0824
Use bridge math for the first solid infill layer above sparse infill. #240
2013-02-23 21:39:13 +01:00
Alessandro Ranellucci
5eade0f9e1
Don't validate the number of layers for infill combination, just limit it automatically. #993
2013-02-22 16:24:24 +01:00
Alessandro Ranellucci
91bcfc8a74
Remove $Slic3r::flow and $Slic3r::first_layer_flow
2013-02-22 16:08:11 +01:00
Alessandro Ranellucci
b9c84490b8
Get rid of most calls to $Slic3r::flow
2013-02-19 12:37:26 +01:00
Alessandro Ranellucci
6dc62d3cf2
Disable extra perimeters if fill density is zero as they wouldn't be supported by anything and would just float inside the object. infill_only_where_needed should be the method of choice for hollow objects
2013-02-19 12:37:26 +01:00
Mike Sheldrake
c2f04f2861
avoid overlap of single layer and multilayer fill
...
A single-layer rectilinear or honeycomb fill under a low slope
wall/ceiling or extra perimeter will stick out from under the
overhang, because those fills get extended beyond their fill_surface
boundaries to purposely overlap perimeters. This causes interference
with multil-layer fills. This commit clips the single layer fill
boundaries a bit more where they interface with multi-layer fill
boundaries, to avoid overlap.
2013-02-18 07:26:19 -08:00
Mike Sheldrake
9a86edc70c
account for extrusion width when clearing layers for combined infill
...
Otherwise you get extraneous fill up against sloped walls in regions
of layers that should not have fill, like in #834 .
2013-02-16 07:53:47 -08:00
Alessandro Ranellucci
c9b506fa02
New simpler and more robust implementation of infill every 'n' layers
2013-02-10 12:40:43 +01:00
Alessandro Ranellucci
cac79c0575
New option to only infill where strictly needed for supporting ceilings
2013-02-09 23:36:32 +01:00
Alessandro Ranellucci
cf8cfc1380
Bugfix: angle threshold was considered even when enforcing support
2013-02-09 21:49:00 +01:00
Alessandro Ranellucci
e593a30fc7
Skip support material for one-layer objects
2013-02-06 10:40:08 +01:00
Alessandro Ranellucci
4f91bed904
Optimize cycling in get_layer_range()
2013-02-05 21:59:18 +01:00
Alessandro Ranellucci
8efe46e58d
New option to enforce support material on a given number of layers to improve adhesion of objects with poor footprint
2013-02-04 15:48:57 +01:00
Alessandro Ranellucci
9222526e03
Customizable number of interface layers for support material and raft
2013-02-03 17:23:50 +01:00
Alessandro Ranellucci
acada05068
Merge branch 'raft'
2013-02-02 16:17:05 +01:00
Alessandro Ranellucci
c7b4d99d7e
Generate raft automatically even when support material is disabled
2013-02-02 16:16:43 +01:00
Alessandro Ranellucci
02c0f3658f
Use 50% density for support base flange
2013-02-02 15:37:09 +01:00
Alessandro Ranellucci
d3727a1699
Add ability to have cross-hatched rectilinear support material. #509
2013-02-02 00:14:45 +01:00
Alessandro Ranellucci
547dfb857d
Workaround for Boost clipping not being idempotent and causing lack of support material
2013-02-01 23:45:46 +01:00
Alessandro Ranellucci
eae1e7adc2
Make a solid base below support material on first layer
2013-02-01 22:13:12 +01:00
Alessandro Ranellucci
1de0169910
Multithreaded perimeter generation. #154
2013-01-31 15:44:55 +01:00
Alessandro Ranellucci
177f1a9bf0
New raft_layers option. #123
2013-01-28 14:12:01 +01:00
Alessandro Ranellucci
92feebf5fe
Fixed regression introduced in 4d8757bf5d
causing crash during support material generation
2013-01-17 12:32:57 +01:00
Alessandro Ranellucci
4d8757bf5d
Interface support layers were clipped badly. Also, reduce simplification of the clipping boundaries. #583
2013-01-17 11:59:14 +01:00
Mike Sheldrake
f3a1221039
per-thread clipper object for parallel support generation #888
2013-01-16 06:00:04 -08:00
Mike Sheldrake
85934e1738
use infill flow spacing, not perimeter, for combine_infill() clip offsets
2013-01-15 22:13:11 -08:00
Mike Sheldrake
bce3e96210
extraneous fill against sloped walls with fill every N layers #834
...
Polygons used for N x depth fill surfaces need to be offset
by flow spacing before they are reused to clip lower fill surfaces.
Otherwise thin fill sections remain on clipped layers against sloping
walls, and the N x depth fill collides with them.
2013-01-14 21:18:31 -08:00
Alessandro Ranellucci
34e047205a
Automatic detection of support material threshold angle
2013-01-02 19:40:48 +01:00
Alessandro Ranellucci
30d9b2e508
Refactoring: initialize all layers at once and avoid duplication of slicing height math. #637
2013-01-01 23:28:48 +01:00
Alessandro Ranellucci
0da71dbdfa
Fix regression causing wrong number of solid shells when using fill_density = 0 (includes regression test)
2012-12-23 20:20:17 +01:00
Alessandro Ranellucci
15f07197d8
Don't store ->surfaces anymore. Save memory, save time
2012-12-22 23:57:39 +01:00
Alessandro Ranellucci
5930267de9
Bugfix: some top/bottom solid shells are not treated as solid. #689
2012-12-21 20:25:48 +01:00
Alessandro Ranellucci
d5537e7797
Enable retraction for support material too, but only when moving away from support islands. #831
2012-12-20 18:47:40 +01:00
Alessandro Ranellucci
d6d96391a9
Avoid overextrusion when support material spacing is configured to < the extrusion spacing. #821
2012-11-23 17:15:52 +01:00
Alessandro Ranellucci
cb4ede7f9e
Do not pass the Print object to SVG::output anymore
2012-11-01 11:34:53 +01:00
Alessandro Ranellucci
44d91774a6
Get rid of useless Slic3r::Fill instances
2012-10-30 15:38:17 +01:00
Alessandro Ranellucci
709cbc1c15
Fixed regression causing support material generation to fail under threaded perls
2012-10-29 19:38:40 +01:00
Alessandro Ranellucci
ccb49a8439
Do a slightly thinner interface layer at the top of support material structures by taking into account the diameter of bridge extrudates (nophead's idea)
2012-10-28 16:59:20 +01:00
Alessandro Ranellucci
b5bd216f5c
Do not combine infill for bottom layer
2012-10-28 14:23:47 +01:00
Alessandro Ranellucci
f35cdef2aa
Renamed ExtrusionPath->depth_layers to height
2012-10-28 14:22:51 +01:00
Alessandro Ranellucci
2796041a6c
Bugfix: --top-solid-layers was ignored. #769
2012-10-28 12:52:53 +01:00
Alessandro Ranellucci
cee3864fc9
Independently set number of top/bottom solid layers. #676
2012-10-25 12:21:04 +02:00
Alessandro Ranellucci
3c7785aaf3
Useless extra perimeters were generated sometimes. #444 #732
2012-10-22 13:21:11 +02:00
Alessandro Ranellucci
c68862582c
Fix fatal error on empty layers caused by recent large refactorings
2012-09-28 15:48:32 +02:00
Alessandro Ranellucci
ab7697ec1c
New option to force a solid layer every given number of layers. #617
2012-09-28 15:46:29 +02:00
Alessandro Ranellucci
bbe0a45b58
Optimization: cache scaled flow width and spacing
2012-09-23 03:03:08 +02:00
Alessandro Ranellucci
ec0d3987db
Rename materials to regions
2012-09-23 02:52:31 +02:00
Alessandro Ranellucci
e696764af8
Assign extruders and flows to materials
2012-09-23 02:40:25 +02:00
Alessandro Ranellucci
e2ab340edb
Fix positioning and other things
2012-09-22 21:03:57 +02:00