Commit Graph
573 Commits
Author SHA1 Message Date
bubnikv 52b76930aa Simplify_slices rewritten to C++, parallelized.
Added some move methods to Surface class.
2017-03-08 13:43:49 +01:00
bubnikv 4331f38912 Fixing of slicing errors ported to C++, parallelized. 2017-03-08 11:56:42 +01:00
bubnikv 73439b7acb Parallelized PrintObject::_slice(), make_slices() code. 2017-03-08 10:37:47 +01:00
bubnikv 1e6cf0cd98 TriangleMeshSlicer
replaced the vectors of vectors by vectors of indices to a continuous memory,
using binary search to get to an index.
2017-03-08 09:47:32 +01:00
bubnikv edd7cabf68 Trace TriangleMeshSlicer at loglevel debug (nr. 4) 2017-03-07 22:50:32 +01:00
bubnikv dfba2cb6b2 Parallelized PrintObject::detect_surfaces_type() 2017-03-07 21:46:45 +01:00
bubnikv 65c024f7cf Parallelize PrintObject::process_external_surfaces() 2017-03-07 17:43:43 +01:00
bubnikv cb1a6eae1e Added dependencies on the Intel Thread Building Blocks.
Changed the C++ parallelization code to Intel Thread Building Blocks.
2017-03-07 13:03:14 +01:00
bubnikv 8a42c0ad9f Implementation of scaling factor of objects into an AMF file.
https://github.com/prusa3d/Slic3r/issues/7
2017-03-06 17:35:38 +01:00
bubnikv d20a9d73d4 Fix for OSX: clang requires the member operator< and == to be const. 2017-03-05 16:34:16 +01:00
bubnikv 1909c75c21 TriangleMeshSlic3r used unordered_map, which was terribly horribly shamelessly
slow on mingw. Rewrote using std::vector<>, which is blazing fast.
2017-03-03 17:36:07 +01:00
bubnikv a219ae3d27 Set boost tracing level on DLL initialization to errors only. 2017-03-03 14:38:25 +01:00
bubnikv 4de33effdc Tracing of TriangleMesh repair. 2017-03-03 13:31:51 +01:00
bubnikv 4d00aa1800 More tracing of the slicing process. 2017-03-03 12:53:05 +01:00
bubnikv 4287362aa6 Extended tracing of the slicing process. 2017-03-02 16:52:24 +01:00
bubnikv d430767fa7 Define a surface type count constant to be able to address a vector
with a surface type.
2017-03-02 16:42:26 +01:00
bubnikv 83a80a9b7d Optimization of LayerRegion::slices_to_fill_surfaces_clipped()
Added some run time tracing through boost::log.
2017-03-02 16:41:16 +01:00
bubnikv 73f603d90e Fix of #117: A large fractal pyramid takes ages to slice
The Clipper library has difficulties processing overlapping polygons.
Namely, the function Clipper::JoinCommonEdges() has potentially a terrible time complexity if the output
of the operation is of the PolyTree type.
This function implmenets a following workaround:
1) Peform the Clipper operation with the output to Paths. This method handles overlaps in a reasonable time.
2) Run Clipper Union once again to extract the PolyTree from the result of 1).
2017-03-02 16:39:43 +01:00
bubnikv 07fa15806f Utility function SVG::export_expolygons() to paint a set of possibly
overlapping ExPolygons with attributes.
2017-03-02 16:32:43 +01:00
bubnikv dff5bda202 The Shiny profiler is not thread safe. Disable parallelization if
SLIC3R_PROFILE is enabled.
2017-03-02 16:31:29 +01:00
Alessandro Ranellucci 6a90fceaaf Ported expanded_output_filepath() to C++/XS 2017-02-28 10:38:32 +01:00
Alessandro Ranellucci 6f11969257 Restore [input_filename] in custom G-code as well 2017-02-28 10:28:29 +01:00
bubnikv c9465cf7fa Fixed typos in AMF export. 2017-02-27 01:39:20 +01:00
bubnikv ee619701d8 Got rid of the Perl Format::STL, Format::AMF, Format::OBJ for good. 2017-02-27 01:03:00 +01:00
bubnikv 2f67a16c6f Fixing compilation issues. 2017-02-26 23:13:31 +01:00
bubnikv 2c932b1bf4 Fixed a bug in AMF serialization. 2017-02-26 22:59:25 +01:00
Joseph Lenox 1f1b6c8036 Fixed a missing include. 2017-02-26 22:40:10 +01:00
bubnikv 1b89c08bfc TriangleMesh.cpp/h:
New methods: has_multiple_patches(), number_of_patches()
Improved constness of file access methods.
Reduced some memory allocations costs.
Fixed some crashes of the cut() method on invalid meshes, Slic3r crashes on the unstable triangulation now.
Documented.
2017-02-26 22:17:39 +01: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
bubnikv 25dfe7278c Initial rewrite of the file accessors from Perl to C++.
This is especially important for the extremely slow AMF parser.
Also there is a new file handler for the Prusa Control 'PRUS' format.
2017-02-26 21:46:33 +01:00
bubnikv 82aed45816 Hopefully fixes the aligned seam:
https://github.com/prusa3d/Slic3r/issues/74

The way it works now is following:
Slic3r will add some negative penalty to all perimeter points near the last seam.
Once the perimeter point with minimum penalty is found, its penalty is compared
to a point closest to the last seam. If the penalty of the point
closest to the last seam is nearly as good as the minimum penalty,
the point closest to the last seam is picked instead. This heuristics
will hide the seams into corners if possible, but if not possible, it will
strive to align the seams precisely.
2017-02-22 16:35:07 +01:00
bubnikv 523b7f3ebc Fix of a typo specific to a debugging build. 2017-02-22 16:13:10 +01:00
bubnikv f7acb20e23 Changed defaults for the perimeter/infill overlap (15-55%)
and for the infill pattern (honeycomb->stars)
2017-02-22 16:06:35 +01:00
Alessandro Ranellucci 4a84643894 Fixed regression causing slowdown_below_layer_time to be ignored. #3515 #3443 2017-02-22 15:29:14 +01:00
Alessandro Ranellucci 8174c05df4 Command for reloading an object from file. #1466 2017-02-21 17:58:48 +01:00
Alessandro Ranellucci a8edff1e84 Always retract in bottom layers. #3053 #3618 2017-02-21 16:37:31 +01:00
Joseph Lenox c575a1f1d6 Added make_sphere, generates a mesh with specified step angle and raidus rho. 2017-02-21 16:29:09 +01:00
Alessandro Ranellucci ceb72da632 Implement clone() for Fill classes 2017-02-21 16:22:54 +01:00
Joseph Lenox f44df28a96 Fixed mesh generation to generate cylinders. 2017-02-21 16:10:54 +01:00
Joseph Lenox b91b98b21e Added prototype make_cylinder() 2017-02-21 16:10:38 +01:00
Joseph Lenox 3bb237deee Added new constructor to TriangleMesh that accepts vectors of Points and make_cube function to make a new simple cube mesh. 2017-02-21 16:10:14 +01:00
Alessandro Ranellucci a65c9ba083 Ported CoolingBuffer to C++/XS 2017-02-21 14:02:47 +01:00
bubnikv 8aae5bdb28 The variable layer editing shader was made OpenGL 2.0 compatible.
Fixed a bug in the scaling of colors for the variable layer editing.
2017-02-21 09:39:28 +01:00
bubnikv 006173342c Fixes: Infill patterns triangles/stars seem to be mixed-up
https://github.com/prusa3d/Slic3r/issues/143
2017-02-20 22:36:34 +01:00
bubnikv 171148d3a6 Changed the platte of the variable layer height visualization,
green shall indicate a thin layer.
2017-02-20 22:22:23 +01:00
bubnikv 440a5eb2a0 Fixes an ugly infinite loop issue.
https://github.com/prusa3d/Slic3r/issues/142
2017-02-19 21:45:38 +01:00
bubnikv 70229be9bc Added SystemInfo dialog,
a new SLIC3R_BUILD define to be replaced by the build script,
a menu item to open the "New Issue" github page.
2017-02-19 16:04:57 +01:00
bubnikv 3bfa6416d8 Fixed https://github.com/prusa3d/Slic3r/issues/126
by re-shuffling the simplification of a path to be extruded.
A non-simplified path was being used for a wipe move before,
causing an extremely detailed path to be exported into a G-code.
2017-02-15 17:51:46 +01:00
bubnikv 4d739c41a0 Improvements of the layer height spline editing close to the top
of the object.
2017-02-15 14:39:08 +01:00
bubnikv d2d7c5bead Fixed trimming of support volumes by objects for the soluble supports
and for the raft contact layer over soluble supports.
https://github.com/prusa3d/Slic3r/issues/120
2017-02-15 13:34:17 +01:00