Commit Graph

1262 Commits

Author SHA1 Message Date
bubnikv
bde2ee6a7e Step forward in the C++ supports. 2016-11-28 17:36:50 +01:00
bubnikv
8b0784f26c Added a free "cross product" function to Pointf (thinking the Pointf is
really a vector in this case).

Made the == operator inline.
2016-11-28 17:34:52 +01:00
bubnikv
695c92fb00 CLIPPER_OFFSET_SCALE was made a power of two, the scaling functions
inside ClipperUtils are now using bit shifts instead of multiplication
by doubles, which makes the scaling precise.

Removed the scale parameter from all offset functions.

Modified the safety offset to calculate offset per polygon instead
of over all polygons at once. The old way was not safe and very slow,
sometimes this meant a kiss of death for supports for example.
2016-11-28 17:33:17 +01:00
bubnikv
e93253e270 Extended tracing of Support generator 2016-11-24 15:38:19 +01:00
bubnikv
a5b04d5cf3 Support calculation optimized. 2016-11-24 15:05:05 +01:00
bubnikv
e02755632e new Utils.hpp 2016-11-24 14:05:06 +01:00
bubnikv
0d20a81354 Log support through boost::log 2016-11-24 13:44:51 +01:00
bubnikv
e67e37c772 Supports: Disabled debugging,fix of bottom surface over print. 2016-11-24 11:29:31 +01:00
bubnikv
14df0717ca Fix of new suports. 2016-11-24 10:43:47 +01:00
bubnikv
d8be4de6cf One step further to the C++ Supports. 2016-11-23 15:51:47 +01:00
bubnikv
1a1eaa0810 increased version number. 2016-11-20 23:06:56 +01:00
bubnikv
39679f9518 Missed this one at the last check-in. 2016-11-20 12:59:29 +01:00
bubnikv
ef69474636 Optimized Layer::merge_slices()
Don't merge classified pieces of layerm->slices, but use the non-split
islands of a layer. For a single region print, these shall be equal.

Added Slic3r-console.ico windows icon for the console Slic3r.
This is a copy of the big icon, with the big images stripped off.
2016-11-20 12:38:59 +01:00
bubnikv
79f5a16536 Reverted the perimeter generator to not save the perimeter areas.
These could be calculated from the fill areas if needed.
On the other side, the non-classified (non-split) fill areas are stored
now for use in the "ensure vertical wall thickness" feature,
also the non-split fill areas are re-used when recalculating the infills.
This is safer than trying to stitch the fill region together from the
classified fragments.

Modified the "ensure vertical wall thickness" feature to use the non-split
fill areas instead of perimeter areas for the calculation
of non-supported regions. This is cheaper as the fill areas contain
roughly half the edges.
2016-11-17 23:22:59 +01:00
bubnikv
2085a482c7 admesh: Fixed a problem in loading an STL when compiled with
Visual Studio 2013. Added multiple compile time checks for data
sizes and alignment. The library STL import is not big endian safe, so
added a test for endianity, modified STL export to a faster little endian only.
2016-11-17 16:57:58 +01:00
bubnikv
9772584d78 Tame the Shiny profiler. Make it switchable with define SLIC3R_PROFILE. 2016-11-16 23:11:51 +01:00
bubnikv
3d47c52b47 In "ensure vertical wall thickness", the union_ is called each time
a new layer is added to the shell. This is faster than calling union_
over all collected polygons. Also security offset has been disabled.
2016-11-16 22:16:20 +01:00
bubnikv
6a3bdf43dc ClipperUtils extended with intrusive profiling macros.
offset2() was exteded with a shortcut, if both offset directions
are of the same direction.
2016-11-16 22:12:58 +01:00
bubnikv
bcda69c1e5 Extended the Build.PL to understand an environment variable
SLIC3R_PROFILE to set the C++ symbol of the same name to enable
Shiny profiler.
2016-11-16 22:10:04 +01:00
bubnikv
c3af189045 Reduced some compiler warnings. 2016-11-16 22:09:00 +01:00
bubnikv
901ec0ad37 Disable includes inside Shiny sources when SLIC3R_PROFILE symbol is not defined. 2016-11-16 22:04:38 +01:00
bubnikv
bfbe85b5c2 Some optimization of the "ensure vertical wall thickness" feature. 2016-11-16 18:04:47 +01:00
bubnikv
e857833a91 Undef seed macro because of crazy perl macro substitutions. 2016-11-16 13:19:48 +01:00
bubnikv
a36cc6491c Fixed compilation of XS modules by undefinig the "seed" macro
redefined crazily by Perl.
2016-11-16 13:14:42 +01:00
bubnikv
1589ffb224 Fix for compilation on Strawberry Perl with C++11 enabled. 2016-11-16 13:06:51 +01:00
bubnikv
68e9ec0d41 Set the C++ version to C++11 for all compilers but Visual Studio C++. 2016-11-16 13:00:36 +01:00
bubnikv
4c407c8a59 Optimization of Model bounding box routines (avoids copying the mesh),
optimization of the admesh rotate function (also made numerically more robust).
2016-11-16 11:53:29 +01:00
bubnikv
52de3940fe Improvements of admesh robustness when loading and fixing STLs.
https://github.com/prusa3d/Slic3r/issues/33
2016-11-16 10:33:23 +01:00
bubnikv
d1d6e907c5 Positive and negative zeros are possible in the floats, which are considered equal by the FP unit.
When using a memcmp on raw floats, those numbers report to be different.
Unify all +0 and -0 to +0 to make the floats equal under memcmp.
2016-11-16 09:31:18 +01:00
bubnikv
e6d802a5ff Fixed a 64bit compatiblity in admesh, fixed a typo in TriangleMesh::swap() 2016-11-15 17:22:00 +01:00
bubnikv
9abe07852e Fixed https://github.com/prusa3d/Slic3r/issues/32 2016-11-12 23:20:49 +01:00
bubnikv
7ebc3b0884 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2016-11-12 19:05:12 +01:00
bubnikv
b116fe287c Fixes https://github.com/prusa3d/Slic3r/issues/32#issuecomment-260135542
Reverts an inadverent bug introduced in 4460b5ce50
2016-11-12 19:04:40 +01:00
Miro Hrončok
ec3aeb1e47 Update the version
If this version is not updated, Slic3r shows the old version
in the title bar and status bar and that can be confusing to the user.
2016-11-11 16:46:05 +01:00
bubnikv
c2d5b32ee2 Changed the logic of the "ensure vertical wall thickness" feature
slightly by inflating the projected top/bottom/bottom bridge surfaces
before they are added into a surface. This ensures, that the possible
projected infill areas merge with the perimeter supporting areas,
but the perimeter supporting areas will not be inflated on their own,
if there is no touching projection of a top/bottom/bottom bridge
surface.
2016-11-11 11:13:36 +01:00
bubnikv
4460b5ce50 re-wrote PrintObject::detect_surfaces_type() to C++,
Fixed some cracks in the fill surfaces created by rounding all surfaces inside detect_surface_type().

Fixed https://github.com/prusa3d/Slic3r/issues/12
Bridging-Angle not optimal

Extended the "Ensure veritcal wall thickness" mode (merged with the original discover_horizontal_shells function), but this a work in progress. Already Slic3r with "ensure vertical wall thickness" produces less spurious infills inside solids.
2016-11-10 19:23:01 +01:00
bubnikv
317e9131e8 New sparse infill: "stars" - David's star shaped infill.
This is very similar to a "triangles" infill, but maximum two lines
intersect at a single point.

added utility function get_extents_vector()
2016-11-09 15:39:12 +01:00
bubnikv
eb0ab38618 Fixes https://github.com/prusa3d/Slic3r/issues/26
Strange behavior of Extra perimeters and ensure wall thickness
Old behavior is re-enabled when ensure vertical wall thickness is off.
2016-11-09 10:24:45 +01:00
bubnikv
e92501e51e Use a less aggressive positive offset for top/bottom/bridge surfaces,
when enlarging them for better anchoring.
2016-11-08 15:35:08 +01:00
bubnikv
443e900e07 Fixed compilation on Strawberry 2016-11-08 11:23:08 +01:00
bubnikv
5aacc6b015 Extended exit report when catching an exception under a broken
Strawberry Perl.
2016-11-08 11:15:09 +01:00
bubnikv
2e53c06159 Finished the SLIC3R_HAS_BROKEN_CROAK magic. 2016-11-08 10:59:43 +01:00
bubnikv
eb61373b69 Compilation with an environment variable SLIC3R_HAS_BROKEN_CROAK set
will force the perl confess / croak called from a C++ code to
print an error message and exit. There is a bug in some Strawberry
Perl instalations leading to an interpreter hang up and an exit
with a reasonable message is better than that.
2016-11-08 10:49:32 +01:00
bubnikv
22ca927f12 Reworked the bridge detector to allow searching a single bridging
direction over multiple regions. This allows a single bridge to be
drawn over holes, which are too close to each other to allow
for separate bridges.
Fixes Bridging-Angle not optimal
https://github.com/prusa3d/Slic3r/issues/12

Re-allowed adaptive infill line width for solid infills. The adaptive
infill line width works in some circumstances, see Issue #15,
but the original implementation often changed the line width too
aggressively. The current implementation limits the line width change
to 20%.
Fixes Gaps between infill and perimeter leads to errors in laydown on following layer
https://github.com/prusa3d/Slic3r/issues/15
2016-11-08 09:59:25 +01:00
bubnikv
5a81731577 Implemented utility functions to operate over lines, polylines, polygons,
surfaces.
2016-11-07 22:49:11 +01:00
bubnikv
aac968162b Unit test to verify whether Slic3r would hang when croaking from
a C++ exception handler. This is an unfortunate error in some
Strawberry Perl distributions.
2016-11-06 17:42:36 +01:00
bubnikv
e9e55e7ac3 Fix missing cubic infill line, thanks @KoKuToru for pointing out the problem
and proposing a fix.
https://github.com/prusa3d/Slic3r/pull/18

Fixed a slight bug, where the infill did not take the complete area.
2016-11-06 16:03:13 +01:00
bubnikv
bfb336df0c Refactored Print::validate() method to not throw an exception, but
to return a string with an error message instead. This was necessary
to avoid a hang-up on some Strawberry Perl distributions, when
a perl "croak" function is called after a C++ exception is caught.
2016-11-05 02:23:46 +01:00
bubnikv
89cf29080b Fix of https://github.com/prusa3d/Slic3r/issues/14
A to_polygons(SurfacePtrs &&) method does not make sense as
the ownership of the Surfaces stored in the pointer array is not known.
Thanks to @flannelhead for precisely pinpointing this issue.
2016-11-04 17:20:32 +01:00
bubnikv
96a1c74d45 Let's hope to fix compilation on gcc. 2016-11-04 17:09:01 +01:00
bubnikv
a10e9c6573 Fix of https://github.com/prusa3d/Slic3r/issues/13
The BoundingBox::defined flag was not set in constructor,
if initialized from min/max corners.
2016-11-04 16:49:08 +01:00
bubnikv
6217622865 Hopefully a fix of https://github.com/prusa3d/Slic3r/issues/11
Replaced eval { die } construct with a bool return value indicating
success or failure of an automatic arrangement of parts on the print bed.

Don't know exactly what is happening here, but throwing a "die" inside
a XS function and then catching it inside an eval {} block is suspcious.
2016-11-04 15:03:51 +01:00
bubnikv
3fc57ba8d8 Fixed compilation of the XS module with SLIC3R_GUI compilation flag
enabled, leading to a linkage of GL and GLU libraries.
https://github.com/prusa3d/Slic3r/issues/8
2016-11-04 01:06:26 +01:00
bubnikv
61d82b02b5 Improves https://github.com/prusa3d/Slic3r/issues/3
Limits the length of an infill connecting segment of a solid infill
to 3x the solid infill spacing.
2016-11-04 00:55:43 +01:00
bubnikv
483a658144 Method ExtrusionEntity::polygons_covered() and derived were split
into polygons_covered_by_width() and polygons_covered_by_spacing().

Bugfix of ExtrusionLoop::split_at(const Point &point),
where the split ExtrusionPaths were not initialised correctly.
2016-11-04 00:10:35 +01:00
bubnikv
f278fa454e Merge pull request #10 from flannelhead/cpp11-fix
Fix compilation with C++11 and above
2016-11-03 19:10:45 +00:00
bubnikv
7b6b609df1 ExtrusionEntity and derived classes: Documented, short methods made
inline for efficiency and readability, grow() renamed to polygons_covered().
2016-11-03 10:24:32 +01:00
Sakari Kapanen
fad91b86bd unique_ptr instead of auto_ptr for C++11 and above 2016-11-03 08:18:27 +02:00
Sakari Kapanen
60ea0561ec Copy and move variants of chained_path functions 2016-11-02 22:31:03 +02:00
Sakari Kapanen
381c88ce0c Fix typos preventing compilation with CPPVER >= 11 2016-11-02 22:29:59 +02:00
bubnikv
28ccb51f9b Fixed a crash when accessing a non-existing config value from C++ infill.
Disabled a test case of 100% infill coverage. This needs to be
yet improved.
2016-11-02 16:55:56 +01:00
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
Alessandro Ranellucci
36d5272f05 Filter gap fill using length relative to the actual width. #2781 2016-03-26 18:10:17 +01:00
Alessandro Ranellucci
660b56acb5 Fixed type error 2016-03-26 12:21:54 +01:00
Alessandro Ranellucci
7041bb5bd9 Rewritten the medial axis algorithm, now more robust (don't just prune MAT from endpoints, but validate all single edges) 2016-03-26 01:45:08 +01:00
Alessandro Ranellucci
b744947711 Missing #include 2016-03-20 01:50:27 +01:00
Alessandro Ranellucci
dd879c3ef2 When loading an AMF file having multiple objects that look like multiple parts of a single object, prompt user and ask how to consider it. #2970
Conflicts:

	lib/Slic3r/Model.pm
2016-03-19 22:24:20 +01:00
Alessandro Ranellucci
dfb1ec99ac Variable-width thin walls. Yay! 2016-03-19 19:40:11 +01:00
Alessandro Ranellucci
6dc42ee902 Variable-width gap fill. Yay! #2960 2016-03-19 19:20:04 +01:00
Alessandro Ranellucci
5ff7511a14 Fixed regression in bridging caused by error in porting. Includes regression test. #3175 2016-03-18 22:40:29 +01:00
Mark Walker
92e1f1011a Fix issue with undefined BOOST_VERSION
if BOOST_VERSION < 106000 always succeeds because BOOST_VERSION is
undefined.  In order to avoid the code for new boost, we need
<boost/version.hpp>
2016-03-13 23:51:35 -07:00
Alessandro Ranellucci
7aafa54bf0 Raise allowed temperatures to 500°C. #3114 2016-03-14 00:08:08 +01:00
Alessandro Ranellucci
f4a9fa6569 Support incompatible change in Boost 1.60. #3117 2016-03-14 00:06:56 +01:00
Alessandro Ranellucci
38d9acbbfb Bugfix: memory corruption in BridgeDetector (thanks @JakeQZ for the patch). #3267 2016-03-13 21:13:51 +01:00
Alessandro Ranellucci
d5ff69b1aa Make GCodeSender more robust (keep more than one sent line) and fix a memory access problem in the asio write buffer 2016-03-13 18:27:02 +01:00
Alessandro Ranellucci
ff0a947364 Merge pull request #3190 from farhaven/master
Implement serial port baudrate selection for OpenBSD
2016-03-13 15:37:13 +01:00
Alessandro Ranellucci
6e5938c833 Fixed return value for deserialize() implementations. #3250 2016-03-13 15:26:52 +01:00
wenjie
3acb0514e1 fix a segment fault by admesh 2016-03-12 16:01:16 +08:00
Alessandro Ranellucci
9eabbded2b Fixed regression in the C++ port of PerimeterGenerator causing gaps to be filled twice 2016-02-20 19:27:00 +01:00
Gregor Best
5a13c4384f Implement serial port baudrate selection for OpenBSD
Signed-off-by: Gregor Best <gbe@unobtanium.de>
2016-01-03 17:35:59 +01:00
Alessandro Ranellucci
83c91a3538 Dump serial messages to file in order to debug communication issues 2015-12-26 11:50:20 +01:00
Alessandro Ranellucci
7c8b71012c Force the 'nearest' strategy for starting skirt loops 2015-12-21 15:02:39 +01:00
Alessandro Ranellucci
1a286fc906 Fixes and improvements to MotionPlanner, much smarter now 2015-12-21 14:46:35 +01:00
Alessandro Ranellucci
70e8db8a0a Minor code cleanup here and there 2015-12-19 20:27:04 +01:00
Alessandro Ranellucci
795107dfa2 Bugfix: external details were simplified too much when using default settings at low layer height, because the internal flow was erroneously taken into account. #2807 2015-12-19 16:46:56 +01:00
Alessandro Ranellucci
bab3404b2d Very minor code improvements 2015-12-19 16:36:07 +01:00
Alessandro Ranellucci
2df750a9c9 Fixed ported code of PerimeterGenerator 2015-12-19 16:35:51 +01:00
Alessandro Ranellucci
667a121ddb Fixed error in porting causing wrong moves with avoid_crossing_perimeters 2015-12-19 14:49:29 +01:00
Alessandro Ranellucci
a2ea191d84 Fix regression in lift, includes regression test 2015-12-19 12:44:22 +01:00
Alessandro Ranellucci
fd7795da59 One more fix for compilation with older compilers 2015-12-19 10:20:05 +01:00
Alessandro Ranellucci
8138fbf349 New --retract-lift-above and --retract-lift-below options. #763 #3057 2015-12-18 18:36:39 +01:00
Alessandro Ranellucci
562efc1677 Typo 2015-12-18 13:49:22 +01:00
Alessandro Ranellucci
b8f0391934 Fix compilation with GCC 2015-12-18 13:40:57 +01:00
Alessandro Ranellucci
44825d91af Some changes to DLP projector 2015-12-18 00:56:56 +01:00
Alessandro Ranellucci
3ec3aaf960 Removed debugging statements 2015-12-16 13:11:41 +01:00
Alessandro Ranellucci
e381100812 More efficient syntax for the PrintConfigDef constructor 2015-12-16 13:09:25 +01:00
Alessandro Ranellucci
934bd43e35 More refactoring on Config XS bindings 2015-12-16 12:58:06 +01:00
Alessandro Ranellucci
3c862836f2 Refactored the Config XS bindings 2015-12-16 12:33:19 +01:00
Alessandro Ranellucci
21364b7cd1 Fix one regression in arrange 2015-12-14 00:15:26 +01:00
Alessandro Ranellucci
c0248dea8c Bugfix: missing include assert.h #3155 2015-12-11 21:36:51 +01:00
Alessandro Ranellucci
e2f2761a00 One more fix for compilation 2015-12-08 11:07:45 +01:00
Alessandro Ranellucci
9f90b2a1bf Fix compilation 2015-12-08 11:01:12 +01:00
Alessandro Ranellucci
5cfa36f36e Fix typo #3152 2015-12-08 10:53:57 +01:00
Alessandro Ranellucci
4913e90e10 Remove any Perl related code from libslic3r 2015-12-08 00:39:54 +01:00
Alessandro Ranellucci
3fac8cd77e Large refactoring of the Config classes 2015-12-07 19:39:49 +01:00
Alessandro Ranellucci
32a333f16a Import config bundle automatically if found in application directory 2015-12-07 12:17:06 +01:00
Alessandro Ranellucci
7e1fac8f76 Separate libslic3r code from slic3r application code 2015-12-06 12:54:01 +01:00
Alessandro Ranellucci
7eb3a70649 Bump version number 2015-12-06 11:18:27 +01:00
Alessandro Ranellucci
954e2c9bf0 Fix comment stripping in sender 2015-12-06 11:17:58 +01:00
Alessandro Ranellucci
27dcd60c77 Fix compilation on Windows 2015-12-06 11:17:50 +01:00
Alessandro Ranellucci
d0db8914f7 Fix a compilation error on Win32 2015-12-05 11:48:24 +01:00
Alessandro Ranellucci
e2b203ba8d Disable screensaver while projecting (untested on Windows) 2015-12-04 21:25:45 +01:00
Alessandro Ranellucci
7523550066 Try to fix compilation on older Perls 2015-12-02 19:57:03 +01:00
Alessandro Ranellucci
1bebe6097b Make test happy 2015-12-02 19:39:16 +01:00
Alessandro Ranellucci
4f8a18bbad Ported Layer::maker_perimeters() to XS 2015-12-02 19:32:57 +01:00
Alessandro Ranellucci
3a9cf91f83 Ported a couple more methods to XS 2015-12-02 18:29:33 +01:00
Alessandro Ranellucci
ed75219215 Ported mode Model methods to XS 2015-12-02 18:06:18 +01:00
Alessandro Ranellucci
dfce3a3138 Ported _arrange() and arrange_object() to XS 2015-12-01 21:51:16 +01:00
Alessandro Ranellucci
48f1fab49f Bugfix: an error in porting caused bad perimeter ordering. Includes regression test and more unit tests for PerimeterGenerator 2015-12-01 20:40:00 +01:00
Alessandro Ranellucci
39924ee89c More small fixes for compilation on Linux 2015-11-19 17:02:01 +01:00
Alessandro Ranellucci
1378562e63 Further improvements for compilation (Ubuntu) 2015-11-19 15:30:27 +01:00
Alessandro Ranellucci
21a5d6e137 Several fixes to GCodeSender, including compilation on older OS X and DTR reset 2015-11-19 13:17:52 +01:00
Alessandro Ranellucci
9febb10bd7 Smoother manual control movements 2015-11-08 10:20:47 +01:00
Alessandro Ranellucci
9a8724cdd0 More compilation changes for Win32 2015-11-06 11:51:24 +01:00
Alessandro Ranellucci
ca48501f91 Remove Boost from distribution and fix some more things for Windows compilation 2015-11-06 11:34:37 +01:00
Alessandro Ranellucci
e7d2be842d Improve Boost path detection 2015-11-06 11:03:45 +01:00
Alessandro Ranellucci
97bf69ba7f Fix compilation on Windows 2015-11-06 10:43:11 +01:00
Alessandro Ranellucci
9f9b5afedb Merge branch 'master' into sender 2015-11-05 11:04:01 +01:00
Alessandro Ranellucci
2e9a0f5590 Added more search paths for Boost on Win32 2015-11-05 11:02:12 +01:00
Alessandro Ranellucci
61f0a9e4da Replace the flip word with mirror. #3060 2015-11-04 23:11:30 +01:00
Alessandro Ranellucci
f8d2c69713 Fixed compilation warnings and a potential bug in MotionPlanner, as reported in #3054 2015-11-04 20:50:32 +01:00
ntfshard
7c7982d9f3 Fix signed-unsigned compare 2015-11-04 20:49:20 +01:00
ntfshard
c90ecac48e Addtional check for TPPLPoly::operator= 2015-11-04 20:49:20 +01:00
ntfshard
d62f33b0b4 Removed unused variables 2015-11-04 20:49:20 +01:00
ntfshard
32f5538e0d Fix for -Wmaybe-uninitialized warninig 2015-11-04 20:49:20 +01:00
ntfshard
40e49613b1 Config: pass value as a reference 2015-11-04 20:49:20 +01:00
ntfshard
ef0050662c Function arguments passed by reference 2015-11-04 20:49:20 +01:00
ntfshard
e1d663c0ce Function arguments passed by reference 2015-11-04 20:49:20 +01:00
ntfshard
dbcd1e2df6 Fix: memory leak in ExPolygon::triangulate_p2t 2015-11-04 20:49:20 +01:00
ntfshard
c6ef26a457 std::list::empty faster than std::list::size (for C++03) 2015-11-04 20:49:19 +01:00
ntfshard
dd5c5eb931 Fix: Initializer list, right initialisation order 2015-11-04 20:49:19 +01:00
ntfshard
eb7464ace6 Style fix: const for some functions 2015-11-04 20:49:19 +01:00
ntfshard
f2c4a66e45 Refactoring: prefix inc/dec operators for iterators 2015-11-04 20:49:19 +01:00
Alessandro Ranellucci
06913cc8b8 Merge pull request #3111 from mdebski/temp_comments
Fix incorrect comments to bed temperature setting gcode
2015-11-04 20:17:58 +01:00
Alessandro Ranellucci
7a2a1b5446 Merge pull request #3039 from llluis/patch-1
Bugfix #3038
2015-11-04 19:47:02 +01:00
Alessandro Ranellucci
b67b903902 Include the option category for first_layer_extrusion_width. #3061 2015-11-04 19:33:49 +01:00
Alessandro Ranellucci
c34430c6c4 Fix G-code checksum 2015-11-04 14:00:37 +01:00
Maciej Dębski
369b99c712 Fix incorrect comments to temperature-setting gcode 2015-11-04 13:55:08 +01:00
Alessandro Ranellucci
1d10e463a3 Bugfix: wrong error handling in GCodeSender 2015-11-03 23:08:16 +01:00
Alessandro Ranellucci
9ee6829ebc Implemented connection timeout in C++ 2015-11-02 20:36:36 +01:00
Alessandro Ranellucci
9438289fc1 Removed debugging statement 2015-11-02 01:44:44 +01:00
Alessandro Ranellucci
b309c61de3 Test button for serial connection 2015-11-02 01:35:28 +01:00
Alessandro Ranellucci
fc1a7471cf Several improvements to the print job queue 2015-11-02 01:18:05 +01:00
Alessandro Ranellucci
9b21ac877a Merge branch 'master' into sender
Conflicts:
	Build.PL
	lib/Slic3r.pm
	xs/MANIFEST
	xs/src/libslic3r/PrintConfig.hpp
2015-11-01 19:12:13 +01:00
Alessandro Ranellucci
2811af349a Added a new grid infill pattern 2015-11-01 19:03:11 +01:00
Alessandro Ranellucci
889a54e946 Bump version number 2015-10-26 23:25:26 +01:00
Alessandro Ranellucci
9fcec10737 Finished porting LayerRegion to C++ 2015-10-26 23:24:46 +01:00
Vicious-one
8e0d458d1d Fix for #3069 2015-09-30 16:22:49 +03:00
Luís Andrade
b31edc0be3 Update GCode.cpp
Bugfix #3038
2015-08-10 18:03:45 -04:00
Alessandro Ranellucci
5b8ed7367a Fixed potential hang in PerimeterGenerator.cpp 2015-08-06 10:07:13 +02:00
Alessandro Ranellucci
6ac79e3ed6 Ported make_perimeters() to C++ 2015-07-23 16:27:21 +02:00
Alessandro Ranellucci
15d2522f3d Merge branch 'xs-perimetergenerator' 2015-07-23 15:53:19 +02:00
Alessandro Ranellucci
b4515cf695 Finished porting PerimeterGenerator to C++ 2015-07-23 15:53:02 +02:00
Alessandro Ranellucci
9ac4fc9034 Fix compilation on Windows due to lack of setenvt(). #2973 2015-07-10 16:01:45 +02:00
Alessandro Ranellucci
0e18b094d1 More work for porting PerimeterGenerator to XS 2015-07-07 01:17:31 +02:00
Alessandro Ranellucci
b8aecbd56c Initial work for porting PerimeterGenerator to XS 2015-07-03 22:58:29 +02:00
Alessandro Ranellucci
3e739b87da Finished porting Slic3r::GCode to XS (speed boost!) 2015-07-02 20:24:16 +02:00
Alessandro Ranellucci
0ad4296aaf Ported GCode::set_extruders() and GCode::change_layer() to XS 2015-07-02 19:33:08 +02:00
Alessandro Ranellucci
9a17efc480 Use GCodeWriter for path segments (refactoring) 2015-07-02 19:14:55 +02:00
Alessandro Ranellucci
fbd640fdc5 Ported GCode::extrude_path() to XS (speed boost!) 2015-07-02 18:57:40 +02:00
Alessandro Ranellucci
b025efe729 Ported GCode::travel_to() to XS 2015-07-02 15:12:04 +02:00
Alessandro Ranellucci
a6f4c8e567 Ported GCode::set_extruder() and OozePrevention 2015-07-02 15:02:20 +02:00
Alessandro Ranellucci
72355a9500 Use macro in PrintConfig.hpp 2015-07-02 14:35:21 +02:00
Alessandro Ranellucci
ff5747bb60 Macro for readability 2015-07-02 14:31:21 +02:00
Alessandro Ranellucci
b14290b9f6 Make tests happy 2015-07-02 14:29:20 +02:00
Alessandro Ranellucci
5571144c0e Ported Slic3r::GCode::needs_retraction() to XS 2015-07-01 23:14:40 +02:00
Alessandro Ranellucci
b4019bb438 Ported more Slic3r::GCode methods to XS 2015-07-01 23:00:52 +02:00
Alessandro Ranellucci
801f629fdc Ported Slic3r::GCode storage to XS 2015-07-01 21:47:17 +02:00
Alessandro Ranellucci
ab858f320d Updated test 2015-07-01 21:02:36 +02:00
Alessandro Ranellucci
280f3f38d7 Ported Slic3r::GCode::OozePrevention storage to XS 2015-07-01 21:01:42 +02:00
Alessandro Ranellucci
b43dd92766 Ported Slic3r::GCode::Wipe storage to XS 2015-07-01 20:57:16 +02:00
Alessandro Ranellucci
bf9cd1b8e6 Ported Slic3r::GCode::AvoidCrossingPerimeters to XS 2015-07-01 20:14:05 +02:00
Alessandro Ranellucci
580d28d071 Finished porting PlaceholderParser to XS 2015-07-01 19:35:22 +02:00
Alessandro Ranellucci
249088b4f8 Ported Config::setenv() to XS 2015-07-01 18:18:25 +02:00
Alessandro Ranellucci
f361d8ad43 Ported PlaceholderParser::apply_env_variables() to XS 2015-07-01 17:56:38 +02:00
Alessandro Ranellucci
4a39665804 Bugfix: binary ASCII files were not written with the correct fopen() mode. #2928 2015-06-20 14:16:23 +02:00
Alessandro Ranellucci
3cd6c78044 Releasing 1.2.9 2015-06-17 10:38:28 +02:00
Alessandro Ranellucci
be635c69e7 Fixed regression casusing some rare STL files not to parsed correctly because of lack of the solid name. #2914 2015-06-15 17:17:36 +02:00
Alessandro Ranellucci
539cde8d7a Raise the thickness threshold used for generating thin walls. TODO: don't enforce this at the segment level but consider the average thickness of an entire polyline and compare it to the total length. #2910 2015-06-15 17:00:10 +02:00
Alessandro Ranellucci
38a9e32a28 Limit bridge over sparse infill to areas that can absorb such extrudate. #2899 2015-06-13 19:48:46 +02:00
Alessandro Ranellucci
7a34078f5f Bump version number 2015-06-13 11:42:37 +02:00
Alessandro Ranellucci
4a91ea817a Releasing 1.2.8 2015-06-09 17:18:43 +02:00
Alessandro Ranellucci
e715974688 Better validation for speeds (prevent 0mm/s travel speed). #2893 2015-06-09 17:15:01 +02:00
Alessandro Ranellucci
911bed827c Fixed regression in STL parser. #2886 2015-06-09 14:54:52 +02:00
Alessandro Ranellucci
7b65a35519 Always limit volumetric speed with Max Volumetric Speed (not just when using autospeed). #2810 2015-06-02 11:54:38 +02:00
Alessandro Ranellucci
1fcfdf4718 Added a couple full_label values 2015-06-01 23:22:44 +02:00
Alessandro Ranellucci
6095427926 Fix admesh's STL parser in order to make it more tolerant for broken STL files having multiple 'solid' definitions. Still not the ideal STL parser, but handles the cases that were reported so far. #2471 #2842 2015-06-01 19:49:52 +02:00
Alessandro Ranellucci
f14c0e2183 Bugfix: concave starting points were not correctly detected for slice holes. Includes regression test. #2857 2015-06-01 17:55:51 +02:00
Alessandro Ranellucci
fbea32a81c Prevent writing empty materials to AMF files. Also add a note about material-id = 0 being reserved by AMF spec. #2871 2015-06-01 11:51:00 +02:00
Alessandro Ranellucci
7f70da97b4 New experimental autospeed feature. #2810 2015-05-31 22:04:32 +02:00
Alessandro Ranellucci
13b7316807 Merge branch 'master' into sender
Conflicts:
	Build.PL
	lib/Slic3r/GUI/MainFrame.pm
2015-05-28 18:05:36 +02:00
Alessandro Ranellucci
aa8b6afe8b Assign color to filaments 2015-05-26 02:01:43 +02:00
Alessandro Ranellucci
a547645e86 Bump version number 2015-05-24 23:29:59 +02:00
Alessandro Ranellucci
249a48d68d Releasing 1.2.7 2015-05-24 17:39:27 +02:00
Alessandro Ranellucci
31e0fc7f17 Fixes and improvements to thin wall detection. #2829 2015-05-22 01:46:01 +02:00
Alessandro Ranellucci
70ec433e67 Faster (but less precise) implementation of simplify_by_visibility(), since it was the bottleneck of avoid_crossing_perimeters. #2777 2015-05-18 19:28:59 +02:00
Alessandro Ranellucci
97211f35e7 More robust medial axis pruning. #2800 2015-05-13 20:50:30 +02:00
Alessandro Ranellucci
0d01348acc Use radians everywhere, including ModelInstance::rotation 2015-05-03 18:40:00 +02:00
Alessandro Ranellucci
79ce094e3a Bugfix: splitting a rotated object resulted in wrong positions. #2772 2015-05-03 18:28:39 +02:00
Alessandro Ranellucci
7d81aee62f Added the [scale] placeholder. #2791 2015-05-02 21:59:15 +02:00
Alessandro Ranellucci
bf541a1fed Refactoring in PlaceholderParser 2015-05-02 21:43:22 +02:00
Alessandro Ranellucci
a16dda0885 Bugfix: changes to the resolution config option didn't trigger reslicing. #2795 2015-04-29 19:22:44 +02:00
Alessandro Ranellucci
d6d7880507 Ported Slic3r::Geometry::arrange() to C++/XS 2015-04-29 19:19:07 +02:00
Alessandro Ranellucci
5eb3bc52ef Ported ModelObject::rotate() and ModelObject::flip() to XS, as well as axes constants 2015-04-16 21:22:04 +02:00
Alessandro Ranellucci
be2f46ca68 Ported Layer::merge_slices() to XS 2015-04-16 20:44:55 +02:00
Alessandro Ranellucci
1f8ef2a63c Fixed regression introduced by the recent PerimeterGenerator refactoring causing spiral vase not to be correctly skipped on multi-loop layers. Includes regression test. #2761 2015-04-12 20:16:27 +02:00
Alessandro Ranellucci
8654537e55 Use support material layer height for raft layer instead of object layer height. #2723 2015-03-09 19:36:23 +01:00
Alessandro Ranellucci
d8ee9dd5f5 Limit first object layer height correctly when using a larger support material extruder. #2722 2015-03-09 19:27:57 +01:00
Alessandro Ranellucci
6cab5668e3 Restore correct ordering of concentric infill loops, preventing them from being reordered during G-code generation 2015-03-09 18:28:07 +01:00
Alessandro Ranellucci
d2172b4383 Merge branch 'master' into sender 2015-03-06 22:15:43 +01:00
Alessandro Ranellucci
095391d702 When using raft, validate first layer height against support material extruder only instead of taking other extruders into account, thus potentially allowing larger nozzles to be used for it. #2701 2015-03-06 21:35:00 +01:00
Alessandro Ranellucci
722e94513c Refactoring: removed the non-idempotent init_extruders() step. Also, infill_extruder was not limited to the available number of extruders when slicing from the plater, and support material extruder was considered also when support material was disabled 2015-03-06 09:56:58 +01:00
Alessandro Ranellucci
1ab8efba7f Fixed regression causing random failures in bridge direction detection. #2636 2015-02-27 21:55:02 +01:00
Alessandro Ranellucci
e88cf466fe A couple notes about infill_only_where_needed 2015-02-23 00:55:00 +01:00
Alessandro Ranellucci
2655f3f816 Better and more robust implementation of infill_only_where_needed 2015-02-23 00:44:51 +01:00
Alessandro Ranellucci
2eca094170 Added failing test case for Clipper regression causing extra points in polyline intersection, thus crash with circular bed shape 2015-02-22 17:03:23 +01:00
Alessandro Ranellucci
edbc11477c Update to Clipper 6.2.9. Fixes #2639 2015-02-22 15:13:52 +01:00
Alessandro Ranellucci
6413d5dcba Merge pull request #2630 from lordofhyphens/fix-admesh-warning
Fix a warning about unused return value when using freopen in admesh.
2015-02-22 14:48:17 +01:00
Alessandro Ranellucci
ba6ae12635 Change end_program() to postamble() 2015-02-15 17:09:17 +01:00
Alessandro Ranellucci
1180a6d83f Merge pull request #2508 from strahlex/machinekit-gcode
added support Machinekit flavour GCode
2015-02-15 17:00:08 +01:00
Alessandro Ranellucci
8851dc7f23 Added failing test case for upstream Clipper issue 126 (our #2639) 2015-02-15 16:47:55 +01:00
Alessandro Ranellucci
32b8eb489c Updated Clipper to 6.2.8. This fixes several minor issues, including infill paths not being trimmed correctly. #2448 2015-02-15 16:10:04 +01:00
Kent Fredric
df5c2a6f11 Remove redundant dep on ExtUtils::Typemap
Typemap (Singluar) version 1.00 is essentially identical to Typemaps (Plural)
 Typemap is literally a dumb subclass of TypeMaps, and so this
 dependency simply gives an extra installation requirement that does
 nothing.
2015-02-14 06:44:22 +13:00
Alexander Rössler
cef1494852 Switched to P parameter instead of S for Machinekit flavour MCode commands 2015-02-10 14:22:23 +01:00
Alessandro Ranellucci
a68fed3938 Bump version number 2015-02-09 10:53:55 +01:00
Alexander Rössler
f2fa8cb63f added end_program() function to GCodeWriter 2015-02-07 12:36:29 +01:00
Alexander Rössler
32eff40422 added retract and unretract command for Machinekit flavour 2015-02-06 19:16:57 +01:00
Alexander Rössler
d35226b889 added support Machinekit flavour GCode 2015-02-06 18:48:46 +01:00
Joseph Lenox
102785d154 Fix a warning about unused return value when using freopen in admesh. Added another NULL check for safety. 2015-02-05 00:58:27 -06:00
Alessandro Ranellucci
73eb11b395 Releasing 1.2.6 2015-02-01 15:47:29 +01:00
Alessandro Ranellucci
3ae6f2630e Merge branch 'master' into sender
Conflicts:
	Build.PL
2015-02-01 14:07:32 +01:00
Alessandro Ranellucci
bb3bf28e59 Ported prepare_fill_surfaces() to XS/C++ 2015-02-01 12:43:58 +01:00
Alessandro Ranellucci
07cd25d0ec New option for customization of infill/perimeters overlap. #2459 2015-02-01 12:08:25 +01:00
Alessandro Ranellucci
84eb37e218 Typo in previous commit 2015-01-31 11:57:18 +01:00
Alessandro Ranellucci
62e418d0fc Modernize some defaults 2015-01-31 11:38:17 +01:00
Alessandro Ranellucci
059b00a829 New --before-layer-change option and new layer_z placeholder. #2602 2015-01-30 20:08:00 +01:00
Alessandro Ranellucci
8605969dc5 Don't output slic3r:z attribute in SVG for raft layers 2015-01-30 18:45:30 +01:00
Alessandro Ranellucci
e2b1b52679 Added a new Slic3r::Geometry::simplify_polygons() function 2015-01-30 18:33:20 +01:00
Alessandro Ranellucci
9ad5d9bb3d Fixed minor issue in 3D preview causing single-line toolpaths to miss the cap on one endpoint 2015-01-28 23:35:48 +01:00
Alessandro Ranellucci
7652abdf8d Merge pull request #2595 from xdissent/deserialize-points
Use std::getline to deserialize point list coords, fixes #2318
2015-01-28 21:02:05 +01:00
Greg Thornton
b0b9c17c23 Use std::getline to deserialize point list coords, fixes #2318 2015-01-28 09:08:50 -06:00