Commit Graph

591 Commits

Author SHA1 Message Date
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
2d243a39ff Bugfix: crash when deleting objects from plater with toolpaths preview open. #2389 2014-12-07 20:23:00 +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
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
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
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
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
9a4e8f39af Refactoring: move split logic in a single place (ModelObject class) 2014-11-12 22:36:03 +01:00
Alessandro Ranellucci
d8bb0bff7f Bugfix: reprocess brim and skirt after changing number of copies 2014-09-21 10:56:51 +02:00
Alessandro Ranellucci
9daadd1fb6 Removed debugging line 2014-09-21 10:53:00 +02:00
Alessandro Ranellucci
73b3c06361 Ported more things to XS 2014-09-21 10:51:36 +02:00
Alessandro Ranellucci
7aaf27c0c7 Put skirt outside brim to avoid conflicts. #2157 2014-07-24 23:43:19 +02:00
Alessandro Ranellucci
aa723db39b Fixed recursion in background processing 2014-07-15 19:13:38 +02:00
Alessandro Ranellucci
28f9278963 Minor fixes to 3D preview 2014-07-14 11:58:00 +02:00
Alessandro Ranellucci
da4d6cbabb 3D preview of plater 2014-07-13 12:10:34 +02:00
Alessandro Ranellucci
212558acd4 Typo 2014-07-12 12:16:24 +02:00
Alessandro Ranellucci
edc7fd2915 Fix pausing when background process is scheduled but wasn't started yet 2014-07-12 11:52:19 +02:00
Alessandro Ranellucci
f428888dd9 Fixed deadlocks in background processing 2014-07-12 11:41:18 +02:00
Alessandro Ranellucci
bd03747dc1 Added button for toolpaths preview 2014-07-04 10:32:32 +02:00
Alessandro Ranellucci
bfa1e04991 Don't use wxStaticBox objects as parents. #2150 2014-07-03 17:12:47 +02:00
Alessandro Ranellucci
907de1011f Toolpaths preview 2014-07-03 09:24:19 +02:00
Alessandro Ranellucci
65dbf75a54 Fixed background processing with multiple worker threads 2014-07-01 19:00:23 +02:00
Alessandro Ranellucci
04b67f0cb0 Refactored OptionsGroup class for cleaner OOP model and cleaner event model 2014-07-01 16:42:12 +02:00
Alessandro Ranellucci
41de95fd27 Fix the Change Scale toolbar button 2014-06-19 10:28:14 +02:00
Alessandro Ranellucci
ba55592bdf Added non-uniform scaling commands to the plater 2014-06-17 00:50:44 +02:00
Alessandro Ranellucci
9053cdca5d Fix harmless typo 2014-06-17 00:02:43 +02:00
Alessandro Ranellucci
928335f186 Removed print_center option (but left --print-center from CLI) 2014-06-16 23:58:45 +02:00
Alessandro Ranellucci
998a4225de Finished implementation of bed_shape in plater 2014-06-16 15:18:39 +02:00
Alessandro Ranellucci
7a20c4d52a More incomplete work for using bed_shape in plater 2014-06-16 14:05:22 +02:00
Alessandro Ranellucci
f4e4640c73 Liquid resizing of plater 2014-06-16 02:00:13 +02:00
Alessandro Ranellucci
707dd8db86 Prevent crash when trying to export G-code from menu and there are no objects 2014-06-14 22:40:37 +02:00
Alessandro Ranellucci
87383250de Fix regression in cut 2014-06-14 22:36:49 +02:00
Alessandro Ranellucci
182c5eb809 Show contextual menu when right-clicking on a plater object 2014-06-14 21:36:28 +02:00
Alessandro Ranellucci
e9910a2c0b XYZ mirroring from plater 2014-06-14 21:14:33 +02:00
Alessandro Ranellucci
ec7bb40da9 Rotation around X and Y axes from plater 2014-06-14 20:52:21 +02:00
Alessandro Ranellucci
51cf78534c Stop background process when removing objects from the plater 2014-06-14 20:26:53 +02:00
Alessandro Ranellucci
3d8c8fa46e Import wxTheApp 2014-06-14 19:59:59 +02:00
Alessandro Ranellucci
ddac2d1570 Merged SkeinPanel into MainFrame 2014-06-14 19:54:18 +02:00
Alessandro Ranellucci
93b9116565 Move wxFrame definition to a new Slic3r::GUI::MainFrame class 2014-06-14 19:11:04 +02:00
Alessandro Ranellucci
de6291d8f2 New Object menu with shortcuts to all plater operations 2014-06-14 18:58:56 +02:00
Alessandro Ranellucci
829bfeabe8 Suspend background processes while writing to shared data structures 2014-06-13 23:27:52 +02:00
Alessandro Ranellucci
a1bcbea816 Use async timer everywhere 2014-06-13 20:36:45 +02:00
Alessandro Ranellucci
4d76d05bbb Refactoring: better API for Print/Object steps with explicit dependencies 2014-06-13 20:05:18 +02:00
Alessandro Ranellucci
d896ad090b Fixed concurrency issues 2014-06-13 19:23:51 +02:00
Alessandro Ranellucci
a35ab2f4ee Added an option for enabling/disabling background processing 2014-06-13 15:54:13 +02:00
Alessandro Ranellucci
a0674714b1 More work for background processing 2014-06-13 14:27:55 +02:00
Alessandro Ranellucci
d9e7a50a6e Partial work for background processing 2014-06-13 11:19:53 +02:00
Alessandro Ranellucci
3f6360ee8f Finish porting Print classes to XS 2014-06-10 16:01:57 +02:00
Alessandro Ranellucci
ba8148f4ad Merge branch 'printcpp' of github.com:sapir/Slic3r into sapir-printcpp
Conflicts:
	lib/Slic3r/GCode.pm
	lib/Slic3r/Print.pm
	lib/Slic3r/Print/Object.pm
	lib/Slic3r/Print/Region.pm
2014-06-10 14:46:40 +02:00
Alessandro Ranellucci
defe0a4279 Move 2D canvas to a distinct class for better isolation 2014-05-28 12:29:43 +02:00
Alessandro Ranellucci
e62672f787 Fix regression in Split from GUI. Might be related to #1998 2014-05-26 13:10:58 +02:00
Y. Sapir
8da0bded1d Move Print object storage to C++. (along with its subobjects) 2014-05-24 23:50:29 +03:00
Alessandro Ranellucci
0ba685f556 Fix regression causing config validation to be ignored when using the Export G-code button in plater. #2046 2014-05-20 23:29:43 +02:00
Alessandro Ranellucci
27c73f5983 Some fixes after the recent Model refactoring 2014-05-10 16:59:17 +02:00
Alessandro Ranellucci
7ba08c90cf Refactoring to Model API for making it stricter and safer 2014-05-09 14:24:35 +02:00
Alessandro Ranellucci
093d1cbe2f Don't transfer ownership of Model to Print::Object 2014-05-07 01:11:49 +02:00
Alessandro Ranellucci
13af16ea24 Use Pointf for origin_translation and pass const refs whenever possible 2014-05-07 00:58:29 +02:00
Y. Sapir
05b2993769 Translate Model class' storage to C++.
Some code copied from xs-model branch.

Also:
* Generate ::Ref classes programatically.
* Add separate __REGISTER_CLASS macro
    (for use where forward declaration won't work, i.e. typedefs)
2014-05-05 16:30:19 +03:00
Alessandro Ranellucci
4f17c2b7d1 First working implementation of a GUI for cutting 2014-04-25 17:14:39 +02:00
Alessandro Ranellucci
882a98ed44 Initial work for a GUI for the cut feature 2014-04-25 14:54:08 +02:00
Alessandro Ranellucci
10bf334a58 Added one more failing test to address bad option priority hierarchy 2014-03-26 19:42:01 +01:00
Alessandro Ranellucci
d1bb69434e Handle non existing STL files gracefully 2014-03-25 19:06:51 +01:00
Alessandro Ranellucci
25191bd405 Prevent circular event handlers on Windows. #1856 2014-03-25 15:30:56 +01:00
Alessandro Ranellucci
f6f1517f58 Bugfix: the Add button in plater wasn't working anymore. #1856 2014-03-25 15:07:21 +01:00
Alessandro Ranellucci
72a6848f1b Fixed regression causing wrong relative positions of objects after splitting in plater. #1758 2014-03-24 21:42:38 +01:00
Alessandro Ranellucci
fec41d6dfd Update plater and print upon changing object parts and their settings 2014-03-23 16:45:55 +01:00
Alessandro Ranellucci
21e6de0e59 Only expand shortcut options in StaticConfig objects. This way we can keep a default extruder value in the parts panel 2014-03-22 20:12:54 +01:00
Alessandro Ranellucci
34f1511e0c Better fix for non-global options not being replaced in filename placeholders. Includes refactoring and a new PlaceholderParser class. Also includes regression tests. #1831 2014-03-17 00:39:07 +01:00
Mark Hindess
59ebdebf72 Revert "Fix crash reported by Simooon on #Slic3r."
It turns out this helped on the version of stable I was using
but not on master.

This reverts commit 8df6e2d930.
2014-02-16 14:00:28 +00:00
Mark Hindess
8df6e2d930 Fix crash reported by Simooon on #Slic3r.
Error was:

  Argument "" isn't numeric in subroutine entry at
    lib/Slic3r/GUI/OptionsGroup.pm line 392
2014-02-16 12:05:01 +00:00
Alessandro Ranellucci
df508551d0 Refresh plater canvas when switching presets 2014-02-14 22:25:58 +01:00
Alessandro Ranellucci
7387e60706 More incomplete work 2014-01-22 21:15:19 +01:00
Alessandro Ranellucci
90194ee581 Fix overflow in Point::ccw() affecting convex hull generation. Includes regression test 2014-01-17 14:49:51 +01:00
Alessandro Ranellucci
a40556ab56 Repair meshes after splitting 2014-01-14 22:06:28 +01:00
Alessandro Ranellucci
499b34dea1 Catch any click inside thumbnail's contour for easier selection of thin-walled objects 2014-01-05 15:02:12 +01:00
Alessandro Ranellucci
0bdea60b53 Merge branch 'region-config'
Conflicts:
	lib/Slic3r/Format/AMF/Parser.pm
2014-01-05 14:59:36 +01:00
Alessandro Ranellucci
2754ddf215 Fix positioning of loded AMF plates 2014-01-05 14:04:32 +01:00
Alessandro Ranellucci
81663215c5 Adapt plater to the new split config 2014-01-02 22:06:58 +01:00
Alessandro Ranellucci
beb1baa096 Incomplete work for refactoring regions and flows 2013-12-30 18:28:41 +01:00
Alessandro Ranellucci
ca2952060d Draw more detailed thumbnails in plater and turn cursor to hand also when moving inside holes (otherwise objects with thin walls would not be easy to select) 2013-12-29 01:28:06 +01:00
Alessandro Ranellucci
c5ead0f2a6 Fixes to Config and plater; also refactored the arrange() code 2013-12-24 00:30:51 +01:00
Alessandro Ranellucci
ab25cc4940 Merge branch 'xs-config'
Conflicts:
	lib/Slic3r/Config.pm
	xs/MANIFEST
2013-12-22 01:41:55 +01:00
Alessandro Ranellucci
9fb62e671f Adapt GUI to new XS Config 2013-12-22 01:27:09 +01:00
Alessandro Ranellucci
266673213d New option for turning autocentering off. #404 2013-12-18 19:11:20 +01:00
Alessandro Ranellucci
15235699e4 Completed adapting plater behavior to new Print object API 2013-12-18 18:54:11 +01:00
Alessandro Ranellucci
e4c9171890 Handle read_from_file() exceptions in GUI. #1619 2013-12-17 16:14:00 +01:00
Alessandro Ranellucci
2d045d1f39 Removed extra line 2013-12-17 16:01:25 +01:00
Alessandro Ranellucci
02df73c94b More refactoring to clean up the Print object API 2013-12-16 00:54:59 +01:00
Alessandro Ranellucci
d3171b1eea More work for updating the embedded Print object when Model is changed in plater 2013-12-16 00:36:53 +01:00
Alessandro Ranellucci
fcbd62f07c Finished updating plater to the new centering logic 2013-12-15 23:50:05 +01:00
Alessandro Ranellucci
4993b12799 Some initial work for adapting plater to the new centering workflow 2013-12-15 18:00:44 +01:00
Alessandro Ranellucci
250608aa52 Move centering outside the Print object 2013-12-15 16:17:12 +01:00
Alessandro Ranellucci
2eff7c238e Some initial work for stateful Print object 2013-12-13 14:02:01 +01:00
Alessandro Ranellucci
14c97978c7 Use 0,0 for default instance 2013-12-13 12:24:23 +01:00
Alessandro Ranellucci
5470fbbebc Make quick_slice() work with new model handling 2013-12-13 12:18:30 +01:00
Alessandro Ranellucci
0e8a0ef1ca Refactoring. Use Model class for representing the plate in GUI 2013-12-12 20:19:33 +01:00
Alessandro Ranellucci
f55e057504 More work for refactoring add_model() to add_model_object(). Tests pass 2013-12-09 01:12:37 +01:00
Alessandro Ranellucci
bd8c430afd Merge branch 'stable'
Conflicts:
	lib/Slic3r/Geometry/Clipper.pm
	lib/Slic3r/Layer/Region.pm
2013-11-24 22:48:31 +01:00
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
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