01.03.2013 Aufrufe

Diplomarbeit (*.pdf - 5,3MB) - Faculty of Computer Science ...

Diplomarbeit (*.pdf - 5,3MB) - Faculty of Computer Science ...

Diplomarbeit (*.pdf - 5,3MB) - Faculty of Computer Science ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!