Commit Graph

922 Commits

Author SHA1 Message Date
YuSanka
03e7a20e87 Merge remote-tracking branch 'origin/master' into ys_ph_printers 2020-07-21 09:47:29 +02:00
YuSanka
e54c3a74e5 Fixed includes 2020-06-24 09:20:04 +02:00
Vojtech Bubnik
b32503f9b3 Fixed broken compilation of Perl bindings. 2020-06-16 14:39:08 +02:00
Lukas Matena
c15a0d91bf Fixed unit tests after previous include manipulations 2020-05-26 15:33:44 +02:00
tamasmeszaros
2275698f1b Add ModelArrange.hpp as extension to Model.hpp, use it for duplicating
Refactored Arrange interface: remove the union based BedShapeHint, replace it with proper function overloads

WARN: this commit is only intermediate, it does not compile.
2020-04-23 18:19:03 +02:00
tamasmeszaros
8ca136d003 Add min_object_distance method as free function taking ConfigBase argument 2020-04-23 18:17:37 +02:00
bubnikv
a18443cca5 Fixed unit tests broken with the previous commit (Spiral Vase fix).
Fixed a crash in the previous commit.
2020-02-09 09:43:15 +01:00
bubnikv
0e97237dcd Fixed a bug in validation of the FDM Print to check for extruder
collisions against already printed objects: Rotation of an object
was not being taken into account.
Fixes #2450 PrusaSlicer 2.0 Sequential printing vs rotate object
Fixes #3585 Always Sequential Printing Error (Regardless of setting, placement or object size)

Fixed some collisions in sequential print just after arrangement by
making the validation using a slightly lower extruder radius value
than the arrangement.

Refactored PrintObject coordinate system so that the PrintObject's
coordinate system is always centered in respect to its ModelObject's
geometries. This refactoring may improve path planning a bit and
it may lower the requirements on bits representing Clipper coordinates
by 1 bit.
2020-02-07 14:10:27 +01:00
bubnikv
4516de813d Fixed Perl bindings after refactoring. 2020-01-23 10:35:03 +01:00
bubnikv
3795e4062c Fixing perl bindings after refactoring 2020-01-06 09:36:03 +01:00
bubnikv
5a11e217df Fix of perl bindings 2019-10-16 11:34:45 +02:00
bubnikv
1d6cea5bb5 new cheaper constructor for DynamicPrintConfig from FullPrintConfig:
DynamicPrintConfig::full_print_config()
new cheaper constructors of DynamicConfig / DynamicPrintConfig from ConfigBase
Unit tests: ported test_model from upstream Slic3r, thanks @lordofhyphens
Unit tests refactored to use less autos and initializer lists for readibility,
DynamicPrintConfig is handled by value, not by shared pointer.
2019-10-16 11:16:50 +02:00
bubnikv
6f3f3f2de1 Fixed regression due to ExPolygonCollection to ExPolygons refactoring.
Fixed crashes in BridgeDetector due to unexpected implicit conversion
to a const temporary.
2019-10-04 16:50:01 +02:00
bubnikv
d72d96a1fe FDM Print refactoring:
Layer newly remembers bounding boxes of slices,
the bounding boxes are used by G-code generator & newly the support
generator.
Slices are stored as ExPolygons, not ExPolygonCollection.
2019-10-01 17:17:08 +02:00
bubnikv
ce217b6222 Rest of the path chaining has been replaced with the new algorithm.
PolylineCollection.cpp/hpp was removed, use Polylines instead.
Various first_point() / last_point() now return references, not copies.
2019-09-27 18:17:21 +02:00
bubnikv
5e0e360e07 WIP: Consolidation of shortest path calculations,
various chaining algorithms are replaced with the improved TSP
algorithm.
2019-09-26 17:30:03 +02:00
bubnikv
9062aa0547 Fix of perl bindings 2019-09-19 14:31:50 +02:00
bubnikv
727aefb5ff Fix of Perl bindings after ExtrusionEntity::clone() refactoring 2019-09-16 15:38:27 +02:00
bubnikv
bc412ea4aa WIP: Reworked the infill generator to merge areas with the same
properties.

Note for Vojtech:
Review src/libslic3r/Fill/Fill.cpp once again,
add test for G-code generator properties (extrusion speed, cooling?)

Fixes Modifier slice/move efficiency #1005
2019-09-04 16:11:16 +02:00
bubnikv
6718b40164 Fixed broken Perl bindings. 2019-07-25 14:52:51 +02:00
bubnikv
d98aa0f91d Merge remote-tracking branch 'origin/master' into vb_undo_redo 2019-07-04 20:22:15 +02:00
bubnikv
7a614088ae WIP Undo / Redo: ModelID / ModelBase renamed to ObjectID / ObjectBase 2019-06-27 11:02:45 +02:00
bubnikv
be350a00f0 Reworked the Perl unit / integration tests to use the same Print
interface that the application is using. Old interface used just
for the integration tests was removed.
2019-06-20 20:23:05 +02:00
bubnikv
872983ff00 Removed the layer_height_ranges from the Perl bindings and unit tests. 2019-06-20 16:28:37 +02:00
bubnikv
436b9c40fe Integrated the new layer height spans with configs into the backend.
Fixed some compiler warnings.
2019-06-20 16:15:09 +02:00
bubnikv
c1fed74010 Sharing TriangleMesh objects between the front end (UI) and back end
(background processing)
2019-06-11 17:08:47 +02:00
bubnikv
9023e0bcba admesh refactoring: Use Eigen vec3i for indexed triangles. 2019-06-10 21:14:58 +02:00
bubnikv
c073749ee1 admesh refactoring: separation of the shared vertices / indices
into an indexed_triangle_set structure
2019-06-10 18:30:54 +02:00
bubnikv
068263a62d admesh refactoring: Removed the shared_vertices counter as it is now
contained inside v_shared std::vector
2019-06-10 17:36:15 +02:00
bubnikv
362c229a5c Refactored admesh to get rid of the error and fp members of stl_file. 2019-06-10 17:17:36 +02:00
bubnikv
b0aba48335 Fix of perl bindings 2019-06-05 09:54:52 +02:00
Lukas Matena
b8fe1fabf3 Fixed unit tests when run with range checks on std::vector
There was a bug in unit tests that led to generating the wipe tower with non-normalized preset.
This caused out-of-bounds access into max_layer_height vector in fill_wipe_tower_partitions.
The problem surfaced in https://github.com/prusa3d/PrusaSlicer/issues/2288.
I quickly patched additional normalization of the preset to prevent this from happening.

Also, an assert in the same function turned out to trip on one of the tests.
This one was commented out for now and will (hopefully) be looked into later.

Function Print::apply_config was renamed to apply_config_perl_tests_only so everyone
sees its current purpose and does not mistake it for the more important Print::apply.
2019-05-22 16:48:20 +02:00
Jason Tibbitts
226ed6282a Fix two errors with -Werror=format-security
Fedora (and, I supposed, most recent Linux distros) build everything
with -Werror=format-security.  If you attempt to build with
-DSLIC3R_PERL_XS (which we need in order to run the test suite), the
build fails because of two strings in the Perl XS code:

/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "/builddir/build/BUILD/PrusaSlicer-version_2.0.0-rc2/xs/xsp/typemap.xspt" "/builddir/build/BUILD/PrusaSlicer-version_2.0.0-rc2/xs/xsp/Print.xsp":585:31: error: format not a string literal and no format arguments [-Werror=format-security]

Ths fixes up two instances of that.
2019-05-20 18:16:13 +02:00
bubnikv
d284184f62 Updated handling of the SLIC3R_BUILD_ID key 2019-05-13 18:01:00 +02:00
bubnikv
6ae851ff90 Implemented the "Support for support enforcers only" quick selection.
Reduced some memory leaks due to the ConfigDef::default_value pointer.
2019-05-03 18:01:39 +02:00
bubnikv
f283295d24 Another fix of the perl bindings 2019-04-16 10:53:55 +02:00
bubnikv
447f4950c7 Fixed trianglemeshslicer perl bindings, thus the unit tests. 2019-04-16 10:39:17 +02:00
bubnikv
31edb6082e Harmonized the application naming. 2019-04-15 16:14:19 +02:00
bubnikv
0285ec3a37 Fixed perl bindings 2019-03-13 16:53:08 +01:00
bubnikv
322d2a1fab Reworked the command line interface based on the current state
of the upstream.
Thanks @alexrj, @lordofhyphens for the original code of slic3r.cpp
2019-03-13 15:44:50 +01:00
bubnikv
1f34f1d04c Fixed Perl bindings. 2019-03-01 18:09:42 +01:00
bubnikv
b63e015655 Fixed Perl bindings 2019-02-25 08:55:25 +01:00
bubnikv
cd9c6894b1 Removed ExPolygon::triangulate_pp() from Perl XS bindings and unit tests. 2019-01-24 19:22:35 +01:00
bubnikv
58b667f06b Fixed layer height profile access from Perl XS 2019-01-23 15:29:18 +01:00
Vojtech Kral
995d951bfa Upgrade Boost to 1.66 on Windows 2019-01-16 15:14:18 +01:00
bubnikv
92e6427511 Trigger background processing update when switching to a preview tab.
Implements "Go Direct to the preview screen after slicing #152"
2018-12-11 17:49:31 +01:00
bubnikv
ee77f2592b WIP: Command line slicing for SLA.
Removed some layer height editing bindings from Perl.
2018-12-11 13:16:09 +01:00
bubnikv
e99fa7d104 Implemented naming of the SLA export file based on the output file name
template.

Reworked naming of the plater exports to not use the output file name
template, but to derive the file name from the first printable object's name.

Fixed error handling: Reimpemented the Perl's "eval" blocks
as try / catch blocks.
2018-12-03 13:14:28 +01:00
bubnikv
0d2a1e6eef Removed legacy GUI Perl bindings,
replaced Print & SLAPrint pointers with BackgroundProcessing pointer
at the GLCanvas3D level, so that the Print & SLAPrint access will be
synchronized with the current printer technology.
2018-11-22 15:29:59 +01:00
Vojtech Kral
f9d72376d0 Fix build 2018-11-19 11:39:17 +01:00