void GCodeState::AddLines (vector<Vector3d> linespoints, double extrusionFactor, double maxspeed, double maxmovespeed, double offsetZ, const Settings::SlicingSettings &slicing, const Settings::HardwareSettings &hardware) { for (uint i=0; i < linespoints.size(); i+=2) { // MOVE to start of next line if(LastPosition() != linespoints[i]) { MakeGCodeLine (LastPosition(), linespoints[i], Vector3d(0,0,0),0, 0, 0, maxmovespeed, offsetZ, slicing, hardware); SetLastPosition (linespoints[i]); } // PLOT to endpoint of line MakeGCodeLine (LastPosition(), linespoints[i+1], Vector3d(0,0,0),0, extrusionFactor, 0, maxspeed, offsetZ, slicing, hardware); SetLastPosition(linespoints[i+1]); } //SetLastLayerZ(z); }
void GCodeState::AddLines (vector<Vector3d> linespoints, double extrusionFactor, double maxspeed, double maxmovespeed, double offsetZ, const Settings &settings) { bool relEcode = settings.get_boolean("Slicing","RelativeEcode"); double minmovespeed = settings.get_double("Hardware","MinMoveSpeedXY") * 60; for (uint i=0; i < linespoints.size(); i+=2) { // MOVE to start of next line if(LastPosition() != linespoints[i]) { MakeGCodeLine (LastPosition(), linespoints[i], Vector3d(0,0,0),0, 0, 0, minmovespeed, maxmovespeed, offsetZ, relEcode); SetLastPosition (linespoints[i]); } // PLOT to endpoint of line MakeGCodeLine (LastPosition(), linespoints[i+1], Vector3d(0,0,0),0, extrusionFactor, 0, minmovespeed, maxspeed, offsetZ, relEcode); SetLastPosition(linespoints[i+1]); } //SetLastLayerZ(z); }
void GCodeState::AddLines (vector<printline> plines, double extrusionfactor, double offsetZ, const Settings::SlicingSettings &slicing, const Settings::HardwareSettings &hardware) { for (uint i=0; i < plines.size(); i++) MakeGCodeLine (plines[i], extrusionfactor, offsetZ, slicing, hardware); }
void GCodeState::MakeGCodeLine (printline pline, double extrusionfactor, double offsetZ, const Settings::SlicingSettings &slicing, const Settings::HardwareSettings &hardware) { if(LastPosition() != pline.from) { // then first move to pline.from MakeGCodeLine(LastPosition(), pline.from, Vector3d(0,0,0),0, 0, 0, hardware.MoveSpeed, offsetZ, slicing, hardware); SetLastPosition(pline.from); } MakeGCodeLine(pline.from, pline.to, pline.arcIJK, pline.arc, pline.extrusionfactor * extrusionfactor, pline.absolute_extrusion, pline.speed, offsetZ, slicing, hardware); SetLastPosition(pline.to); }