-
[Technisches Gebiet]
-
Die Erfindung bezieht sich allgemein auf eine Simulation eines Bearbeitungsvorgangs, und insbesondere auf das Identifizieren von Defekten einer Oberfläche eines Objekts von einem Modell des Objekts, das während der Simulation aufbereitet wird.
-
[Stand der Technik]
-
Numerisch gesteuertes Bearbeiten
-
Die Simulation des Prozesses des numerisch gesteuerten (NC) Bearbeitens ist von fundamentaler Wichtigkeit beim rechnergestützten Entwerfen (CAD) und beim rechnergestützten Herstellen (CAM). Während der Simulation wird ein Computermodell eines Werkstücks editiert mit einer Computerdarstellung eines NC-Bearbeitungswerkzeugs und einem Satz von NC-Bearbeitungswerkzeugbewegungen, um den Bearbeitungsvorgang zu simulieren. Das Werkstückmodell und die Werkzeugdarstellung können während der Simulation visualisiert werden, um potentielle Kollisionen zwischen Teilen wie dem Werkstück und dem Werkzeughalter zu erfassen und die endgültige Form des Werkstücks nach der Simulation zu verifizieren.
-
Die endgültige Form des Werkstücks wird durch die Auswahl des Werkzeugs und der Werkzeugbewegungen beeinflusst. Befehle zum Steuern dieser Bewegungen werden typischerweise unter Verwendung eines rechnergestützten Herstellungs(CAM)-Systems von einer grafischen Darstellung der gewünschten endgültigen Form des Werkstücks erzeugt. Die Bewegungen werden typischerweise implementiert durch Verwendung einer Programmsprache für numerische Steuerung, auch bekannt als vorbereitender Code oder G-Code, siehe die folgenden Standards RS274D und DIN 66025/ISO 6983.
-
Es ist möglich, dass der von dem CAM-System erzeugte G-Code nicht eine exakte Kopie der gewünschten Form herstellt. Zusätzlich wird die Bewegung des NC-Werkzeugs durch Motoren des NC-Bearbeitungssystems beherrscht, die begrenzte Geschwindigkeiten, Bewegungsbereiche und Fähigkeiten zum Beschleunigen und Verlangsamen haben, so dass es sein kann, dass die tatsächlichen Werkzeugbewegungen nicht exakt den NC-Bearbeitungsbefehlen folgen.
-
Die Diskrepanzen zwischen der tatsächlichen endgültigen Form des Werkstücks und der gewünschten endgültigen Form des Werkstücks können sehr klein und schwierig zu sehen sein. In einigen Situationen führen diese Diskrepanzen zu unerwünschten Vertiefungen oder Kerben in der Oberfläche der endgültigen Form des Werkstücks mit Abmessungen in der Größenordnung weniger Mikrometer in der Tiefe und der Breite und einigen zehn Mikrometern in der Länge.
-
Typischerweise wird ein Satz von NC-Bearbeitungsbefehlen geprüft durch Bearbeiten eines Prüfwerkstücks aus einem weicheren, kostengünstigeren Material vor der Bearbeitung des gewünschten Teils. Wenn eine visuelle Prüfung des Prüfwerkstücks unerwünschte Diskrepanzen in dem Prüfwerkstück lokalisiert, dann werden die NC-Bearbeitungsbefehle entsprechend modifiziert.
-
Jedoch ist dieses manuelle Prüfen zeit- und kostenaufwendig. Die Zeit für das Bearbeiten eines einzelnen Prüfwerkstücks kann in der Größenordnung von Stunden liegen, und mehrere Wiederholungen können erforderlich sein, bevor ein annehmbarer Satz von NC-Bearbeitungsbefehlen erhalten wird. Somit ist es wünschenswert, diese Diskrepanzen unter Verwendung einer rechnerbasierten Simulation und Aufbereitung zu prüfen. Beispiele für die rechnerbasierte Simulation sind beschrieben in den US-Patentanmeldungen Nr. 12/495 588 und Nr. 12/468 607, die hier einbezogen werden.
-
Eine besonders wichtige Anwendung der NC-Bearbeitung ist die Herstellung von Formen und Stempeln. Formen und Stempel werden in einem relativ geringen Umfang durch NC-Bearbeitung hergestellt für die spätere Verwendung zur Herstellung in großem Umfang. Somit können die Defekte in Formen und Stempeln unerwünschterweise auf die hergestellten Teile übertragen werden. Formen und Stempel werden häufig verwendet, um Teile zu formen, die glatte, sich langsam verändernde ”Freiform”-Oberflächen haben, die fertig bearbeitet eine hohe aerodynamische, taktile oder ästhetische Qualität haben. Beispielsweise ist eine moderne Zahnbürste unter Verwendung einer Form aus Kunststoff gegossen und hat eine komplizierte Freiform-Gestalt, die sowohl ästhetische als auch taktile Vorteile bietet. In gleicher Weise hat ein Stempel zum Stanzen von Automobilkörperpaneelen eine glatte Freiform-Gestalt, die den aerodynamischen Widerstand und damit den Kraftstoffverbrauch sowie das ästhetische Ansprechen des Fahrzeugs auf Verbraucher stark beeinflussen kann.
-
Ein Stempel zum Stanzen großer Teile, die eine Freiform-Gestalt haben, kann sehr zeitraubend herzustellen sein aufgrund sowohl seiner Größe (Tausende von Millimetern) als auch des Umstands, dass Freiform-Oberflächen unter Verwendung relativ kleiner Werkzeuge (Größenordnung von Millimetern), die eine große Anzahl von Bearbeitungsbefehlen (häufig Millionen) erfordern, gefräst werden. Das Gleiche gilt für eine Spritzgussform für Kunststoffteile. Die Form ist typischerweise groß, um zur Erhöhung des Herstellungswirkungsgrads die gleichzeitige Herstellung vieler Teile zu ermöglichen.
-
Der NC-Bearbeitungssimulator ist in der Lage, sehr kleine Defekte, z. B. einige 10 bis einige 100 Mikron, in sehr großen simulierten Teilen, z. B. einigen 1000 Millimetern, zu reproduzieren. Das Problem der Lokalisierung dieser kleinen Defekte ist ziemlich herausfordernd. Beispielsweise muss eine menschliche Bedienungsperson sorgfältig die gesamte simulierte Form in einem feinen Maßstab untersuchen, was zeitraubend und fehleranfällig ist.
-
Ein Verfahren bestimmt die NC-Bearbeitungsdefekte durch Analysieren des Pfads des Bearbeitungswerkzeugs. Insbesondere wird ein Vektor für einen Punkt auf dem Pfad berechnet, der normal zu der Ebene ist, die zwei Vektoren enthält, die den Punkt mit dem vorhergehenden Punkt bzw. dem nächsten Punkt verbinden. Die Orientierung des Normal-Vektors relativ zu einer Seite der Ebene wird durch das Vorzeichen der Krümmung des Pfads bestimmt. Für eine glatte Oberfläche sollte der Normal-Vektor von aufeinanderfolgenden Punkten nahezu parallel mit demselben Vorzeichen der Krümmung sein. Jedoch ist dieses Verfahren nur auf Defekte, die durch lokale Veränderungen in dem Werkzeugpfad bewirkt sind, beschränkt, da dieses Verfahren nur die Beziehung zwischen aufeinanderfolgenden Punkten auf dem Bearbeitungspfad berücksichtigt und Defekte, die durch benachbarte Pfade der Bearbeitungswerkzeuge und/oder benachbarte Bereiche auf der Oberfläche bewirkt sind, nicht berücksichtigt.
-
Es besteht daher die Notwendigkeit, Defekte einer Oberfläche eines Objekts von einem Modell des Objekts, das während der Simulation des NC-Bearbeitungsprozesses aufbereitet wird, zu identifizieren.
-
[Zusammenfassung der Erfindung]
-
Es ist eine Aufgabe der gegenwärtigen Erfindung, ein Verfahren zum Identifizieren von Defekten einer Oberfläche eines Objekts von einem Modell des Objekts anzugeben.
-
Es ist eine weitere Aufgabe der Erfindung, ein derartiges Verfahren, das die Defekte einem Benutzer hervorgehoben anzeigt, anzugeben.
-
Es ist eine weitere Aufgabe der Erfindung, ein derartiges Verfahren, das die Defekte der Oberfläche des Modells des Objekts, das während einer Simulation eines Bearbeitungsprozesses aufbereitet wird, hervorgehoben anzeigt, anzugeben.
-
Es ist eine weitere Aufgabe dieser Erfindung, ein derartiges Verfahren, das eine Liste von möglichen Defektbereichen auf der simulierten Oberfläche erzeugt und diese Liste dem Benutzer präsentiert, anzugeben.
-
Es ist eine weitere Aufgabe dieser Erfindung, ein derartiges Verfahren, das Speicheranforderungen herabsetzt ohne Beeinträchtigung der Qualität der Defektidentifizierung, anzugeben.
-
Ausführungsbeispiele der Erfindung basieren auf der Realisierung, dass die Abhängigkeit des Scheitelwinkels von der Schneidtiefe in einer Orientierung einer Oberfläche des Objekts und/oder eines Modells des Objekts, das während der Simulation aufbereitet wird, reflektiert wird. Somit kann die Orientierung der Oberfläche und insbesondere eine Änderungsrate der Orientierung verwendet werden, um Defekte des Modells des Objekts zu bestimmen. Beispielsweise können Bereiche der simulierten Oberfläche, die weniger glatt sind, identifiziert und hervorgehoben werden.
-
Ausführungsbeispiele der Erfindung bestimmen Defekte auf einer Oberfläche eines Objekts auf der Grundlage von Orientierungen und einer Änderungsrate der Orientierung der Oberfläche. Bei verschiedenen Ausführungsbeispielen wird die Änderungsrate bestimmt auf der Grundlage von zu der Oberfläche normalen Vektoren und die Defekte der Oberfläche werden identifiziert auf der Grundlage der Änderungsrate und eines Schwellenwerts.
-
Beispielsweise offenbart ein Ausführungsbeispiel ein Verfahren zum Bestimmen eines Defekts einer Oberfläche eines Objekts aufgrund eines bei dem Objekt durchgeführten Bearbeitungsprozesses, wobei die Oberfläche von einem Modell des Objekts durch eine Simulation des Bearbeitungsprozesses erzeugt ist, aufweisend die Schritte: Bestimmen, an jedem Pixel des Modells der Oberfläche, von Orientierungen der Oberfläche; Bestimmen, für jedes Pixel des Modells der Oberfläche, einer Änderungsrate der Orientierungen der Oberfläche; und Vergleichen der Änderungsrate mit zumindest einem Schwellenwert, um die Defekte der Oberfläche zu identifizieren. Der Schwellenwert wird auf der Grundlage des Bearbeitungsprozesses bestimmt.
-
Ein anderes Ausführungsbeispiel offenbart ein Verfahren zum Bestimmen eines Defekts einer Oberfläche eines Objekts aufgrund eines an dem Objekt durchgeführten Bearbeitungsvorgangs, wobei die Oberfläche von einem Modell des Objekts durch eine Simulation des Bearbeitungsvorgangs erzeugt ist, aufweisend die Schritte: Bestimmen von Normal-Vektoren an jedem Pixel der Oberfläche; Bestimmen, für jedes Pixel der Oberfläche, einer Änderungsrate einer Orientierung der Oberfläche auf der Grundlage von Differenzen zwischen einem Normal-Vektor an einem Pixel und Normal-Vektoren an benachbarten Pixeln, wobei ein Defekt der Oberfläche identifiziert wird durch einen Wert der Änderungsrate; und Hervorheben des Defekts auf einer Anzeigevorrichtung.
-
Noch ein anderes Ausführungsbeispiel offenbart ein System zum Bestimmen eines Defekts einer Oberfläche eines Modells eines Objekts, welches aufweist: Mittel zum Erzeugen der Oberfläche durch eine Simulation eines Bearbeitungsvorgangs; Mittel zum Bestimmen, an jedem Pixel des Modells der Oberfläche, von Orientierungen der Oberfläche auf der Grundlage eines Normal-Vektors an einem Pixel; Mittel zum Bestimmen, für jedes Pixel des Modells der Oberfläche, einer Änderungsrate der Orientierungen der Oberfläche; und Mittel zum Vergleichen der Änderungsrate mit zumindest einem Schwellenwert, um die Defekte der Oberfläche zu identifizieren. Der Schwellenwert wird auf der Grundlage des Bearbeitungsvorgangs bestimmt.
-
[Kurzbeschreibung der Zeichnungen]
-
1A zeigt ein Kugelend-Fräswerkzeug, das zum Herstellen von Freiform-Oberflächen während eines numerisch gesteuerten (NC) Bearbeitens verwendet wird;
-
1B zeigt ein durch das Kugelend-Fräswerkzeug nach 1A gefrästes Objekt;
-
2 ist eine Seitenansicht des durch das Kugelend-Fräswerkzeug gefrästen Objekts;
-
3 ist ein Diagramm der Abhängigkeiten des Scheitelwinkels von einer Schnitttiefe;
-
4 ist ein Blockdiagramm eines Verfahrens zum Bestimmen von Defekten einer Oberfläche des Objekts gemäß einem Ausführungsbeispiel der Erfindung;
-
5 ist ein Blockdiagramm eines Verfahrens zum Hervorheben von Defekten der Oberfläche, während die Oberfläche des Objekts gemäß einem Ausführungsbeispiel der Erfindung aufbereitet wird;
-
6 ist ein Blockdiagramm für ein Beispiel des Bestimmens einer Änderungsrate von Orientierungen der Oberfläche gemäß einem Ausführungsbeispiel der Erfindung;
-
7 ist eine isometrische Ansicht eines Beispiels für ein Modell des Objekts mit hervorgehobenen Bereichen der Oberfläche mit Defekten; und
-
8 ist ein Blockdiagramm eines Beispiels für ein Ausführungsbeispiel der Erfindung.
-
[Beschreibung von Ausführungsbeispielen]
-
1A zeigt ein Kugelend-Fräswerkzeug 100, das allgemein zum Herstellen von Freiform-Oberflächen während einer numerisch gesteuerten (NC) Bearbeitung verwendet wird. Insbesondere ist ein glattes halbkugelförmiges unteres Ende 101 eines Fräsers 100 in der Lage, glatte Oberflächen zu bearbeiten.
-
1B zeigt ein Objekt 102, das durch drei lineare Schnitte 103, 104 und 105 des Kugelend-Fräswerkzeugs 100 gefräst wurde, wobei halbzylindrische Oberflächen gebildet wurden. Zwischen jedem der Schnitte befindet sich ein dreieckförmiger Scheitel, der durch eine Schnittlinie jedes Paares von Schnitten gebildet ist. Beispielsweise befindet sich zwischen den Schnitten 103 und 104 ein Scheitel 106.
-
2 ist eine Seitenansicht eines Objekts 201, das durch vier Schnitte 202–205 des Kugelend-Fräswerkzeugs gefräst wurde. Die Schnitte 202, 203 und 205 haben eine identische Tiefe, die durch eine gestrichelte Linie 206 angezeigt ist. Jedoch ist der Schnitt 204 tiefer als die Schnitte 202, 203 und 205. Jedes Paar der Schnitte trifft sich an dem Scheitelpunkt. Beispielsweise treffen sich der Schnitt 202 und der Schnitt 203 an dem Scheitelpunkt 207, und der Schnitt 203 und der Schnitt 204 treffen sich an dem Scheitelpunkt 208. Da der Schnitt 204 tiefer als die benachbarten Schnitte ist, ist ein Winkel 220 des Scheitelpunkts 208 größer als ein Winkel 222 des Scheitelpunkts 207. Ein Abstand zwischen benachbarten Schnitten ist ein Schritt über den Abstand 230, der typischerweise durch eine Bedienungsperson des CAM-Systems während der Erzeugung der Bearbeitungsbefehle bestimmt wurde.
-
3 zeigt die Abhängigkeit der Scheitelwinkel von der Tiefe des Schnitts. In diesem Fall sind die Scheitelwinkel zwischen zwei Schnitten im gegenseitigen Abstand von 0,2 mm bestimmt, d. h., das Werkzeug bewegt sich in inkrementalen Abstandsschritten von 0,2 mm, wobei ein Kugelend-Fräswerkzeug mit einem Durchmesser von 4 mm verwendet wird. Der Winkel nimmt mit größer werdender Tiefe des Schnitts zu.
-
Ausführungsbeispiele der Erfindung basieren auf der Realisierung. dass die Abhängigkeit des Scheitelwinkels von der Schnitttiefe von einer Orientierung einer Oberfläche des Objekts und/oder eines Modells des Objekts, das während der Simulation aufbereitet wird, abhängt. Somit können die Orientierung der Oberfläche und insbesondere eine Änderungsrate der Orientierung verwendet werden, um Defekte des Modells des Objekts zu bestimmen. Beispielsweise können Bereiche der simulierten Oberfläche, die rauer sind, identifiziert und hervorgehoben werden.
-
4 zeigt ein Blockdiagramm eines Verfahrens 400 zum Bestimmen von Defekten der Oberfläche des Modells des Objekts. Bei verschiedenen Ausführungsbeispielen der Erfindung ist die Oberfläche eine gesamte Oberfläche des Objekts, ein Teil der gesamten Oberfläche des Objekts, eine sichtbare Oberfläche von einem bestimmten Betrachtungspunkt aus, Bereiche des Objekts mit einer hohen Wahrscheinlichkeit von Defekten, und/oder Kombinationen hiervon. Bei einem Ausführungsbeispiel wird das Modell des Objekts anhand eines Modells des ursprünglichen Objekts auf der Grundlage eines Satzes von Bearbeitungsbefehlen erzeugt. Schritte des Verfahrens werden durch einen Prozessor 401 durchgeführt, wie im Stand der Technik bekannt ist.
-
Die Oberfläche 425 des Modells des Objekts wird durch ein Aufbereitungsmodul 420 basierend auf der zugrunde liegenden Darstellung 410 der Oberfläche des Objekts simuliert. Ein Oberflächenorientierungsmodul 430 bestimmt Orientierungen 435 der Oberfläche jedes Pixels der Oberfläche.
-
Ein Orientierungsvergleichsmodul 440 bestimmt und vergleicht eine Änderungsrate 446 der Orientierungen der Oberfläche mit einem oder mehreren Schwellenwerten 445, um Defekte der Oberfläche zu bestimmen. Ein Ausführungsbeispiel vergleicht die Änderungsrate mit einem minimalen Schwellenwert, d. h., Bereiche der Oberfläche entsprechend der Änderungsrate der Orientierungen der Oberfläche mit Werten oberhalb des minimalen Schwellenwerts werden identifiziert. Zusätzlich oder alternativ vergleicht ein anderes Ausführungsbeispiel die Änderungsraten mit einem maximalen Schwellenwert, d. h., Bereiche der Oberfläche entsprechend der Änderungsrate der Orientierungen der Oberfläche mit den Werten unterhalb des maximalen Schwellenwerts werden identifiziert.
-
Bei verschiedenen Ausführungsbeispielen werden der minimale und/oder der maximale Schwellenwert auf der Grundlage einer Form der ursprünglichen Oberfläche, einer Größe des Werkzeugs, der Bearbeitungsbefehle und/oder einer gewünschten Genauigkeit bestimmt.
-
Der minimale Schwellenwert erleichtert die Unterscheidung zwischen den Scheitelpunkten der glatten Bereiche auf dem Hauptteil der Oberfläche des simulierten Modells des Objekts und den tatsächlichen Defekten der Oberfläche, die typischerweise seltener auftreten. Wie in 3 gezeigt ist, ist der Winkel des Scheitelpunkts eine Funktion der Abmessung, z. B. eines Durchmessers, des Werkzeugs und des Schritts über den Abstand. Beispielsweise wird bei einem Ausführungsbeispiel der Schritt über den Abstand auf der Grundlage des Durchmessers des Werkzeugs und der gewünschten Glätte der Oberfläche, d. h., einer Höhe des Scheitelpunkts ausgewählt. Daher ist ein gewünschter Winkel des Scheitelpunkts vor einem Bearbeitungsvorgang bekannt.
-
Der Bearbeitungsvorgang enthält, aber nicht beschränkt hierauf, Dreh-, Fräs- und Bohroperationen. In Abhängigkeit von einer Operation enthält der Bearbeitungsvorgang weiterhin das Auswählen eines Bearbeitungswerkzeugs, z. B. einen Typ des Werkzeugs wie ein Einzelpunktwerkzeug oder ein Mehrkanten-Schneidwerkzeug, der Form, der Materialien und Abmessungen der Werkzeuge, das Bestimmen von Bewegungsrichtungen der Werkzeuge, des Schritts über den Abstand der Werkzeuge, und das Bestimmen von Bearbeitungsbefehlen für die Operation. Die Bearbeitungsbefehle enthalten ihrerseits eine Reihenfolge von Operationen und einen Weg für das Werkzeug.
-
Der Bearbeitungsvorgang steuert die gewünschte Genauigkeit der Oberfläche. Beispielsweise kann der Schritt über den Abstand für aufrauende Schnitte größer als der Schritt über den Abstand für Endbearbeitungsschnitte sein.
-
Jedoch ist ein Wert des Schritts über den Abstand nur ein Beispiel zum Steuern der Glätte der Oberfläche durch den Bearbeitungsvorgang. Demgemäß bestimmen mehrere Ausführungsbeispiele der Erfindung den minimalen und/oder den maximalen Schwellenwert auf der Grundlage des Bearbeitungsvorgangs, der die Oberfläche des Objekts erzeugt. In gleicher Weise bestimmen einige Ausführungsbeispiele die Schwellenwerte auf der Grundlage der Simulation des Bearbeitungsvorgangs, der die Oberfläche des Modells des Objekts erzeugt.
-
Beispielsweise bestimmt ein Ausführungsbeispiel den minimalen Schwellenwert auf der Grundlage eines Werts des gewünschten Winkels des Scheitelpunkts. Eine Variation dieses Ausführungsbeispiels bestimmt den minimalen Schwellenwert durch Erhöhen des Werts des gewünschten Winkels des Scheitelpunkts um eine Spanne, die von einer Größe von tolerierbaren Veränderungen des Winkels des Scheitelpunkts abhängt.
-
Zusätzlich und alternativ kann der minimale Schwellenwert auf der Grundlage des Umstands, dass die Defekte der Oberfläche relativ selten sind, bestimmt werden. Beispielsweise bestimmt ein Ausführungsbeispiel ein Histogramm einer Anzahl von Pixeln gegenüber der Änderungsrate von Normalvektoren, wie nachfolgend beschrieben wird, und wählt den minimalen Schwellenwert so aus, dass die Mehrheit der Pixel eine Änderungsrate hat, die kleiner als der Schwellenwert ist.
-
Der Ausgang 455 des Verfahrens wird durch ein Ausgangsmodul 450 verarbeitet. Beispielsweise speichert das Ausgangsmodul identifizierte Bereiche der Oberfläche mit Defekten in einem Speicher (nicht gezeigt). Zusätzlich oder alternativ zeigt das Ausgangsmodul das Modell des Objekts auf einer Anzeigevorrichtung an, wobei die Bereiche 701 der Oberfläche mit Defekten hervorgehoben werden, wie in 7 gezeigt ist.
-
Normalvektoren
-
Einige Ausführungsbeispiele der Erfindung bestimmten die Orientierungen der Oberfläche auf der Grundlage von Normalvektoren. Der hier bezeichnete Normalvektor an einem Pixel hat eine Länge gleich eins und ist senkrecht zu der Oberfläche an einem Ort entsprechend dem Pixel. Beispielsweise ist unter Bezugnahme auf 2 ein Vektor 209 der Normalvektor, der mit dem Schnitt 203 benachbart dem Scheitelpunkt 208 assoziiert ist, und ein Vektor 210 ist der Normalvektor, der mit dem Schnitt 204 benachbart dem Scheitelpunkt 208 assoziiert ist. Der Scheitelwinkel wird dann bestimmt durch Berechnen des Vektorpunktprodukts der Normalvektoren der Oberflächen auf jeder Kante des Scheitels. Das Punktprodukt ist ein Kosinus des Scheitelwinkels.
-
Online-Verarbeitung
-
5 zeigt ein Verfahren zum Hervorheben von Defekten der Oberfläche des Modells des Objekts, während die Oberfläche des Objekts aufbereitet wird. Das Aufbereiten 502 der simulierten Oberfläche des Objekts hängt von der zugrunde liegenden Darstellung der Oberfläche 501 ab. Beispielsweise kann die Oberfläche durch boolesche Differenz zwischen Abstandsfeldern, die eine ursprüngliche Oberfläche darstellen, und Abstandsfeldern, die das durch das Bearbeitungswerkzeug während des Schneidens abgetastete Volumen darstellen, dargestellt werden.
-
Bei einem Ausführungsbeispiel wird die Oberfläche durch ein herkömmliches Strahlverfolgungsverfahren aufbereitet, bei dem mathematische Strahlen, die mit jedem Pixel assoziiert sind, aus der Betrachtungsrichtung auf die simulierte Oberfläche projiziert werden. Die Farbe und die Helligkeit jedes Strahls, der die Oberfläche schneidet, wird durch die Oberflächenfarbe und den Normalvektor an einem Schnittpunkt bestimmt.
-
Eine andere Darstellung der Oberfläche 501 ist ein Netz aus geometrischen Grundelementen wie Dreiecken. Bei einem Ausführungsbeispiel wird das Netz aus Dreiecken aufbereitet unter Verwendung einer Programmierschnittstelle für grafische Anwendungen (API) wie OpenGL. Üblicherweise sind die Farbe und der Normalvektor an jedem Scheitelpunkt eines Dreiecks definiert, der durch die Grafikimplementierung über die durch das Dreieck überspannten Pixel gemäß den Betrachtungsbedingungen interpoliert ist.
-
Die Normalvektoren werden zum Berechnen der Helligkeit des Pixels so verwendet, als ob die Oberfläche durch ein Licht, das sich an einer Position oberhalb der Oberfläche befindet, beleuchtet wird. Als ein Beispiel bestimmt eine herkömmliche Computerbeleuchtungstechnik die Helligkeit des Pixels als eine Summe von einer Umgebungskomponente, die von den Normalvektoren unabhängig ist, einer diffusen Komponente, die proportional zu dem Vektorpunktprodukt zwischen dem Normalvektor und einem Vektor von der Oberfläche zu der Lichtposition ist, und einer Spiegelkomponente, die proportional zu dem Punktprodukt zwischen dem Oberflächennormalvektor und einem Vektor in der Mitte zwischen der Betrachtungsrichtung und der Lichtrichtung, erhöht auf eine Potenz, die durch den Glanz der Oberfläche bestimmt ist.
-
Bei dem herkömmlichen Aufbereiten wird der Normalvektor für jedes Pixel in dem Bild der Oberfläche verwendet, um die Helligkeit des Pixels zu berechnen, und dann verworfen. Die sich ergebenden Pixelwerte werden in einem Speicher gespeichert, der als Farbbildpuffer bezeichnet wird, und schließlich angezeigt, gespeichert oder übertragen.
-
Jedoch verwendet ein Ausführungsbeispiel der Erfindung, anstelle des Verwerfens der Normalvektoren, die zum Berechnen der Helligkeit der Pixel bestimmt wurden, die Normalvektoren wieder für das Identifizieren und/oder Hervorheben der Defekte der Oberfläche. Bei diesem Ausführungsbeispiel werden anstelle der unmittelbaren Berechnung der Pixelhelligkeit unter Verwendung der Normalvektoren die Normalvektoren 503 für jedes Pixel in dem Bild der Oberfläche in einem Normalbildpuffer 504 gespeichert. Nachdem alle Normalvektoren gespeichert sind, werden die Normalvektoren verarbeitet, um Defekte zu identifizieren und/oder hervorzuheben.
-
Bei einem Ausführungsbeispiel werden die Änderungsraten 446 der Normalvektoren bestimmt auf der Grundlage von zentralen Differenzen zwischen den Normalvektoren. Insbesondere wird die Änderungsrate der Orientierung der Oberfläche an einem Pixel bestimmt als die Differenz zwischen dem Normalvektor an dem Pixel und den Normalvektoren an benachbarten Pixeln, z. B. den Normalvektoren an an das Pixel angrenzenden Pixeln.
-
6 zeigt ein Beispiel für das Bestimmen der Änderungsrate der Orientierung der Oberfläche an einem Pixel 602, z. B. einem zentralen Pixel 602 in einem Fenster 601, auf der Grundlage der zentralen Differenz zwischen dem Normalvektor an dem Pixel 602 und den Normalvektoren an den angrenzenden Pixeln 602–610. Das Fenster 601 bewegt sich vertikal 620 und/oder horizontal 630 über alle Pixel des Modells der Oberfläche, um die Änderungsrate für jedes Pixel zu bestimmen.
-
Das Fenster
601 bedeckt ein 3 × 3-Gitter von Normalvektoren, die aus dem Normalbildpuffer ausgewählt sind. Wie hier definiert ist, ist der Normalvektor am Pixel
602 gleich
N0 = (N0x, N0y, N0z), und die Normalvektoren der acht nahesten Nachbarpixel
603–
610 sind
Ni = (Nix, Niy, Niz), wobei i ein Index der Normalvektoren in dem Fenster im Bereich beispielsweise von 1 bis 8 ist, und x, y und z dreidimensionale (3D) Komponenten der Normalvektoren entlang der Achsen x, y und z identifizieren. Dann wird die Änderungsrate R
0 der Normalvektorkomponenten am Pixelort
602 bestimmt durch
worin j die Komponente des Vektors, d. h. x, y oder z anzeigt. Die Änderungsrate des Normalvektors ist beispielsweise eine Quadratwurzel der Summe der Quadrate der Komponenten R
0j.
-
Verschiedene Ausführungsbeispiele der Erfindung verwenden unterschiedliche Schwellenwerte, um Defekte der Oberfläche zu identifizieren. Die Bereiche der Oberfläche mit den Änderungsratenwerten unterhalb des minimalen Schwellenwerts 507 entsprechen einer glatten Oberfläche und/oder einer Oberfläche mit Scheitelpunkten zwischen fehlerfreien Schnitten. Die Bereiche der Oberfläche mit Änderungsratenwerten oberhalb des maximalen Schwellenwerts 508 entsprechen Kanten des Objekts und/oder tiefen Schnitten, die mit Nicht-Freiform-Bereichen der Oberfläche assoziiert sind. Daher werden bei einem Ausführungsbeispiel nur Pixel entsprechend Werten der Änderungsrate in einem fehlerhaften Bereich, d. h. zwischen dem minimalen und dem maximalen Schwellenwert, als mögliche fehlerhafte Bereiche der Oberfläche identifiziert.
-
Beispielsweise ändert 509 ein Ausführungsbeispiel die Farben von Pixeln, z. B. in eine rote Farbe, entsprechend Werten der Änderungsrate in dem defekten Bereich, während Farben von anderen Pixeln normal berechnet werden 506 unter Verwendung der in dem Normalbildpuffer gespeicherten Werte. Ein anderes Ausführungsbeispiel stellt die Farbe von Pixeln auf der Grundlage der Änderungsrate unter Verwendung einer Tabelle ein. Beispielsweise werden Pixel mit einer Änderungsrate unterhalb des minimalen Schwellenwerts blau gefärbt, Pixel mit einer Änderungsrate innerhalb des fehlerhaften Bereichs werden rot gefärbt, und Pixel mit einer Änderungsrate oberhalb des maximalen Schwellenwerts werden grün gefärbt. Jedoch erkennt der Fachmann ohne Weiteres, dass viele andere Verfahren und/oder Tabellen verwendet werden können, um die visuelle Identifizierung der Defekte zu verbessern. Nachdem die Pixel entsprechend den Bereichen mit der Änderungsrate innerhalb des fehlerhaften Bereiches bestimmt sind, werden die Pixel in dem Speicher 511 gespeichert und die Farben solcher Pixel werden in dem Farbbildpuffer 510 gespeichert.
-
Offline-Verarbeitung
-
Einige Ausführungsbeispiele identifizieren Defekte der Oberfläche in einem Prozess, der von dem Prozess des Aufbereitens und/oder Bestimmens der Helligkeit der Pixel getrennt ist. Derartige Ausführungsbeispiele tragen dem Umstand Rechnung, dass bei einigen Anwendungen die Dichte von Pixeln nicht ausreichend ist, um kleine Defekte zu erfassen, wenn nicht die Oberfläche während des Aufbereitens vergrößert ist. In gleicher Weise kann die nicht ausreichende Dichte der Pixel bewirken, dass Defekte übersehen werden aufgrund der unzureichenden Abtastung der Oberfläche.
-
Zusätzlich und/oder alternativ sind einige Defekte der Oberfläche aus der Betrachtungsrichtung in dem aufbereiteten Modell nicht sichtbar. Bei einem Ausführungsbeispiel wird diese Beschränkung überwunden durch Beobachtung der simulierten Oberfläche über einen weiten Bereich von Winkeln bei einem engen Maßstab.
-
Jedoch identifiziert ein anderes Ausführungsbeispiel die Defekte der Oberfläche, nachdem die Simulation beendet ist, und unabhängig von der Betrachtung der Simulationsergebnisse. Das Ausführungsbeispiel übergibt Teile der Oberfläche in einen schirmunabhängigen Normalpuffer bei einer hohen Auflösung, die ausreichend ist, um die Identifizierung der Defekte, die größer als eine minimale Größe sind, zu gewährleisten. Zusätzlich und/oder alternativ prüft das Ausführungsbeispiel die simulierte Oberfläche von einem Bereich von Betrachtungspunkten, z. B. entlang jeder der +x-, –x-, +y-, –y-, +z- und –z-Achsen. Alternativ bereitet ein Ausführungsbeispiel einen Bereich der Oberfläche grob auf, um eine dominante Orientierung dieses Bereichs der Oberfläche zu bestimmen, und bereitet die Oberfläche von der dominanten Orientierung aus auf.
-
Bei einigen Ausführungsbeispielen entsprechen nicht alle Pixel mit der Änderungsrate der Orientierung der Oberfläche zwischen dem minimalen und dem maximalen Schwellenwert den Defekten der Oberfläche. Einige Pixel können Defekten in dem Aufbereitungsprozess entsprechen, derart, dass die für ein Pixel normale Oberfläche ungenau bestimmt wird. Daher bereitet ein Ausführungsbeispiel der Erfindung anfänglich einen Bereich der Oberfläche grob auf und führt eine Defekterfassung mit niedriger Auflösung durch. Die Bereiche der Oberfläche, in denen Defekte bei niedriger Auflösung identifiziert werden, werden dann lokal bei hoher Auflösung neu aufbereitet, um die Erfassung der Defekte zu verbessern, die durch eine Linie von Pixeln entlang der Kante s des Bearbeitungsschnitts identifiziert werden.
-
Auch verwendet ein Ausführungsbeispiel den Normalbildpuffer, um Informationen über die Aufbereitung mit hoher Auflösung der Oberfläche zu halten. Alternative Ausführungsbeispiele enthalten die Teilung der Oberfläche in überlappende oder benachbarte Flecken, um die Speicheranforderungen herabzusetzen, ohne die Qualität der Defektidentifizierung zu beeinträchtigen.
-
Ein anderes Ausführungsbeispiel erzeugt eine Liste von möglichen Defektbereichen auf der simulierten Oberfläche und gibt diese Liste zu dem Benutzer aus. Beispielsweise kann die Liste als rechteckige Kästen dargestellt werden, die dem Bild mit niedriger Auflösung überlagert sind und die möglicherweise defekten Bereiche umschließen. Der Benutzer kann dann diese Bereiche näher betrachten, um eine endgültige Bestimmung hinsichtlich des Bestehens eines tatsächlichen Defekts vorzunehmen. Zusätzlich oder alternativ wird die Defektliste in einem Textformat dargestellt, die den Ort und den Charakter des möglichen Defekts beschreibt. Es ist vorteilhaft, eine Benutzerschnittstelle derart zu verwenden, dass der Benutzer eine Eintragung in die Defektliste auswählen kann, um das simulierte Bild neu zu orientieren, zu zentrieren und in den defekten Bereich zu zoomen.
-
8 zeigt ein Beispiel für ein anderes Ausführungsbeispiel der Erfindung. Ein Satz von Bearbeitungsbefehlen 801 wird zu einer NC-Bearbeitungssteuervorrichtung 802 geliefert, entweder als eine Datei über ein Netzwerk, von einer CD oder DVD, oder durch andere bekannte Mittel. Die Steuervorrichtung 802 enthält einen Prozessor 803, einen Speicher 804 und eine Anzeigevorrichtung 805, um die Arbeitsweise der Maschine zu zeigen. Der Prozessor führt eine Bearbeitungssimulation durch und führt ein Verfahren gemäß Ausführungsbeispielen der Erfindung durch, z. B. das Verfahren 400, um ein Bild 507 zu erzeugen, das die Defekte der Bearbeitungssimulation auf der Anzeigevorrichtung 505 identifiziert.
-
Obgleich die Erfindung im Wege von Beispielen von bevorzugten Ausführungsbeispielen beschrieben wurde, ist darauf hinzuweisen, dass verschiedene andere Anpassungen und Modifikationen innerhalb des Geistes und des Bereichs der Erfindung vorgenommen werden können. Daher ist es die Aufgabe der angefügten Ansprüche, alle derartigen Variationen und Modifikationen abzudecken, die innerhalb des wahren Geistes und des Bereichs der Erfindung gelangen.