Commit Graph

2127 Commits

Author SHA1 Message Date
Alessandro Ranellucci
4a894b1e20 Add safety offset to thin wall regions to prevent overlapping geometry and corrupt Voronoi diagram 2014-03-05 00:45:17 +01:00
Alessandro Ranellucci
3c77b301a7 Promising approach to medial axis pruning 2014-03-04 23:33:13 +01:00
Alessandro Ranellucci
8644440070 Minor improvements to SVG debug output for medial axis 2014-03-03 14:20:15 +01:00
Alessandro Ranellucci
eadffe4a9e Merge branch 'master' into boost-medialaxis
Conflicts:
	lib/Slic3r/Layer/Region.pm
	xs/src/ExPolygon.cpp
	xs/src/Point.cpp
	xs/src/Point.hpp
	xs/src/TriangleMesh.cpp
	xs/t/01_trianglemesh.t
2014-03-02 22:36:20 +01:00
Alessandro Ranellucci
0f9e143ba1 Removed debugging line 2014-03-02 00:44:16 +01:00
Alessandro Ranellucci
2295d48947 Better pruning of thin walls to avoid unwanted extra extrusions. Includes regression test. #1794
Conflicts:

	lib/Slic3r/Layer/Region.pm
2014-03-02 00:31:17 +01:00
Alessandro Ranellucci
a344d68257 Use bridge speed for first solid layer above sparse infill. Includes unit test. #1792 2014-03-01 20:35:44 +01:00
Mark Hindess
59ebdebf72 Revert "Fix crash reported by Simooon on #Slic3r."
It turns out this helped on the version of stable I was using
but not on master.

This reverts commit 8df6e2d930.
2014-02-16 14:00:28 +00:00
Mark Hindess
8df6e2d930 Fix crash reported by Simooon on #Slic3r.
Error was:

  Argument "" isn't numeric in subroutine entry at
    lib/Slic3r/GUI/OptionsGroup.pm line 392
2014-02-16 12:05:01 +00: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
878deb8183 Write material config to AMF files. Remove the old Materials tab. Update custom settings when a part is selected 2014-02-15 00:36:52 +01:00
Alessandro Ranellucci
691db31da0 Some incomplete work for per-region config 2014-02-14 22:26:00 +01:00
Alessandro Ranellucci
2e7b29fbdd Minor layout changes to the Parts editor 2014-02-14 22:25:59 +01:00
Alessandro Ranellucci
bf307371f4 Use a plain list instead of a tree to display object parts 2014-02-14 22:25:59 +01:00
Alessandro Ranellucci
df508551d0 Refresh plater canvas when switching presets 2014-02-14 22:25:58 +01:00
Alessandro Ranellucci
4c650a6d80 Fix regression about percent extrusion width not being validated. Includes regression test 2014-02-13 18:42:49 +01:00
Alessandro Ranellucci
49d290accf Fixed spiral vase regressions. Includes regression tests. #1773 2014-02-13 16:11:12 +01:00
Alessandro Ranellucci
0060873f1c Regression test and incomplete fix for bug affecting wrong spiral vase output. #1773
Conflicts:

	lib/Slic3r/GCode/Layer.pm
2014-02-13 16:11:02 +01:00
Alessandro Ranellucci
94cb298eec Make OpenGL optional for the new parts dialog. #1731 2014-02-11 01:09:10 +01:00
Alessandro Ranellucci
b961849c38 Bugfix: crashing when concentric infill produced very narrow loops. #1740
Conflicts:

	lib/Slic3r/Fill/Concentric.pm
2014-02-10 16:05:40 +01:00
Alessandro Ranellucci
3d483722c6 Perform additional checks before merging solid surfaces (i.e. take flow and fill pattern into account) 2014-02-10 13:19:44 +01:00
Alessandro Ranellucci
634ccb33ab Fix regression in Config->setenv affecting post-processing scripts. Includes regression test 2014-02-09 23:14:32 +01:00
Alessandro Ranellucci
bba69ed22f Merge pull request #1742 from treygreer/master
fixed simple config load bug
2014-02-07 02:12:42 +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
Trey Greer
0dba3dee58 fixed simple config load bug 2014-01-28 19:05:20 -05:00
Alessandro Ranellucci
42519174cd New erase() method for DynamicConfig objects 2014-01-22 21:15:19 +01:00
Alessandro Ranellucci
b5b8fb606f Basic functionality of the Parts tab is complete 2014-01-22 21:15:19 +01:00
Alessandro Ranellucci
7387e60706 More incomplete work 2014-01-22 21:15:19 +01:00
Alessandro Ranellucci
b20caa4e31 Completed parts visualization with highlighting 2014-01-22 21:15:19 +01:00
Alessandro Ranellucci
3f4f27fa5d Some incomplete work for interactive part editor 2014-01-22 21:15:18 +01:00
Alessandro Ranellucci
fd43ada293 Remove duplicated "Generating skirt" status message 2014-01-18 16:36:13 +01:00
Alessandro Ranellucci
90194ee581 Fix overflow in Point::ccw() affecting convex hull generation. Includes regression test 2014-01-17 14:49:51 +01:00
Alessandro Ranellucci
86f91bb3c4 New TriangleMeshSlicer::cut() method 2014-01-16 11:25:26 +01:00
Alessandro Ranellucci
dfd9bc8958 Bugfix: prevent fatal error in the rare case that no bridge anchors are found. #1607 2014-01-15 00:24:37 +01:00
Alessandro Ranellucci
a40556ab56 Repair meshes after splitting 2014-01-14 22:06:28 +01:00
Alessandro Ranellucci
79a2bab261 Revert stupid change that broke plater and provide the correct fix for --info 2014-01-14 21:46:39 +01:00
Alessandro Ranellucci
51af10da4f Some fixes to config API 2014-01-12 12:35:13 +01:00
Alessandro Ranellucci
12b661e877 Adapt skirt logic to the potential situation of objects with different layer heights 2014-01-12 11:06:21 +01:00
Alessandro Ranellucci
a51743a8c1 Bugfix: lack of strong type checking when passing arrayref objects to XS caused random lack of infill. Now added strong type checking for all XS entities. Also fixes a potential issue with bridges caused by the same error. #1652
Conflicts:

	lib/Slic3r/Layer/Region.pm
2014-01-12 00:54:10 +01:00
Alessandro Ranellucci
e68cbede6e Add scale rotate duplicate_grid to @Ignore and fix @Ignore which was ignored 2014-01-11 23:46:20 +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
e7349622a2 Removed dependency on Storable; some fixes in Build.PL. #1693 2014-01-11 21:46:22 +01:00
Alessandro Ranellucci
c99b9d91db Fix bug in regression infill causing bad clipping at very low layer heights. Includes regression test. #1669
Conflicts:

	lib/Slic3r/Fill/Rectilinear.pm
2014-01-11 21:34:26 +01:00
Alessandro Ranellucci
3084876e60 Fixed --info 2014-01-11 18:05:14 +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
c0a74780cb The ratio_over parameter was missing in the definition of first_layer_extrusion_width 2014-01-11 14:48:13 +01:00
Alessandro Ranellucci
ed3a6349c7 Adapt the new gcode.t test to master (and subtract final retraction from used filament length) 2014-01-11 14:42:31 +01:00
Alessandro Ranellucci
9515acf527 Put a hard limit on manually configured extrusion widths (10 * the largest nozzle diameter configured) to prevent confusion when a bad value is entered. #1691
Conflicts:

	lib/Slic3r/Config.pm
2014-01-11 14:32:42 +01:00
Alessandro Ranellucci
7b0decbeb1 Finished implementing Boost.Polygon medial axis. Some cleanup needed 2014-01-10 16:18:55 +01:00
Alessandro Ranellucci
07a4c37c4c Semi-working Boost.Polygon medial axis. Hangs after perimeters, though. Needs pruning and chaining 2014-01-10 11:47:16 +01:00
Alessandro Ranellucci
bf91f3096a Incomplete work for using Boost.Polygon to compute medial axis 2014-01-09 17:26:39 +01:00
Alessandro Ranellucci
11f065ca5e New object dialog tab with list of materials and volumes 2014-01-08 19:36:41 +01:00
Alessandro Ranellucci
6da98a6ecc Fix GUI 2014-01-07 19:08:37 +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
9c0a6a79d3 Incomplete work for porting BoundingBox to XS 2014-01-06 18:29:10 +01:00
Alessandro Ranellucci
3e93a14912 New support material pattern: pillars! 2014-01-05 16:51:16 +01:00
Alessandro Ranellucci
499b34dea1 Catch any click inside thumbnail's contour for easier selection of thin-walled objects 2014-01-05 15:02:12 +01:00
Alessandro Ranellucci
0bdea60b53 Merge branch 'region-config'
Conflicts:
	lib/Slic3r/Format/AMF/Parser.pm
2014-01-05 14:59:36 +01:00
Alessandro Ranellucci
2754ddf215 Fix positioning of loded AMF plates 2014-01-05 14:04:32 +01:00
Alessandro Ranellucci
036badf932 Ported Flow to XS 2014-01-05 13:16:13 +01:00
Alessandro Ranellucci
87342d324c Fix typo 2014-01-05 01:25:39 +01:00
Alessandro Ranellucci
4e76a9e4c9 Parse options from AMF metadata 2014-01-05 01:24:31 +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
81663215c5 Adapt plater to the new split config 2014-01-02 22:06:58 +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
d29e341a8b Parse options from AMF metadata 2013-12-30 19:00:32 +01:00
Alessandro Ranellucci
beb1baa096 Incomplete work for refactoring regions and flows 2013-12-30 18:28:41 +01:00
Alessandro Ranellucci
ca2952060d Draw more detailed thumbnails in plater and turn cursor to hand also when moving inside holes (otherwise objects with thin walls would not be easy to select) 2013-12-29 01:28:06 +01:00
Alessandro Ranellucci
13d7b39072 Fix random crashes on 32-bit. Thank you Valgrind 2013-12-28 15:37:04 +01:00
Alessandro Ranellucci
57e4e5c8e1 One more fix for ooze_prevention and skirt_height == -1 2013-12-24 15:33:54 +01:00
Alessandro Ranellucci
f9d38f6655 Allow value -1 for skirt_height with the meaning of: as tall as the object. This might fix an overflow on 32-bit systems when ooze_prevention is enabled 2013-12-24 15:16:10 +01:00
Alessandro Ranellucci
bd133d9434 Update Clipper to 6.1.2 2013-12-24 12:40:46 +01:00
Alessandro Ranellucci
1a690589a8 Satisfy test suite 2013-12-24 12:03:30 +01:00
Alessandro Ranellucci
2956c1a2e5 More work for removing references to $Slic3r::Config 2013-12-24 11:58:36 +01:00
Alessandro Ranellucci
1157a7f859 Remove package variable $Slic3r::Config 2013-12-24 11:29:31 +01:00
Alessandro Ranellucci
7ddf4f3ddf Fixes to complete_objects to make t/gcode.t pass 2013-12-24 01:13:02 +01:00
Alessandro Ranellucci
c5ead0f2a6 Fixes to Config and plater; also refactored the arrange() code 2013-12-24 00:30:51 +01:00
Alessandro Ranellucci
87c5427010 Fixed regression causing incomplete gap fill when all configured perimeters were successfully generated. #1589 2013-12-23 21:23:26 +01:00
Alessandro Ranellucci
7389bf3953 Partially revert cacbaa7319: no need for it in master branch 2013-12-23 20:40:44 +01:00
Alessandro Ranellucci
cacbaa7319 Fix regression causing thin walls to come out as zigzag paths. #1573 #1575 2013-12-23 20:37:46 +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
fc5aac0ff6 Bugfix: fan wasn't turned on for bridges when vibration limit or another internal post-processor was enabled. Includes regression test. #1533 2013-12-23 01:19:53 +01:00
Alessandro Ranellucci
4f58a1c401 Rewrite avoid_crossing_perimeters() to fix a regression and get better performance by choosing regular points along contours. #1531
Conflicts:

	lib/Slic3r/GCode/MotionPlanner.pm
2013-12-22 19:07:07 +01:00
Alessandro Ranellucci
ab25cc4940 Merge branch 'xs-config'
Conflicts:
	lib/Slic3r/Config.pm
	xs/MANIFEST
2013-12-22 01:41:55 +01:00
Alessandro Ranellucci
c0070a8d54 Satisfy test suite with new XS based config 2013-12-22 01:38:10 +01:00
Alessandro Ranellucci
9fb62e671f Adapt GUI to new XS Config 2013-12-22 01:27:09 +01:00
Alessandro Ranellucci
4515d90052 Finished porting Config and option definition to XS 2013-12-22 00:39:03 +01:00
Alessandro Ranellucci
9836e963a5 Incomplete work for adapting the application to the new XS-based Config 2013-12-21 21:06:45 +01:00
Alessandro Ranellucci
1b9079ffbe Merge branch 'xs-model' 2013-12-20 01:41:13 +01:00
Alessandro Ranellucci
1cee992604 Temporarily disabled step-based slicing 2013-12-20 01:38:00 +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
5280b05ebb Initial work for step refactoring 2013-12-19 12:11:02 +01:00
Alessandro Ranellucci
38ea5f79d7 Merge branch 'xs-model' 2013-12-18 19:20:23 +01:00
Alessandro Ranellucci
266673213d New option for turning autocentering off. #404 2013-12-18 19:11:20 +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
e4c9171890 Handle read_from_file() exceptions in GUI. #1619 2013-12-17 16:14:00 +01:00
Alessandro Ranellucci
94743d3af0 Handle read_from_file() exceptions in GUI. #1619 2013-12-17 16:11:42 +01:00
Alessandro Ranellucci
2d045d1f39 Removed extra line 2013-12-17 16:01:25 +01:00
Alessandro Ranellucci
02df73c94b More refactoring to clean up the Print object API 2013-12-16 00:54:59 +01:00
Alessandro Ranellucci
d3171b1eea More work for updating the embedded Print object when Model is changed in plater 2013-12-16 00:36:53 +01:00
Alessandro Ranellucci
fcbd62f07c Finished updating plater to the new centering logic 2013-12-15 23:50:05 +01:00
Alessandro Ranellucci
4993b12799 Some initial work for adapting plater to the new centering workflow 2013-12-15 18:00:44 +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
14c97978c7 Use 0,0 for default instance 2013-12-13 12:24:23 +01:00
Alessandro Ranellucci
21ca1901c1 Merge branch 'xs-model'
Conflicts:
	lib/Slic3r/Model.pm
2013-12-13 12:22:17 +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
f55e057504 More work for refactoring add_model() to add_model_object(). Tests pass 2013-12-09 01:12:37 +01:00
Alessandro Ranellucci
a02ce3257e Merge branch 'stable' 2013-12-07 21:03:57 +01:00
Alessandro Ranellucci
0afee63e84 Fixed regression in object placement in STL export. #1552 2013-12-07 21:03:10 +01:00
Alessandro Ranellucci
12db58c9d0 Merge branch 'stable' 2013-12-07 14:54:07 +01:00
Alessandro Ranellucci
00e8ba4781 Fix regression causing complete_objects to skip Z moves after first object is complete. Includes regression test. #1582 #1541 2013-12-07 14:52:59 +01:00
Alessandro Ranellucci
0339d5423d Merge branch 'master' into xs-model 2013-12-06 22:48:42 +01:00
Alessandro Ranellucci
f4d12b5930 Don't return the cached bounding box but clone it 2013-12-06 22:48:12 +01:00
Alessandro Ranellucci
72fe6d903c Don't return the cached bounding box but clone it 2013-12-06 19:34:50 +01:00
Alessandro Ranellucci
7871673bf6 Initial work for new model handling 2013-11-27 12:18:24 +01:00
Alessandro Ranellucci
57fd6ad563 Removed dependency on ->object from Region.pm 2013-11-26 18:46:48 +01:00
Alessandro Ranellucci
bd8c430afd Merge branch 'stable'
Conflicts:
	lib/Slic3r/Geometry/Clipper.pm
	lib/Slic3r/Layer/Region.pm
2013-11-24 22:48:31 +01:00
Alessandro Ranellucci
3fca0956bc Adapt plater to new convex hull 2013-11-24 22:42:52 +01:00
Alessandro Ranellucci
bed1625d6b Split objects could not be repositioned in plater. 3D preview and stats were not available too. #1543 2013-11-24 14:28:17 +01:00
Alessandro Ranellucci
22605418ba Removed recursion warning in brim 2013-11-24 13:08:13 +01:00
Alessandro Ranellucci
387df3b900 Fix regression causing toolchange_gcode to crash Slic3r. Includes regression test. #1545 2013-11-24 13:04:16 +01:00
Alessandro Ranellucci
5217bc370a Fix regression causing retraction restarts to ignore extrusion_axis. Includes regression test. #1547 2013-11-24 12:37:36 +01:00
Alessandro Ranellucci
9cf138574c New TriangleMesh::convex_hull() 2013-11-24 01:15:52 +01:00
Alessandro Ranellucci
a29eeb7789 Fix t/geometry.t 2013-11-24 00:59:45 +01:00
Alessandro Ranellucci
a93c862338 Ported traverse_pt() to XS 2013-11-23 23:21:59 +01:00
Alessandro Ranellucci
b47b8ee34f Adapt new code to contains_point() 2013-11-23 22:45:17 +01:00
Alessandro Ranellucci
fc4483d09c Do perimeters one island at time instead of doing all holes before all contours 2013-11-23 22:45:00 +01:00
Alessandro Ranellucci
97c65bac90 Do perimeters one island at time instead of doing all holes before all contours 2013-11-23 22:43:30 +01:00
Alessandro Ranellucci
30297ee4dc Removed chained_path_items() 2013-11-23 21:47:33 +01:00
Alessandro Ranellucci
0045f84ed2 Removed chained_path_points() 2013-11-23 21:42:01 +01:00
Alessandro Ranellucci
0516aac715 Ported chained_path() to XS 2013-11-23 21:39:05 +01:00
Alessandro Ranellucci
4d5d003ba7 Ported horizontal_projection() to XS 2013-11-23 19:41:40 +01:00