Commit Graph

1202 Commits

Author SHA1 Message Date
bubnikv
867619fa40 missing include <memory> 2017-05-03 18:35:55 +02:00
bubnikv
e90279c513 Ported the G-code generator from Perl to C++.
Removed GCode.pm
Removed the Perl bindigns for AvoidCrossingPerimeters, OozePrevention, SpiralVase, Wipe
Changed the std::set of extruder IDs to vector of IDs.
Removed some MSVC compiler warnings, removed obnoxious compiler warnings when compiling the Perl bindings.
2017-05-03 18:28:22 +02:00
bubnikv
72ae3585e4 Removed a broken Arc Fitting feature.
Removed the questionable Pressure Advance feature. It is better to use the Pressure Advance implemented into a firmware.
Added a C++ implementation of GCodeReader and SpiralVase, thanks to @alexrj
Added a C++ implementation of GCodeTimeEstimator, thanks to @lordofhyphens
2017-04-26 14:24:31 +02:00
bubnikv
69c0f55679 Fixes loading of multi-part ASCII STLs.
https://github.com/prusa3d/Slic3r/issues/255
2017-04-18 10:53:31 +02:00
bubnikv
23be6233c8 Finalized the experimental "synchronize support layers with object layers"
feature (the support_material_synchronize_layers settings).
The feature is now enabled for the soluble supports only
(with support_material_contact_distance > 0).

Fixes https://github.com/prusa3d/Slic3r/issues/197
2017-04-10 12:00:07 +02:00
bubnikv
688fe3e2b2 Fixed some rare support issues connected with the 1st print layer.
Fixed support issue, where the XY gap was ignored for the top contact layers
and a fixed 50% was used instead.
2017-04-07 17:44:51 +02:00
bubnikv
ed2ee2f6f3 Merged support_fills with support_interface_fills.
When extruding supports, the support is interleaved with interface
if possible (when extruded with the same extruder).
Otherwise the base is extruded first.
2017-04-07 17:37:30 +02:00
bubnikv
7ffb3590c4 Finalized the Prusa Control project file format import. 2017-04-05 14:45:43 +02:00
bubnikv
f9023c0603 Removed some unused code. 2017-04-05 13:50:59 +02:00
bubnikv
6f5700a3a6 Fix of
https://github.com/prusa3d/Slic3r/issues/66
https://github.com/prusa3d/Slic3r/issues/181

Implemented filtering of the support structures expanded into a grid,
where the support parts leaked through the object wall are removed
after the fact.
2017-04-05 09:56:59 +02:00
bubnikv
5126c5018a Provision for disabling TBB parallelization for debugging purposes. 2017-04-05 09:53:24 +02:00
bubnikv
74b95e9152 Adapted BoundingBox get_extents(const ExPolygons &expolygons)
to work even with empty polygons.
2017-04-05 09:52:06 +02:00
bubnikv
555560f63c Simplification, C++11 beautification. 2017-04-05 09:51:03 +02:00
bubnikv
ef2cfdb0d1 C++11 beautification of loops. 2017-04-05 08:59:03 +02:00
bubnikv
47543cf82a Operator< for Point 2017-04-05 08:57:59 +02:00
bubnikv
329f0b9cf4 Debugging output and asserts for TriangleMeshSlicer::slice(). 2017-04-05 08:57:37 +02:00
bubnikv
bd9ee88e2f Fix of https://github.com/prusa3d/Slic3r/issues/214
Dent in perimeters around a hole

Clipper Offset has been extended to remove tiny edges before the offset.
This is important as the tiny edges pose difficulty
for normal calculation, leading to various adverse effects like
kinks and dents in the offsetted contour.
2017-04-04 11:17:25 +02:00
bubnikv
70fcedb113 Fix of https://github.com/prusa3d/Slic3r/issues/232
Single layer of sparse support above dense support before model
2017-04-04 09:57:54 +02:00
bubnikv
1719952f49 Fixing "opening an obj file causes Slic3r to become stuck and use 100% on one core" #221
Extended the OBJ parser to triangulate quads. Higher order polygons are not supported though.
2017-04-03 10:05:22 +02:00
bubnikv
8ac1d37b10 Fixed crashes on OpenGL < 2 due to printing null pointers returned
by glGetString().
2017-03-31 15:29:34 +02:00
bubnikv
36416d77b8 Fixes of VBO rendering on Linux with wxWidgets & GTK 2017-03-30 10:25:52 +02:00
bubnikv
b60ae4745f Fixed missing #include<assert.h> 2017-03-29 19:57:11 +02:00
bubnikv
3e347c33dc Bundled Eigen library. 2017-03-29 18:19:57 +02:00
bubnikv
5dc899d64e Reset wipe moves on tool change and on travel. 2017-03-29 17:45:38 +02:00
bubnikv
4bbb1f4b63 Rewrote next_highest_power_of_2 as a template as OSX had issues with
the previous implementation.
2017-03-28 18:02:26 +02:00
bubnikv
3ebf0ce7fd Improved memory allocation efficiency of the 3D path preview generator. 2017-03-28 17:09:57 +02:00
bubnikv
1fb302d480 Reverted due to a failing test t\multi.t 2017-03-28 14:29:27 +02:00
bubnikv
40b75f6cee Snapped the bottom interface layer print heights to the top interface
layer print heights to avoid too thin layer surfaces. The minimum layer
height at the nozzle page is maintained for the support layers.

Base layers are trimmed by the briding bottom surfaces.
2017-03-28 13:46:31 +02:00
bubnikv
9f7a5c7a6f Some beautification and C++11 adaptation. 2017-03-28 13:25:10 +02:00
bubnikv
640698d28b Fixing Zero extrusion print moves and overlapping regions in first layer
https://github.com/prusa3d/Slic3r/issues/184

No E distances generated when support is selected. bug?
https://github.com/prusa3d/Slic3r/issues/175
2017-03-27 14:34:07 +02:00
bubnikv
67126d6f48 Moved the NVIDIA and AMD hints to the slic3r.exe wrapper. 2017-03-27 09:06:24 +02:00
bubnikv
0dae43e4bc Bugfix: when the Voronoi diagram contained very large coordinates we need to check whether they are greater than our allowed range and consider the Voronoi edges infinite in those cases, in order to prevent overflows.
https://github.com/alexrj/Slic3r/issues/3776
9ad1360e44
2017-03-24 09:32:30 +01:00
bubnikv
53832aff24 Documented the boost libraries required by Slic3r Prusa Edition
https://github.com/prusa3d/Slic3r/issues/88
2017-03-23 16:28:23 +01:00
bubnikv
b7d3ed26c6 Link boost & intel Thread Building Blocks statically by default
on Windows and OSX, dynamically on Linux.
This could be overidden by an environment variable
SLIC3R_DYNAMIC=1
2017-03-23 15:06:22 +01:00
bubnikv
9e0a690d2e Simplified the skirt paths. 2017-03-23 12:35:00 +01:00
bubnikv
073d6d2d43 Fixed colors of the path preview. 2017-03-23 12:34:35 +01:00
bubnikv
1b3c651643 Fixed iusses in rendering print paths through VBOs for multiple objects. 2017-03-23 11:10:53 +01:00
bubnikv
3b5d1d0e25 Try to enforce the use of a high performance NVIDIA / ATI GPU
on dual graphic card laptops.
2017-03-23 10:28:08 +01:00
bubnikv
1fb3d00932 Fix of parsing ASCII STLs on Visual Studio 2013 with global optimization. 2017-03-22 17:57:27 +01:00
bubnikv
ed495663e8 Support generator parallelized. 2017-03-22 15:35:50 +01:00
bubnikv
04cd474708 Fixed some instance of simplify_polygons() invocation.
Geometry::deg2rad() made a template.
Some methods of Layer made inline.
Added a helper template remove_nulls().
2017-03-22 15:35:09 +01:00
bubnikv
039cd0ac5b new GLShader.cpp,h 2017-03-20 14:48:17 +01:00
bubnikv
045de596e2 Use OpenGL 2.0 shaders for the layer height rendering.
Use OpenGL 2.0 shaders for the print path rendering for performance reasons.
2017-03-20 12:05:20 +01:00
bubnikv
56f845f3c1 Fixed the reports given by the build process if BOOST or TBB libraries
were not found.
https://github.com/prusa3d/Slic3r/issues/177
2017-03-17 22:49:43 +01:00
bubnikv
8e28bd36a2 Link XS with -framework OpenGL on OSX. 2017-03-16 14:26:16 +01:00
bubnikv
73de247a15 Enabled SLIC3R_GUI by default. This is required to enable the OpenGL 2.0
API through C++ GLEW.
2017-03-16 14:09:42 +01:00
bubnikv
7f7d2da5fe Use Vertex Buffer Objects for rendering of 3D volumes if possible. 2017-03-16 14:02:28 +01:00
bubnikv
c32c7fa1dc Fixed a typo. 2017-03-15 21:26:46 +01:00
bubnikv
93cab990c7 Fixed some memory allocation issues of the new C++ 3d path preview
(reserved memory has to be shrank around the collected data).

Initial implementation of the vertex buffer objects for the 3d path preview.
2017-03-15 20:45:03 +01:00
bubnikv
d18e10c7c9 Rewrote the OpenGL object rendering to indexed triangle / quad sets
for lower memory consumption.
Rewrote the print path 3D preview to generate these indexed triangle / quad
sets, possibly with at least as possible duplication of vertices,
with a crease angle of 45 degrees, leading to maximum 8% overshoots
at the corners.
2017-03-15 16:33:25 +01:00