Commit Graph
100 Commits
Author SHA1 Message Date
Alessandro Ranellucci fec41d6dfd Update plater and print upon changing object parts and their settings 2014-03-23 16:45:55 +01:00
Alessandro Ranellucci 67ef3f1799 Assign a default extruder for newly added parts too 2014-03-23 15:25:26 +01:00
Alessandro Ranellucci d75417601e Make the override panel prettier and prevent the default extruder setting from being deleted since it can't be readded manually 2014-03-23 15:18:08 +01:00
Alessandro Ranellucci bf8c388568 Use a popup menu for part settings 2014-03-23 13:46:05 +01:00
Alessandro Ranellucci 21e6de0e59 Only expand shortcut options in StaticConfig objects. This way we can keep a default extruder value in the parts panel 2014-03-22 20:12:54 +01:00
Alessandro Ranellucci 61db9530d9 Fix AMF settings not being correctly propagated to plater and parts panel 2014-03-22 18:02:58 +01:00
Alessandro Ranellucci 6a157c22c2 Fixed minor fatal error 2014-03-22 17:44:42 +01:00
Alessandro Ranellucci f71ac8cd65 Merge the Object Settings tab into the Parts tab 2014-03-22 17:41:14 +01:00
Alessandro Ranellucci b5b735c988 ComboBox for fill density values 2014-03-22 17:01:48 +01:00
Alessandro Ranellucci 7421a7bf63 Turn fill_density into percentage 2014-03-22 16:23:33 +01:00
Alessandro Ranellucci 30aa255bb5 Correctly disable and reset the override settings panel 2014-03-21 22:15:33 +01:00
Alessandro Ranellucci bf352de224 Replaced icon for modifier meshes and fixed delete button not being disabled when no part was selected 2014-03-21 22:06:47 +01:00
Alessandro Ranellucci 22d81012c4 Merge pull request #1836 from mikegrb/env_perl
use /usr/bin/env perl for shebang
2014-03-17 00:42:41 +01:00
Alessandro Ranellucci 34f1511e0c Better fix for non-global options not being replaced in filename placeholders. Includes refactoring and a new PlaceholderParser class. Also includes regression tests. #1831 2014-03-17 00:39:07 +01:00
Alessandro Ranellucci bc054e613c Fix regression causing non-global config options to be ignored when replacing placeholders in output filename format. #1831 2014-03-15 20:45:10 +01:00
Alessandro Ranellucci 96c2c21707 Minor bugfix for preventing wrong extruder numbers from being assigned 2014-03-15 18:24:56 +01:00
Alessandro Ranellucci ed8a2f7330 Extend medial axis endpoints to fill the entire length. Includes fix for a minor memory leak caused by usage of old signature for Line::point_at() 2014-03-15 16:53:20 +01:00
Alessandro Ranellucci 52de292a48 Fixed wrong refactoring of perimeter tree traversal. #1832 2014-03-15 02:16:04 +01:00
Alessandro Ranellucci b71d28bd5a Fix minor error and update MANIFEST 2014-03-11 19:19:34 +01:00
Alessandro Ranellucci f344426873 Better linear gap fill, now with adaptive extrusion width 2014-03-11 19:08:14 +01:00
Alessandro Ranellucci 98b7ae0022 Initial implementation of linear gap fill 2014-03-09 21:26:03 +01:00
Alessandro Ranellucci 7f5442265e Include thin walls in general top-level perimeter sorting to get more efficient paths 2014-03-09 20:19:30 +01:00
Alessandro Ranellucci 2a73ab988f Recursive pruning. Some more unit tests 2014-03-09 17:46:02 +01:00
Alessandro Ranellucci 33da6adc3c Better pruning 2014-03-08 11:36:48 +01:00
Alessandro Ranellucci 04d80ca392 Some improvements to pruning and some additions here and there 2014-03-05 18:43:01 +01:00
Alessandro Ranellucci c2ed6090d3 Fix the max width supplied to medial axis code: it's up to two extrusions 2014-03-05 00:53:51 +01:00
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 e1f93fd112 Consider contour thickness when validating medial axis segments 2014-03-05 00:05:26 +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 ba5435cde1 More medial axis tests 2014-03-03 02:14:02 +01:00
Alessandro Ranellucci b49a652736 Rewritten half-edge traversal in a more robust way. Includes first medial axis unit test 2014-03-03 01:48:05 +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 bc44611f24 Fix failing test after recent changes to thin wall thresholds 2014-03-02 22:26:52 +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
Alessandro Ranellucci 344a517ce8 Regression test for #1808 (crash when using non-consecutive extruders), already fixed in master branch 2014-02-26 11:56:34 +01:00
Alessandro Ranellucci 16d899f46a Add stable branch to Travis CI 2014-02-16 17:08:38 +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 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 cfc1c5037d Mark strings as UTF-8 when passing them to Perl 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 8331c54b67 Updated test count in t/shells.t 2014-02-13 16:17:32 +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 56ff776d2d Merge pull request #1745 from kelow/master
fix XS build on Windows #1433 #1681
2014-02-07 02:11:18 +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 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 bc832f1a6d Updated MANIFEST with Boost files 2014-01-18 14:37:17 +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 0d7f0705f0 Fix overflow in distance_to(Line*). It was affecting Douglas-Peucker causing massive loss of geometry. Includes regression test and a couple wkt() implementations 2014-01-17 14:22:37 +01:00
Alessandro Ranellucci 3a3e53b59b Fixed some obvious mistakes and applied strict type checking to SurfaceCollections too 2014-01-16 19:02:50 +01:00
Alessandro Ranellucci a831f5b176 Refactor loop building code to make_loops() 2014-01-16 11:38:17 +01:00
Alessandro Ranellucci 86f91bb3c4 New TriangleMeshSlicer::cut() method 2014-01-16 11:25:26 +01:00
Alessandro Ranellucci 519ed91c68 Refactored mesh slicing code into a new TriangleMeshSlicer class 2014-01-15 20:31:38 +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 28a39f0275 Fix garbage collection of recently added classes 2014-01-14 20:11:08 +01:00
Alessandro Ranellucci 66045faf81 Fix error in t/support.t 2014-01-14 13:41:39 +01:00
Alessandro Ranellucci fcaa3a03c2 Bugfix: incomplete slicing when a horizontal surface was tangent to the slicing plane and it shared an edge with an adjacent volume. #1672 2014-01-13 00:45:19 +01:00
Alessandro Ranellucci b0a7baa454 Add a (failing) test for slicing at the same height of a horizontal surface attached to a volume. In this case, the loop isn't completed. #1672 2014-01-13 00:06:16 +01:00
Alessandro Ranellucci 3637ca39df TriangleMesh::slice() now accepts a vector of floats instead of doubles for consistency with mesh coordinates 2014-01-12 23:56:07 +01:00
Alessandro Ranellucci 69f1f65a8b Because of numerical instability, lower_bound() was not including a layer having z == 0.8 even if the facet's min_z == 0.8. #1672 2014-01-12 16:01:14 +01:00
Alessandro Ranellucci bac743a602 Little cleanup to slice(): only used scaled coordinates in slicing instead of mixing them with unscaled 2014-01-12 14:48:51 +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 529d1b19c3 Test that absolute_E is positive at the end of print (and document that it accounts for the final retraction) 2014-01-11 14:26:19 +01:00
Alessandro Ranellucci 15ef762e43 Fix failing XS test 2014-01-10 17:07:47 +01:00
Alessandro Ranellucci 170a7d24de Fix failing XS test 2014-01-10 17:07:18 +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 f9642786d3 More work to get Boost.Polygon to compile 2014-01-09 19:56:12 +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