Commit Graph

714 Commits

Author SHA1 Message Date
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
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
d1f58cbed5 Objects can be selected in 3D preview now. Double click and right click work as well 2014-12-13 20:41:03 +01:00
Alessandro Ranellucci
ac495e974a Update test 2014-12-12 23:02:28 +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
6010297465 All std::string variables are now supposed to be UTF-8 encoded. We now embed the std::string typemaps in order to do this. #2282 2014-11-22 22:20:28 +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
948793e570 Prettier validation errors 2014-11-09 15:31:40 +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
c97cac5bc9 Fixed glitch in commit 9c93e52c8f causing tests failures 2014-11-08 15:02:58 +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
Alessandro Ranellucci
a4eef93950 Fixed minor regression 2014-11-04 21:07:18 +01:00
Alessandro Ranellucci
01133fd0be Fix tests after recent output change for ConfigOptionPoint values 2014-10-28 23:37:20 +01:00
Alessandro Ranellucci
366e10d6ec Added comment 2014-10-25 11:10:44 +02:00
Alessandro Ranellucci
7f57f007cd Refactoring: moved Slic3r::GCode::Base to Slic3r::GCode::Writer 2014-10-25 10:42:07 +02:00
Alessandro Ranellucci
c2e710d092 Removed --g0 2014-10-21 21:41:11 +02:00
Alessandro Ranellucci
71ec90a1dd Finish porting the Extruder class to libslic3r 2014-10-21 20:36:52 +02:00
Alessandro Ranellucci
f82e92f498 Merge branch 'gcode-refactoring' 2014-10-21 20:20:28 +02:00
Alessandro Ranellucci
167df0ab87 Refactoring: moved most of the low-level G-code to the Slic3r::GCode::Base class. Cleanup of the retraction and wipe logic. 2014-10-21 20:16:45 +02:00
Alessandro Ranellucci
e521475b7e Refactoring: moved some low-level G-code generation methods to the new Slic3r::GCode::Base class 2014-10-18 17:41:21 +02:00
Alessandro Ranellucci
6b8f03ff1c Bugfix: crash in some circumstances when avoid_crossing_perimeters is enabled. #2266 2014-10-15 00:59:26 +02:00
Alessandro Ranellucci
6573ae002a Bugfix: fix crash in some circumstances caused by Avoid crossing perimeters. #2271 2014-09-23 20:19:47 +02:00
Miro Hrončok
b9f4880b23 Updated to admesh 0.98.1 2014-09-23 14:34:37 +02:00
Alessandro Ranellucci
f3db284e2a Merge branch 'master' of github.com:alexrj/Slic3r 2014-09-21 14:42:09 +02:00
Alessandro Ranellucci
73b3c06361 Ported more things to XS 2014-09-21 10:51:36 +02:00
Alessandro Ranellucci
fcf65223e1 Make tooltip for toolchange_gcode more precise 2014-08-14 21:50:57 +02:00
Alessandro Ranellucci
5a96bad8c2 Ported some more methods to C++ 2014-08-08 21:48:59 +02:00
Alessandro Ranellucci
534b8c3f12 Fixed minor harmless error in a couple tests 2014-08-08 11:07:51 +02:00
Alessandro Ranellucci
5435d88924 Bugfix: wrong arguments supplied to Flow constructor (rarely used case) 2014-08-08 02:56:25 +02:00