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
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
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
3f7adfc07d
Fix raft_layers according to the new support material logic
2013-11-02 11:16: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
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