325 Commits

Author SHA1 Message Date
Alessandro Ranellucci
8fe15d0162 Adjust the top layer thickness in order to match the original object height. #2978 2017-03-14 17:26:27 +01:00
Alessandro Ranellucci
53fee67489 New experimental option z_steps_per_mm. #1827 2017-03-14 16:46:11 +01:00
Joseph Lenox
0741ecc2aa Add weight/cost output to gcode. On the way to #647 (#3669)
* Add weight/cost output to gcode. On the way to #647

* added total cost/weight to Extruder statistics, mocked up addendum to status bar change.

* Added second information box that populates after exporting gcode for sliced statistics.

* Changed filament density to use g/cm^3. Extended tooltip to indicate calculation methods.

* Hide sliced info box when gcode export hasn't been done.

* Remove if invalidated and we have background processing or the configuration changes.

* Called layout after every Hide/Show call to ensure that it is placed correctly on different platforms.
Changed output units to cm/cm^3

Conflicts:
	lib/Slic3r/GUI/Plater.pm
2017-03-10 17:36:14 -06:00
Alessandro Ranellucci
49a9492ad2 Allow any layer height and limit it to the smallest nozzle diameter. #2706 2016-12-21 20:35:06 +01:00
Alessandro Ranellucci
32fdd4d7ee Ported _slice_region() to C++/XS 2016-12-20 20:51:07 +01:00
Alessandro Ranellucci
11ed3d8cf3 Fix regression causing top/bottom solid layer number not to be enforced for some slopes. #2750 2016-12-19 15:24:06 +01:00
Alessandro Ranellucci
d47f6d30af Ported detect_surfaces_type() to XS/C++ 2016-11-26 16:58:23 +01:00
Alessandro Ranellucci
66591bcc55 Ported make_perimeters() and infill() to C++/XS, use pure C++ threads 2016-11-26 12:28:39 +01:00
bubnikv
335638a614 Documented perl modules.
Conflicts:

	lib/Slic3r.pm
	lib/Slic3r/Config.pm
2016-11-24 15:38:59 +01:00
Alessandro Ranellucci
103ec05774 Ported infill to XS/C++. Credits and many thanks go to @bubnikv for this work 2016-11-24 15:32:32 +01:00
Joseph Lenox
849b232882 Merge pull request #3355 from lordofhyphens/gcode_speedup
Fix of git #3293 More efficient GCode export
2016-06-30 08:17:53 -05:00
Joseph Lenox
f56799e9d5 infill_only_where_needed is incompatible with spiral_vase, enforced.
Also ensured that support is disabled if spiral_vase is on.
Added a secondary check to make sure that clip_fill_surfaces does not run if we're in spiral_vase.
2016-06-29 19:30:21 -05:00
bubnikv
5f521b24c4 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-02 20:48:56 -05: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
Alessandro Ranellucci
7b980c1dc9 New option for vertical distance between object and support material, with special handling of the 0 case that disabled bridge flow/speed in order to allow for soluble material. #2491 #2272 #2069 #1942 #2435 #1703 2015-01-19 09:52:24 +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
04aa240265 Only apply perimeter/infill overlap to the endpoints of rectilinear infill (and do that in a more proper way) 2015-01-13 20:55:20 +01:00
Alessandro Ranellucci
4848cb7606 Ported PrintObject::bridge_over_infill() to XS 2014-12-24 10:20:55 +01:00
Alessandro Ranellucci
5d3cd792eb Make infill_only_where_needed idempotent. #2198 2014-12-24 01:29:36 +01:00
Alessandro Ranellucci
e79aa2e81c New --solid-infill-extruder option. Includes a refactoring of the strategy used to order layer extrusions according to their extruder and island; toolchanges and travel moves should be more optimized now. #618 2014-12-17 00:34:00 +01:00
Alessandro Ranellucci
e9166a8fe6 Use a semaphore to synchronize threads instead of blocking with join(). Lock threads array in order to ensure all of them are signalled. #2394 2014-12-13 15:01:53 +01:00
Alessandro Ranellucci
360dee862b Keep model objects aligned to Z = 0 in plater 2014-12-12 22:43:56 +01:00
Alessandro Ranellucci
d350241da3 Make combine_infill() completely idempotent. Includes unit testing 2014-12-08 21:23:42 +01:00
Alessandro Ranellucci
9a9ba02d85 Bugfix: infill was not correctly generated when infill_every_layers was used along with raft_layers. Includes regression test. #2396 2014-12-08 20:14:04 +01:00
Alessandro Ranellucci
eb23990d6d Ported PrintObject::total_layer_count() to XS 2014-12-01 00:00:12 +01:00
Alessandro Ranellucci
c7f5753a28 Ported PrintObject::bounding_box() to XS 2014-12-01 00:00:12 +01:00
Alessandro Ranellucci
33fe53fd7c Ported three PrintObject methods to XS 2014-11-13 00:34:56 +01:00
Alessandro Ranellucci
334086d605 Bugfix: skirt and brim were not recalculated when objects where just moved in plater 2014-11-12 23:28:42 +01:00
Alessandro Ranellucci
b69caff93c Ported LayerRegion::make_slices() to XS 2014-11-09 16:24:07 +01:00
Alessandro Ranellucci
3e4c572164 Ported some methods including add_model_object() and apply_config() to XS 2014-11-09 12:25:59 +01:00