Commit Graph

782 Commits

Author SHA1 Message Date
Alessandro Ranellucci
bf9cd1b8e6 Ported Slic3r::GCode::AvoidCrossingPerimeters to XS 2015-07-01 20:14:05 +02:00
Alessandro Ranellucci
580d28d071 Finished porting PlaceholderParser to XS 2015-07-01 19:35:22 +02:00
Alessandro Ranellucci
249088b4f8 Ported Config::setenv() to XS 2015-07-01 18:18:25 +02:00
Alessandro Ranellucci
f361d8ad43 Ported PlaceholderParser::apply_env_variables() to XS 2015-07-01 17:56:38 +02:00
Alessandro Ranellucci
4a39665804 Bugfix: binary ASCII files were not written with the correct fopen() mode. #2928 2015-06-20 14:16:23 +02:00
Alessandro Ranellucci
3cd6c78044 Releasing 1.2.9 2015-06-17 10:38:28 +02:00
Alessandro Ranellucci
be635c69e7 Fixed regression casusing some rare STL files not to parsed correctly because of lack of the solid name. #2914 2015-06-15 17:17:36 +02:00
Alessandro Ranellucci
539cde8d7a Raise the thickness threshold used for generating thin walls. TODO: don't enforce this at the segment level but consider the average thickness of an entire polyline and compare it to the total length. #2910 2015-06-15 17:00:10 +02:00
Alessandro Ranellucci
38a9e32a28 Limit bridge over sparse infill to areas that can absorb such extrudate. #2899 2015-06-13 19:48:46 +02:00
Alessandro Ranellucci
7a34078f5f Bump version number 2015-06-13 11:42:37 +02:00
Alessandro Ranellucci
4a91ea817a Releasing 1.2.8 2015-06-09 17:18:43 +02:00
Alessandro Ranellucci
e715974688 Better validation for speeds (prevent 0mm/s travel speed). #2893 2015-06-09 17:15:01 +02:00
Alessandro Ranellucci
911bed827c Fixed regression in STL parser. #2886 2015-06-09 14:54:52 +02:00
Alessandro Ranellucci
7b65a35519 Always limit volumetric speed with Max Volumetric Speed (not just when using autospeed). #2810 2015-06-02 11:54:38 +02:00
Alessandro Ranellucci
1fcfdf4718 Added a couple full_label values 2015-06-01 23:22:44 +02:00
Alessandro Ranellucci
6095427926 Fix admesh's STL parser in order to make it more tolerant for broken STL files having multiple 'solid' definitions. Still not the ideal STL parser, but handles the cases that were reported so far. #2471 #2842 2015-06-01 19:49:52 +02:00
Alessandro Ranellucci
f14c0e2183 Bugfix: concave starting points were not correctly detected for slice holes. Includes regression test. #2857 2015-06-01 17:55:51 +02:00
Alessandro Ranellucci
fbea32a81c Prevent writing empty materials to AMF files. Also add a note about material-id = 0 being reserved by AMF spec. #2871 2015-06-01 11:51:00 +02:00
Alessandro Ranellucci
7f70da97b4 New experimental autospeed feature. #2810 2015-05-31 22:04:32 +02:00
Alessandro Ranellucci
13b7316807 Merge branch 'master' into sender
Conflicts:
	Build.PL
	lib/Slic3r/GUI/MainFrame.pm
2015-05-28 18:05:36 +02:00
Alessandro Ranellucci
aa8b6afe8b Assign color to filaments 2015-05-26 02:01:43 +02:00
Alessandro Ranellucci
a547645e86 Bump version number 2015-05-24 23:29:59 +02:00
Alessandro Ranellucci
249a48d68d Releasing 1.2.7 2015-05-24 17:39:27 +02:00
Alessandro Ranellucci
31e0fc7f17 Fixes and improvements to thin wall detection. #2829 2015-05-22 01:46:01 +02:00
Alessandro Ranellucci
70ec433e67 Faster (but less precise) implementation of simplify_by_visibility(), since it was the bottleneck of avoid_crossing_perimeters. #2777 2015-05-18 19:28:59 +02:00
Alessandro Ranellucci
97211f35e7 More robust medial axis pruning. #2800 2015-05-13 20:50:30 +02:00
Alessandro Ranellucci
0d01348acc Use radians everywhere, including ModelInstance::rotation 2015-05-03 18:40:00 +02:00
Alessandro Ranellucci
79ce094e3a Bugfix: splitting a rotated object resulted in wrong positions. #2772 2015-05-03 18:28:39 +02:00
Alessandro Ranellucci
7d81aee62f Added the [scale] placeholder. #2791 2015-05-02 21:59:15 +02:00
Alessandro Ranellucci
bf541a1fed Refactoring in PlaceholderParser 2015-05-02 21:43:22 +02:00
Alessandro Ranellucci
a16dda0885 Bugfix: changes to the resolution config option didn't trigger reslicing. #2795 2015-04-29 19:22:44 +02:00
Alessandro Ranellucci
d6d7880507 Ported Slic3r::Geometry::arrange() to C++/XS 2015-04-29 19:19:07 +02:00
Alessandro Ranellucci
5eb3bc52ef Ported ModelObject::rotate() and ModelObject::flip() to XS, as well as axes constants 2015-04-16 21:22:04 +02:00
Alessandro Ranellucci
be2f46ca68 Ported Layer::merge_slices() to XS 2015-04-16 20:44:55 +02:00
Alessandro Ranellucci
1f8ef2a63c Fixed regression introduced by the recent PerimeterGenerator refactoring causing spiral vase not to be correctly skipped on multi-loop layers. Includes regression test. #2761 2015-04-12 20:16:27 +02:00
Alessandro Ranellucci
8654537e55 Use support material layer height for raft layer instead of object layer height. #2723 2015-03-09 19:36:23 +01:00
Alessandro Ranellucci
d8ee9dd5f5 Limit first object layer height correctly when using a larger support material extruder. #2722 2015-03-09 19:27:57 +01:00
Alessandro Ranellucci
6cab5668e3 Restore correct ordering of concentric infill loops, preventing them from being reordered during G-code generation 2015-03-09 18:28:07 +01:00
Alessandro Ranellucci
d2172b4383 Merge branch 'master' into sender 2015-03-06 22:15:43 +01:00
Alessandro Ranellucci
095391d702 When using raft, validate first layer height against support material extruder only instead of taking other extruders into account, thus potentially allowing larger nozzles to be used for it. #2701 2015-03-06 21:35:00 +01:00
Alessandro Ranellucci
722e94513c Refactoring: removed the non-idempotent init_extruders() step. Also, infill_extruder was not limited to the available number of extruders when slicing from the plater, and support material extruder was considered also when support material was disabled 2015-03-06 09:56:58 +01:00
Alessandro Ranellucci
1ab8efba7f Fixed regression causing random failures in bridge direction detection. #2636 2015-02-27 21:55:02 +01:00
Alessandro Ranellucci
e88cf466fe A couple notes about infill_only_where_needed 2015-02-23 00:55:00 +01:00
Alessandro Ranellucci
2655f3f816 Better and more robust implementation of infill_only_where_needed 2015-02-23 00:44:51 +01:00
Alessandro Ranellucci
2eca094170 Added failing test case for Clipper regression causing extra points in polyline intersection, thus crash with circular bed shape 2015-02-22 17:03:23 +01:00
Alessandro Ranellucci
edbc11477c Update to Clipper 6.2.9. Fixes #2639 2015-02-22 15:13:52 +01:00
Alessandro Ranellucci
6413d5dcba Merge pull request #2630 from lordofhyphens/fix-admesh-warning
Fix a warning about unused return value when using freopen in admesh.
2015-02-22 14:48:17 +01:00
Alessandro Ranellucci
ba6ae12635 Change end_program() to postamble() 2015-02-15 17:09:17 +01:00
Alessandro Ranellucci
1180a6d83f Merge pull request #2508 from strahlex/machinekit-gcode
added support Machinekit flavour GCode
2015-02-15 17:00:08 +01:00
Alessandro Ranellucci
8851dc7f23 Added failing test case for upstream Clipper issue 126 (our #2639) 2015-02-15 16:47:55 +01:00
Alessandro Ranellucci
32b8eb489c Updated Clipper to 6.2.8. This fixes several minor issues, including infill paths not being trimmed correctly. #2448 2015-02-15 16:10:04 +01:00
Kent Fredric
df5c2a6f11 Remove redundant dep on ExtUtils::Typemap
Typemap (Singluar) version 1.00 is essentially identical to Typemaps (Plural)
 Typemap is literally a dumb subclass of TypeMaps, and so this
 dependency simply gives an extra installation requirement that does
 nothing.
2015-02-14 06:44:22 +13:00
Alexander Rössler
cef1494852 Switched to P parameter instead of S for Machinekit flavour MCode commands 2015-02-10 14:22:23 +01:00
Alessandro Ranellucci
a68fed3938 Bump version number 2015-02-09 10:53:55 +01:00
Alexander Rössler
f2fa8cb63f added end_program() function to GCodeWriter 2015-02-07 12:36:29 +01:00
Alexander Rössler
32eff40422 added retract and unretract command for Machinekit flavour 2015-02-06 19:16:57 +01:00
Alexander Rössler
d35226b889 added support Machinekit flavour GCode 2015-02-06 18:48:46 +01:00
Joseph Lenox
102785d154 Fix a warning about unused return value when using freopen in admesh. Added another NULL check for safety. 2015-02-05 00:58:27 -06:00
Alessandro Ranellucci
73eb11b395 Releasing 1.2.6 2015-02-01 15:47:29 +01:00
Alessandro Ranellucci
3ae6f2630e Merge branch 'master' into sender
Conflicts:
	Build.PL
2015-02-01 14:07:32 +01:00
Alessandro Ranellucci
bb3bf28e59 Ported prepare_fill_surfaces() to XS/C++ 2015-02-01 12:43:58 +01:00
Alessandro Ranellucci
07cd25d0ec New option for customization of infill/perimeters overlap. #2459 2015-02-01 12:08:25 +01:00
Alessandro Ranellucci
84eb37e218 Typo in previous commit 2015-01-31 11:57:18 +01:00
Alessandro Ranellucci
62e418d0fc Modernize some defaults 2015-01-31 11:38:17 +01:00
Alessandro Ranellucci
059b00a829 New --before-layer-change option and new layer_z placeholder. #2602 2015-01-30 20:08:00 +01:00
Alessandro Ranellucci
8605969dc5 Don't output slic3r:z attribute in SVG for raft layers 2015-01-30 18:45:30 +01:00
Alessandro Ranellucci
e2b1b52679 Added a new Slic3r::Geometry::simplify_polygons() function 2015-01-30 18:33:20 +01:00
Alessandro Ranellucci
9ad5d9bb3d Fixed minor issue in 3D preview causing single-line toolpaths to miss the cap on one endpoint 2015-01-28 23:35:48 +01:00
Alessandro Ranellucci
7652abdf8d Merge pull request #2595 from xdissent/deserialize-points
Use std::getline to deserialize point list coords, fixes #2318
2015-01-28 21:02:05 +01:00
Greg Thornton
b0b9c17c23 Use std::getline to deserialize point list coords, fixes #2318 2015-01-28 09:08:50 -06:00
Alessandro Ranellucci
b1f1893481 Bugfix: tangent horizontal mesh surfaces were not included in slices under rare circumstances, generating almost invalid polygons that confused Clipper and caused skipped layers. Includes regression test 2015-01-28 13:00:38 +01:00
Alessandro Ranellucci
8a5a0b6726 Minor optimization in TriangleMesh code 2015-01-25 17:30:55 +01:00
Alessandro Ranellucci
c264969962 Bugfix: crash when rendering lines with zero length in 3D preview. #2569 2015-01-25 15:21:45 +01:00
Alessandro Ranellucci
a5c0ffe963 Faster loading of 3D preview and much less memory used 2015-01-24 23:35:29 +01:00
Alessandro Ranellucci
8791f5a493 Cleanup of some method signatures and of XS return types 2015-01-19 18:53:04 +01:00
Alessandro Ranellucci
7b980c1dc9 New option for vertical distance between object and support material, with special handling of the 0 case that disabled bridge flow/speed in order to allow for soluble material. #2491 #2272 #2069 #1942 #2435 #1703 2015-01-19 09:52:24 +01:00
Alessandro Ranellucci
9f0283f808 Minor issue when dealing with files with empty layers at bottom. #2553 2015-01-18 12:35:05 +01:00
Alessandro Ranellucci
4696b46475 Clarified tooltip for First Layer Extrusion Width. #2543 2015-01-18 11:42:19 +01:00
Alessandro Ranellucci
b646b5c98a Revert "Updated Clipper to 6.2.7"
This reverts commit e6c022a61c.
2015-01-18 01:31:10 +01:00
Alessandro Ranellucci
e9d08ce51f Updated MANIFEST 2015-01-18 01:14:14 +01:00
Alessandro Ranellucci
e6c022a61c Updated Clipper to 6.2.7 2015-01-18 01:07:23 +01:00
Alessandro Ranellucci
357f10732a Added test case for a Clipper bug 2015-01-18 01:07:23 +01:00
Alessandro Ranellucci
2bbb6c570b Ported toolpaths rendering to C++ 2015-01-18 01:07:22 +01:00
Alessandro Ranellucci
cf4119e169 Populate ExtrusionPath::height correctly in case of bridge 2015-01-18 01:07:22 +01:00
Alessandro Ranellucci
e749f6040f New +Line::intersection_infinite() method 2015-01-16 16:25:39 +01:00
Alessandro Ranellucci
a616d64971 Bump version number 2015-01-15 22:35:14 +01:00
Alessandro Ranellucci
e0a3d2577c Initial work for 3D rendering of toolpaths 2015-01-15 20:06:30 +01:00
Alessandro Ranellucci
18e815d032 More efficient 3D preview of slices 2015-01-15 18:49:07 +01:00
Alessandro Ranellucci
bf02062a67 Bugfix: random but frequent crashes after recent perimeter code refactoring 2015-01-14 22:55:11 +01:00
Alessandro Ranellucci
9a7e5327ab Support --solid-fill-pattern for legacy. #2527 2015-01-13 23:22:27 +01:00
Alessandro Ranellucci
04aa240265 Only apply perimeter/infill overlap to the endpoints of rectilinear infill (and do that in a more proper way) 2015-01-13 20:55:20 +01:00
Alessandro Ranellucci
bb9ceba343 Releasing 1.2.5 2015-01-09 13:44:28 +01:00
Alessandro Ranellucci
02d717b7a3 Don't put any M200 automatically when volumetric mode is selected. Explain how to do it manually in the tooltip. #1746 2015-01-09 12:02:04 +01:00
Alessandro Ranellucci
64c9e3af4b Bugfix: objects were floating in STL export after rotation and flip. #2512 2015-01-09 00:47:40 +01:00
Alessandro Ranellucci
9ec7b43ca1 Merge branch 'master' into sender
Conflicts:
	lib/Slic3r/GUI/Tab.pm
2015-01-08 22:47:43 +01:00
Alessandro Ranellucci
79cb350f2d Fixed segfault in new MotionPlanner code when environments were empty (small islands). #2511 2015-01-08 21:24:51 +01:00
Alessandro Ranellucci
fc47892474 Bump version number 2015-01-08 15:31:59 +01:00
Alessandro Ranellucci
406d045ced The inwards move after an external loop was still randomly generated outwards in some cases. Perimeters are now generated with a distinct iterator for each slice. Nested islands are also correctly supported too. Various regression tests included. #2253 2015-01-08 15:22:13 +01:00
Alessandro Ranellucci
af92e3d49e Bugfix: validation for sequential printing was not entirely correct. #2480 2015-01-07 21:57:22 +01:00
Alessandro Ranellucci
1b766f12ca Minor fix after recent changes in MotionPlanner 2015-01-06 23:30:28 +01:00
Alessandro Ranellucci
21a660c56c Fix compilation 2015-01-06 21:29:32 +01:00
Alessandro Ranellucci
d4ae734659 Minor improvement to IntersectionLine (now subclasses Line) 2015-01-06 20:58:07 +01:00
Alessandro Ranellucci
8f4cbefd0d Lots of improvements to MotionPlanner/avoid_crossing_perimeters. Smoother paths and several edge cases now handled better 2015-01-06 20:52:36 +01:00
Alessandro Ranellucci
5e100abe25 Added several drawing methods to Slic3r::SVG 2015-01-06 20:51:48 +01:00
Alessandro Ranellucci
713fcb5e8e New methods in Slic3r::SVG C++ class 2015-01-06 16:26:15 +01:00
Alessandro Ranellucci
2562070232 Refactored the travel/retract/avoid_crossing_perimeters logic. Several edge cases are now handled correctly. #2498 2015-01-06 14:52:03 +01:00
Alessandro Ranellucci
7e82159620 Fixed one more case where only_retract_when_crossing_perimeters didn't apply. #2498 2015-01-06 11:29:34 +01:00
Alessandro Ranellucci
9fd0637990 Bugfix: artifacts were introduced when perimeters were recalculated through incremental slicing. #2494 2015-01-05 21:00:50 +01:00
Alessandro Ranellucci
47e4e8bb66 Option to use volumetric E values. #1746 2015-01-05 19:39:10 +01:00
Alessandro Ranellucci
6776d6bc00 Bugfix: a bug in Polyline::split_at() caused random loss of perimeter segments. #2495 2015-01-05 15:51:57 +01:00
Alessandro Ranellucci
9af43bee52 Handle log, temperatures. Move controller to main tabpanel. More things 2015-01-04 23:18:23 +01:00
Alessandro Ranellucci
3ab4d4b094 Merge branch 'master' into sender 2015-01-04 19:36:28 +01:00
Alessandro Ranellucci
a6f3e6bfdb Mark Vibration Limit as deprecated. #2483 2015-01-04 19:32:59 +01:00
Alessandro Ranellucci
92e896c4d1 Prettify infill pattern labels 2015-01-04 19:32:05 +01:00
Alessandro Ranellucci
cbc0e270b7 Nicer configuration fields for USB/Serial connection 2015-01-04 19:14:54 +01:00
Alessandro Ranellucci
16939b80e6 Implemented priority queue 2015-01-04 18:17:15 +01:00
Alessandro Ranellucci
504cbd89db Fix bug in admesh code that causes random binary STL files not to be read correctly on Windows. #2461 2015-01-04 11:46:58 +01:00
Alessandro Ranellucci
2c0d216c1a More work on print controller 2015-01-03 23:25:55 +01:00
Alessandro Ranellucci
d8be67c28b Bugfix: Douglas-Peucker used perpendicular distance instead of shortest distance, thus clipping more than it should. #2474 2015-01-03 15:03:53 +01:00
Alessandro Ranellucci
c06ce3b58c Initial work for a controller GUI 2014-12-31 19:10:46 +01:00
Alessandro Ranellucci
29d64107de Merge branch 'master' into sender 2014-12-31 16:25:26 +01:00
Alessandro Ranellucci
fffdbe0abb Releasing 1.2.4 2014-12-30 14:51:59 +01:00
Alessandro Ranellucci
c4832c5342 Bugfix: early object destruction caused a segfault when splitting. Also fixed a memory leak and restore background processing when split only detected one part. #2466 #2398 2014-12-30 13:16:28 +01:00
Alessandro Ranellucci
494efe65b2 Bugfix: auto-center didn't update the PrintObject copies properly, causing misalignment. #2464 2014-12-29 22:29:24 +01:00
Alessandro Ranellucci
200130bc10 Bump version number 2014-12-29 12:49:49 +01:00
Alessandro Ranellucci
6896e53078 Octoprint -> OctoPrint 2014-12-29 12:49:32 +01:00
Alessandro Ranellucci
13b4237fec Releasing 1.2.3 2014-12-29 11:45:41 +01:00
Alessandro Ranellucci
fbb3462f5b Bump version number 2014-12-28 14:58:58 +01:00
Alessandro Ranellucci
efe7d5f857 Integration with Octoprint. #1826 2014-12-28 01:30:05 +01:00
Alessandro Ranellucci
b126f92f41 Finished GCodeSender 2014-12-27 22:58:01 +01:00
Alessandro Ranellucci
8b438dc0de Merge branch 'master' into sender 2014-12-27 18:10:03 +01:00
Alessandro Ranellucci
9803e2fabf Releasing 1.2.2 2014-12-27 14:38:55 +01:00
Alessandro Ranellucci
005f138ce7 Merge branch 'master' into sender 2014-12-26 01:30:48 +01:00
Alessandro Ranellucci
70601eeb51 Tell what options were changed when prompting user for saving a modified preset. Also, check whether the preset was actually modified by performing a proper idempotent diff. #2165 2014-12-25 17:35:31 +01:00
Alessandro Ranellucci
5a0f4eac8d One more retraction optimization 2014-12-25 11:37:54 +01:00
Alessandro Ranellucci
5639132dae Bugfix: the region_volumes vector was not always extended after creating new regions, causing bad memory access in apply_config(). #2446 2014-12-24 18:35:59 +01:00
Alessandro Ranellucci
4848cb7606 Ported PrintObject::bridge_over_infill() to XS 2014-12-24 10:20:55 +01:00
Alessandro Ranellucci
5d3cd792eb Make infill_only_where_needed idempotent. #2198 2014-12-24 01:29:36 +01:00
Alessandro Ranellucci
91bc4d8157 Bugfix: a typo caused wrong loop splitting, thus wrong ordering of perimeters having bridging parts. Includes regression test. #2258 2014-12-24 00:11:29 +01:00
Alessandro Ranellucci
25bc8e6f29 Smarter automatic disabling of GUI fields + reordering of Print Settings pages + minor adjustments to tooltips 2014-12-23 20:47:11 +01:00
Alessandro Ranellucci
64061267c8 Align infill across layers regardless of first-layer-specific extrusion width. Includes a good internal API refactoring and a fix to 3D honeycomb flow 2014-12-22 16:47:35 +01:00
Alessandro Ranellucci
93507bfd49 Bugfix: only_retract_when_crossing_perimeters was not correctly applied on bottom layer when no bottom solid layers were printed 2014-12-22 11:46:16 +01:00
Alessandro Ranellucci
1b582ea66a Remove the "(slow)" mark on infill patterns that used to be slow in the past 2014-12-22 10:48:05 +01:00
Alessandro Ranellucci
4fc955a0fd Fixed concave_points() and convex_points() after recent change of ccw_angle() 2014-12-21 23:10:38 +01:00
Alessandro Ranellucci
7253dc699a Some more work on wireframe 2014-12-21 22:52:18 +01:00
Alessandro Ranellucci
a0dda36df0 Minor fix to BridgeDetector 2014-12-17 01:21:12 +01:00
Alessandro Ranellucci
21ea100d0e Fixed tests 2014-12-17 01:15:47 +01:00
Alessandro Ranellucci
9264db7ecd Removed useless thing added in e79aa2e81c 2014-12-17 00:52:01 +01:00
Alessandro Ranellucci
c00061678b Use perimeter extruder for brim. #618 2014-12-17 00:45:05 +01:00
Alessandro Ranellucci
e79aa2e81c New --solid-infill-extruder option. Includes a refactoring of the strategy used to order layer extrusions according to their extruder and island; toolchanges and travel moves should be more optimized now. #618 2014-12-17 00:34:00 +01:00