Commit Graph

2389 Commits

Author SHA1 Message Date
Alessandro Ranellucci
c98c992b4d Revert wrong fix, applied because of bad understanding of the issue about deserialization of extruder_offset = 0x0 2014-03-25 01:20:46 +01:00
Alessandro Ranellucci
432a87e73d New option for forcing the generation of interface shells. #1847 2014-03-25 01:11:28 +01:00
Alessandro Ranellucci
6feff7fe53 Test that stacked cubes with distinct extruders don't generate any internal interface shells. #1847 2014-03-24 23:44:47 +01:00
Alessandro Ranellucci
72a6848f1b Fixed regression causing wrong relative positions of objects after splitting in plater. #1758 2014-03-24 21:42:38 +01:00
Alessandro Ranellucci
5ce4de0544 Bugfix: wrong inwards moves were calculated for 2+ copies because ExtrusionLoop objects were modified in place. Includes regression test. #1842 2014-03-24 20:01:14 +01:00
Alessandro Ranellucci
b4ac63d749 Error in previous commit: Bugfix: prevent crash when user entered Unicode characters in notes. #1590 2014-03-24 17:52:50 +01:00
Alessandro Ranellucci
ce984ef78c Revert "Error in previous commit: Bugfix: prevent crash when user entered Unicode characters in notes. #1590"
This reverts commit e355e521d4.
2014-03-24 17:52:14 +01:00
Alessandro Ranellucci
e355e521d4 Error in previous commit: Bugfix: prevent crash when user entered Unicode characters in notes. #1590 2014-03-24 17:02:25 +01:00
Alessandro Ranellucci
d9d2f3b3ab Bugfix: prevent crash when user entered Unicode characters in notes. #1590 2014-03-24 16:37:20 +01:00
Alessandro Ranellucci
7a58457add Prevent GUI from crashing when invalid values were written in numeric fields. Includes basic validation. #1709 2014-03-24 01:07:30 +01:00
Alessandro Ranellucci
67f3e9962b Prevent user from saving a preset with the "- default -" name. #1717 2014-03-23 21:40:45 +01:00
Alessandro Ranellucci
5d3c8575c5 Bugfix: holes were not sorted using the nearest-neighbor search, resulting in inefficient paths. #1785 2014-03-23 19:55:31 +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
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
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
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
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
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
28a39f0275 Fix garbage collection of recently added classes 2014-01-14 20:11:08 +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
361ca1568a Raise version number in master branch 2013-12-07 18:25:35 +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
Alessandro Ranellucci
e75dbf37fa Never scale TriangleMesh objects 2013-11-23 19:25:33 +01:00
Alessandro Ranellucci
46e3b3180e Ported Surface->offset() to XS 2013-11-23 18:29:25 +01:00
Alessandro Ranellucci
a331f4d27a Finished porting group() to XS 2013-11-23 18:15:59 +01:00
Alessandro Ranellucci
878d587196 Ported is_solid() and is_bridge() to XS. Also ported (but not used yet) group() to SurfaceCollection::group() 2013-11-23 00:07:04 +01:00
Alessandro Ranellucci
de9d5403e8 Finished porting convex_hull() to XS and removed dependency on Math::ConvexHull::MonotoneChain 2013-11-22 22:48:07 +01:00
Alessandro Ranellucci
4577f0725c Incomplete work for XS-based convex_hull 2013-11-22 21:43:35 +01:00
Alessandro Ranellucci
a950fbe0c2 Removed more unused functions and fixed tests 2013-11-22 16:19:15 +01:00
Alessandro Ranellucci
132d170f73 Ported simplify() to XS and removed dependency on Boost::Geometry::Utils 2013-11-22 16:01:50 +01:00
Alessandro Ranellucci
df8d889481 More unfinished work 2013-11-22 02:16:10 +01:00
Alessandro Ranellucci
518798beb3 Incomplete work for porting simplify() to XS 2013-11-21 20:25:24 +01:00
Alessandro Ranellucci
7475762a27 Remove residual uses of Boost for line clipping 2013-11-21 18:47:25 +01:00
Alessandro Ranellucci
3aef663f7f Removed clip_with_polygon() and clip_with_expolygon() 2013-11-21 18:16:03 +01:00
Alessandro Ranellucci
ac88fbcbb0 Ported clip_end(), length(), is_perimeter(), is_fill(), is_bridge() to XS 2013-11-21 18:03:40 +01:00
Alessandro Ranellucci
761f261a68 Ported intersect_expolygons() and subtract_expolygons() to XS 2013-11-21 17:53:50 +01:00
Alessandro Ranellucci
5f81292f3f Ported encloses_point() to XS and renamed to contains_point() 2013-11-21 16:21:42 +01:00
Alessandro Ranellucci
a225a8b2ef Ported contains_line() to XS 2013-11-21 15:12:06 +01:00
Alessandro Ranellucci
bd62de7653 Renamed encloses_line() to contains_line() and implemented it using diff_pl() 2013-11-21 14:35:28 +01:00
Alessandro Ranellucci
3025c77675 Use Clipper for line clipping 2013-11-21 14:15:38 +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
d49052779f Remove useless code (thin walls and gaps are detected by the same logic now, so no need for additional checks) 2013-11-19 15:55:22 +01:00
Alessandro Ranellucci
b1ca0f30f2 Version number was not correctly saved 2013-11-18 18:48:06 +01:00
Alessandro Ranellucci
754e6ac74b Update version number. Releasing 1.0.0RC1! 2013-11-18 18:27:12 +01:00
Alessandro Ranellucci
583fc767d8 Fix regression in Avoid Crossing Perimeters. #1531 2013-11-18 17:20:48 +01:00
Alessandro Ranellucci
abe56f96da Cleaner logic for perimeters, thin walls and gaps. More correct results and faster processing 2013-11-18 17:06:08 +01:00
Alessandro Ranellucci
d4d8045905 Put standby_temperature into options cemetery. #1523 2013-11-16 12:45:43 +01:00
Alessandro Ranellucci
beb7939e22 Rename standby_temperature to ooze_prevention. #1523 2013-11-15 16:01:15 +01:00
Alessandro Ranellucci
5e78f8a0b0 Make sure all extruders are outside skirt at toolchange when standby_temperature is enabled 2013-11-15 15:52:11 +01:00
Alessandro Ranellucci
f733ef5f6b Handle non-thread-safe Math::Geometry::Voronoi. #1527 2013-11-15 12:55:53 +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
bb37048c35 Added missing encoding in STL repair 2013-11-13 11:12:06 +01:00
Alessandro Ranellucci
4be1e5702a Free memory after closing the preview and the setting windows 2013-11-12 21:49:34 +01:00
Alessandro Ranellucci
2c416cc4ac Reduce width of text/spin controls because they're too large on Windows 2013-11-12 17:14:37 +01:00
Alessandro Ranellucci
85232bb6fd Fix a minor visualization glitch on Windows 2013-11-12 14:34:03 +01:00
Alessandro Ranellucci
faa54ced52 Share the thumbnail object instead of returning it from thread 2013-11-12 14:30:13 +01:00
Alessandro Ranellucci
d0cbf56354 Workaround "Attempt to free unreferenced scalar..." on Linux 32-bit 2013-11-12 12:10:32 +01:00
Alessandro Ranellucci
76213fb5b7 Save the last used Slic3r version and display a notice to encourage legacy users to revert their support material settings to the defaults 2013-11-11 22:20:25 +01:00
Alessandro Ranellucci
004517ad04 Automatically copy Simple Mode settings into a 'Simple Mode' preset in Expert Mode 2013-11-11 22:02:12 +01:00
Alessandro Ranellucci
33e160c1ed Automatically save presets after running the wizard 2013-11-11 21:45:58 +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
bad8afdcda Fix regression causing incomplete output filepath expansion. #1514 2013-11-11 00:08:50 +01:00
Alessandro Ranellucci
655a546b04 Add .ngc to G-code file name suffixes 2013-11-10 23:37:59 +01:00
Alessandro Ranellucci
8d9361280e Bugfix: expert mode was crashing when home path contained non-ASCII
characters on Windows. #1478
2013-11-10 17:06:59 +01:00
Alessandro Ranellucci
928c4741c2 Fix regression in t/shells.t due to things ported to XS 2013-11-08 11:35:02 +01:00
Alessandro Ranellucci
c133a33ed2 Ported point_line_distance() and removed same_point() 2013-11-06 23:08:03 +01:00
Alessandro Ranellucci
09be25a156 Removed useless functions 2013-11-06 21:09:28 +01:00
Alessandro Ranellucci
d8e098ab0e Ported same_line() to XS 2013-11-06 19:38:10 +01:00
Alessandro Ranellucci
b5aaeb9b12 More work on the clipping method for medial axis. Includes Polyline->is_valid() 2013-11-06 19:30:45 +01:00
Alessandro Ranellucci
849d69d178 Fix regression in chained_path() introduced in fb763b0187. Includes regression test. #1184 2013-11-02 18:00:55 +01:00
Alessandro Ranellucci
4755e61d71 Bugfix: [input_filename] and [input_filename_base] were only available in the filename pattern and not in the custom G-code settings. #1507 2013-11-02 15:49:20 +01:00
Alessandro Ranellucci
0b63afb370 Fix complete_objects after XS port. Includes regression test. #1511 2013-11-02 14:44:30 +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
d7656f5fdc Use minimum extrusion width for support material too 2013-10-28 14:04:50 +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
29b83517cb Ported point_along_segment(), Polyline::length(), Polyline::clip_end() to XS 2013-10-27 22:57:25 +01:00
Alessandro Ranellucci
26a18a2a52 Temporarily revert to Voronoi-based medial axis 2013-10-27 22:02:57 +01:00
Alessandro Ranellucci
4f64e557d9 Typo 2013-10-27 21:38:32 +01:00
Alessandro Ranellucci
31f77748e7 Explain in the tooltip how is the threshold angle measured 2013-10-27 21:37:26 +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
bcc061176c New option to use G10/G11 for firmware-controlled retraction. #1494 2013-10-27 16:59:18 +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
06e7a1ae68 Optimizations to regular_points(), clip_end(), clip_start() 2013-10-27 13:51:59 +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
Alessandro Ranellucci
1741adaddf Removed debugging line 2013-10-26 09:53:32 +02:00
Alessandro Ranellucci
b653839e9a One more fix for Cancel button. #1461 2013-10-16 15:13:39 +02:00
Alessandro Ranellucci
127e38d4a4 Fix Cancel button. #1461 2013-10-14 22:07:41 +02:00
Alessandro Ranellucci
4c2c31b554 Fix speed math for wipe, which was causing too fast retraction. Includes regression test. #1468 2013-10-13 17:05:22 +02:00
Alessandro Ranellucci
bc0b9e1b72 Don't combine retract and travel anymore when using G0. #1289 2013-10-13 16:20:01 +02:00
Alessandro Ranellucci
e6b59aef4e Fix planepath fill patterns for very small regions. #1463 2013-10-13 16:07:14 +02:00
Alessandro Ranellucci
9918c1e97d Minor improvements in debug output 2013-10-13 12:12:03 +02:00
Alessandro Ranellucci
f603db5e84 Fix --export-svg 2013-10-13 11:45:22 +02:00
Alessandro Ranellucci
ac5e713323 Fix segfault when calling chained_path() on an ExtrusionPathCollection using no_sort. Includes regression test 2013-09-28 15:30:10 +02:00
Mark Hindess
f523c095b1 Trivial fix for support-related undefined sub errors. 2013-09-24 09:54:23 +01:00
Alessandro Ranellucci
0b526afb4e Change labels in wizard to avoid confusion 2013-09-21 20:25:34 +02:00
Alessandro Ranellucci
0ef6311ac3 Do not set first layer bed temperature if user set bed temperature to zero in wizard 2013-09-21 20:14:17 +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
afdb490cf1 Fix STL export. #1448 2013-09-19 12:25:00 +02:00
Alessandro Ranellucci
032698fb07 Test that toolchanges happen outside skirt when standby-temperature is enabled 2013-09-19 10:44:29 +02:00
Alessandro Ranellucci
40fd7418cd Added test for standby_temperature 2013-09-19 01:29:34 +02:00
Alessandro Ranellucci
0dd3ab0662 Don't block while cooling extruder 2013-09-18 20:05:15 +02:00
Alessandro Ranellucci
0062c3b7fc Almost finished the implementation of --standby-temperature 2013-09-18 20:03:59 +02:00
Alessandro Ranellucci
9caf536aca Finished a basic implementation of --standby-temperature 2013-09-18 18:49:19 +02:00
Alessandro Ranellucci
991bc8ae3d Partial work for implementing a standby temperature option 2013-09-18 17:45:02 +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
e0da81e8bf Introduce a ->count method for all collections to save time 2013-09-17 23:38:23 +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
bbbdae3952 Better name for "Detect overhangs" 2013-09-17 21:49:13 +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
06fc1d1044 Fix minor bug causing some gaps to be infilled twice 2013-09-17 19:39:22 +02:00
Alessandro Ranellucci
f79ba8cec0 Update dump-stl.pl 2013-09-17 19:25:10 +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
2c1274e2d9 Updated/fixed SectionCut 2013-09-17 14:16:29 +02:00
Alessandro Ranellucci
7bd2ce21ca Fix wrong bridge flow used for overhangs and bridge perimeters. Includes regression test. #1407 2013-09-17 10:37:01 +02:00
Alessandro Ranellucci
d13e7b264a New experimental medial axis code (suboptimal but looks good) 2013-09-17 10:37:01 +02:00
Alessandro Ranellucci
78167f56ee Some cleanup for the Voronoi code 2013-09-17 10:37:01 +02:00
Alessandro Ranellucci
a88ce0cb5e Fix regression in start perimeters at non-overhangs. #1442 2013-09-17 10:37:01 +02:00
Alessandro Ranellucci
9a51964e98 Clean medial axis code and gap fill 2013-09-17 10:37:01 +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
aef5c05c57 Update brim generation code. Includes regression test. #1440 2013-09-16 10:33:30 +02:00
Alessandro Ranellucci
5a9c163a2e Meaningful error when user wants to use 3D preview but didn't install the required modules. 2013-09-16 10:18:42 +02:00
Alessandro Ranellucci
7d09f17810 Reflect max_fan_speed in cooling textual description. #1439 2013-09-16 10:09:39 +02:00
Alessandro Ranellucci
1aa5dbafd3 Update AMF export code 2013-09-16 09:58:53 +02:00