Commit Graph

2608 Commits

Author SHA1 Message Date
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
Alessandro Ranellucci
b28fb2ef17 Bugfix: objects were not aligned to Z = 0 before exporting STL from plater. #2393 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
baf070a36d Bugfix: workaround for MSW wxWidgets not drawing the slider 2014-12-12 12:34:40 +01:00
Alessandro Ranellucci
829bd7378e Remove the Rotate... button from Windows as well, like for other operating systems 2014-12-10 17:34:59 +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
80c38b0113 Remember window size and position. #1253 #2251 2014-12-08 22:05:26 +01:00
Alessandro Ranellucci
d350241da3 Make combine_infill() completely idempotent. Includes unit testing 2014-12-08 21:23:42 +01:00
Alessandro Ranellucci
9a9ba02d85 Bugfix: infill was not correctly generated when infill_every_layers was used along with raft_layers. Includes regression test. #2396 2014-12-08 20:14:04 +01:00
Alessandro Ranellucci
f7026c41c5 Show button icons with wxWidgets 3.x.x too. #2372 2014-12-08 18:23:37 +01:00
Alessandro Ranellucci
2d243a39ff Bugfix: crash when deleting objects from plater with toolpaths preview open. #2389 2014-12-07 20:23:00 +01:00
Alessandro Ranellucci
807d042d11 Typo. #2401 2014-12-07 19:56:35 +01:00
Alessandro Ranellucci
95f7bcb9fe Removed Toolpaths Preview menu item. #2385 2014-12-01 21:06:21 +01:00
Alessandro Ranellucci
c9e896c669 Display validation errors in status bar when background processing couldn't generate toolpaths 2014-12-01 00:15:45 +01:00
Alessandro Ranellucci
04bcb410a9 Minor GUI improvements to toolpaths preview 2014-12-01 00:10:32 +01:00
Alessandro Ranellucci
98c67007d5 Finished bb103122065cddf8f8ea63f5e4fce954142c4d4c 2014-12-01 00:00:12 +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
076d82d8d6 Fixed regression causing the plater Split command not to remove objects from the model. #2380 2014-12-01 00:00:11 +01:00
Alessandro Ranellucci
0d3c4a160f Typo in Reader.pm #2033 2014-12-01 00:00:11 +01:00
Alessandro Ranellucci
80adf9e5d0 Open the settings dialog instead of the cut dialog when user double clicks on objects in plater 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
98cb9f0e18 Refactoring: moved G-code export logic into new Slic3r::Print::GCode class. Removed Slic3r::GCode::Layer class. Fixes the order of post-processing filters so that cooling buffer is applied before any other filter whose logic is affected by speeds 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
23848492ce Fixed regression causing crash when using avoid_crossing_perimeters with multiple object, caused by recent refactorings. Added regression test 2014-11-26 22:46:51 +01:00
Alessandro Ranellucci
43cbad8867 Minor fix to pressure management: support the case where speed is set before printing commands with a dedicated G1 Fx line 2014-11-24 18:32:18 +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
5a382f0200 Bugfix: Slic3r::GCode::Reader did not parse correctly when use_relative_e_distances was enabled. #2033 2014-11-24 16:30:57 +01:00
Alessandro Ranellucci
55888ace75 Minor cleanup in GCode.pm 2014-11-23 20:16:51 +01:00
Alessandro Ranellucci
5deadc8f12 Refactoring: removed _islands members in Slic3r::GCode 2014-11-23 20:03:16 +01:00
Alessandro Ranellucci
4925b056c2 Fix error in a1193d28bc. #2365
God bless regression tests.
2014-11-23 19:37:59 +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
a1193d28bc Fixed regression causing small perimeter speed not to be applied anymore. #2365 2014-11-23 19:15:28 +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
c1e26a70f8 Refactoring: move ooze prevention, wipe and avoid crossing perimeters into nested classes for better isolation 2014-11-23 15:13:40 +01:00
Alessandro Ranellucci
399fc519e6 Leave the Spiral Vase checkbox always enabled but prompt user when incompatible options are set. This should be more user-friendly than blindly disabling the Spiral Vase checkbox. #2360 2014-11-22 22:52:12 +01:00
Alessandro Ranellucci
989ec5cf4d Fixes to UTF-8 handling in file paths 2014-11-22 21:55:45 +01:00
Alessandro Ranellucci
049859e5b1 Fixed minor regression in plater 2D canvas 2014-11-22 19:42:35 +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
3a12cc5dbf Removing empty file 2014-11-13 00:38:43 +01:00
Alessandro Ranellucci
33fe53fd7c Ported three PrintObject methods to XS 2014-11-13 00:34:56 +01:00
Alessandro Ranellucci
f8986d0ef5 Restore correct behavior for autoarrange after recent commits 2014-11-13 00:23:31 +01:00
Alessandro Ranellucci
875035c09e Minor improvement to plater: select/drag uppermost object when user clicks on overlapping objects 2014-11-13 00:16:41 +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
Alessandro Ranellucci
9a4e8f39af Refactoring: move split logic in a single place (ModelObject class) 2014-11-12 22:36:03 +01: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
6135a9fb8b Bugfix: a move below z_offset was performed when retract_lift was enabled and lift amount was less than z_offset. Includes regression test. #2349 2014-11-09 19:24:17 +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
b8ef6c6c26 Bugfix: choice fields were not populated correctly in object and part settings 2014-11-08 15:42:23 +01:00
Alessandro Ranellucci
0a351fe47d Fix rendering issue of slider controls on Linux 2014-11-08 14:47:05 +01:00
Alessandro Ranellucci
c1d2c4e457 Bugfix: Z depth issues in 3D preview on Linux. #2197 2014-11-08 14:37:37 +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
67f1cdf76f Bugfix: seam_position = random didn't work with a single perimeter. #2179 2014-11-07 23:53:18 +01:00
Alessandro Ranellucci
09fd5b4af4 Bugfix: adjust flow by using each support layer's height instead of a bogus one. #2269 2014-11-07 23:18:35 +01:00
Alessandro Ranellucci
16fce2facb Fixed minor regression in recent commit 2014-11-07 22:58:48 +01:00
Alessandro Ranellucci
d645dabcff Ported reload_object() to XS 2014-11-07 20:25:05 +01:00
Alessandro Ranellucci
12ba7201c0 Fixed regression causing per-volume settings to be ignored upon background recalculation. #2277 2014-11-07 20:14:02 +01:00
Alessandro Ranellucci
b6bd527bdc Apply bridge flow and speed to first layer as well, when we have raft layers. This behavior is more consistent when all the other bottom surfaces lying on the void (thus on support material). #2301 2014-11-07 17:17:20 +01:00
Alessandro Ranellucci
f07c4ecadb Typo. #2339 2014-11-07 14:25:07 +01:00
Alessandro Ranellucci
fb2d84b5d3 Bugfix: double G10 and G11 commands were issued. #2320 2014-11-07 00:26:39 +01:00
Alessandro Ranellucci
9372abb51e Fixed regression in min_skirt_length. Includes regression test. #2337 2014-11-06 21:11:59 +01:00
Alessandro Ranellucci
06385221a3 Make .ini parser more tolerant to whitespace 2014-11-06 21:08:55 +01:00
Alessandro Ranellucci
30b0869595 Bugfix: crash when slicing one layer objects with sailfish G-code flavor. Includes regression test. #2335 2014-11-06 21:06:09 +01:00
Alessandro Ranellucci
11bd1e68e2 Fixed some regressions in retracts and wipe. Includes regression test 2014-11-05 01:16:26 +01:00
Alessandro Ranellucci
268de5c8e5 More refactoring to GCode.pm: make writer() public and fix usage of Slic3r::GCode without a Slic3r::Layer object 2014-10-28 21:47:09 +01:00
Alessandro Ranellucci
a38ec14cb1 Some minor refactoring and cleaning to the travel_to() method and new init_external_mp() method 2014-10-27 10:34:51 +01:00
Alessandro Ranellucci
ed17c22889 Minor cleanup of imported symbols 2014-10-25 11:15:12 +02:00
Alessandro Ranellucci
e29569a2cd Minor cleanup and refactoring in Slic3r::GCode 2014-10-25 11:00:08 +02:00
Alessandro Ranellucci
36c1a9d20c Renamed shift_x and shift_y into origin 2014-10-25 10:56:21 +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
33edda0a69 Moved Slic3r::GCode::Base to its own file 2014-10-18 17:59:52 +02:00
Alessandro Ranellucci
f8967418b9 Refactoring: moved the ooze prevention logic into a separate class with hooks 2014-10-18 17:58:14 +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