Fixed verification

Also started stubbing out process_layer (applying configs, etc)
This commit is contained in:
Joseph Lenox 2018-07-16 22:28:20 -05:00
parent 080c930a3a
commit e6203c0f0a
5 changed files with 20 additions and 8 deletions

View File

@ -38,8 +38,10 @@ SCENARIO( "PrintGCode basic functionality", "[!mayfail]") {
REQUIRE(exported.find("G21 ; set units to millimeters") != std::string::npos);
}
THEN("Config options emitted.") {
THEN("Config options emitted for print config, default region config, default object config") {
REQUIRE(exported.find("; first_layer_temperature") != std::string::npos);
REQUIRE(exported.find("; layer_height") != std::string::npos);
REQUIRE(exported.find("; fill_density") != std::string::npos);
}
}
WHEN("the output is executed with support material") {

View File

@ -231,7 +231,6 @@ Slic3r::Test::Print init_print(std::tuple<int,int,int> cube, config_ptr _config)
void gcode(std::stringstream& gcode, Slic3r::Test::Print& _print) {
Slic3r::Print& print {_print.print()};
print.process();
print.export_gcode(gcode, true);
}

View File

@ -99,8 +99,8 @@ Print::process()
{
if (this->status_cb != nullptr)
this->status_cb(70, "Infilling layers");
for(auto obj : this->objects) { obj->_infill(); }
for(auto obj : this->objects) { obj->generate_support_material(); }
for(auto& obj : this->objects) { obj->_infill(); }
for(auto& obj : this->objects) { obj->generate_support_material(); }
this->make_skirt();
this->make_brim(); // must follow make_skirt

View File

@ -273,8 +273,8 @@ PrintGCode::output()
// print config
_print_config(print.config);
// _print_config(print.default_object_config);
// _print_config(print.default_region_config);
_print_config(print.default_object_config);
_print_config(print.default_region_config);
}
std::string
@ -286,6 +286,15 @@ PrintGCode::filter(const std::string& in, bool wait)
void
PrintGCode::process_layer(size_t idx, const Layer* layer, const Points& copies)
{
std::string gcode {""};
auto& gcodegen {this->_gcodegen};
const auto& obj {*(layer->object())};
gcodegen.config.apply(obj.config, true);
fh << this->filter(gcode);
}
void
@ -313,6 +322,7 @@ PrintGCode::_print_config(const ConfigBase& config)
fh << "; " << key << " = " << config.serialize(key) << "\n";
}
}
PrintGCode::PrintGCode(Slic3r::Print& print, std::ostream& _fh) :
_print(print),
config(print.config),

View File

@ -26,10 +26,10 @@ public:
/// Process an individual output for export. Writes to the ostream.
void process_layer(size_t idx, const Layer* layer, const Points& copies);
void flush_filters() { fh << this->filter(this->_cooling_buffer.flush(), 1); }
void flush_filters() { fh << this->filter(this->_cooling_buffer.flush(), true); }
/// Applies various filters, if enabled.
std::string filter(const std::string& in, bool wait);
std::string filter(const std::string& in, bool wait = false);
private:
@ -57,6 +57,7 @@ private:
void _print_first_layer_temperature(bool wait);
void _print_off_temperature(bool wait);
/// Utility function to print config options as gcode comments
void _print_config(const ConfigBase& config);