1
0
mirror of https://github.com/FULU-Foundation/OrcaSlicer-bambulab.git synced 2026-07-11 08:04:25 +00:00
Commit Graph

41 Commits

Author SHA1 Message Date
Vojtech Bubnik 1c6333e557 Fixing Perl integration 2021-05-06 13:58:37 +02:00
Vojtech Bubnik 8e27e355c2 Fixing unit tests. 2021-03-15 09:55:56 +01:00
Vojtech Bubnik 2e55898d78 Removal of not numerically robust libraries "poly2tree" and "polypartition".
Adjustment of GUI/3DBed.cpp,hpp to use the more stable triangulation algoritm
derived from SGI glut.
Fix of an extremely slow bridging calculation, caused by an extremely
slow bridged area detection function, of which the results were never used.
Fixes "slicing fails or takes too long #5974"
2021-02-09 18:36:28 +01:00
Vojtech Bubnik a2959ec944 Fix of re-slicing with multiple regions.
This is a fix of a bug, which was in Slic3r forever, where raw slices
were not cached, but recalculated from classified regions, where
merging the regions did not produce the original contour reliably.
Fixes [2.3.0-beta2] Odd bad slicing related to infill (?) percentage #5407
2020-12-11 12:21:07 +01:00
bubnikv afbc4a4cf2 Fixing perl bindings after refactoring 2020-01-06 09:36:03 +01:00
bubnikv 564eddd99d FDM Print refactoring:
Layer newly remembers bounding boxes of slices,
the bounding boxes are used by G-code generator & newly the support
generator.
Slices are stored as ExPolygons, not ExPolygonCollection.
2019-10-01 17:17:08 +02:00
bubnikv 331c187b39 Rest of the path chaining has been replaced with the new algorithm.
PolylineCollection.cpp/hpp was removed, use Polylines instead.
Various first_point() / last_point() now return references, not copies.
2019-09-27 18:17:21 +02:00
bubnikv 440e58573e Some documentation, C++11 conversion, code beautification,
added some helper methods.
2018-07-25 16:11:31 +02:00
bubnikv 61e6f23ed2 Fix of
"Multimaterial printer switches filament at the wrong time during a print"
https://github.com/prusa3d/Slic3r/issues/607

There was a single layer between the raft top and the object first layer
missing on the wipe tower, and after this missing layer all the tool
changes were shifted by one layer, meaning two color print had the colors
switched.
2017-12-11 17:19:55 +01:00
bubnikv cd084a33c6 Fixed a regression bug, which was made during the porting of
discover_horizontal_shells() fron Perl to C++, where
the already calculated bridge direction was being lost.

Improved constness of the debug methods
    void export_region_slices_to_svg(const char *path) const;
    void export_region_fill_surfaces_to_svg(const char *path) const;
2017-09-14 13:15:32 +02:00
bubnikv 41f50b246c Inlined Surface::any_internal_contains / any_bottom_contains 2017-07-10 13:15:36 +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 39679f9518 Missed this one at the last check-in. 2016-11-20 12:59:29 +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 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 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
Alessandro Ranellucci 4913e90e10 Remove any Perl related code from libslic3r 2015-12-08 00:39:54 +01:00
Alessandro Ranellucci 4f8a18bbad Ported Layer::maker_perimeters() to XS 2015-12-02 19:32:57 +01:00
Alessandro Ranellucci 9fcec10737 Finished porting LayerRegion to C++ 2015-10-26 23:24:46 +01:00
Alessandro Ranellucci 6ac79e3ed6 Ported make_perimeters() to C++ 2015-07-23 16:27:21 +02:00
Alessandro Ranellucci 3e739b87da Finished porting Slic3r::GCode to XS (speed boost!) 2015-07-02 20:24:16 +02:00
Alessandro Ranellucci 801f629fdc Ported Slic3r::GCode storage to XS 2015-07-01 21:47:17 +02:00
Alessandro Ranellucci be2f46ca68 Ported Layer::merge_slices() to XS 2015-04-16 20:44:55 +02:00
Alessandro Ranellucci bb3bf28e59 Ported prepare_fill_surfaces() to XS/C++ 2015-02-01 12:43:58 +01:00
Alessandro Ranellucci 8791f5a493 Cleanup of some method signatures and of XS return types 2015-01-19 18:53:04 +01:00
Alessandro Ranellucci 9f0283f808 Minor issue when dealing with files with empty layers at bottom. #2553 2015-01-18 12:35:05 +01:00
Alessandro Ranellucci 2562070232 Refactored the travel/retract/avoid_crossing_perimeters logic. Several edge cases are now handled correctly. #2498 2015-01-06 14:52:03 +01:00
Alessandro Ranellucci 7e82159620 Fixed one more case where only_retract_when_crossing_perimeters didn't apply. #2498 2015-01-06 11:29:34 +01:00
Alessandro Ranellucci 5a0f4eac8d One more retraction optimization 2014-12-25 11:37:54 +01:00
Alessandro Ranellucci 93507bfd49 Bugfix: only_retract_when_crossing_perimeters was not correctly applied on bottom layer when no bottom solid layers were printed 2014-12-22 11:46:16 +01:00
Alessandro Ranellucci c8596c5c58 Limit "Only retract when crossing perimeters" so that retraction is triggered also when crossing the boundaries of a single region. #2298 2014-12-09 01:08:58 +01:00
Alessandro Ranellucci 5deadc8f12 Refactoring: removed _islands members in Slic3r::GCode 2014-11-23 20:03:16 +01:00
Alessandro Ranellucci b69caff93c Ported LayerRegion::make_slices() to XS 2014-11-09 16:24:07 +01:00
Alessandro Ranellucci 6adc3477c9 Moved C++ code into new libslic3r directory 2014-08-03 19:42:29 +02:00
Alessandro Ranellucci 7ff13c063f Port PrintRegion::flow() and LayerRegion.flow() to XS 2014-08-03 19:17:23 +02:00
Alessandro Ranellucci 380dd8adfc Ported some methods to XS 2014-08-03 18:41:09 +02:00
Alessandro Ranellucci 5c54acf9ac Use ->ptr() for CoolingBuffer too 2014-06-10 16:17:34 +02:00
Y. Sapir 07dd799967 Fix inherited Layer::Support id and object accessors. 2014-05-25 00:50:49 +03:00
Y. Sapir b8b8c746d9 Make clear_regions and delete_region methods private (both Print & Layer), and remove from XSP. 2014-05-25 00:11:17 +03:00
Y. Sapir 22b05cb187 Make read-only constructor parameters - private. 2014-05-24 23:50:45 +03:00
Y. Sapir 8da0bded1d Move Print object storage to C++. (along with its subobjects) 2014-05-24 23:50:29 +03:00