Commit Graph

3902 Commits

Author SHA1 Message Date
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
34fab1566f "Background slice now" function, initial implementation by @lordofhyphens
https://github.com/alexrj/Slic3r/pull/3501
2016-10-25 13:24:42 +02:00
bubnikv
34248c2fbf On Windows use the Slic3r.ico instead of the PNG file
for the application icon.
2016-10-24 18:05:26 +02:00
bubnikv
51c8d73b11 Fixed a division by zero in 3D scene, if there is nothing to show.
Improved Prusa3D icon.
2016-10-24 17:32:22 +02:00
bubnikv
741a85187c Suppress the '- default -' selection of Print/Filament/Printer settings
if there is any valid option available. This feature has been asked for
by the Prusa3D customers as the '- default -' option has nothing to do
with the actual printer and when selected accidentally, it could even
lead to a printer damage.
2016-10-24 16:07:36 +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
67c98eca5f Cleaned up the PNG headers of the icon files:
libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
2016-10-22 17:31:41 +02:00
bubnikv
3574d68465 Changed the icons to indicate this is not the alexrj build. 2016-10-22 17:15:42 +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
c0956dbd34 Disable debugging output from the Filler2.pm 2016-10-17 17:16:02 +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
ee4b9ab82f Select standard camera views (left / right / top / bottom / front / rear / default)
by menu.
2016-10-05 14:13:07 +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
ae2bae137a Added a low layer slider into the 3D preview window.
This is to limit the preview to a span of layers.
2016-10-03 17:01:29 +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
b5e24d3527 Fix of a test case of PerimeterGenerator. 2016-09-28 11:17:59 +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
8f04f5d5f6 Don't adjust width of infill. It produces dangerously wide fills.
If the infill flow adjustment is enabled, report cases,
where the infill flow grows over the limits.
Make the internal bridging infill 50% sparse.
2016-09-26 13:38:37 +02:00