Commit Graph

2691 Commits

Author SHA1 Message Date
Alessandro Ranellucci
90afbc8bd9 Bugfix: don't crash when skirts > 0 but skirt_height = 0. Includes regression test. #2537 2015-01-18 13:01:00 +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
f11196525b Handle empty STL files gracefully instead of crashing. #2557 2015-01-18 12:12:10 +01:00
Alessandro Ranellucci
2bbb6c570b Ported toolpaths rendering to C++ 2015-01-18 01:07:22 +01:00
Alessandro Ranellucci
bfbcbd55d8 Render infill and support material as well 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
d781371d66 Join extrusions properly in 3D preview 2015-01-18 01:07:22 +01:00
Alessandro Ranellucci
ce1d368037 Use 3D as the default view 2015-01-17 10:53:01 +01:00
Alessandro Ranellucci
35da87a90a Check whether the configured post-processing scripts are executable and show an error when they aren't 2015-01-17 10:50:34 +01:00
Alessandro Ranellucci
b77d35f6f1 Don't autoassign extruders to material config. #2522 2015-01-16 16:35:35 +01:00
Alessandro Ranellucci
aa69ae11a8 Prune very short thin walls 2015-01-15 22:37:55 +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
24e8307e68 Faster algorithm for sorting perimeter loops 2015-01-15 17:42:39 +01:00
Alessandro Ranellucci
56853319d1 Restore correct Z alignment after cut 2015-01-14 23:26:28 +01:00
Alessandro Ranellucci
2a7f1a8c19 Only show a single instance in settings and cut dialogs 2015-01-14 23:24:01 +01:00
Alessandro Ranellucci
ebf17d14f0 Open the Object Settings dialog when double clicking an item in the list instead of the cut dialog 2015-01-14 23:21:54 +01:00
Alessandro Ranellucci
b518d5d32f New command for setting the number of copies of the selected object. #2540 2015-01-14 23:19:13 +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
aa5bafb8be Support preset names with Unicode characters. #2527 2015-01-13 23:22:27 +01:00
Alessandro Ranellucci
9c08dfb50c Merge pull request #2531 from lordofhyphens/issue_2526
Fix for issue #2526, changed to GET.
2015-01-13 20:59:14 +01:00
Alessandro Ranellucci
88b62a9923 Merge pull request #2532 from lordofhyphens/issue2530_partial_fix
A partial fix for issue #2530
2015-01-13 20:58:53 +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
3ee0fc5b1c Ability to select object parts by clicking in the 3D view in the object editor 2015-01-13 20:55:19 +01:00
Alessandro Ranellucci
d46d5c955b One more refactoring in 3DScene (select group/drag group) 2015-01-13 20:55:19 +01:00
Alessandro Ranellucci
9c8f8f8ded Refactoring: make Slic3r::GUI::3DScene::Base model-independent 2015-01-13 20:55:19 +01:00
Joseph Lenox
4f2e172561 A partial fix for issue #2530, which will makes the bonjour dialog put the port number in the string. 2015-01-12 12:10:56 -06:00
Joseph Lenox
90811f6736 Fix for issue #2526, changed to GET. 2015-01-12 11:56:54 -06:00
Alessandro Ranellucci
28d7b0dba6 Write fatal errors to console as well 2015-01-09 14:50:42 +01:00
Alessandro Ranellucci
fb08588007 Renamed PreviewCanvas to 3DScene 2015-01-09 01:30:04 +01:00
Alessandro Ranellucci
0a62d658d9 Removed ObjectPreviewDialog not used anymore 2015-01-09 01:27:35 +01:00
Alessandro Ranellucci
4c7d9dfef5 Memory optimization in PreviewCanvas: don't keep additional meshes in memory when not needed 2015-01-09 01:18:47 +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
9f4f711017 Disable the OctoPrint test button when LWP::UserAgent is not available 2015-01-08 21:37:00 +01:00
Alessandro Ranellucci
24daa50bfd Button for testing OctoPrint connectivity. #2509 2015-01-08 21:34:51 +01:00
Alessandro Ranellucci
2f255620c6 Fix toolpath preview after recent change of semantics of LayerRegion::perimeters 2015-01-08 15:41:17 +01:00
Alessandro Ranellucci
8b11adb883 Enlarge the About dialog. #2476 2015-01-08 15:34:42 +01:00
Alessandro Ranellucci
c908d4d96e Restore correct depth test for the Z axis. #2510 2015-01-08 15:31:13 +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
9b9ed91e6e Nicer rendering for 3D slices 2015-01-07 20:45:50 +01:00
Alessandro Ranellucci
d5cab6221d Better lighting in the 3D view 2015-01-07 20:11:03 +01:00
Alessandro Ranellucci
a4235f5f44 Better axes rendering 2015-01-07 19:49:54 +01:00
Alessandro Ranellucci
06aaf83cfe Restored correct transparency of the cutting plane 2015-01-07 19:46:37 +01:00
Alessandro Ranellucci
b085710a4b Further refactoring to PerimeterGenerator: remove the $traverse closure 2015-01-07 16:16:00 +01:00
Alessandro Ranellucci
82ec03fc23 Refactored perimeter generation code into a new separate class for easier unit testing 2015-01-07 16:04:53 +01:00
Alessandro Ranellucci
6962b8dddd Glitches when panning with middle mouse button. #2454 2015-01-07 11:58:22 +01:00
Alessandro Ranellucci
4688ae2fb6 Bugfix: rotation in 3D view was randomly stopping. #2482 2015-01-07 11:13:56 +01:00
Alessandro Ranellucci
0de1c235a9 Reversed mouse wheel zooming in 3D once more. #2478 2015-01-06 21:08:33 +01:00
Alessandro Ranellucci
39172d5a08 Fixed typo causing test to fail 2015-01-06 20:54:32 +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
f0de57cbe4 Minor cleanup of the init_external_mp() call 2015-01-06 15:04:09 +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
0f7933c4f9 Bugfix: pressure regulation accumulated too much retraction and didn't discharge at the end of print. Includes regression test. #2470 2015-01-06 00:35:39 +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
6c7c089fc4 Disable the "Export G-code" and "Send to print" buttons when other actions are pending 2015-01-04 19:29:34 +01:00
Alessandro Ranellucci
0775960b9f Minor reordering of options 2015-01-04 19:20:13 +01:00
Alessandro Ranellucci
af1b705563 Increase HTTP timeout for Octoprint upload. #2481 2015-01-04 15:30:31 +01:00
Alessandro Ranellucci
6438bfc3cb Draw bed contours with grid linewidth 2015-01-04 13:36:14 +01:00
Alessandro Ranellucci
84c30c1cf5 Nicer bed appearance 2015-01-04 13:32:00 +01:00
Alessandro Ranellucci
694268d6c7 Fix incomplete grid in 3D preview 2015-01-04 13:17:20 +01:00
Alessandro Ranellucci
510b472b51 Gradient background for 3D view 2015-01-04 13:11:05 +01:00
Alessandro Ranellucci
3b09377a43 Export single object as STL from its contextual menu. #2479 2015-01-03 15:48:53 +01:00
Alessandro Ranellucci
73d45dd851 Minor cleanup of Layer::Region::_fill_gaps() 2015-01-03 15:11:33 +01:00
Alessandro Ranellucci
69da8b0999 Use borderless buttons for save/delete in presets management (better look on wxOSX with 3.0.0) 2015-01-01 17:14:57 +01:00
Alessandro Ranellucci
93687c1491 Disable Growl notifications if register() fails - this prevents a deadlock on growler->notify() 2015-01-01 12:37:38 +01:00
Alessandro Ranellucci
1eac452d71 Send file basename when uploading to OctoPrint 2014-12-30 22:07:47 +01:00
Alessandro Ranellucci
7fa27c958a Bugfix: when dragging an object, only one part was moving. #2467 2014-12-30 14:21:10 +01:00
Alessandro Ranellucci
77d2a8aa8c Fix Preferences window size. #2463 2014-12-30 13:24:00 +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
4b7cec28b9 Fix to Octoprint upload. #2465 2014-12-29 20:34:33 +01:00
Alessandro Ranellucci
9d5f55af77 Minor optimization in G-code export 2014-12-29 17:40:56 +01:00
Alessandro Ranellucci
1c0437bc7b One more fix to 3D honeycomb not covering the entire area after last commit 2014-12-29 15:52:48 +01:00
Alessandro Ranellucci
67d7658c59 Bugfix: random misalignment of the 3D Honeycomb pattern 2014-12-29 14:42:41 +01:00
Alessandro Ranellucci
d38503bf44 Bugfix: downwards interface detection might cause a crash 2014-12-29 14:29:21 +01:00
Alessandro Ranellucci
6896e53078 Octoprint -> OctoPrint 2014-12-29 12:49:32 +01:00
Alessandro Ranellucci
242dc17680 Minor improvements to Octoprint integration 2014-12-29 11:45:09 +01:00
Alessandro Ranellucci
e8dc981774 Fixes to Ooze Prevention 2014-12-29 00:51:27 +01:00
Alessandro Ranellucci
c43049e13b Prevent rare crashes using Ooze Prevention 2014-12-28 22:09:28 +01:00
Alessandro Ranellucci
b468e68c59 Bonjour autodiscovery of the Octoprint instances in local network. #1826 2014-12-28 18:49:52 +01:00
Alessandro Ranellucci
5d4d79191a Fixed regression causing bridges not to be printed with rectilinear pattern when --external-fill-pattern was set. #2460 2014-12-28 17:29:21 +01:00
Alessandro Ranellucci
959eb60ad0 Scoping error caused the Unsaved Changes dialog not to be shown when closing the main window 2014-12-28 16:19:55 +01:00
Alessandro Ranellucci
c1e44eb591 Fixed extra comment that prevented the Export STL button from working after the recent changes in plater layout. #2458 2014-12-28 14:59:28 +01:00
Alessandro Ranellucci
efe7d5f857 Integration with Octoprint. #1826 2014-12-28 01:30:05 +01:00
Alessandro Ranellucci
eba19aaba4 Fixed Object part editor because it wasn't updated with the new PreviewCanvas API. #2455 2014-12-28 00:16:15 +01:00
Alessandro Ranellucci
53e8699765 Prepend option category in the unsaved changes dialog 2014-12-27 14:38:06 +01:00
Alessandro Ranellucci
bbb47e087a Restore functionality of Test::SectionCut 2014-12-27 13:04:28 +01:00
Alessandro Ranellucci
b5b0df2426 Adapt SectionCut to the new APIs 2014-12-26 18:57:21 +01:00
Alessandro Ranellucci
5dc635b0b1 Pan with middle mouse button too. #2444 2014-12-25 20:08:47 +01:00
Alessandro Ranellucci
6ac82f1a20 Fix cutting of objects rotated around X or Y 2014-12-25 20:04:59 +01:00
Alessandro Ranellucci
5d9ff677c0 Workaround wxMSW not catching mouse wheel events if panel has no focus. #2424 2014-12-25 19:51:53 +01:00
Alessandro Ranellucci
ce395dfba8 💄 2014-12-25 19:42:24 +01:00
Alessandro Ranellucci
4c3fa999f5 Only draw the slices in toolpath preview for the current selected layer 2014-12-25 19:35:51 +01:00
Alessandro Ranellucci
617fbaa9bd Restore expansion of filament choosers 2014-12-25 19:14:18 +01:00
Alessandro Ranellucci
dbbc6e7e55 Update plater preset selectors when dismissing unsaved changes 2014-12-25 18:52:27 +01:00
Alessandro Ranellucci
6c2a28166a Rearrange plater's layout slightly in order to have larger preset selectors 2014-12-25 18:50:02 +01:00
Alessandro Ranellucci
cc36aff66a Fix MainFrame after recent changes in preset handling 2014-12-25 18:18:41 +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
70f454c693 Fixed regression in inwards move 2014-12-25 11:06:42 +01:00
Alessandro Ranellucci
ffff597bfe Bugfix: the Bed Shape dialog didn't retain rectangle origin correctly. #2427 2014-12-25 02:36:10 +01:00
Alessandro Ranellucci
19548fe301 Don't perform wiping if we have just changed layer and no extrusions were performed before the first retraction. Includes regression test. #2214 2014-12-24 12:02:42 +01:00
Alessandro Ranellucci
9dd228df01 Enable the GLU tesselator on MSW if we have a recent OpenGL module 2014-12-24 11:49:27 +01:00
Alessandro Ranellucci
4848cb7606 Ported PrintObject::bridge_over_infill() to XS 2014-12-24 10:20:55 +01:00
Alessandro Ranellucci
ea40c4d1b0 Fixed rendering of multiple interlaced layers in toolpaths preview 2014-12-24 01:34:35 +01:00
Alessandro Ranellucci
5d3cd792eb Make infill_only_where_needed idempotent. #2198 2014-12-24 01:29:36 +01:00
Alessandro Ranellucci
350d634433 Enable extruder_offset configuration for first extruder. #2224 2014-12-24 00:34:17 +01:00
Alessandro Ranellucci
c63d5da5c2 Move dump_perl() to Slic3r::Polyline 2014-12-24 00:11:13 +01:00
Alessandro Ranellucci
d47e12f05c Bugfix: a wrong optimization caused some top-level perimeters not to be sorted using the nearest-neighbor search. #2322 2014-12-24 00:10:31 +01:00
Alessandro Ranellucci
af446dc7d4 Apply contact distance to first support layer above object's top surfaces too. #1939 2014-12-23 22:18:43 +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
473802ce8c Use support material interface extruder for layers above object's top surfaces too. #1939 2014-12-23 01:04:25 +01:00
Alessandro Ranellucci
6a939eb250 Fight deadlocks 2014-12-22 19:47:39 +01:00
Alessandro Ranellucci
bb907fb405 Don't trigger the on_move callback upon simple object selection with no dragging action 2014-12-22 19:34:19 +01:00
Alessandro Ranellucci
faed500520 Refresh slider when reloading print in toolpath preview canvas 2014-12-22 18:56:16 +01:00
Alessandro Ranellucci
e49cf2c55f Refactored Line infill implementation 2014-12-22 17:25:52 +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
540c2b8705 Minor additions for debugging 2014-12-22 11:37:28 +01:00
Alessandro Ranellucci
45cc204f74 Center hilbertcurve, archimedeanchords, octagramspiral around object's center and align them across layers 2014-12-22 11:16:01 +01:00
Alessandro Ranellucci
bdce1ded7e Disable cross-hatching for hilbertcurve, archimedeanchords, octagramspiral 2014-12-22 10:47:09 +01:00
Alessandro Ranellucci
5cd3ef7b8a Bugfix: PlanePath infills sometimes did not cover the whole area. #863 #1162 2014-12-22 00:18:45 +01:00
Alessandro Ranellucci
74f25ef52f Consolidated all PlanePath classes in a single file 2014-12-21 23:43:53 +01:00
Alessandro Ranellucci
1485659726 Minor rewording. #2411 2014-12-21 23:40:05 +01:00
Alessandro Ranellucci
583b009d1b Honor print bed center in Quick Slice. #2440 2014-12-21 23:29:31 +01:00
Alessandro Ranellucci
7253dc699a Some more work on wireframe 2014-12-21 22:52:18 +01:00
Alessandro Ranellucci
9ac60dca1a Fixed vibration limit. 2014-12-21 12:39:19 +01:00
Alessandro Ranellucci
795c85d30e Apply a true double-ended nearest-neightbor search to thin fills in order to minimize travel moves between them. #2213 2014-12-20 22:40:43 +01:00
Alessandro Ranellucci
38ecce0ce9 Disable the GLU tesselator on MSW 2014-12-17 14:41:58 +01:00
Alessandro Ranellucci
34a49086e5 Added code for potential antialiasing 2014-12-17 14:28:25 +01:00
Alessandro Ranellucci
a0dda36df0 Minor fix to BridgeDetector 2014-12-17 01:21:12 +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
d9cffeca4a Bugfix: adjust skirt flow according to each layer's height. #2307 2014-12-16 18:55:16 +01:00
Alessandro Ranellucci
99deffef62 Bugfix: use the external motion planner when extruding skirt and brim. #2412 2014-12-16 18:13:38 +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
a34cd24fa1 Overlay object slices in toolpaths preview 2014-12-15 12:42:11 +01:00
Alessandro Ranellucci
9cd0a63331 Refactoring of PreviewCanvas 2014-12-15 01:28:11 +01:00
Alessandro Ranellucci
74b3be3c06 Refactoring in 3D interactive code. Highlight all copies of an object when hovering 2014-12-14 00:54:35 +01:00
Alessandro Ranellucci
2f2ae75529 Some incomplete work for moving objects in 3D plater 2014-12-13 22:18:43 +01:00
Alessandro Ranellucci
ac2b6de62b Minor addition to OpenGL code to prevent darker models 2014-12-13 20:56:22 +01:00
Alessandro Ranellucci
16945dad70 💄 2014-12-13 20:47:59 +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
b0aa1260e2 Bugfix: wxComboBox left blank after menu item selection on MSW due to an undocumented wxWidgets issue. #2361 2014-12-13 15:40:42 +01:00
Alessandro Ranellucci
e9166a8fe6 Use a semaphore to synchronize threads instead of blocking with join(). Lock threads array in order to ensure all of them are signalled. #2394 2014-12-13 15:01:53 +01:00
Alessandro Ranellucci
360dee862b Keep model objects aligned to Z = 0 in plater 2014-12-12 22:43:56 +01:00