Commit Graph

308 Commits

Author SHA1 Message Date
Alessandro Ranellucci
87b54ba2a0 Plater rearrange experiment 2013-08-25 12:22:05 +02:00
Alessandro Ranellucci
2dd6325bf8 Expose an Open button in the plater 2013-08-25 03:21:20 +02:00
Alessandro Ranellucci
b38cc2c244 Merge branch 'master' into xsdata
Conflicts:
	lib/Slic3r.pm
	lib/Slic3r/ExPolygon.pm
	lib/Slic3r/Fill.pm
	lib/Slic3r/Fill/Rectilinear.pm
	lib/Slic3r/GCode.pm
	lib/Slic3r/GUI/Plater.pm
	lib/Slic3r/Geometry/Clipper.pm
	lib/Slic3r/Layer/Region.pm
	lib/Slic3r/Print.pm
	lib/Slic3r/Print/Object.pm
	lib/Slic3r/TriangleMesh.pm
	t/shells.t
	xs/MANIFEST
2013-08-08 02:10:34 +02:00
Alessandro Ranellucci
4438aec12c Revert "Remove thumbnail simplification because it caused loss of very thin parts. #1327"
This reverts commit 1210b89893.

Conflicts:

	lib/Slic3r/GUI/Plater.pm
2013-08-05 20:48:09 +02:00
Alessandro Ranellucci
0ce7ebc4b8 Integerize plater thumbnails 2013-08-05 20:21:08 +02:00
Alessandro Ranellucci
3b47e1a492 New --info option to show file info (size, volume, repair stats). Removed utils/file_info.pl 2013-07-31 15:10:11 +02:00
Alessandro Ranellucci
1210b89893 Remove thumbnail simplification because it caused loss of very thin parts. #1327 2013-07-29 16:43:48 +02:00
Alessandro Ranellucci
aa194c8125 Fix little regression causing object height not to be updated when object in plater was scaled 2013-07-26 14:30:00 +02:00
Alessandro Ranellucci
c1c1416838 Scale layer height ranges too when scaling object in plater. #1284 2013-07-26 14:26:59 +02:00
Alessandro Ranellucci
ab6b3d41a7 XS interface completed, including new Line class 2013-07-15 22:57:22 +02:00
Alessandro Ranellucci
9af2a1c007 Use XS Point everywhere 2013-07-15 20:31:43 +02:00
Alessandro Ranellucci
b1ad466189 Ported Slic3r::ExPolygon::Collection to XS 2013-07-14 00:38:01 +02:00
Alessandro Ranellucci
31809d473f Merge branch 'master' into xsdata
Conflicts:
	lib/Slic3r/GCode.pm
	xs/src/Point.hpp
2013-07-13 21:00:19 +02:00
Alessandro Ranellucci
69a8bac9c9 Show a warning if we repaired the input file 2013-07-13 20:34:57 +02:00
Alessandro Ranellucci
6affa23297 Show repair stats in object info dialog 2013-07-13 20:23:03 +02:00
Alessandro Ranellucci
89fae9ee15 Make threaded perls work with XS data in plater thumbnails. Includes cleaner ->arrayref implementation 2013-07-11 19:34:37 +02:00
Alessandro Ranellucci
8d171a297e Add thread cleanup to avoid double destruction of shared XS data 2013-07-11 16:17:36 +02:00
Alessandro Ranellucci
5409c27852 Partial GUI compatibility with XS data 2013-07-07 18:43:04 +02:00
Alessandro Ranellucci
8061cc6e30 Optimization in Polyline instantiation 2013-07-05 14:44:41 +02:00
Alessandro Ranellucci
c4036470af Fix one thing leftover from bounding box refactoring 2013-06-17 12:11:28 +02:00
Alessandro Ranellucci
ac4a0bcdd8 Refactoring: use Slic3r::Geometry::BoundingBox objects everywhere 2013-06-16 12:21:25 +02:00
Alessandro Ranellucci
cb75b1e47b Fix plater crash on threaded perls 2013-06-15 19:15:24 +02:00
Alessandro Ranellucci
7bf308c08f Fix one more centering problem caused by wrong bounding box implementation 2013-06-15 15:50:02 +02:00
Alessandro Ranellucci
145fe08203 More fixes for plater positioning. #1171 2013-06-13 20:05:32 +02:00
Alessandro Ranellucci
962a51cc80 Some cleanup for the plater code 2013-06-13 14:33:10 +02:00
Alessandro Ranellucci
def013ba91 Use _transform_thumbnail when rescaling thumbnails 2013-06-13 11:28:27 +02:00
Alessandro Ranellucci
0a74e45432 Scale and recenter thumbnails when bed size and/or print center is changed 2013-06-13 11:27:15 +02:00
Alessandro Ranellucci
5dcf277563 Rotate cw when using free rotation button to be consistent with icon. #1171 2013-06-13 10:27:47 +02:00
Alessandro Ranellucci
aee7b70d79 Bugfix: the order of transformations was not consistent in plater and actual G-code generation. #1171 #1191 2013-06-12 16:53:19 +02:00
Alessandro Ranellucci
510c2092df Fix rotation and scaling in plater producing mispositioned objects in G-code after recent changes. Includes a large refactoring and the new Slic3r::Geometry::BoundingBox class. #1171 #1191 2013-06-07 23:16:02 +02:00
Alessandro Ranellucci
9ea55497c2 Prevent crash when user deleted object from plater before thumbnail was generated in the other thread. #1207 2013-06-07 13:54:40 +02:00
Alessandro Ranellucci
fcc442882c Fix plater defect causing misalignment 2013-06-06 20:53:56 +02:00
Alessandro Ranellucci
28a01e7c5e Fix past participle 2013-06-02 16:58:23 +02:00
Alessandro Ranellucci
655d528d92 Fixed recent regression causing a spike when avoid_crossing_perimeters was used on split objects 2013-06-02 16:56:08 +02:00
Alessandro Ranellucci
49531f6f78 Fixed regression causing rotation from plater to also translate the resulting G-code. #1191 2013-05-31 19:41:31 +02:00
Alessandro Ranellucci
71d6f428ca Apparent fix for "Attempt to free unreferenced scalar" 2013-05-20 10:57:27 +02:00
Alessandro Ranellucci
f13d4e4e66 Restore skirt preview and extrude clearance after recent usage of int_offset() 2013-05-19 18:03:18 +02:00
Alessandro Ranellucci
5494f4f385 Free @_ before spawning a new thread (known old Perl bug) as an attempt to fix the unref scalars error 2013-05-19 17:34:33 +02:00
Alessandro Ranellucci
08a0bbd7f0 Optimization: split meshes automatically when avoid_crossing_perimeters is enabled, so that we reduce the complexity of the MotionPlanner graphs. This commit includes a very large refactoring of the Model class which is now responsible for duplication and arrangement 2013-05-18 16:48:26 +02:00
Alessandro Ranellucci
06ad6b70f8 Bugfix: scaling object from the plater applied scale factor over the factor used in the previous slicing job. #1075 2013-05-14 16:31:50 +02:00
Alessandro Ranellucci
f7153d67d0 Make preset placeholders available in Quick Slice too. #921 2013-04-28 23:26:50 +02:00
Alessandro Ranellucci
6db8afe36d New option to remember last output directory. #698 2013-04-27 21:07:30 +02:00
Alessandro Ranellucci
1187f4846d Some Clipper optimizations 2013-03-31 19:40:25 +02:00
Alessandro Ranellucci
7f23e72a10 Display preview for small files too. #929 2013-03-30 00:52:45 +01:00
Alessandro Ranellucci
33a4ec660d better handling of too-small and too-short models #929.
These changes handle small models better in the plater preview.
Extremely small thumbnails are preserved instead of culled,
allowing the model to be scaled up. The scale range is extended to
100000% to allow mm-scale objects expressed in meters to be opened
and scaled to mm.
Original coding by mesheldrake
2013-03-30 00:47:13 +01:00
Alessandro Ranellucci
2f046799f2 Removed offset() method from Slic3r::Polygon because it only works with ccw polygons 2013-03-26 14:03:24 +01:00
Alessandro Ranellucci
813aa5b307 Allow drag and drop for OBJ files 2013-03-19 12:25:10 +01:00
Alessandro Ranellucci
33b40eda18 Always fix self-intersecting polygons that Douglas-Peucker might return 2013-03-16 18:42:56 +01:00
Alessandro Ranellucci
f670acb4b1 Slice a single object with multiple layer heights. :-) 2013-03-10 14:58:49 +01:00
Alessandro Ranellucci
6a0ba97f0e Move ObjectDialog to a separate file 2013-03-10 12:33:10 +01:00
Alessandro Ranellucci
b901e1f6c8 Merge branch 'master' into simple-mode 2013-03-08 22:28:13 +01:00
Alessandro Ranellucci
7412d4a687 Bugfix: manifoldness error triggered with multi-volume AMF files. #1019 2013-02-24 18:17:08 +01:00
Alessandro Ranellucci
f555a1ecc2 Replace 'Less' with 'Fewer' in plater. #944 2013-01-23 19:16:57 +01:00
Alessandro Ranellucci
7239ca18c1 Simple mode 2013-01-03 15:49:20 +01:00
Alessandro Ranellucci
b495e15d7f Fix plater slowness after the introduction of the vertical projection 2012-11-29 19:13:52 +01:00
Alessandro Ranellucci
116ab446e3 Show vertical projection instead of convex hull for objects with <= 2000 facets. #780 2012-11-24 00:13:04 +01:00
Alessandro Ranellucci
e91320e031 Fix rotation for threaded perls 2012-11-19 18:31:41 +01:00
Alessandro Ranellucci
5678cd562c Fix preview after rotation in plater 2012-11-19 17:39:16 +01:00
Alessandro Ranellucci
8d557bee8c Bugfix: AMF export was not working anymore. #799 2012-11-16 22:41:54 +01:00
Alessandro Ranellucci
d0bee4bf41 Fixed regression in Split. #766 2012-10-27 21:39:57 +02:00
Alessandro Ranellucci
bc9ff848dd Removed unused 'propgrid' import group from Wx. #764 2012-10-27 21:21:18 +02:00
Alessandro Ranellucci
392af5542b Show object information when double-clicking it in the plater 2012-10-24 22:44:08 +02:00
Alessandro Ranellucci
3c8ac435ad Remember last used filament presets when using multiple extruders too 2012-10-24 20:24:11 +02:00
Alessandro Ranellucci
c793a2657f Replace Math::ConvexHull with Math::ConvexHull::MonotoneChain. #722 2012-10-22 15:29:54 +02:00
Alessandro Ranellucci
33b1970b95 Incomplete commit broke the plater on threaded perls 2012-10-22 14:02:58 +02:00
Alessandro Ranellucci
4f1b56f004 Fix regression causing the plater to merge all materials into a single one, thus not producing multi-extrusion prints 2012-10-21 20:56:19 +02:00
Alessandro Ranellucci
f5f9574173 Merge pull request #722 from mesheldrake/remove-dups-before-hull
use remove_coinciding_points before convex_hull
2012-10-15 02:49:30 -07:00
Alessandro Ranellucci
6b4f038d17 Update copies number when decreasing parts. #747 2012-10-15 10:59:54 +02:00
Alessandro Ranellucci
1a6eaeaa91 Bugfix: split wasn't working properly under threaded perls 2012-10-01 18:12:14 +02:00
Alessandro Ranellucci
2c400ee2b8 Removed useless warning 2012-10-01 16:49:02 +02:00
Mike Sheldrake
4b91496edd use remove_coinciding_points before convex_hull
convex_hull returns polygons with sharp concaves sometimes when
duplicate points are present
2012-09-27 06:47:38 -07:00
Alessandro Ranellucci
fd74577eae Fix typo in previous commit 2012-09-24 21:00:26 +02:00
Alessandro Ranellucci
1f4706f02f [print_preset] and others were erroneously renamed to [print] etc. #675 2012-09-23 17:40:34 +02:00
Alessandro Ranellucci
77625894ff New command to combine multiple STL files into a single multi-material AMF file 2012-09-23 14:48:58 +02:00
Alessandro Ranellucci
e696764af8 Assign extruders and flows to materials 2012-09-23 02:40:25 +02:00
Alessandro Ranellucci
35e449e891 Make new plater compatible with threaded perls 2012-09-21 17:45:54 +02:00
Alessandro Ranellucci
f638558167 Preserve position when splitting objects in plater 2012-09-21 15:35:32 +02:00
Alessandro Ranellucci
e40f32995f Finish GUI decoupling 2012-09-21 15:04:33 +02:00
Alessandro Ranellucci
757515ba17 New [print_preset], [filament_preset] and [printer_preset] variables. #675 2012-09-21 15:04:18 +02:00
Alessandro Ranellucci
e89f64e9d3 More unfinished work 2012-09-21 15:04:17 +02:00
Alessandro Ranellucci
191de5d078 Unfinished work for decoupling GUI from the Print object (goal = more speed for manipulation, less memory usage) 2012-08-29 19:37:27 +02:00
Alessandro Ranellucci
23f6842bd4 Export plates as AMF constellations 2012-08-29 17:12:32 +02:00
Alessandro Ranellucci
f90520ed06 Refactoring: new Slic3r::Model class to represent files 2012-08-29 17:12:32 +02:00
Alessandro Ranellucci
a1ac866b84 Refactoring: turn x_length and y_length in size 2012-08-25 20:14:01 +02:00
Nicolas Dandrimont
a147530d2a Explicitly avoid passing arguments to remove when called from the event handler
Wx passes some objects to the callbacks, and we want to ignore those.
2012-08-11 16:05:17 +02:00
Nicolas Dandrimont
7b0d4cb4e1 Revert "Dereference the Wx object id when removing an object in the plater."
This reverts commit 4979029cd2.
2012-08-11 16:00:41 +02:00
Nicolas Dandrimont
4979029cd2 Dereference the Wx object id when removing an object in the plater. 2012-08-11 15:49:06 +02:00
Alessandro Ranellucci
624e16b7e2 Unexpected results splitting objects with threaded perls. #610 2012-08-10 16:05:16 +02:00
Alessandro Ranellucci
2bf219a637 Bugfix: random failure to load presets. #600 2012-08-09 00:41:03 +02:00
Henrik Brix Andersen
e2b2e369f8 Disable using ENTER key for accessing "Export G-code..." button. 2012-08-08 21:45:17 +02:00
Henrik Brix Andersen
640c07a233 Revert 4099c3a8cf
Presenting detailed statistics about a given slice needs rethinking, as this solution will not scale.
2012-08-07 21:00:03 +02:00
Alessandro Ranellucci
2548d5b993 Expose all multi-extruder settings to the GUI 2012-08-07 20:14:28 +02:00
Alessandro Ranellucci
793301d319 Allow to select multiple filaments in GUI when multiple extruders are configured 2012-08-07 18:44:47 +02:00
Alessandro Ranellucci
2616c24ffc Bugfix: plater wasn't initialized with last settings. #573 2012-08-06 19:19:22 +02:00
Henrik Brix Andersen
794a090892 Pass explicit tool IDs to ::EnableTool() 2012-08-02 21:49:26 +02:00
Henrik Brix Andersen
69fa308f55 Allocate wxWidget identifiers dynamically to avoid potential conflics. 2012-08-02 21:11:36 +02:00
Henrik Brix Andersen
d1b8f37dda Call print->config before print->expanded_output_filepath. #573 2012-08-01 16:06:03 +02:00
Henrik Brix Andersen
0aae15e2a8 Persist last skein directory and last config directory used across application restarts. 2012-07-30 12:08:28 +02:00
Sam Wong
4099c3a8cf #568: Show filament needed statistics in the GUI message box. 2012-07-30 01:24:51 +08:00
Alessandro Ranellucci
9933132ae6 Bugfix: recent refactoring broke slicing from plater on multi-threaded perls 2012-07-29 15:51:26 +02:00
Alessandro Ranellucci
7e34244b05 Refactored configuration handling.
Slic3r::Config is now an object. Multiple partial config objects are used throughout the codebase as local repositories, then merged and serialized when necessary.
2012-07-27 21:16:11 +02:00
Henrik Brix Andersen
1cc0a79188 Allow the list and buttons to expand upon window resize 2012-07-26 16:50:57 +02:00
Henrik Brix Andersen
7b06255dca Center preset buttons 2012-07-26 16:48:28 +02:00
Henrik Brix Andersen
63e8299f14 Eliminate single-item wxSizer. 2012-07-26 16:41:22 +02:00
Henrik Brix Andersen
85603c1981 Highlight the dragged object. 2012-07-25 10:06:45 +02:00
Henrik Brix Andersen
affaee415b Reset mouse cursor on button up event. 2012-07-25 00:51:41 +02:00
Henrik Brix Andersen
5502537065 Change cursor when hoovering over a movable object. 2012-07-25 00:15:32 +02:00
Henrik Brix Andersen
0e6d6a9695 Force sane TAB key order on buttons in GridSizer. 2012-07-24 18:21:02 +02:00
Henrik Brix Andersen
09a222f8b2 Reshuffle code a bit to preserve TAB key order between toolbar and listctrl. 2012-07-24 14:42:38 +02:00
Henrik Brix Andersen
44f3b7d2b5 Allow TAB key navigation of controls. 2012-07-24 14:28:21 +02:00
Alessandro Ranellucci
c7bc9bed46 Workaround for a perl 5.10 bug about leaked scalars. #503 2012-07-21 14:45:45 +02:00
Alessandro Ranellucci
f173096a6c Merge branch 'new-gui'
Conflicts:
	lib/Slic3r.pm
	lib/Slic3r/Config.pm
	lib/Slic3r/GUI/OptionsGroup.pm
	lib/Slic3r/GUI/SkeinPanel.pm
	lib/Slic3r/Print.pm
2012-07-18 15:48:04 +02:00
Henrik Brix Andersen
fda21bd6f2 Only set $last_skein_dir from Plater, not $last_skein_file, to avoid interfering with Quick Slice. 2012-07-16 00:28:15 +02:00
Henrik Brix Andersen
b24e0370dd Remove unused argument. 2012-07-15 23:59:50 +02:00
Henrik Brix Andersen
da7a668c94 Remove confirmation dialog on plate slicing done, request user attention instead. #537 2012-07-15 23:57:31 +02:00
Henrik Brix Andersen
a2a35f47f6 Convert Slic3r::GUI::notify() from class method to instance method. 2012-07-15 23:36:18 +02:00
Henrik Brix Andersen
102aea4531 Sync message dialog title with SkeinPanel.pm changes. 2012-07-15 22:53:32 +02:00
Henrik Brix Andersen
8042d5d701 Add borders to toolbar and list view. 2012-07-15 22:14:34 +02:00
Henrik Brix Andersen
0ab7e7ad7f Show icons above text in toolbar. 2012-07-15 20:11:49 +02:00
Henrik Brix Andersen
37a4967883 Remove dead code. 2012-07-08 22:43:52 +02:00
Henrik Brix Andersen
023e7254c7 Make reports of time spent on slicing more user-friendly. 2012-07-08 22:16:46 +02:00
Henrik Brix Andersen
92ec70c860 Use wxDefaultPosition and wxDefaultSize to improve readability 2012-07-03 01:20:30 +02:00
Henrik Brix Andersen
cd7661aa2a Use proper ellipsis for all GUI '...' strings 2012-07-01 23:29:56 +02:00
Henrik Brix Andersen
7746040af5 Clean up Wx imports 2012-07-01 19:24:06 +02:00
Alessandro Ranellucci
d5c9b74377 Allow scaling factor to be at least 2540 to allow the conversion of inch models 2012-06-29 20:46:51 +02:00
Alessandro Ranellucci
92460ba902 Bugfix: the plater didn't remember last input file directory. #485 2012-06-27 20:27:46 +02:00
Alessandro Ranellucci
81a5267cc7 Fix widths on plater 2012-06-20 22:50:38 +02:00
Alessandro Ranellucci
ac59297e39 Fixes for Windows 2012-06-20 21:43:06 +02:00
Alessandro Ranellucci
b910840f76 Preset shortcuts in the plater tab 2012-06-19 17:23:10 +02:00
Alessandro Ranellucci
f38f2f139e Make window resizable 2012-06-18 11:26:21 +02:00
Henrik Brix Andersen
129f0fa904 Move Growl::GNTP handling to Slic3r::GUI to allow notifications from both Slic3r::GUI::SkeinPanel and Slic3r::GUI::Plater. 2012-06-14 13:49:50 +02:00
Alessandro Ranellucci
8883df6692 Warn user when object couldn't be split 2012-06-06 19:00:34 +02:00
Alessandro Ranellucci
d412820733 Update: preview area was not updating to the largest side of the build area 2012-06-06 16:18:41 +02:00
Alessandro Ranellucci
3ef86ad6ff Allow loading multiple files at once. #402 2012-05-31 09:26:30 +02:00
Alessandro Ranellucci
5eae22f8b0 Enforce prompt when overwriting G-code files. #398 2012-05-30 11:55:46 +02:00
Alessandro Ranellucci
26051d12ef Bugfix: fatal error when a non-manifold object is processed on a non-thraeded perl 2012-05-29 17:02:47 +02:00
Alessandro Ranellucci
af7ccb9fc1 Refactor resource paths 2012-05-29 14:19:14 +02:00
Alessandro Ranellucci
ce3e2d396e Fixed regression preventing STL export from working. #387 2012-05-29 09:35:57 +02:00
Alessandro Ranellucci
5a78111efa Options to set extruder clearance for sequential printing and graphical preview of collisions 2012-05-23 11:47:52 +02:00
Alessandro Ranellucci
67a076b360 Removing warnings here and there 2012-05-20 17:21:31 +02:00
Alessandro Ranellucci
2ae2c6a311 Remove thread warnings 2012-05-20 16:29:52 +02:00
Alessandro Ranellucci
59ba34caf3 Fix toolbar on Windows. #354 2012-05-20 16:24:10 +02:00
Alessandro Ranellucci
1998801a58 Read OBJ files. #324 2012-05-20 11:40:37 +02:00
Alessandro Ranellucci
c97ced50ff Bugfix: GUI threading issues. #369 2012-05-19 21:13:10 +02:00
Alessandro Ranellucci
a981ac5c8e Don't display annoying warnings about parts not fitting in the printbed 2012-05-19 20:48:26 +02:00
Alessandro Ranellucci
b93a46969d Better icon for Export G-code button 2012-05-19 15:02:23 +02:00
Alessandro Ranellucci
a99dea9ad3 Swap rotate cw and ccw buttons 2012-05-19 15:00:51 +02:00
Alessandro Ranellucci
76e079126f Don't rearrange plate upon object rotation 2012-05-17 19:32:50 +02:00
Alessandro Ranellucci
9d9cef2145 Bugfix: error when slicing twice from plater 2012-05-05 21:26:19 +02:00
Alessandro Ranellucci
698b1e808d Use a separate thread for slicing so that GUI doesn't lock up. Also, add a Cancel button. #32 #35 2012-05-05 21:08:15 +02:00
Alessandro Ranellucci
d889639d49 Use the embedded progress bar for feedback about slicing 2012-05-04 13:00:34 +02:00
Alessandro Ranellucci
83b69b18d0 Status bar and progress bar for rotation and scaling 2012-05-04 12:56:15 +02:00
Alessandro Ranellucci
32f6d0143b Display print center coordinates and fix Export STL label alignment 2012-05-04 11:47:53 +02:00
Alessandro Ranellucci
b3714b4215 Preserve number of copies when splitting an object 2012-05-04 11:26:15 +02:00
Alessandro Ranellucci
f825f9063a Moved object manipulation buttons to a horizontal toolbar 2012-05-04 11:22:56 +02:00
Alessandro Ranellucci
36da196166 First attempts to move things to a vertical toolbar. Tooltips don't work on Cocoa, though 2012-05-04 10:41:24 +02:00
Alessandro Ranellucci
9398a1f6c2 Splitting unsplittable objects now results in a no-op 2012-05-04 10:17:36 +02:00
Alessandro Ranellucci
39f0c2f822 Renamed Dashboard to Plater (with Kliment's permission ;)) 2012-05-04 10:15:33 +02:00