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

341 Commits

Author SHA1 Message Date
bubnikv e931f75010 Work in progress: Good bye, Perl Threads! 2018-03-23 11:41:20 +01:00
bubnikv ee645007f2 Another step towards C++ presets. 2017-10-25 12:53:31 +02:00
bubnikv 777023c7a8 Ported PrintObject::prepare_infill & combine_infill from Perl to C++. 2017-08-02 14:24:32 +02:00
bubnikv 81823fe7df Reduced the content of Geometry.pm, removed unused Perl subroutines.
Reduced the use Slic3r::Geometry and use Slic3r::Geometry::Clipper
clauses to only reference used subroutines.
2017-07-19 10:45:39 +02:00
bubnikv 66f1ae003f A little simplification of the Perl side threading:
Only single level Perl worker threads are allowed.
2017-06-08 18:53:33 +02:00
bubnikv e0a24f94c0 Removed Object.pm support_material_flow method. 2017-06-08 18:13:12 +02:00
bubnikv 2da3388aa5 Only print "Generating perimeters" once. 2017-03-28 17:27:05 +02:00
bubnikv b5e45bccf9 Fixed a typo after porting _simplify_slices to C++. 2017-03-08 15:08:40 +01:00
bubnikv 52b76930aa Simplify_slices rewritten to C++, parallelized.
Added some move methods to Surface class.
2017-03-08 13:43:49 +01:00
bubnikv 4331f38912 Fixing of slicing errors ported to C++, parallelized. 2017-03-08 11:56:42 +01:00
bubnikv 4d00aa1800 More tracing of the slicing process. 2017-03-03 12:53:05 +01:00
bubnikv 9f660738b3 Fixes an issue: Slic3r outputs Weight: %.1fg, Cost: %.1f on command line,
instead of filling in the numbers.

https://github.com/prusa3d/Slic3r/issues/144
2017-02-22 12:01:31 +01:00
Joseph Lenox 203a965b3d added total cost/weight to Extruder statistics, mocked up addendum to status bar change. 2017-02-08 11:40:01 +01:00
bubnikv 4ab972b87a When the support extruders are set to 0, support is printed with the current material without a tool change.
A fix of support path generator.
2017-01-30 19:56:46 +01:00
bubnikv 955bc957ba New supports now do rafts at least to the extent the test cases run through.
New supports enabled, old supports will go away soon.
2016-12-20 12:19:13 +01:00
bubnikv 6582182e0c Adapted to the new ClipperUtils.hpp interface by @alexrj 2016-12-13 19:22:23 +01:00
bubnikv 2d030f3a3c Most of the slicing code rewritten to C++. 2016-12-12 17:56:37 +01:00
Alessandro Ranellucci 86c8207d31 Ported make_perimeters() and infill() to C++/XS, use pure C++ threads, cherry picked from @alexrj 66591bcc556c01572ec7519b1f8cb4ee2d430685 2016-12-08 14:24:40 +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 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 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 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 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 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 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 b7af7276c9 Instantiate the new C++ filler. It will be used for the supports first. 2016-10-03 16:59:00 +02:00
bubnikv 790b640521 Visualization of fill surfaces. 2016-09-26 13:56:24 +02:00
bubnikv b2a6f43923 Documented perl modules. 2016-09-13 11:24:55 +02:00
bubnikv bb9c3dd9ce Fix of git #3293: More efficient GCode export
This fixes two problems of repeatedly copying data from the C++ layer
to perl, by factoring the copying out of an inner loop.
2016-06-01 20:58:05 +02:00
Alessandro Ranellucci 4fad87e438 Fixed float comparison in combine_infill 2016-03-13 12:24:03 +01:00
Alessandro Ranellucci a32937cef2 Refactoring: new Layer::make_fill() method 2016-02-20 20:51:07 +01:00
Alessandro Ranellucci 9dc0514844 Use bridge flow and speed for solid_infill_every_layers 2015-12-19 12:48:48 +01:00
Alessandro Ranellucci 321b1a90a2 Two fixes for --debug 2015-11-08 09:13:26 +01:00
Alessandro Ranellucci 198dc7d3bd When background processing fails because of an error, display it in an explicit dialog 2015-11-04 19:28:25 +01:00
Alessandro Ranellucci a25757a66d Fixed regression causing empty prints to hang. #3107 2015-11-04 19:20:34 +01:00
Alessandro Ranellucci 2811af349a Added a new grid infill pattern 2015-11-01 19:03:11 +01:00
Alessandro Ranellucci 9fcec10737 Finished porting LayerRegion to C++ 2015-10-26 23:24:46 +01:00
Alessandro Ranellucci 440af2c81c Bugfix: bridge anchors were shortened under rare circumstances 2015-07-03 23:38:41 +02:00
Alessandro Ranellucci ee66392e11 Fix numerical issues causing incomplete raft under certain circumstances. Includes a minor refactoring of raft layer logic. #2723 2015-06-02 19:44:29 +02:00
Alessandro Ranellucci 13b63d06ed Use thick raft layers as we do for support material layers. #2723 2015-03-09 20:00:55 +01: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 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 45c91b2ae9 Don't trigger extra perimeters when less than 30% of the upper loops would benefit from it. #2664. Also fixes #2610 2015-02-24 00:34:43 +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
Chow Loong Jin 073681a50a Get first_layer_extrusion_width from PrintConfig instead of PrintObjectConfig
This fixes an issue where the support material doesn't honour a custom first
layer extrusion width.

Fixes: #2662
2015-02-17 13:59:46 +08:00
Alessandro Ranellucci c0f453f83e Simpler and more robust implementation of extra perimeters. #2395 2015-02-15 21:58:14 +01:00
Alessandro Ranellucci 6eb1fa36ed Bugfix: bridge speed was still used for first object layer above raft when support_material_contact_distance == 0. Includes regression tests. #2656 2015-02-14 12:47:33 +01:00
Alessandro Ranellucci fe4f79ba90 Fixed regression causing random loss of infill because of corrupt thin polygons returned by Clipper. #2539 2015-01-30 10:12:31 +01:00