Commit Graph

69 Commits

Author SHA1 Message Date
tamasmeszaros
6bcd735655 Change to firstfit selection because DJD needs further testing. 2018-07-16 16:07:29 +02:00
tamasmeszaros
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
tamasmeszaros
b26d1ef5bf Some comments 2018-07-04 14:36:14 +02:00
tamasmeszaros
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
tamasmeszaros
4b9a504c04 Solution for SPE-347 (scale is not fed into the arrange alg) 2018-07-04 11:19:11 +02:00
tamasmeszaros
d337fec8af Proper fix for SPE-324 2018-07-04 10:21:44 +02:00
tamasmeszaros
c73f702922 Filtering invalid geometries as per: SPE-337 2018-07-03 14:58:49 +02:00
tamasmeszaros
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
tamasmeszaros
952068f282 Autocenter finally disabled. Progress indication works. 2018-06-29 17:46:21 +02:00
tamasmeszaros
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
tamasmeszaros
ad4d95f60c AppController integration 2018-06-28 18:47:18 +02:00
tamasmeszaros
5446b9f1e5 Incorporating performance optimizations from libnest2d 2018-06-28 16:14:17 +02:00
tamasmeszaros
230c681482 Merge remote-tracking branch 'origin/master' into feature_arrange_with_libnest2d 2018-06-15 11:06:37 +02:00
tamasmeszaros
34c850fa9d initial NFP method with convex polygons working. 2018-06-05 12:02:45 +02:00
Enrico Turri
c51ce63b9b 3DScene layer editing overlay completely moved to c++ 2018-05-25 15:56:14 +02:00
tamasmeszaros
fd829580e9 Working arrange_objects with DJD selection heuristic and a bottom-left placement strategy. 2018-05-17 10:37:26 +02:00
Enrico Turri
86155ae4c0 Fixed conflict in previous merge 2018-05-09 10:28:26 +02:00
Enrico Turri
8eb9ddc2eb Max count of auto assigned extruders when splitting object set as dependent of current printer 2018-05-07 16:13:58 +02:00
Enrico Turri
cb486522a8 Fixed crash when pressing 'A' with empty print bed 2018-05-02 14:55:17 +02:00
bubnikv
5d363c1bb9 Removed printf debugging output 2018-04-13 17:25:36 +02:00
Enrico Turri
b062cddeea Fixed object cutting 2018-04-12 12:56:42 +02:00
Enrico Turri
9993f2215d Auto assignement of extruder, after object's splitting to parts 2018-04-10 12:17:55 +02:00
Enrico Turri
df32817992 Auto assign multi-part extruders 2018-04-09 14:57:23 +02:00
Enrico Turri
1f3f109263 Out of bed detection - Fixed false detection due to float precision 2018-03-20 09:31:42 +01:00
bubnikv
ab654f6319 Merge branch 'scene_manipulators' 2018-03-14 16:15:26 +01:00
bubnikv
b43a21d1be Extended Print::validate() to check, whether the objects
are inside the print volume.
2018-03-14 16:11:57 +01:00
Enrico Turri
bdd2d725c8 Out of bed detection - 1st installment 2018-03-09 10:40:42 +01:00
Enrico Turri
9f7607c064 3mf I/O - Fixed object sinking into bed after import 2018-03-06 10:26:39 +01:00
Enrico Turri
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
Enrico Turri
f5f27859e0 AMF I/O - Embedded config data + zip formatting 2018-02-14 14:30:03 +01:00
Enrico Turri
8885f5e344 3mf import/export of config data 2018-02-13 15:19:55 +01:00
Enrico Turri
475f892413 3mf Importer - 1st installment 2018-01-30 09:27:10 +01:00
bubnikv
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
bubnikv
61b89865ff Fixed a regression bug (bundling of multiple STLs into a single model). 2017-08-28 14:54:46 +02:00
bubnikv
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
bubnikv
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
bubnikv
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
bubnikv
0bd2bb1e8e Compilation issue on Linux & OSX
https://github.com/prusa3d/Slic3r/issues/368
2017-06-21 14:12:11 +02:00
bubnikv
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
bubnikv
b724d789fd New feature: Splitting an object into a multi-part volume. 2017-06-15 15:38:15 +02:00
bubnikv
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
bubnikv
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
bubnikv
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
Alessandro Ranellucci
8174c05df4 Command for reloading an object from file. #1466 2017-02-21 17:58:48 +01:00
bubnikv
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
bubnikv
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
bubnikv
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
bubnikv
620c6c7378 Ported from the playground branch. Various documentation and optimization. 2016-09-13 13:30:00 +02:00
Alessandro Ranellucci
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
Alessandro Ranellucci
21364b7cd1 Fix one regression in arrange 2015-12-14 00:15:26 +01:00