Commit Graph

68 Commits

Author SHA1 Message Date
256d44cc43 Disabling reverse order checks in DJD selection. It causes unacceptable running times for large number of objects. 2018-07-13 11:26:59 +02:00
b26d1ef5bf Some comments 2018-07-04 14:36:14 +02:00
0b914c5ea3 Customized object function for arrange algorithm to arrange into a circle.
Now we optimize for smallest diameter of the circle around the arranged pile of items. This implies that we can forget about pack efficiency but the result will be better for the heat characteristics of the print bed.
2018-07-04 14:11:21 +02:00
4b9a504c04 Solution for SPE-347 (scale is not fed into the arrange alg) 2018-07-04 11:19:11 +02:00
d337fec8af Proper fix for SPE-324 2018-07-04 10:21:44 +02:00
c73f702922 Filtering invalid geometries as per: SPE-337 2018-07-03 14:58:49 +02:00
86726b15b4 Pull build fixes from libnest2d and allow reverse order checks in DJD placement for better quality results. 2018-07-02 10:45:06 +02:00
952068f282 Autocenter finally disabled. Progress indication works. 2018-06-29 17:46:21 +02:00
85474e5803 Merge remote-tracking branch 'origin/master' into feature_arrange_with_libnest2d
# Conflicts:
#	CMakeLists.txt
#	lib/Slic3r/GUI/MainFrame.pm
2018-06-28 18:50:39 +02:00
ad4d95f60c AppController integration 2018-06-28 18:47:18 +02:00
5446b9f1e5 Incorporating performance optimizations from libnest2d 2018-06-28 16:14:17 +02:00
230c681482 Merge remote-tracking branch 'origin/master' into feature_arrange_with_libnest2d 2018-06-15 11:06:37 +02:00
34c850fa9d initial NFP method with convex polygons working. 2018-06-05 12:02:45 +02:00
c51ce63b9b 3DScene layer editing overlay completely moved to c++ 2018-05-25 15:56:14 +02:00
fd829580e9 Working arrange_objects with DJD selection heuristic and a bottom-left placement strategy. 2018-05-17 10:37:26 +02:00
86155ae4c0 Fixed conflict in previous merge 2018-05-09 10:28:26 +02:00
8eb9ddc2eb Max count of auto assigned extruders when splitting object set as dependent of current printer 2018-05-07 16:13:58 +02:00
cb486522a8 Fixed crash when pressing 'A' with empty print bed 2018-05-02 14:55:17 +02:00
5d363c1bb9 Removed printf debugging output 2018-04-13 17:25:36 +02:00
b062cddeea Fixed object cutting 2018-04-12 12:56:42 +02:00
9993f2215d Auto assignement of extruder, after object's splitting to parts 2018-04-10 12:17:55 +02:00
df32817992 Auto assign multi-part extruders 2018-04-09 14:57:23 +02:00
1f3f109263 Out of bed detection - Fixed false detection due to float precision 2018-03-20 09:31:42 +01:00
ab654f6319 Merge branch 'scene_manipulators' 2018-03-14 16:15:26 +01:00
b43a21d1be Extended Print::validate() to check, whether the objects
are inside the print volume.
2018-03-14 16:11:57 +01:00
bdd2d725c8 Out of bed detection - 1st installment 2018-03-09 10:40:42 +01:00
9f7607c064 3mf I/O - Fixed object sinking into bed after import 2018-03-06 10:26:39 +01:00
52eb6f6bcf Remove .zip from file extension on import to avoid having it added again and again when exporting 2018-02-22 15:27:32 +01:00
f5f27859e0 AMF I/O - Embedded config data + zip formatting 2018-02-14 14:30:03 +01:00
8885f5e344 3mf import/export of config data 2018-02-13 15:19:55 +01:00
475f892413 3mf Importer - 1st installment 2018-01-30 09:27:10 +01:00
d9d6d996e9 Utility functions to pass wxWidgets pointers from Perl to C++ code.
C++ var_dir / set_var_dir() interface to access the UI resources
from the C++ code.
2017-10-17 20:00:15 +02:00
61b89865ff Fixed a regression bug (bundling of multiple STLs into a single model). 2017-08-28 14:54:46 +02:00
5673205d2e Initial implementation of a CMake build system for the Slic3r XS module.
Based on https://github.com/CReimer/Slic3r/tree/makefile_pr
Big thanks to @CReimer for his huge effort.
2017-08-16 19:05:08 +02:00
1385018724 Unicode handling:
Removed the Perl dependencies on Encode, Encode::Locale and Unicode::Normalize.
Added dependency on boost::locale.
Added encode_path, decode_path, normalize_utf8 functions to Slic3r.xs

Slic3r.xs has been made mostly utf8 safe by using the boost::nowide library,
thanks to @alexrj for the idea.

Simplified the encode_path / decode_path stuff:
wxWidgets are unicode already, so there is no need to decode_path() from it.
Perl / win32 interfacing is non-unicode, so decode_path() is executed
on ARGV just at the beginning of the perl scripts.
2017-08-03 17:31:31 +02:00
31085fb1d7 Ported some ModelObject methods from Perl to C++.
Added some utility functions to TriangleMesh, thanks to @alexrj
Some porting to C++ based on work by @alexrj.
2017-08-02 16:05:18 +02:00
0bd2bb1e8e Compilation issue on Linux & OSX
https://github.com/prusa3d/Slic3r/issues/368
2017-06-21 14:12:11 +02:00
7ca02bda0f Fix of a "split" function issue.
1) Load a multi-part stl
2) Rotate it by 90 degrees
3) Split it.

Before this fix, the split object jumped away from the print bed.

This sound similar to
https://github.com/prusa3d/Slic3r/issues/309
2017-06-19 14:26:19 +02:00
b724d789fd New feature: Splitting an object into a multi-part volume. 2017-06-15 15:38:15 +02:00
a4992602ee Auto arrange: Do at least something if the objects do not fit the bed.
Thans @alexr
https://github.com/prusa3d/Slic3r/issues/336
2017-06-13 11:43:25 +02:00
5cae4cc614 Fix of https://github.com/prusa3d/Slic3r/issues/285
Refactored Model.cpp/hpp to C++x11 loops,
simplified the mesh / bbox handling.
2017-06-13 11:35:24 +02:00
5b98f1a068 Some utility methods to help loading models from the disk.
Not quite sucessfull try to fix the crahes on mesh cut.
2017-02-26 22:03:03 +01:00
8174c05df4 Command for reloading an object from file. #1466 2017-02-21 17:58:48 +01:00
88e34ff5de Store / retrieve layer height profile from the AMF file.
Reset the layer height profile when changing a print profile to an incompatible one.
Reset button on the layer height bar.
Fixed an update issue on zooming by a scroll wheel.
Fixed an issue when loading an AMF file: Object names are now retained.
2017-02-09 14:56:13 +01:00
4c407c8a59 Optimization of Model bounding box routines (avoids copying the mesh),
optimization of the admesh rotate function (also made numerically more robust).
2016-11-16 11:53:29 +01:00
6217622865 Hopefully a fix of https://github.com/prusa3d/Slic3r/issues/11
Replaced eval { die } construct with a bool return value indicating
success or failure of an automatic arrangement of parts on the print bed.

Don't know exactly what is happening here, but throwing a "die" inside
a XS function and then catching it inside an eval {} block is suspcious.
2016-11-04 15:03:51 +01:00
620c6c7378 Ported from the playground branch. Various documentation and optimization. 2016-09-13 13:30:00 +02:00
dd879c3ef2 When loading an AMF file having multiple objects that look like multiple parts of a single object, prompt user and ask how to consider it. #2970
Conflicts:

	lib/Slic3r/Model.pm
2016-03-19 22:24:20 +01:00
21364b7cd1 Fix one regression in arrange 2015-12-14 00:15:26 +01:00
4913e90e10 Remove any Perl related code from libslic3r 2015-12-08 00:39:54 +01:00