Alessandro Ranellucci
d2172b4383
Merge branch 'master' into sender
2015-03-06 22:15:43 +01:00
Alessandro Ranellucci
c2009af1c6
Remove ;_WIPE marks in G-code which were left between objects in sequential printing
2015-03-06 10:25:31 +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
a3b843b24e
Bugfix: temperature was not set correctly when using sequential printing. Includes regression test. #2702
2015-03-02 23:56:38 +01:00
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
Alessandro Ranellucci
7ac0095018
Fix regression causing default extrusion width to be ignored. #1958
2014-04-25 19:39:27 +02:00
Alessandro Ranellucci
fe1691c151
New --cut feature
2014-04-25 10:20:30 +02:00
Alessandro Ranellucci
f6e99f1467
Bugfix: [filament_preset] was not replaced in filename when using Quick Slice. #1870
2014-04-19 12:10:15 +02:00
Alessandro Ranellucci
62e19469bc
Fixed regression in --infill-only-where-needed. Includes a minimal test suite for such feature. #1871
...
Conflicts:
t/fill.t
2014-04-18 21:48:32 +02:00
Alessandro Ranellucci
93a7d87fc6
Bugfix: pillars support material crashed when no overhangs were detected
2014-04-07 16:59:22 +02:00
Alessandro Ranellucci
20df1023a6
Fixed broken command line scaling. Regression test was in previous commit. #1889
2014-04-05 11:22:05 +02:00
Alessandro Ranellucci
d6d6a51e0d
Fix for incomplete extrusion on solid surfaces
2014-04-05 10:54:24 +02:00
Alessandro Ranellucci
45559f87f3
Save the vector used for aligning object volumes to origin and apply it to additional parts added from the object part panel in order to make them coincide
2014-04-02 20:23:26 +02:00
Alessandro Ranellucci
432a87e73d
New option for forcing the generation of interface shells. #1847
2014-03-25 01:11:28 +01:00
Alessandro Ranellucci
ea3266c6e9
Fix modifiers
2014-03-23 16:56:41 +01:00
Alessandro Ranellucci
fec41d6dfd
Update plater and print upon changing object parts and their settings
2014-03-23 16:45:55 +01:00
Alessandro Ranellucci
6a157c22c2
Fixed minor fatal error
2014-03-22 17:44:42 +01:00
Alessandro Ranellucci
7421a7bf63
Turn fill_density into percentage
2014-03-22 16:23:33 +01:00
Alessandro Ranellucci
e837183327
Fixed regression when using --infill-only-where-needed. Includes regression test. #1721
2014-02-16 12:48:07 +01:00
Alessandro Ranellucci
ffc891d885
Bugfix: when processing with fill_density = 0, top/bottom solid shells were missing regions thinner than 3 * extrusion width. Includes regression test. #1602
...
Conflicts:
lib/Slic3r/Print/Object.pm
t/fill.t
2014-02-07 02:07:21 +01:00
Alessandro Ranellucci
89d3dbaa5a
Bugfix: incorrect number of raft layers was generated when too few were requested. #1678
...
Conflicts:
lib/Slic3r/Print/Object.pm
2014-01-11 23:26:48 +01:00
Alessandro Ranellucci
ea173cf815
Bugfix: ambiguous semantics of the layers_count() method caused M73 to go beyond 100%. #1670
...
Conflicts:
lib/Slic3r/GCode.pm
lib/Slic3r/Print.pm
lib/Slic3r/Print/Object.pm
2014-01-11 17:40:09 +01:00
Alessandro Ranellucci
c8a48b4527
Implement modifier volumes and port _merge_loops() to XS
2014-01-07 15:40:38 +01:00
Alessandro Ranellucci
b17d06f9d1
Finished porting BoundingBox to XS
2014-01-07 12:48:09 +01:00
Alessandro Ranellucci
3e93a14912
New support material pattern: pillars!
2014-01-05 16:51:16 +01:00
Alessandro Ranellucci
07b9b12475
Make tests pass
2014-01-05 00:36:33 +01:00
Alessandro Ranellucci
a2cbb261cb
More work for refactoring Flow/Extruder
2014-01-03 20:02:00 +01:00
Alessandro Ranellucci
8ed738d3f7
More incomplete work for Flow/Extruder refactoring
2014-01-03 18:27:46 +01:00
Alessandro Ranellucci
52ce6e4a7b
Some initial work for refactoring Print->extruders
2014-01-03 10:44:36 +01:00
Alessandro Ranellucci
b9793b3f12
Moved first_layer_extrusion_width to PrintConfig
2014-01-03 00:34:30 +01:00
Alessandro Ranellucci
bfa2ee2770
Remove scale, rotate, duplicate, duplicate_grid from config (but leave them in CLI)
2014-01-02 18:01:21 +01:00
Alessandro Ranellucci
385e0e0974
Refactoring: new Slic3r::Print::Simple class for non-interactive slicing (used in CLI and Quick Slice)
2014-01-02 17:54:18 +01:00
Alessandro Ranellucci
5bf0942f45
Satisfy test suite and CLI
2014-01-02 17:24:23 +01:00
Alessandro Ranellucci
e2f1040a76
More work
2014-01-02 10:44:54 +01:00
Alessandro Ranellucci
0883d0f4eb
More work here and there
2014-01-01 17:29:15 +01:00
Alessandro Ranellucci
83326845dd
More incomplete work
2013-12-31 14:33:03 +01:00
Alessandro Ranellucci
beb1baa096
Incomplete work for refactoring regions and flows
2013-12-30 18:28:41 +01:00
Alessandro Ranellucci
1157a7f859
Remove package variable $Slic3r::Config
2013-12-24 11:29:31 +01:00
Alessandro Ranellucci
20f1f3d2b4
Fix regression preventing raft from being generated for the entire object footprint. #1614 #1567
2013-12-23 20:31:50 +01:00
Alessandro Ranellucci
1b9079ffbe
Merge branch 'xs-model'
2013-12-20 01:41:13 +01:00
Alessandro Ranellucci
a6a6a6888b
Ported Slic3r::Print::State to XS
2013-12-20 01:36:42 +01:00
Alessandro Ranellucci
d2295cdf70
New Slic3r::Print::State class
2013-12-19 18:54:24 +01:00
Alessandro Ranellucci
685e8e4dfa
More work for step-based slicing
2013-12-19 15:23:10 +01:00
Alessandro Ranellucci
38ea5f79d7
Merge branch 'xs-model'
2013-12-18 19:20:23 +01:00
Alessandro Ranellucci
15235699e4
Completed adapting plater behavior to new Print object API
2013-12-18 18:54:11 +01:00
Alessandro Ranellucci
916a0a0e58
Fix compilation and test suite
2013-12-18 16:34:31 +01:00
Alessandro Ranellucci
a12b1765d6
Fixed wrong commit f495136
. Thanks pdbogen for the report. #1623
2013-12-18 10:21:17 +01:00
Alessandro Ranellucci
0591eecab7
Lazy mesh generation so that we only keep it in model object
2013-12-18 00:13:41 +01:00
Alessandro Ranellucci
f4951367ea
Fixed fatal error about missing method thin_walls(). #1607 #1615
2013-12-17 16:17:15 +01:00
Alessandro Ranellucci
250608aa52
Move centering outside the Print object
2013-12-15 16:17:12 +01:00
Alessandro Ranellucci
2eff7c238e
Some initial work for stateful Print object
2013-12-13 14:02:01 +01:00