Commit Graph

598 Commits

Author SHA1 Message Date
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
ff9b53260d New experimental feature for pressure management. Credits to @llluis for the original implementation. #1203 #1677 #2018 2014-11-24 18:22:39 +01:00
Alessandro Ranellucci
c1e26a70f8 Refactoring: move ooze prevention, wipe and avoid crossing perimeters into nested classes for better isolation 2014-11-23 15:13:40 +01:00
Alessandro Ranellucci
a5787cfb04 Merge branch 'xs-reload-object'
Conflicts:
	lib/Slic3r/Print.pm
2014-11-12 22:51:48 +01:00
Alessandro Ranellucci
6135a9fb8b Bugfix: a move below z_offset was performed when retract_lift was enabled and lift amount was less than z_offset. Includes regression test. #2349 2014-11-09 19:24:17 +01:00
Alessandro Ranellucci
ee3fb7caa2 Ported GCodeWriter to XS (faster G-code export!) 2014-11-09 19:02:45 +01:00
Alessandro Ranellucci
bad0bd8520 Ported Print::validate() to XS 2014-11-09 15:27:34 +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
d645dabcff Ported reload_object() to XS 2014-11-07 20:25:05 +01:00
Alessandro Ranellucci
12ba7201c0 Fixed regression causing per-volume settings to be ignored upon background recalculation. #2277 2014-11-07 20:14:02 +01:00
Alessandro Ranellucci
9372abb51e Fixed regression in min_skirt_length. Includes regression test. #2337 2014-11-06 21:11:59 +01:00
Alessandro Ranellucci
30b0869595 Bugfix: crash when slicing one layer objects with sailfish G-code flavor. Includes regression test. #2335 2014-11-06 21:06:09 +01:00
Alessandro Ranellucci
268de5c8e5 More refactoring to GCode.pm: make writer() public and fix usage of Slic3r::GCode without a Slic3r::Layer object 2014-10-28 21:47:09 +01:00
Alessandro Ranellucci
a38ec14cb1 Some minor refactoring and cleaning to the travel_to() method and new init_external_mp() method 2014-10-27 10:34:51 +01:00
Alessandro Ranellucci
ed17c22889 Minor cleanup of imported symbols 2014-10-25 11:15:12 +02:00
Alessandro Ranellucci
36c1a9d20c Renamed shift_x and shift_y into origin 2014-10-25 10:56:21 +02:00
Alessandro Ranellucci
7f57f007cd Refactoring: moved Slic3r::GCode::Base to Slic3r::GCode::Writer 2014-10-25 10:42:07 +02:00
Alessandro Ranellucci
c2e710d092 Removed --g0 2014-10-21 21:41:11 +02:00
Alessandro Ranellucci
71ec90a1dd Finish porting the Extruder class to libslic3r 2014-10-21 20:36:52 +02:00
Alessandro Ranellucci
f8967418b9 Refactoring: moved the ooze prevention logic into a separate class with hooks 2014-10-18 17:58:14 +02:00
Alessandro Ranellucci
e521475b7e Refactoring: moved some low-level G-code generation methods to the new Slic3r::GCode::Base class 2014-10-18 17:41:21 +02:00
Alessandro Ranellucci
1fa99b8d3e Typo 2014-08-04 11:47:15 +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
e897fbbd51 Only consider used extruders when limiting layer height. #2175 2014-08-03 11:49:00 +02:00
Alessandro Ranellucci
6f3bd72aeb Fix crash when exporting SVG with support material. #2188 2014-08-03 11:35:18 +02:00
Alessandro Ranellucci
3ff613d166 Merge branch 'acp-voronoi'
Conflicts:
	xs/xsp/my.map
2014-07-26 22:38:35 +02:00
Alessandro Ranellucci
7aaf27c0c7 Put skirt outside brim to avoid conflicts. #2157 2014-07-24 23:43:19 +02:00
Alessandro Ranellucci
86bad17abb Display skirt and brim in toolpaths preview. Also take support material margin into account when sizing the window. #2169 2014-07-24 18:32:07 +02:00
Alessandro Ranellucci
aacc01a56f Store object and volume names in the new 'name' property instead of relying on material id 2014-07-12 11:20:57 +02:00
Alessandro Ranellucci
f82a8475a1 Use AMF object and volume metadata for handling per-object and per-volume settings 2014-07-11 20:09:01 +02:00
Alessandro Ranellucci
d416766d90 Fix scaled model objects causing a test to fail 2014-07-04 10:45:29 +02:00
Alessandro Ranellucci
f0a57a83fd Proper handling of interlaced layers in toolpaths preview 2014-07-04 01:04:07 +02:00
Alessandro Ranellucci
907de1011f Toolpaths preview 2014-07-03 09:24:19 +02:00
Alessandro Ranellucci
3173e11e1f Bugfix: object steps were incorrectly invalidated. #2102 2014-06-17 20:33:29 +02:00
Alessandro Ranellucci
1b625753ab Fix tests 2014-06-14 00:06:49 +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
d9e7a50a6e Partial work for background processing 2014-06-13 11:19:53 +02:00
Alessandro Ranellucci
97231327e0 Have Print::apply_config() return true if any step was invalidated 2014-06-12 09:29:26 +02: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
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
5c54acf9ac Use ->ptr() for CoolingBuffer too 2014-06-10 16:17:34 +02:00
Alessandro Ranellucci
2d14ddb955 Enable step caching 2014-06-10 16:12:14 +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
3599bd0bae Distinct extrusion width for external perimeters 2014-06-09 21:22:15 +02:00
Alessandro Ranellucci
64853d5661 Bugfix: M73 was exceeding 100% when multiple objects were printed together. #1912 2014-06-05 16:24:47 +02:00
Alessandro Ranellucci
ce1e736b6b Bugfix: crash when skirt was contained in brim area. Includes regression test. #2058 2014-05-27 13:38:41 +02:00
Alessandro Ranellucci
7215e66a6a Merge branch 'master' into visilibity
Conflicts:
	lib/Slic3r/GCode.pm
	xs/MANIFEST
2014-05-27 00:04:53 +02:00
Alessandro Ranellucci
3d25b9030c Bugfix: movement between objects in sequential printing mode was going too far away. #2013 #2007 2014-05-26 15:19:13 +02:00
Alessandro Ranellucci
7ea09a0071 Bugfix: failure when exporting SVG from object containing multiple islands. Includes regression test. #2050 2014-05-26 11:13:53 +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
63d56c666b Include full config in G-code files. #2047 #2032 2014-05-20 23:25:12 +02:00
Alessandro Ranellucci
dd1183f19a Some fixed after the recent Slic3r::GCode refactoring 2014-05-15 15:54:16 +02:00
Alessandro Ranellucci
5fe5021fd7 Implemented avoid_crossing_perimeters with VisiLibity 2014-05-13 20:06:01 +02:00
Alessandro Ranellucci
ee2c1c6127 Refactored the Slic3r::GCode logic for speeds 2014-05-13 08:34:21 +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
27c73f5983 Some fixes after the recent Model refactoring 2014-05-10 16:59:17 +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
2a3923934e Update timestamp before the Export G-code dialog is shown. #1995 2014-05-01 21:42:12 +02:00
Alessandro Ranellucci
98e40d3fe4 Store width and height in ExtrusionEntity objects for debugging purposes 2014-04-29 23:16:16 +02:00
Y. Sapir
2565d80679 Replace multitude of Extruder fields with querying a PrintConfig object by id. 2014-04-27 23:43:44 +03:00
Alessandro Ranellucci
6780e930cb Update the [timestamp] placeholder(s) at every G-code export. #1957 2014-04-25 19:47:13 +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
071097d3f1 Fix extruder assignment and tests 2014-03-27 00:01:33 +01:00
Alessandro Ranellucci
10bf334a58 Added one more failing test to address bad option priority hierarchy 2014-03-26 19:42:01 +01:00
Alessandro Ranellucci
b4ac63d749 Error in previous commit: Bugfix: prevent crash when user entered Unicode characters in notes. #1590 2014-03-24 17:52:50 +01:00
Alessandro Ranellucci
ce984ef78c Revert "Error in previous commit: Bugfix: prevent crash when user entered Unicode characters in notes. #1590"
This reverts commit e355e521d4.
2014-03-24 17:52:14 +01:00
Alessandro Ranellucci
e355e521d4 Error in previous commit: Bugfix: prevent crash when user entered Unicode characters in notes. #1590 2014-03-24 17:02:25 +01:00
Alessandro Ranellucci
d9d2f3b3ab Bugfix: prevent crash when user entered Unicode characters in notes. #1590 2014-03-24 16:37:20 +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
21e6de0e59 Only expand shortcut options in StaticConfig objects. This way we can keep a default extruder value in the parts panel 2014-03-22 20:12:54 +01:00
Alessandro Ranellucci
34f1511e0c Better fix for non-global options not being replaced in filename placeholders. Includes refactoring and a new PlaceholderParser class. Also includes regression tests. #1831 2014-03-17 00:39:07 +01:00
Alessandro Ranellucci
bc054e613c Fix regression causing non-global config options to be ignored when replacing placeholders in output filename format. #1831 2014-03-15 20:45:10 +01:00
Alessandro Ranellucci
96c2c21707 Minor bugfix for preventing wrong extruder numbers from being assigned 2014-03-15 18:24:56 +01:00
Alessandro Ranellucci
fd43ada293 Remove duplicated "Generating skirt" status message 2014-01-18 16:36:13 +01:00
Alessandro Ranellucci
12b661e877 Adapt skirt logic to the potential situation of objects with different layer heights 2014-01-12 11:06:21 +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
ed3a6349c7 Adapt the new gcode.t test to master (and subtract final retraction from used filament length) 2014-01-11 14:42:31 +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
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
81663215c5 Adapt plater to the new split config 2014-01-02 22:06:58 +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