Exemplo n.º 1
0
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);
}
Exemplo n.º 2
0
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);
}
Exemplo n.º 3
0
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);
}
Exemplo n.º 4
0
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);
}