Commit graph

51 commits

Author SHA1 Message Date
Enrico Turri
cd3be74e3b Workaround for 3D view and GUI buttons not in synch when object's size is almost identical to print volume's size 2018-04-23 15:03:38 +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
Alessandro Ranellucci
4913e90e10 Remove any Perl related code from libslic3r 2015-12-08 00:39:54 +01:00
Alessandro Ranellucci
ed75219215 Ported mode Model methods to XS 2015-12-02 18:06:18 +01:00
Alessandro Ranellucci
dfce3a3138 Ported _arrange() and arrange_object() to XS 2015-12-01 21:51:16 +01:00
Alessandro Ranellucci
61f0a9e4da Replace the flip word with mirror. #3060 2015-11-04 23:11:30 +01:00
ntfshard
d62f33b0b4 Removed unused variables 2015-11-04 20:49:20 +01:00
ntfshard
dd5c5eb931 Fix: Initializer list, right initialisation order 2015-11-04 20:49:19 +01:00
Alessandro Ranellucci
fbea32a81c Prevent writing empty materials to AMF files. Also add a note about material-id = 0 being reserved by AMF spec. #2871 2015-06-01 11:51:00 +02:00
Alessandro Ranellucci
0d01348acc Use radians everywhere, including ModelInstance::rotation 2015-05-03 18:40:00 +02:00
Alessandro Ranellucci
79ce094e3a Bugfix: splitting a rotated object resulted in wrong positions. #2772 2015-05-03 18:28:39 +02:00
Alessandro Ranellucci
5eb3bc52ef Ported ModelObject::rotate() and ModelObject::flip() to XS, as well as axes constants 2015-04-16 21:22:04 +02:00
Alessandro Ranellucci
8791f5a493 Cleanup of some method signatures and of XS return types 2015-01-19 18:53:04 +01:00
Alessandro Ranellucci
64c9e3af4b Bugfix: objects were floating in STL export after rotation and flip. #2512 2015-01-09 00:47:40 +01:00
Alessandro Ranellucci
c4832c5342 Bugfix: early object destruction caused a segfault when splitting. Also fixed a memory leak and restore background processing when split only detected one part. #2466 #2398 2014-12-30 13:16:28 +01:00
Alessandro Ranellucci
360dee862b Keep model objects aligned to Z = 0 in plater 2014-12-12 22:43:56 +01:00
Alessandro Ranellucci
a5df9fb795 Ported ModelObject::split() to XS 2014-11-12 23:50:09 +01:00
Alessandro Ranellucci
73b3c06361 Ported more things to XS 2014-09-21 10:51:36 +02:00
Alessandro Ranellucci
5a96bad8c2 Ported some more methods to C++ 2014-08-08 21:48:59 +02:00
Alessandro Ranellucci
b10917806a Ported some Model methods to XS 2014-08-03 20:33:16 +02:00