bubnikv
a6cf6afb49
Missing #include <memory>
2016-11-02 11:13:13 +01:00
bubnikv
95ede7c4b8
Rewrote Fill2.pm to C++, deleted Perl infills for good.
...
Removed dependency on Perl Math::PlanePath module.
Fixed compilation with Visual Studio and SLIC3R_DEBUG: Visual Studio older than 2015 does not support the prinf type specifier %zu. Use %Iu instead.
C++11 move semantics enabled.
2016-11-02 10:47:00 +01:00
bubnikv
3a31d37d35
Fix of https://github.com/prusa3d/Slic3r/issues/5 :
...
missing #include <assert.h> in FillBase.hpp
Also disabled the automatic width adjustment in all the infills
by default for now.
2016-11-02 09:00:26 +01:00
bubnikv
36f51ff2bf
Fixed a return value in the Config multi-string parser.
2016-11-01 14:52:44 +01:00
bubnikv
0264381f79
Missing include for memcpy for Linux.
2016-11-01 13:53:28 +01:00
bubnikv
3d3654707b
Added "Notes" page to the filament configuration.
...
Added "filament_max_volumetric_speed", a cap on the maximum volumetric
extrusion role, filament specific. This is very useful when mixing
rigid filament with a soft filament.
Extended the import / export of multi-string values into configuration
values, including the test cases. Multi-line strings will be enclosed
into quotes, quotes escaped using a C-style escape sequences. Single
word strings could still be stored without quotes.
2016-11-01 13:41:24 +01:00
bubnikv
4e66ed81d2
Fixed the fill density for rectilinear, triangular and cubic infills.
...
Initial implementation of the "infill link maximum distance" feature.
Parts of the perimeter connecting two infill lines will be dropped,
if longer than a given threshold.
2016-10-27 17:03:57 +02:00
bubnikv
4524ecf66b
by alexrj: Always convert strings to UTF-8 before passing them to XS
2016-10-24 14:08:22 +02:00
bubnikv
250ff451ba
by alexrj: Fixes in GCodeSender to reset the connection after it breaks.
...
by alexrj: Fix in mouse handling of 2DBed.
by alexrj: ClipperUtils for ExPolygon vs. ExPolygon
2016-10-24 14:07:38 +02:00
bubnikv
cc8b7390ee
Make sure the shells for the "ensure verticall wall thickness" feature
...
are thick enough to be actually filled by the rectilinear fill.
Otherwise gaps would be left in the sparse infill, causing missing
bond to the perimeters.
2016-10-22 22:25:00 +02:00
bubnikv
b28d31d0fe
Fixes gaps created around the 3D honeycomb infill. The bug has been
...
introduced during the C++ porting of the original Perl code.
2016-10-22 21:31:39 +02:00
bubnikv
20cd34a3a5
Cubic infill.
2016-10-21 18:56:55 +02:00
bubnikv
1fb57e439e
Defined the +-* operators on Pointf.
...
Removed the deprecated VibrationLimit feature.
Added triangle infill.
The Prusa3D fork of Slic3r has been marked as "Slic3r Prusa Edition"
with menus pointing to the prusa3d/slic3r github release page
and Prusa3D drivers downloads page.
2016-10-21 16:53:42 +02:00
bubnikv
15d3e94a66
Unified the creation of paths of debugging output files
...
pointing to a predefined output directory.
2016-10-21 10:18:01 +02:00
bubnikv
59f3fed9f2
gcc bailed out on <cstdint>
2016-10-20 18:38:44 +02:00
bubnikv
978fca6f7c
Fixed a compilation problem on OSX.
...
Fixed an inverted assert condition.
2016-10-20 18:34:33 +02:00
bubnikv
9e4edcd8ec
Enabled the C++ fillers for all infills, not just the supports.
...
Made sure the C++ fillers are instantiated at the worker threads,
where there are being released.
Extended the FillRectilinear2 to calculate the contour / line intersection
with exact arithmetics, improved robustness and added error handling
and error reporting, if the contours to be filled are not correct.
2016-10-20 17:44:46 +02:00
bubnikv
f788f50b5a
Disabled asserts in the release build (-DNDEBUG).
...
Added a safe variant of offset(const Slic3r::ExPolygon...), which offsets each loop separately.
New functions "remove_sticks" to remove zero area parts of polygons.
New functions "remove_small" and "remove_degenerate" for polygon clean up.
Extended the C++ supports, those are not finalized yet though.
2016-10-20 13:04:23 +02:00
bubnikv
53907a9cfe
Fix of a crash when setting a viewport over an empty platter.
...
Exported bounding box 'empty' method to perl.
2016-10-18 16:44:05 +02:00
bubnikv
26349b30c5
Fixed a bug in EdgeGrid for horizontal or vertical lines ending at the grid lines.
2016-10-17 18:06:38 +02:00
bubnikv
7fd06ef311
Removed #include <malloc.h> from the Shiny profiler as there is no
...
malloc.h on OSX.
2016-10-17 12:13:30 +02:00
bubnikv
6f4a04c2d7
Fix of compilation on Linux. Disable hopefully finally the Shiny profiler.
2016-10-17 10:33:23 +02:00
bubnikv
52dc18e350
Hopefully fixed compilation of the Shiny profiler on Linux,
...
where the Shiny profiler shall be disabled.
2016-10-17 09:55:42 +02:00
bubnikv
19312d0a1a
Yet another fixes to make SupportMaterial.cpp compile on gcc.
2016-10-17 09:34:48 +02:00
bubnikv
30c1be40da
Fixes of SupportMaterial.cpp
2016-10-17 09:27:20 +02:00
bubnikv
e8f73134e6
Fixed a typo, which broke compilation on GCC.
2016-10-16 23:13:43 +02:00
bubnikv
75ee1baf1d
Another tiny change to support non C++11 compiler.
2016-10-16 23:05:47 +02:00
bubnikv
a7c53c7f5f
Disable C++11 hash feature in C++ Supports to compile on Strawberry.
2016-10-16 22:56:21 +02:00
bubnikv
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
bubnikv
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
bubnikv
8f40d9b34e
Initial implementation of C++ supports,
...
some documentation of the existing code.
2016-10-13 16:00:22 +02:00
bubnikv
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
bubnikv
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
bubnikv
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
bubnikv
b7af7276c9
Instantiate the new C++ filler. It will be used for the supports first.
2016-10-03 16:59:00 +02:00
bubnikv
d2635ab799
Finished merging of bridging regions.
2016-09-30 16:11:19 +02:00
bubnikv
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
bubnikv
403329db49
Misc bugfixes.
2016-09-26 13:58:47 +02:00
bubnikv
790b640521
Visualization of fill surfaces.
2016-09-26 13:56:24 +02:00
bubnikv
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
bubnikv
c514e731da
Documented the bridge detector.
2016-09-26 12:53:41 +02:00
bubnikv
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
bubnikv
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
bubnikv
edc70e27d9
New routines for debugging visualization of surfaces & infills.
2016-09-26 12:45:23 +02:00
bubnikv
4046552dd1
Documented MultiPoint.
2016-09-26 12:44:45 +02:00
bubnikv
758458e5a0
PressureEqualizer - fixed compiler warnings, documented.
2016-09-26 12:44:03 +02:00
bubnikv
4a13efd081
Surface / Surface Collection - optimization routines for filtering,
...
routines for visualization.
2016-09-26 12:42:44 +02:00
bubnikv
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
bubnikv
459a42aab6
Fixed a bug in conditional compilation of the Shiny profiler.
2016-09-15 00:57:40 +02:00
bubnikv
2a5095a1ea
OpenGL support through GLEW. Only active if compiled with SLIC3R_GUI=1.
2016-09-14 16:31:26 +02:00
bubnikv
266e1c4be1
Initial commit of the GLEW library for calling OpenGL from the C++ code.
2016-09-14 14:07:41 +02:00
bubnikv
b1575b4dcb
Integration of the Shiny lightweight intrusive profiler.
2016-09-14 11:43:38 +02:00
bubnikv
4c67230436
Documented the purpose of various perl modules.
2016-09-14 11:22:41 +02:00
bubnikv
17d9c8c9dd
fixes for gcc: Missing include float.h
2016-09-13 15:59:23 +02:00
bubnikv
7d56827e26
updated for older gcc
2016-09-13 15:29:31 +02:00
bubnikv
f73ca007e6
Fixed compilation on old gcc.
2016-09-13 15:15:44 +02:00
bubnikv
15c1edd552
Configurable volumetric extrusion rate slope.
2016-09-13 15:02:28 +02:00
bubnikv
620c6c7378
Ported from the playground branch. Various documentation and optimization.
2016-09-13 13:30:00 +02:00
bubnikv
a5b7f14dfa
Updates in the C++ infill code.
2016-09-13 11:26:38 +02:00
bubnikv
068f71847e
Some inlining optimizations.
2016-09-13 09:46:41 +02:00
bubnikv
c443f49da3
Fix in splitting the loop at a new point.
2016-09-13 09:44:30 +02:00
bubnikv
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
bubnikv
73cbb4b5dc
some optimizations of Point rotation
2016-09-12 13:52:31 +02:00
bubnikv
9a83d4e8d5
Reverted some now unnecessary changes. Reverted the infill to the original perl implementation.
2016-09-12 13:26:17 +02:00
bubnikv
9fcc8fe9ae
Meged with release_candidate_1_3
2016-09-12 11:29:39 +02:00
bubnikv
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
bubnikv
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
Vanessa Ezekowitz
39dfee79c7
Mention anti-ooze sacrificial skirt feature.
2016-06-01 17:47:54 -04:00
Alessandro Ranellucci
9e8022f6f6
More refactoring to medial axis and gap fill, more robust
2016-05-20 17:03:57 +02:00
Joseph Lenox
b068616366
Merge pull request #3120 from Vicious-one/patch-1
...
Fix for #3069
2016-05-18 23:01:19 -05:00
Chow Loong Jin
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
Vojtech Bubnik
d022493297
Merge remote-tracking branch 'upstream/master'
2016-05-03 22:05:31 +02:00
bubnikv
79c5e0a52d
Optimize remove_duplicate_points.
2016-04-15 18:01:08 +02:00
bubnikv
42d9db04f2
Don't crash, if the number of lines to display is zero.
2016-04-15 17:58:29 +02:00
bubnikv
83166a7ff3
Close SVG file when the object gets deallocated.
2016-04-15 17:57:38 +02:00
bubnikv
f3bda8a57a
Disable optimizations and debug check even in debug mode.
2016-04-14 11:17:44 +02:00
bubnikv
23a5edbd11
Breaking into the debugger from the menu. This may be useful in Windows.
2016-04-13 20:51:03 +02:00
bubnikv
d6b53d18b8
Optimized and improved rectilinear fill.
2016-04-13 20:46:45 +02:00
bubnikv
f767ce816b
Optimized and improved rectilinear fill.
2016-04-13 20:45:44 +02:00
Joseph Lenox
510ca9f9e2
Merge pull request #3303 from hyperair/fix-cooldown
...
Changes to properly detect extrusion moves for "layer cooldown" slowdowns and properly calculate time required to complete moves.
2016-04-12 12:50:43 -05:00
Chow Loong Jin
3d73fbf5fd
Use float for elapsed_time
...
When accumulating elapsed_time from many moves that take less than 1
second, elapsed_time does not get incremented because (unsigned int)0.9
= 0.
2016-04-13 01:13:42 +08:00
Chow Loong Jin
4c622c504f
Account for travel moves in elapsed_time
2016-04-13 01:13:39 +08:00
Alessandro Ranellucci
a54edf8fbc
Support static linking of the Boost libs
2016-04-11 22:14:12 +02:00
bubnikv
3b81bf0e33
Remove some debugging info.
2016-04-11 17:48:27 +02:00
bubnikv
3ba625da22
Revert incorrect checkins.
2016-04-11 17:34:15 +02:00
bubnikv
ed83ff37f8
Simulation of extrusion in a plane, useful for finding out under / over-extruions.
2016-04-11 17:10:13 +02:00
bubnikv
9716ee8eca
Interface to a filler, ported from Perl to C++.
2016-04-11 17:09:15 +02:00
bubnikv
be3e4caf1d
Fills were reimplemented in C++.
...
While reimplementing the FillPlanePath code, the octagon infill was fixed to extrude the right amount of material.
2016-04-11 17:08:30 +02:00
bubnikv
7da68c91a5
Vojtech likes to use Sublime on Windows to get the wheels rolling.
2016-04-11 17:05:58 +02:00
Alessandro Ranellucci
f66585c250
Fixed compilation on OS X
2016-04-11 12:04:54 +02:00
bubnikv
d392858ee3
The chaining and leftmost_point methods were rewritten as static methods, so they may be called on Polylines without having to convert to PolylineCollection first.
2016-04-10 19:32:39 +02:00
bubnikv
6c5c9eddba
Fixed a typo when SLIC3R_DEBUG is active.
2016-04-10 19:13:08 +02:00
bubnikv
bcfbe02c8d
New method to rotate only polygons, not translate.
...
New free function to_polygons. Whithout this function one needs to construct the ExPolygonCollection, which means a deep copy.
2016-04-10 19:12:32 +02:00
bubnikv
023310882f
Added a macro SLIC3R_CPPVER to indicate the C++ language version supported by the compiler.
2016-04-10 19:07:34 +02:00
bubnikv
7d54e28e30
Added optimized methods for point and polyline rotation.
...
Existing methods for rotation were optimized by calculating the sin/cos values once only.
Added an operator- for points.
2016-04-10 19:06:46 +02:00
bubnikv
c8ff517389
New constructors for the bounding box with min/max points were added.
...
empty(bbox) function template was added.
2016-04-10 19:02:00 +02:00
bubnikv
33ddb13e5d
Use CLIPPER_OFFSET_SCALE instead of a numeric value.
2016-04-10 18:58:12 +02:00
Chow Loong Jin
2e2e4e68d3
Fix layer time slowdown
...
The recent GCode writer changes which put the speed changes on a line of
their own have caused the layer time slowdown to be ignored by the regex
in CoolingBuffer.pm.
Fixes : #3134
2016-04-10 16:10:18 +08:00
bubnikv
4156b51c18
Debugging visualization of the gap fills into a SVG format, if SLIC3R_DEBUG is set.
2016-03-27 10:53:59 +02:00
Alessandro Ranellucci
9576973b57
Tune gap fill and thin walls to less extreme values
2016-03-26 18:37:37 +01:00