Commit Graph

3275 Commits

Author SHA1 Message Date
75ee1baf1d Another tiny change to support non C++11 compiler. 2016-10-16 23:05:47 +02:00
a7c53c7f5f Disable C++11 hash feature in C++ Supports to compile on Strawberry. 2016-10-16 22:56:21 +02:00
47cc9687a0 Added a new switch: ensure_vertical_shell_thickness
This enables a zig-zag infill similar to Cura or Simplify3D
on overhangs.
2016-10-16 22:11:19 +02:00
7d7f093120 C++ supports sketched, but not finalized yet. Slic3r is still using
the old Perl supports, but this time with the C++ fillers.
2016-10-16 16:30:56 +02:00
8f40d9b34e Initial implementation of C++ supports,
some documentation of the existing code.
2016-10-13 16:00:22 +02:00
c16eca0065 Improvements of the C++ RectInfill2 code for supports:
Make the contours more continuous.

Some documentation, asserts and such.
2016-10-06 21:41:52 +02:00
5268574ade Made the sheath around the base support configurable. Without the sheath
it is easier to remove the support, but the support is more fragile.
2016-10-04 14:38:13 +02:00
5bb37ad2c4 A new feature "support_material_buildplate_only" implemented.
Also a bug has been fixed for zero interface layers. Before
slic3r would put infinite number of interface layers over top surfaces,
if the number of interface layers was set to zero.
2016-10-04 13:54:10 +02:00
b7af7276c9 Instantiate the new C++ filler. It will be used for the supports first. 2016-10-03 16:59:00 +02:00
d2635ab799 Finished merging of bridging regions. 2016-09-30 16:11:19 +02:00
3a81e6bee4 Bugfix of bottom bridges. If close regions shall be closed by bridges,
these regions are grown to anchor the bridge lines to the bottom surface.
The grown regions may overlap. In that case the regions are now merged
before the bridging direction is calculated for the merged region.
2016-09-30 15:23:18 +02:00
403329db49 Misc bugfixes. 2016-09-26 13:58:47 +02:00
790b640521 Visualization of fill surfaces. 2016-09-26 13:56:24 +02:00
e0d1aa8a1a Collect the perimeter surfaces when generating perimeters.
The perimeter surfaces are later used for performing infill
below overhangs and to maintan configured vertical wall thickness
at sloping surfaces.
2016-09-26 13:44:23 +02:00
c514e731da Documented the bridge detector. 2016-09-26 12:53:41 +02:00
feb269c97c G code generator will include marks for the G-code analyzer, so
the path preview will be colored with a fine granularity.
2016-09-26 12:52:40 +02:00
088b0dab90 Bugfix: use Lift-z option for 2. extruder #3385
Thanks to https://github.com/platsch
https://github.com/alexrj/Slic3r/pull/3392
2016-09-26 12:49:29 +02:00
edc70e27d9 New routines for debugging visualization of surfaces & infills. 2016-09-26 12:45:23 +02:00
4046552dd1 Documented MultiPoint. 2016-09-26 12:44:45 +02:00
758458e5a0 PressureEqualizer - fixed compiler warnings, documented. 2016-09-26 12:44:03 +02:00
4a13efd081 Surface / Surface Collection - optimization routines for filtering,
routines for visualization.
2016-09-26 12:42:44 +02:00
03b1312f2d G-code analyser, first draft. The G-code analyser will be used
for advanced visualization of the printing paths, including
the extrusion types.
2016-09-26 12:37:54 +02:00
459a42aab6 Fixed a bug in conditional compilation of the Shiny profiler. 2016-09-15 00:57:40 +02:00
2a5095a1ea OpenGL support through GLEW. Only active if compiled with SLIC3R_GUI=1. 2016-09-14 16:31:26 +02:00
266e1c4be1 Initial commit of the GLEW library for calling OpenGL from the C++ code. 2016-09-14 14:07:41 +02:00
b1575b4dcb Integration of the Shiny lightweight intrusive profiler. 2016-09-14 11:43:38 +02:00
4c67230436 Documented the purpose of various perl modules. 2016-09-14 11:22:41 +02:00
17d9c8c9dd fixes for gcc: Missing include float.h 2016-09-13 15:59:23 +02:00
7d56827e26 updated for older gcc 2016-09-13 15:29:31 +02:00
f73ca007e6 Fixed compilation on old gcc. 2016-09-13 15:15:44 +02:00
15c1edd552 Configurable volumetric extrusion rate slope. 2016-09-13 15:02:28 +02:00
620c6c7378 Ported from the playground branch. Various documentation and optimization. 2016-09-13 13:30:00 +02:00
a5b7f14dfa Updates in the C++ infill code. 2016-09-13 11:26:38 +02:00
068f71847e Some inlining optimizations. 2016-09-13 09:46:41 +02:00
c443f49da3 Fix in splitting the loop at a new point. 2016-09-13 09:44:30 +02:00
f518e0675c Initial commit of the new Pressure Equalizer, the EdgeGrid
signed distance field structure.
The EdgeGrid is used to avoid placing the seams on overhangs.
2016-09-12 16:25:15 +02:00
73cbb4b5dc some optimizations of Point rotation 2016-09-12 13:52:31 +02:00
9a83d4e8d5 Reverted some now unnecessary changes. Reverted the infill to the original perl implementation. 2016-09-12 13:26:17 +02:00
9fcc8fe9ae Meged with release_candidate_1_3 2016-09-12 11:29:39 +02:00
ab357c75a5 Updated xs/Build.PL to support Visual Studio compiler suite.
Updated xs/Build.PL to understand BOOST_LIBRARY_PATH and
BOOST_INCLUDE_PATH environment variables. This way one may easily
switch between various boost builds.

Some minor tweeks were done to make Slic3r compile with
Visual Studio 2013.
2016-08-21 21:46:17 +02:00
bd23fe9c44 Fixed a crash in a constructor of FullPrintConfig due to an incorrect use
of virtual inheritance. Note that an invocation of ConfigBase::optptr()
is routed to FullPrintConfig::optptr() for all classes of the FullPrintConfig
hierarchy. FullPrintConfig::optptr() in turn invokes optptr()
of PrintObjectConfig, PrintRegionConfig, PrintConfig and HostConfig.
Due to the use of virtual inheritance, this all happens, when
PrintObjectConfig gets constructed as part of FullPrintConfig, but
at that time PrintRegionConfig, PrintConfig and HostConfig are not
constructed yet. Accessing them at that time leads to crashes,
when compiled with Visual Studio 2013 compiler. For some reason
the code generated by gcc does not crash, but I believe the behavior
is undefined and it is better to be fixed anyway.

The patch solves the problem by calling set_defaults() by the topmost
object, which not only fixes the crashes, but also avoids repeated
initialization.
2016-08-21 19:09:31 +02:00
39dfee79c7 Mention anti-ooze sacrificial skirt feature. 2016-06-01 17:47:54 -04:00
9e8022f6f6 More refactoring to medial axis and gap fill, more robust 2016-05-20 17:03:57 +02:00
b068616366 Merge pull request #3120 from Vicious-one/patch-1
Fix for #3069
2016-05-18 23:01:19 -05:00
209b919fe6 Fix cooling not working if !gcode_comments
The cooling markers were being passed into GCodeWriter::set_speed() as a
comment which were being ignored if gcode_comments was false.

Fixes: #3325
2016-05-12 23:35:39 +08:00
d022493297 Merge remote-tracking branch 'upstream/master' 2016-05-03 22:05:31 +02:00
79c5e0a52d Optimize remove_duplicate_points. 2016-04-15 18:01:08 +02:00
42d9db04f2 Don't crash, if the number of lines to display is zero. 2016-04-15 17:58:29 +02:00
83166a7ff3 Close SVG file when the object gets deallocated. 2016-04-15 17:57:38 +02:00
f3bda8a57a Disable optimizations and debug check even in debug mode. 2016-04-14 11:17:44 +02:00