Vojtech Bubnik
aa3231e2c5
Further slimming of Perl bindings.
2022-05-04 19:10:34 +02:00
Vojtech Bubnik
a627614b58
Perl unit tests for perimeters and multi-material were rewritten to C++.
...
Perl binding was slimmed down, namely Clipper is no more linked by Perl.
2022-05-04 15:06:04 +02:00
Vojtech Bubnik
d88e9634f5
Little more reduce of Perl bindings
2022-05-02 14:34:50 +02:00
Vojtech Bubnik
3687bc28d5
Some reduction of Perl dependencies on ClipperLib,
...
ported some ClipperLib polyline clipping tests to C++.
2022-05-02 14:34:50 +02:00
Vojtech Bubnik
f16d4953be
Removing offset2 from Perl bindings and other minor cleanup.
2021-05-06 14:29:20 +02:00
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