Commit Graph

652 Commits

Author SHA1 Message Date
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
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
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
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
e6c022a61c Updated Clipper to 6.2.7 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
9a7e5327ab Support --solid-fill-pattern for legacy. #2527 2015-01-13 23:22:27 +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
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
Alessandro Ranellucci
fcfb3b98bc 3D object positioning 2014-12-16 01:12:56 +01:00
Alessandro Ranellucci
a82f95e903 Some initial work for 3D slice rendering 2014-12-15 15:19:42 +01:00
Alessandro Ranellucci
9cd0a63331 Refactoring of PreviewCanvas 2014-12-15 01:28:11 +01:00
Alessandro Ranellucci
2f2ae75529 Some incomplete work for moving objects in 3D plater 2014-12-13 22:18:43 +01:00
Alessandro Ranellucci
133466a6b5 Minor improvements to the Skirt Loops tooltip 2014-12-12 22:50:43 +01:00
Alessandro Ranellucci
360dee862b Keep model objects aligned to Z = 0 in plater 2014-12-12 22:43:56 +01:00
Alessandro Ranellucci
050f9ff61a Removed two useless methods in Print 2014-12-12 22:43:56 +01:00
Alessandro Ranellucci
93d9ee9205 Consider extrusion width in Print::total_bounding_box() 2014-12-12 22:43:56 +01:00
Alessandro Ranellucci
e8ab9ac13a Ported Print::bounding_box(), Print::total_bounding_box(), Print::skirt_flow(), Print:skirt_first_layer_height() to XS 2014-12-12 22:43:56 +01:00
Alessandro Ranellucci
c8596c5c58 Limit "Only retract when crossing perimeters" so that retraction is triggered also when crossing the boundaries of a single region. #2298 2014-12-09 01:08:58 +01:00
Alessandro Ranellucci
d350241da3 Make combine_infill() completely idempotent. Includes unit testing 2014-12-08 21:23:42 +01:00
Alessandro Ranellucci
6ce651eb4a Fixed wrong implementation of concave_points() and convex_points() in C++. #2384 2014-12-07 19:53:22 +01:00
Alessandro Ranellucci
eb23990d6d Ported PrintObject::total_layer_count() to XS 2014-12-01 00:00:12 +01:00
Alessandro Ranellucci
c7f5753a28 Ported PrintObject::bounding_box() to XS 2014-12-01 00:00:12 +01:00
Alessandro Ranellucci
1fda9e3d50 Ported concave_points() and convex_points() to XS 2014-12-01 00:00:12 +01:00
Alessandro Ranellucci
e4dd5cf82f Bugfix: object steps were not invalidated when First layer extrusion width was changed. #2379 2014-12-01 00:00:11 +01:00
Alessandro Ranellucci
e8f242ee3f Move toolpaths preview to the plater dialog 2014-12-01 00:00:11 +01:00
Alessandro Ranellucci
7a7d00c8d6 Rename solid_fill_pattern to external_fill_pattern and clarify tooltip 2014-11-27 00:38:05 +01:00
Alessandro Ranellucci
11dd67ab34 Initial work for G-code sender and more intensive usage of Boost 2014-11-26 22:30:25 +01:00
Alessandro Ranellucci
ff9b53260d New experimental feature for pressure management. Credits to @llluis for the original implementation. #1203 #1677 #2018 2014-11-24 18:22:39 +01:00
Alessandro Ranellucci
945567d1f3 Merge pull request #2278 from hroncok/admesh98
Updated to admesh 0.98.1
2014-11-24 15:36:26 +01:00
Alessandro Ranellucci
634bc09e2c Refactoring: renamed all contains_*() methods to contains() in C++ 2014-11-23 20:14:13 +01:00
Alessandro Ranellucci
5deadc8f12 Refactoring: removed _islands members in Slic3r::GCode 2014-11-23 20:03:16 +01:00
Alessandro Ranellucci
60a76b8cfa Fixed regression causing retraction to be skipped when Retract Length was 0 but Use Firmware Retraction was enabled. Includes regression test. #2359 2014-11-23 19:32:06 +01:00
Alessandro Ranellucci
2c64c3dd5b Bugfix: spiral vase was not working when extrusion axis was not E. #2350 2014-11-23 18:59:18 +01:00
Alessandro Ranellucci
3605289bbc --spiral-vase now automatically overrides --perimeters, --top-solid-layers and --fill-density instead of throwing incompatibility error. #2360 2014-11-22 23:10:18 +01:00
Alessandro Ranellucci
bf0eb1af0c Refactored ClipperUtils API for a more consistent arguments convention 2014-11-15 23:44:03 +01:00
Alessandro Ranellucci
28466750e6 Ported some minor methods to XS 2014-11-15 23:06:15 +01:00
Alessandro Ranellucci
379cde30e2 Ported Slic3r::BridgeDetector to XS 2014-11-15 22:41:22 +01:00
Alessandro Ranellucci
33fe53fd7c Ported three PrintObject methods to XS 2014-11-13 00:34:56 +01:00
Alessandro Ranellucci
a5df9fb795 Ported ModelObject::split() to XS 2014-11-12 23:50:09 +01:00
Alessandro Ranellucci
334086d605 Bugfix: skirt and brim were not recalculated when objects where just moved in plater 2014-11-12 23:28:42 +01:00
Alessandro Ranellucci
a5787cfb04 Merge branch 'xs-reload-object'
Conflicts:
	lib/Slic3r/Print.pm
2014-11-12 22:51:48 +01:00
harriv
33cdee1ad6 Removed extra ; from Print.cpp 2014-11-11 22:17:02 +02:00
Alessandro Ranellucci
8b6a8e6307 Ported PlaceholderParser::update_timestamp() to XS
Note that Slic3r version number is now located in libslic3r.h
2014-11-09 20:41:43 +01:00
Alessandro Ranellucci
ee3fb7caa2 Ported GCodeWriter to XS (faster G-code export!) 2014-11-09 19:02:45 +01:00
Alessandro Ranellucci
b69caff93c Ported LayerRegion::make_slices() to XS 2014-11-09 16:24:07 +01:00
Alessandro Ranellucci
bad0bd8520 Ported Print::validate() to XS 2014-11-09 15:27:34 +01:00
Alessandro Ranellucci
3e4c572164 Ported some methods including add_model_object() and apply_config() to XS 2014-11-09 12:25:59 +01:00
Alessandro Ranellucci
9c93e52c8f Workaround Clipper changing point coordinates while performing simplify_polygons(), thus causing a crash in Slic3r. #2306 2014-11-08 12:56:14 +01:00
Alessandro Ranellucci
a78be203aa Upgrade Clipper to 6.2.1 2014-11-08 12:05:27 +01:00
Alessandro Ranellucci
67f1cdf76f Bugfix: seam_position = random didn't work with a single perimeter. #2179 2014-11-07 23:53:18 +01:00
Alessandro Ranellucci
c3d401fb41 Limit automatic extrusion width for support material interface as well 2014-11-07 23:35:33 +01:00
Alessandro Ranellucci
d645dabcff Ported reload_object() to XS 2014-11-07 20:25:05 +01:00
Alessandro Ranellucci
bf3f45604a Solid infill below area option was not invalidating the correct steps 2014-11-07 00:53:15 +01:00