Alessandro Ranellucci
bb3feedc31
Bugfix: too many skirt layers were printed when using tall skirts and support material. #2695
2015-02-27 19:59:43 +01:00
Alessandro Ranellucci
70ace8c76f
Bugfix: use proper spacing for first support layer instead of trying to align it to upper layers. #2662
2015-02-27 18:43:15 +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
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
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
Alexander Rössler
cc83e9f06d
using end_program() function in GCode output
2015-02-07 12:37:00 +01:00
Alessandro Ranellucci
3ae6f2630e
Merge branch 'master' into sender
...
Conflicts:
Build.PL
2015-02-01 14:07:32 +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
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
1d204af6f4
Fixed regression causing rectilinear infill to be misaligned across layers. #2566
2015-01-28 19:49:56 +01:00
Alessandro Ranellucci
229039d3b8
Fixed test and implementation of ooze prevention standby points (wrong test caused wrong implementation). #2103
2015-01-19 15:31:12 +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
ba4325411b
Bugfix: the downwards move in sequential printing was performed in the wrong spot. #2524
2015-01-18 22:08:43 +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
bf02062a67
Bugfix: random but frequent crashes after recent perimeter code refactoring
2015-01-14 22:55:11 +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
9ec7b43ca1
Merge branch 'master' into sender
...
Conflicts:
lib/Slic3r/GUI/Tab.pm
2015-01-08 22:47:43 +01:00
Alessandro Ranellucci
406d045ced
The inwards move after an external loop was still randomly generated outwards in some cases. Perimeters are now generated with a distinct iterator for each slice. Nested islands are also correctly supported too. Various regression tests included. #2253
2015-01-08 15:22:13 +01:00
Alessandro Ranellucci
f0de57cbe4
Minor cleanup of the init_external_mp() call
2015-01-06 15:04:09 +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
0f7933c4f9
Bugfix: pressure regulation accumulated too much retraction and didn't discharge at the end of print. Includes regression test. #2470
2015-01-06 00:35:39 +01:00
Alessandro Ranellucci
2c0d216c1a
More work on print controller
2015-01-03 23:25:55 +01:00
Alessandro Ranellucci
d38503bf44
Bugfix: downwards interface detection might cause a crash
2014-12-29 14:29:21 +01:00
Alessandro Ranellucci
e8dc981774
Fixes to Ooze Prevention
2014-12-29 00:51:27 +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
af446dc7d4
Apply contact distance to first support layer above object's top surfaces too. #1939
2014-12-23 22:18:43 +01:00
Alessandro Ranellucci
473802ce8c
Use support material interface extruder for layers above object's top surfaces too. #1939
2014-12-23 01:04:25 +01:00
Alessandro Ranellucci
795c85d30e
Apply a true double-ended nearest-neightbor search to thin fills in order to minimize travel moves between them. #2213
2014-12-20 22:40:43 +01:00
Alessandro Ranellucci
c00061678b
Use perimeter extruder for brim. #618
2014-12-17 00:45:05 +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
d9cffeca4a
Bugfix: adjust skirt flow according to each layer's height. #2307
2014-12-16 18:55:16 +01:00
Alessandro Ranellucci
99deffef62
Bugfix: use the external motion planner when extruding skirt and brim. #2412
2014-12-16 18:13:38 +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
e8ab9ac13a
Ported Print::bounding_box(), Print::total_bounding_box(), Print::skirt_flow(), Print:skirt_first_layer_height() to XS
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
98cb9f0e18
Refactoring: moved G-code export logic into new Slic3r::Print::GCode class. Removed Slic3r::GCode::Layer class. Fixes the order of post-processing filters so that cooling buffer is applied before any other filter whose logic is affected by speeds
2014-12-01 00:00:11 +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
Alessandro Ranellucci
09fd5b4af4
Bugfix: adjust flow by using each support layer's height instead of a bogus one. #2269
2014-11-07 23:18:35 +01:00
Alessandro Ranellucci
b6bd527bdc
Apply bridge flow and speed to first layer as well, when we have raft layers. This behavior is more consistent when all the other bottom surfaces lying on the void (thus on support material). #2301
2014-11-07 17:17:20 +01:00
Alessandro Ranellucci
ed17c22889
Minor cleanup of imported symbols
2014-10-25 11:15:12 +02:00
Alessandro Ranellucci
73b3c06361
Ported more things to XS
2014-09-21 10:51:36 +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
d9f5fdae72
Bugfix: make_perimeters() was not truly idempotent because prepare_infill() split ->slices into typed surfaces
2014-07-15 19:07:38 +02:00
Alessandro Ranellucci
f590bbb430
Fix crash with modifier meshes not spanning the entire height of solid meshes
2014-07-12 10:38:19 +02:00
Alessandro Ranellucci
907de1011f
Toolpaths preview
2014-07-03 09:24:19 +02:00
Alessandro Ranellucci
928335f186
Removed print_center option (but left --print-center from CLI)
2014-06-16 23:58:45 +02:00
Alessandro Ranellucci
e24b3a8916
Merge branch 'call_get_layer' of github.com:sapir/Slic3r into sapir-call_get_layer
...
Conflicts:
lib/Slic3r/Print.pm
2014-06-14 00:05:24 +02:00
Alessandro Ranellucci
08047c11eb
Minor fixes to make_skirt and make_brim
2014-06-13 20:18:34 +02:00
Alessandro Ranellucci
4d76d05bbb
Refactoring: better API for Print/Object steps with explicit dependencies
2014-06-13 20:05:18 +02:00
Y. Sapir
a168973bea
Call get_layer instead of layers->[] (more efficient now that layers() recreates the array).
2014-06-13 18:46:14 +03:00
Alessandro Ranellucci
8ee11b3239
Refactoring: keep height in Flow object and calculate spacing on demand
2014-06-12 01:00:13 +02:00
Alessandro Ranellucci
e158d1e612
Move bridge_flow_ratio to PrintRegionConfig
2014-06-11 22:10:33 +02:00
Alessandro Ranellucci
1674108bac
Don't apply pillars to raft layers
2014-06-11 21:58:35 +02:00
Alessandro Ranellucci
82e2dd4e62
Bugfix: wrong number of raft layers in some situations due to a numerical error
2014-06-11 21:58:28 +02:00
Alessandro Ranellucci
1f497c0f7c
Make support material generation idempotent
2014-06-11 18:02:51 +02:00
Alessandro Ranellucci
7ccfd2f024
More work on incremental slicing
2014-06-11 17:51:18 +02:00
Alessandro Ranellucci
d2ca4c1b13
Some initial work for incremental slicing
2014-06-11 00:15:02 +02:00
Alessandro Ranellucci
3f6360ee8f
Finish porting Print classes to XS
2014-06-10 16:01:57 +02:00
Alessandro Ranellucci
ba8148f4ad
Merge branch 'printcpp' of github.com:sapir/Slic3r into sapir-printcpp
...
Conflicts:
lib/Slic3r/GCode.pm
lib/Slic3r/Print.pm
lib/Slic3r/Print/Object.pm
lib/Slic3r/Print/Region.pm
2014-06-10 14:46:40 +02:00
Alessandro Ranellucci
e3e69251cb
New XY Size Compensation option. #581 #56
2014-06-10 13:28:57 +02:00
Alessandro Ranellucci
3599bd0bae
Distinct extrusion width for external perimeters
2014-06-09 21:22:15 +02:00
Alessandro Ranellucci
39b8ac80ee
Ignore holes in object footprint when generating raft
2014-05-29 14:54:47 +02:00
Alessandro Ranellucci
8290a006ed
Bugfix: a lot of extra support material was generated when using both raft layers and support material. #2030
2014-05-26 14:09:42 +02:00
Alessandro Ranellucci
4e5f7d74ff
Bugfix: wrong handling of large number of raft layers. #2041
2014-05-25 23:17:00 +02:00
Y. Sapir
8da0bded1d
Move Print object storage to C++. (along with its subobjects)
2014-05-24 23:50:29 +03:00
Alessandro Ranellucci
59f0e76da1
Distinct extrusion role for support material interface
2014-05-12 22:59:49 +02:00
Alessandro Ranellucci
47940a712d
Bugfix: previous brim and skirt were not cleared when disabled after first G-code export. #2024
2014-05-10 20:54:12 +02:00
Alessandro Ranellucci
6e207d3830
Merge branch 'sapir-modelcpp'
2014-05-08 11:13:21 +02:00
Alessandro Ranellucci
c37ef2f18b
New semantics for ExtrusionLoop objects. Early processing of perimeter overhangs for paralellizing such work and making G-code export lighter. Lots of refactoring. This should fix a number of minor bugs, including reversals of perimeter overhangs.
2014-05-08 11:07:37 +02:00
Alessandro Ranellucci
093d1cbe2f
Don't transfer ownership of Model to Print::Object
2014-05-07 01:11:49 +02:00
Alessandro Ranellucci
13af16ea24
Use Pointf for origin_translation and pass const refs whenever possible
2014-05-07 00:58:29 +02:00
Y. Sapir
05b2993769
Translate Model class' storage to C++.
...
Some code copied from xs-model branch.
Also:
* Generate ::Ref classes programatically.
* Add separate __REGISTER_CLASS macro
(for use where forward declaration won't work, i.e. typedefs)
2014-05-05 16:30:19 +03:00
Alessandro Ranellucci
5f88135074
Adjust XY distance of the contact loop
2014-05-02 10:49:14 +02:00
Alessandro Ranellucci
4311f30739
Fixed one typo in BridgeDetector and some improvements to support material
2014-05-01 19:11:53 +02:00
Alessandro Ranellucci
010b71e9d4
Improvements to avoid numerical issues in bridge detection and bridge exclusion
2014-04-30 15:16:15 +02:00
Alessandro Ranellucci
8ded268e7e
Take into account that $layerm->perimeters also contains ExtrusionPath objects. #1991
2014-04-30 10:47:31 +02:00
Alessandro Ranellucci
1667d1826d
Put continuous base flange under pillars support material
2014-04-30 01:51:19 +02:00
Alessandro Ranellucci
1d10cd3da6
Also remove bridged perimeters area from support material
2014-04-30 01:20:18 +02:00
Alessandro Ranellucci
3e3cc4171c
TODO about bridges and support material
2014-04-29 23:40:52 +02:00
Alessandro Ranellucci
ef2296dc8d
Make sure interface and base generation honor the gap between support material and object
2014-04-29 23:29:52 +02:00
Alessandro Ranellucci
98e40d3fe4
Store width and height in ExtrusionEntity objects for debugging purposes
2014-04-29 23:16:16 +02:00
Alessandro Ranellucci
a31b2e6ca2
Stricter implementation of the overhang detection. Includes unit tests
2014-04-29 19:58:58 +02:00
Alessandro Ranellucci
ce9cf4d964
Don't put supports under bridges and potential bridges
2014-04-26 17:19:50 +02:00
Alessandro Ranellucci
148c773319
Exclude support from bridged areas
2014-04-26 16:07:43 +02:00
Alessandro Ranellucci
9ee3868f92
Removed debugging line left
2014-04-25 20:05:08 +02:00