Diplomarbeit (*.pdf - 5,3MB) - Faculty of Computer Science ...
Diplomarbeit (*.pdf - 5,3MB) - Faculty of Computer Science ...
Diplomarbeit (*.pdf - 5,3MB) - Faculty of Computer Science ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
CNCCommand- Instanzen enthalten, die durch die Klasse DefaultCNC-<br />
Command implementiert sind.<br />
public class DefaultCNCInterpreter extends CNCInterpreter {<br />
...<br />
public CNCProgram[] parse(CNCSource[] sourceCode)<br />
throws CNCException {<br />
}<br />
...<br />
// Anzahl der CNCProgramme ist gleich der Anzahl der<br />
// übergebenen CNC-Quelltexte<br />
int cncCount = sourceCode.length;<br />
// Anlegen des Arrays für die einzelnen Programme<br />
CNCProgram[] programs = new CNCProgram[cncCount];<br />
// erstelle aus jedem CNC-Quelltext ein CNCProgramm<br />
for (int c = 0; c < cncCount; c++) {<br />
// erstelle Programm<br />
programs[c] = new CNCProgram();<br />
// verarbeite jede Zeile eines Programms<br />
for (int l = 0; l < sourceCode[c].getLineCount(); l++) {<br />
}<br />
// hole aktuelle Zeile<br />
CNCSourceLine line = sourceCode[c].getLine(l);<br />
// wenn Zeile (min.) ein Zeichen enthält...<br />
if (line.getText().length() > 0) {<br />
}<br />
}<br />
return programs;<br />
// ...,dann erstelle daraus ein CNCCommand<br />
CNCCommand command = new DefaultCNCCommand(<br />
componentJunctions);<br />
command.create(line);<br />
command.setSourceLocation(new<br />
CNCSourceLocation(c, line<br />
.getStartOffset(),<br />
line.getEndOffset(),line.getText()));<br />
// füge das CNC-Kommando dem Programm hinzu<br />
programs[c].addCNCCommand(command);<br />
Abb. 4-21 Quellcode des DefaultCNCInterpreter's<br />
Das eigentliche Auswerten der CNC-Zeilen übernimmt dann die<br />
CNCCommand- Implementierung. Der CNC-Interpreter ist lediglich für die<br />
Grobstrukturierung der CNC-Programme und Kommandos zuständig.<br />
Abbildung 4-22 zeigt schematisch die Implementierung der DefaultCNC-<br />
Command-Klasse. Diese überschreibt zunächst die Methode create. Hier<br />
werden die CNC-Zeilen geparst und alle gewonnen Informationen (betr<strong>of</strong>fene<br />
Baugruppe(n), zu verändernde Parameter der Gelenkverbindung(en) u.<br />
Laufzeit des Kommandos) werden in der Klasse gespeichert. Der CNC-<br />
84