Commit Graph

291 Commits

Author SHA1 Message Date
Alessandro Ranellucci
3fca0956bc Adapt plater to new convex hull 2013-11-24 22:42:52 +01:00
Alessandro Ranellucci
bed1625d6b Split objects could not be repositioned in plater. 3D preview and stats were not available too. #1543 2013-11-24 14:28:17 +01:00
Alessandro Ranellucci
9cf138574c New TriangleMesh::convex_hull() 2013-11-24 01:15:52 +01:00
Alessandro Ranellucci
4577f0725c Incomplete work for XS-based convex_hull 2013-11-22 21:43:35 +01:00
Alessandro Ranellucci
518798beb3 Incomplete work for porting simplify() to XS 2013-11-21 20:25:24 +01:00
Alessandro Ranellucci
5f81292f3f Ported encloses_point() to XS and renamed to contains_point() 2013-11-21 16:21:42 +01:00
Alessandro Ranellucci
faa54ced52 Share the thumbnail object instead of returning it from thread 2013-11-12 14:30:13 +01:00
Alessandro Ranellucci
b653839e9a One more fix for Cancel button. #1461 2013-10-16 15:13:39 +02:00
Alessandro Ranellucci
127e38d4a4 Fix Cancel button. #1461 2013-10-14 22:07:41 +02:00
Alessandro Ranellucci
ed529b62f3 Fix threading issue with GUI. #1443 #1444 2013-09-19 16:00:47 +02:00
Alessandro Ranellucci
afdb490cf1 Fix STL export. #1448 2013-09-19 12:25:00 +02:00
Alessandro Ranellucci
5a9c163a2e Meaningful error when user wants to use 3D preview but didn't install the required modules. 2013-09-16 10:18:42 +02:00
Alessandro Ranellucci
1aa5dbafd3 Update AMF export code 2013-09-16 09:58:53 +02:00
Alessandro Ranellucci
d4512a12df Make plater work with new XS code 2013-09-11 20:00:51 +02:00
Alessandro Ranellucci
a821eb7f3c More work to avoid working with vertices outside XS 2013-09-11 11:55:08 +02:00
Alessandro Ranellucci
78ee6e5d6d Calls to ->repair where needed 2013-09-10 19:25:53 +02:00
Alessandro Ranellucci
566d38a472 Replace TriangleMesh with the XS port 2013-09-10 00:40:46 +02:00
Alessandro Ranellucci
2d3dae621a Minor typos preventing correct positioning after recent XS merge 2013-09-05 14:23:31 +02:00
Alessandro Ranellucci
c9f68ed28a Refactor E code and keep track of per-extruder consumend filament 2013-08-28 20:40:13 +02:00
Alessandro Ranellucci
fb763b0187 Removed dependency on Math::Clipper 2013-08-27 01:26:44 +02:00
Alessandro Ranellucci
443d4e52cb Fixed everything in the XS port 2013-08-26 17:58:37 +02:00
Alessandro Ranellucci
d786dd6c1c Merge branch 'master' into xsdata 2013-08-25 22:34:03 +02:00
Alessandro Ranellucci
4bf08cbdec Minor fix (still no thumbnail) 2013-08-25 22:33:50 +02:00
Alessandro Ranellucci
94a7d6b941 Validate config before launching the object settings dialog 2013-08-25 22:24:43 +02:00
Alessandro Ranellucci
fc9cec9d81 Merge branch 'master' into xsdata
Conflicts:
	lib/Slic3r/Layer/Region.pm
	lib/Slic3r/Print/Object.pm
2013-08-25 19:59:42 +02:00
Alessandro Ranellucci
026e0c06e4 Ability to customize how materials are mapped to extruders. #1020 2013-08-25 19:52:32 +02:00
Alessandro Ranellucci
cb0ee9729f A couple fixes for Windows 2013-08-25 18:08:56 +02:00
Alessandro Ranellucci
ae9f13ed54 Minor fix to font size 2013-08-25 18:04:45 +02:00
Alessandro Ranellucci
ae21a45886 Distinct dialogs for 3D preview and object settings 2013-08-25 18:03:26 +02:00
Alessandro Ranellucci
e96d7b1d6a Show facets, materials and manifoldness in info panel 2013-08-25 17:26:55 +02:00
Alessandro Ranellucci
5b734f4a13 Merge branch 'master' into plater2
Conflicts:
	lib/Slic3r/GUI/Plater.pm
2013-08-25 16:10:53 +02:00
Alessandro Ranellucci
2fb725405f GUI fixes for Windows 2013-08-25 15:45:22 +02:00
Alessandro Ranellucci
3d6fb1b05c New feature: ability to override specific settings for individual objects in the plater. #344 2013-08-25 14:37:50 +02:00
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