string AsRelativeMovePosition(INcMachine ncMachine, IMachinePosition previousPosition) { string line = ""; switch (ncMachine.MachineGeometry) { case MachineGeometry.XA: line = "X" + (X - previousPosition.X).ToString(linearFormat) + " " + "A" + (Adeg - previousPosition.Adeg).ToString(rotaryFormat); break; case MachineGeometry.XYZ: line = line = "X" + (X - previousPosition.X).ToString(linearFormat) + " " + "Y" + (Y - previousPosition.Y).ToString(linearFormat) + " " + "Z" + (Z - previousPosition.Z).ToString(linearFormat); break; case MachineGeometry.XYZBC: line = line = "X" + (X - previousPosition.X).ToString(linearFormat) + " " + "Y" + (Y - previousPosition.Y).ToString(linearFormat) + " " + "Z" + (Z - previousPosition.Z).ToString(linearFormat) + " " + "B" + (Bdeg - previousPosition.Bdeg).ToString(rotaryFormat) + " " + "C" + (Cdeg - previousPosition.Cdeg).ToString(rotaryFormat); break; } return(line); }
public string AsNcString(INcMachine ncMachine) { try { string format = ncMachine.MachineCode.FeedrateFormat; return(ncMachine.MachineCode.FeedratePrefix + Value.ToString(format)); } catch (System.Exception) { throw; } }
List <string> GetEndOfFile(INcMachine ncMachine) { try { var eof = new List <string>(); eof.Add(ncMachine.MachineCode.EndofProg); return(eof); } catch (Exception) { throw; } }
List <string> GetFooter(INcMachine ncMachine) { try { var footer = new List <string>(); footer.Add(ncMachine.MachineCode.ComStart + "Footer" + ncMachine.MachineCode.ComEnd); return(footer); } catch (Exception) { throw; } }
List <string> GetHeader(INcMachine ncMachine) { try { var header = new List <string>(); header.Add(ncMachine.MachineCode.ComStart + "Title" + ncMachine.MachineCode.ComEnd); return(header); } catch (Exception) { throw; } }
public string AsNcString(INcMachine ncMachine, IMachinePosition prevPosition, BlockType blockType, MoveType moveType) { rotaryFormat = ncMachine.MachineCode.RotaryAxisFormat; linearFormat = ncMachine.MachineCode.LinearAxisFormat; this.blockType = blockType; if (moveType == MoveType.RELATIVE) { return(AsRelativeMovePosition(ncMachine, prevPosition)); } else { return(AsAbsoluteMovePosition(ncMachine)); } }
public List <string> AsNcTextFile(INcMachine ncMachine) { var file = new List <string>(); IMachinePosition prevPosition = ncMachine.ProgStartPosition; file.AddRange(GetHeader(ncMachine)); foreach (var ent in data) { file.Add(ent.AsNcString(ncMachine)); } file.AddRange(GetFooter(ncMachine)); file.AddRange(GetEndOfFile(ncMachine)); return(file); }
public virtual string AsNcString(INcMachine ncMachine) { try { string line = ""; if (IsComment) { line += ncMachine.MachineCode.ComStart; } line += ncMachine.MachineCode.LineNumberPrefix + LineNumber.ToString() + " " + Content; return(line); } catch (Exception) { throw; } }
public override string AsNcString(INcMachine ncMachine) { try { string line = ncMachine.MachineCode.LineNumberPrefix + LineNumber.ToString() + " "; if (Feedrate.Inverted) { line += ncMachine.MachineCode.InverseFeed + " "; } line += ncMachine.MoveGCode(this.moveType, this.blockType) + " "; line += MachinePosition.AsNcString(ncMachine, prevPosition, blockType, moveType) + " " + Feedrate.AsNcString(ncMachine); return(line); } catch (Exception) { throw; } }
string AsAbsoluteMovePosition(INcMachine ncMachine) { string line = ""; line += ncMachine.MachineCode.LinearMove; switch (ncMachine.MachineGeometry) { case MachineGeometry.XA: line = "X" + X.ToString(linearFormat) + " " + "A" + Adeg.ToString(rotaryFormat); break; case MachineGeometry.XYZ: line = "X" + X.ToString(linearFormat) + " " + "Y" + Y.ToString(linearFormat) + " " + "Z" + Z.ToString(linearFormat); break; case MachineGeometry.XYZBC: line = "X" + X.ToString(linearFormat) + " " + "Y" + Y.ToString(linearFormat) + " " + "Z" + Z.ToString(linearFormat) + " " + "B" + Bdeg.ToString(rotaryFormat) + " " + "C" + Cdeg.ToString(rotaryFormat); break; } return(line); }
public NcFileBuilder(INcMachine machine) { ncMachine = machine; this.machineCodes = machine.MachineCode; currentLineNumber = machine.MachineCode.StartingLineNumber; }
public override string AsNcString(INcMachine ncMachine) { return(ncMachine.CommandString(machineCommand)); }