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