Commit Graph

1822 Commits

Author SHA1 Message Date
Alessandro Ranellucci
b11b595c97 Ported nearest_point() and nearest_point_index() 2013-08-27 00:52:20 +02:00
Alessandro Ranellucci
f1e9216c70 Save some time in GCode.pm method calls 2013-08-27 00:02:24 +02:00
Alessandro Ranellucci
9fb14f2119 Ported (and used) ExtrusionPath->first_point 2013-08-26 23:42:00 +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
85011dfef3 Ported Surface->p 2013-08-26 23:03:00 +02:00
Alessandro Ranellucci
494ed5c5ad Minor optimization (group offset_ex calls) 2013-08-26 22:54:06 +02:00
Alessandro Ranellucci
706851f836 Ported ExPolygon->area() 2013-08-26 22:50:26 +02:00
Alessandro Ranellucci
792fcba7be Ported Polygon->area 2013-08-26 22:44:40 +02:00
Alessandro Ranellucci
1f734807b9 Ported Polygon->split_at() 2013-08-26 22:39:35 +02:00
Alessandro Ranellucci
9cf831b9c5 Ported union_pt() to XS 2013-08-26 18:37:19 +02:00
Alessandro Ranellucci
443d4e52cb Fixed everything in the XS port 2013-08-26 17:58:37 +02:00
Alessandro Ranellucci
49040db9a3 Fixes to pass all tests 2013-08-26 16:25:42 +02:00
Alessandro Ranellucci
d786dd6c1c Merge branch 'master' into xsdata 2013-08-25 22:34:03 +02:00
Alessandro Ranellucci
4bf08cbdec Minor fix (still no thumbnail) 2013-08-25 22:33:50 +02:00
Alessandro Ranellucci
94a7d6b941 Validate config before launching the object settings dialog 2013-08-25 22:24:43 +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
cb0ee9729f A couple fixes for Windows 2013-08-25 18:08:56 +02:00
Alessandro Ranellucci
ae9f13ed54 Minor fix to font size 2013-08-25 18:04:45 +02:00
Alessandro Ranellucci
ae21a45886 Distinct dialogs for 3D preview and object settings 2013-08-25 18:03:26 +02:00
Alessandro Ranellucci
b55d4a4e4b Merge branch 'master' into plater2 2013-08-25 17:52:21 +02:00
Alessandro Ranellucci
e96d7b1d6a Show facets, materials and manifoldness in info panel 2013-08-25 17:26:55 +02:00
Alessandro Ranellucci
fde6e371a9 Use multiple colors for multimaterial models in 3D preview 2013-08-25 16:35:21 +02:00
Alessandro Ranellucci
5b734f4a13 Merge branch 'master' into plater2
Conflicts:
	lib/Slic3r/GUI/Plater.pm
2013-08-25 16:10:53 +02:00
Alessandro Ranellucci
2fb725405f GUI fixes for Windows 2013-08-25 15:45:22 +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
87b54ba2a0 Plater rearrange experiment 2013-08-25 12:22:05 +02:00
Alessandro Ranellucci
2dd6325bf8 Expose an Open button in the plater 2013-08-25 03:21:20 +02:00
Alessandro Ranellucci
945250c8c2 Show axes and ground 2013-08-25 02:58:50 +02:00
Alessandro Ranellucci
6f1fd51c2e Keep objects vertical in 3D preview 2013-08-25 02:07:51 +02:00
Alessandro Ranellucci
097912755b Fix handling of dirty models with overlapping facets, where some holes became filled because of wrong slice nesting 2013-08-19 16:53:54 +02:00
Alessandro Ranellucci
da1b6117df Minor fix in debug code 2013-08-19 12:16:19 +02:00
Alessandro Ranellucci
94ca28644e Ported union() to XS 2013-08-17 12:24:04 +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
314f377d7b Debugging code 2013-08-13 20:17:17 +02:00
Alessandro Ranellucci
ef8ce1b5ba Improvements to SVG debug tools: honor input order and support all colours 2013-08-13 10:34:49 +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
36596bf569 Bugfix: alignment code for rectilinear infill caused lack of infill (regression in 948b43f). #1387 2013-08-12 20:27:25 +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
4862d832b5 Simplify layer change code now that we have distinct support layers 2013-08-09 19:46:20 +02:00
Alessandro Ranellucci
548b301432 Offset projection of facets before the final union 2013-08-09 16:34:55 +02:00
Alessandro Ranellucci
b956faa153 Adapt avoid_crossing_perimeters code to the recent changes 2013-08-09 16:30:40 +02:00
Alessandro Ranellucci
3751e3813c Fix regression causing too much collapsing of infill regions 2013-08-09 16:18:21 +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
67f5b7ab14 Require --default-acceleration when other acceleration settings are used 2013-08-09 14:33:20 +02:00
Alessandro Ranellucci
99816e07a6 New --first-layer-acceleration option 2013-08-09 14:30:43 +02:00
Alessandro Ranellucci
cde662cb51 Fix collision detection for brim 2013-08-09 14:22:41 +02:00
Alessandro Ranellucci
3427b29a93 Fix wrong slices when many overlapping facets were present in the model 2013-08-08 16:27:41 +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
4438aec12c Revert "Remove thumbnail simplification because it caused loss of very thin parts. #1327"
This reverts commit 1210b89893.

Conflicts:

	lib/Slic3r/GUI/Plater.pm
2013-08-05 20:48:09 +02:00
Alessandro Ranellucci
0ce7ebc4b8 Integerize plater thumbnails 2013-08-05 20:21:08 +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
528595c7f7 Automatically ignore per-role extruders if they're not configured in Printer Settings (only in GUI expert mode) - CLI mode continues to autogenerate extruder settings. #1236 2013-07-31 20:43:19 +02:00
Alessandro Ranellucci
d83b14655a Better tooltip for raft layers 2013-07-31 20:02:24 +02:00
Alessandro Ranellucci
6ddeb2fa07 Initialize support material interface extruder explicitely. #1364 2013-07-31 19:52:25 +02:00
Alessandro Ranellucci
415a2d165a Cleaner code for first layer temperatures 2013-07-31 18:55:23 +02:00
Alessandro Ranellucci
60e5e2166a Include support contact layers in skirt/brim generation 2013-07-31 16:29:44 +02:00
Alessandro Ranellucci
3b47e1a492 New --info option to show file info (size, volume, repair stats). Removed utils/file_info.pl 2013-07-31 15:10:11 +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
4e13d61aed Fix retraction/Z/lift problems after recent changes 2013-07-30 12:15:40 +02:00
Alessandro Ranellucci
913f401280 Merge new-support2 2013-07-29 20:50:26 +02:00
Alessandro Ranellucci
a2cc230bb5 Add note about a bug caused by the disabled optimization about splitting meshes before avoid_crossing_perimeters. #1315 2013-07-29 19:50:47 +02:00
Alessandro Ranellucci
10a8f479f9 Bugfix: lift was not working correctly with multiple extruders and multiple skirt layers. Also, we now ignore all lift settings except the one of the first extruder. Includes regression tests. #1332 #1338 2013-07-29 19:43:57 +02:00
Alessandro Ranellucci
b5907dc734 Bugfix: z_offset was not applied in spiral_vase. Includes regression test #1343 2013-07-29 17:28:30 +02:00
Alessandro Ranellucci
1210b89893 Remove thumbnail simplification because it caused loss of very thin parts. #1327 2013-07-29 16:43:48 +02:00
Alessandro Ranellucci
dc766f9f73 Bugfix: the tangent edge removal algorithm was refactored the wrong way and wasn't used anymore 2013-07-29 14:56:37 +02:00
Alessandro Ranellucci
8fe38d9b71 Bugfix: fatal error when failed loops were included in slices. #1358 2013-07-29 14:17:36 +02:00
Alessandro Ranellucci
9adac636b8 Avoid G92 E0 with sailfish. #1034 2013-07-29 14:17:30 +02:00
Alessandro Ranellucci
80676f358a Keep edge lines in rectilinear infill even when the sides are not perfectly straight 2013-07-29 13:36:22 +02:00
Alessandro Ranellucci
2a2d15e422 Fix error after recent change about bridges 2013-07-29 12:15:30 +02:00
Alessandro Ranellucci
1f36406a62 Bugfix: thin bridge anchors were ignored. #304 2013-07-29 11:54:32 +02:00
Alessandro Ranellucci
948b43fe0d Don't try to align rectilinear infill if solid, otherwise there will be a gap at one side 2013-07-29 11:05:04 +02:00
Alessandro Ranellucci
51de3ce14f Switch print_z to unscaled coordinates 2013-07-29 00:27:53 +02:00
Alessandro Ranellucci
3bcb2f04ed Add spiral vase test for hollow models 2013-07-28 15:02:03 +02:00
Alessandro Ranellucci
91cade7e8f Make sure there are no gaps in spiral vase. Includes regression test. #1251 2013-07-28 13:39:15 +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
0a8872ca6c Extend utils/dump-stl.pl to also write STL files 2013-07-26 19:25:15 +02:00
Alessandro Ranellucci
debe540018 Better name for wipe 2013-07-26 16:23:43 +02:00
Alessandro Ranellucci
aa194c8125 Fix little regression causing object height not to be updated when object in plater was scaled 2013-07-26 14:30:00 +02:00
Alessandro Ranellucci
c1c1416838 Scale layer height ranges too when scaling object in plater. #1284 2013-07-26 14:26:59 +02:00
Alessandro Ranellucci
a145f1b6aa Don't merge adjacent bridges so that more correct angles can be detected for each one 2013-07-26 12:31:44 +02:00
Alessandro Ranellucci
c69edf27e9 Bugfix: only_retract_when_crossing_perimeters was not triggering retraction when moving between islands that are covered/bridged on the above layer. #1308 2013-07-26 10:52:22 +02:00
Alessandro Ranellucci
37bf0fa53b Bugfix: medial axis thin wall detection was triggered when not needed 2013-07-26 00:13:24 +02:00
Alessandro Ranellucci
8fe228fcee Smarter ordering of gap fill 2013-07-26 00:03:28 +02:00
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