DE102007021711A1 - System und Verfahren zum Identifizieren von ursprünglichen Entwurfselementen unter Benutzung von 3D-Abtastdaten - Google Patents

System und Verfahren zum Identifizieren von ursprünglichen Entwurfselementen unter Benutzung von 3D-Abtastdaten Download PDF

Info

Publication number
DE102007021711A1
DE102007021711A1 DE102007021711A DE102007021711A DE102007021711A1 DE 102007021711 A1 DE102007021711 A1 DE 102007021711A1 DE 102007021711 A DE102007021711 A DE 102007021711A DE 102007021711 A DE102007021711 A DE 102007021711A DE 102007021711 A1 DE102007021711 A1 DE 102007021711A1
Authority
DE
Germany
Prior art keywords
design element
grid
design
scan data
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102007021711A
Other languages
English (en)
Inventor
Seock Hoon Cupertino Bae
Dong Hoon Lee
Chang Yoon Sungnam Yang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inus Technology Inc
Original Assignee
Inus Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inus Technology Inc filed Critical Inus Technology Inc
Publication of DE102007021711A1 publication Critical patent/DE102007021711A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Programmtechnische Extraktion und Verwaltung von Raummodell und Oberflächenmodellierungsparametern für Roh-3-D-Abtastdaten wird diskutiert. Ein automatisierter Prozess liest Roh-3-D-Abtastdaten (4) und arbeitet in Kommunikation mit einem CAD-System, welches in der Lage ist, CAD-Teilmodellierung durchzuführen. Dem Benutzer wird eine automatische Funktion bereitgestellt, um ein Gittermodell (gebildet von den Roh-3-D-Abtastdaten) in Dutzende von Gitterregionen zu segmentieren (114). Eine grafische Benutzerschnittstelle wird bereitgestellt, welche einen Benutzer in die Lage versetzt, einen Typ des Entwurfselements zusammen mit den Gitterbereichen auszuwählen (116), von welchen das Entwurfselement berechnet wird. Jedes Entwurfselement wird durch einen Vektor, eine Ebene oder eine Polyline repräsentiert, abhängig von dem Typ des Entwurfselements. Als Antwort auf eine Benutzeranfrage für die Parameter eines Modellierungsmerkmals wird eine beste Approximation des nachgefragten Parameterwertes berechnet (118) durch Verarbeitung der Roh-3-D-Abtastdaten unter Benutzung eines Satzes von Funktionen.

Description

  • Gebiet der Erfindung
  • Die illustrative Ausführungsform der vorliegenden Erfindung betrifft im Allgemeinen CAD (computerunterstützter Entwurf) und insbesondere reverse Konstruktion (reverse engineering) von 3D-Abtastdaten, um ursprüngliche Entwurfselemente (design intents) während eines Wiederentwurfsprozesses eines Teils zu identifizieren.
  • Hintergrund
  • Anwendungen des computerunterstützten Entwurfs (CAD) werden benutzt, um Computermodelle von zwei- oder dreidimensionalen Objekten als Teil des Produktionsprozesses für das tatsächliche physikalische Objekt, welches modelliert wird, zu erzeugen. Die Modelle umfassen häufig mehrere Teile, welche individuell entworfen werden müssen. Der Entwerfer der Modellteile kann spezialisierte Modellierungsmerkmale benutzen, um die Modellteile zu entwerfen. Beispielhafte Modellierungsmerkmale (welche Entwurfselemente genannt werden können) umfassen Extrudieren, Drehen, Enthülsen, Ausrunden, Schweifen, Lofting, Mischen, Prägen, Musterkopieren, etc. Die Entwurfselemente können parametrisiert sein und der Modellentwerfer experimentiert häufig während des Entwurfsprozesses mit verschiedenen Parameterwerten für die Entwurfselemente. Wenn der Entwerfer mit dem Entwurf zufrieden ist, kann das tatsächliche physikalische Objekt unter Benutzung des Modells erzeugt werden.
  • 3D-Abtasten erfasst physikalische Geometrieinformation für ein dreidimensionales Objekt durch Aufnehmen von hochaufgelösten Punkten, welche die Form des abgetasteten dreidimensionalen Objektes repräsentieren. Wenn sie erfasst sind, können die 3D-Abtastdaten in ein CAD-Teilmodell konvertiert werden zur weiteren Verarbeitung, um den Entwurf des dreidimensionalen Objektes zu replizieren oder zu modifizieren. Diese Prozedur, 3D-Abtastdaten für ein dreidimensionales Objekt zu erfassen, um sie einer CAD-Anwendung bereitzustellen, so dass das Objekt neu entworfen werden kann, wird reverse Konstruktion genannt.
  • Unglücklicherweise repräsentieren die Rohabtastdaten, welche durch einen 3D-Abtaster während eines reversen Konstruktionsprozesses erfasst sind, nur eine finale Geometrie des Objekts. Die Tatsache, dass die 3D-Abtastdaten nur eine finale Geometrie des Objekts repräsentieren, macht es schwierig, die ursprünglichen Entwurfselemente und ihre Parameterwerte zurückzuverfolgen. Zum Beispiel ist es schwierig, von den 3D-Abtastdaten ursprüngliche Entwurfselemente und ihre Parameterwerte für Merkmale, wie etwa ein zweidimensionales Extrusionsprofil, eine Richtung und einen Abstand, ein zweidimensionales Drehprofil, eine Achse und einen Winkel, einen konstanten oder variierenden Ausrundungsradius, eine Entwurfsebene und ihren Winkel, eine Schweifwegkurve, Mittellinien von gekrümmten Rohren, etc. zu bestimmen. Die Unfähigkeit, die ursprünglichen Entwurfselemente zu bestimmen, führt dazu, dass der reverse Konstruktionsprozess weniger präzise und produktiv ist. Es wäre wünschenswert, einen computerisierten Prozess bereitzustellen, welcher mit einem CAD-System arbeitet, welches den Benutzer programmtechnisch dabei unterstützt, ursprüngliche Entwurfselemente unter Benutzung von Roh-3D-Abtastdaten zu explorieren und zu berechnen.
  • Kurze Zusammenfassung
  • Die illustrative Ausführungsform der vorliegenden Erfindung ermöglicht einem Benutzer, programmtechnisch Raum- und Oberflächenmodellierungsparameter von Roh-3D-Rbtastdaten zu extrahieren und zu verwalten. Ein automatisierter Prozess liest Roh-3D-Abtastdaten und arbeitet in Kommunikation mit einem CAD-System, welches in der Lage ist, CAD-Teilmodellierung durchzuführen. Dem Benutzer wird eine automatische Funktion bereitgestellt, ein Gittermodell (gebildet von den Roh-3D-Abtastdaten) in Dutzende von Gitterbereichen durch Abschätzen von geometrischen Werten zu segmentieren, wie etwa Gitternormalen- oder Krümmungswerten. In einer Ausführungsform kann der Ausdruck "Gitter" im Sinne von "Netz" oder "Masche" benutzt sein. In einer Ausführungsform kann der Ausdruck "geometrischer Wert" im Sinne von "geometrischer Eigenschaft" benutzt sein. Eine grafische Benutzerschnittstelle wird bereitgestellt, welche einem Benutzer ermöglicht, einen Typ des Entwurfselements zusammen mit einer oder mehreren Gitterbereichen auszuwählen, von welchen das Entwurfselement berechnet wird. Einige Entwurfselemente können auch programmtechnisch durch wohlgeformte Merkmalsbereiche gefunden werden. Jedes Entwurfselement wird in einem Vektor, einer Ebene oder einer Polyline abhängig von dem Typ des Entwurfselements repräsentiert. Unter Polyline wird in dieser Anmeldung eine Kurve verstanden, die mehrere Liniensegmente umfasst. Zusätzlich wird als Antwort auf eine Benutzernachfrage für Parameter des Modellierungsmerkmals eine beste Approximation des angefragten Parameterwertes durch Verarbeitung der Roh-3D-Abtastdaten unter Benutzung eines Satzes von Funktionen berechnet. Der Benutzer kann dann den approximierten Wert benutzen oder den Wert manuell modifizieren.
  • In einem Aspekt der vorliegenden Erfindung umfasst ein Verfahren zum Approximieren von ursprünglichen Entwurfselementen während einer reversen Konstruktion unter Benutzung von 3D-Abtastdaten den Schritt von Bereitstellen einer Kollektion von 3D-Abtastdaten, welche die Form eines dreidimensionalen Objekts repräsentiert. Die 3D-Abtastdaten werden in mehrere Gitter kombiniert, welche in ein Gittermodell kombiniert werden, welches das dreidimensionale Objekt repräsentiert. Das Verfahren segmentiert auch das Gittermodell mit einer Segmentierungseinrichtung in mehrere Gitterbereiche. Zusätzlich wählt das Verfahren einen Gitterbereich und einen Typ eines Entwurfselements aus, wobei das Entwurfselement ein ursprüngliches Entwurfsmerkmal ist. Ein approximativer Wert des ausgewählten Typs des Entwurfselements für den ausgewählten Gitterbereich wird programmtechnisch berechnet. Die Berechnung benutzt die 3D-Abtastdaten für den ausgewählten Gitterbereich.
  • In einem anderen Aspekt der vorliegenden Erfindung umfasst ein System zum Approximieren von ursprünglichen Entwurfselementen unter Benutzung von 3D-Abtastdaten eine Segmentierungseinrichtung. Die Segmentierungseinrichtung segmentiert programmtechnisch ein Gittermodell, welches von 3D-Abtastdaten eines dreidimensionalen Objektes gebildet ist, in mehrere Gitterregionen. Das System umfasst auch eine Benutzerschnittstelle, welche die Auswahl eines Gitterbereichs und eines Typs eines Entwurfselements gestattet. Das Entwurfselement ist ein ursprüngliches Entwurfsmerkmal. Zusätzlich umfasst das System eine Entwurfselementeinrichtung in Kommunikation mit einer Anwendung des computerunterstützten Entwurfs (CAD). Die Entwurfselementeinrichtung berechnet programmtechnisch einen approximativen Wert für den ausgewählten Typ des Entwurfselements für den ausgewählten Gitterbereich. Die 3D-Abtastdaten für den ausgewählten Gitterbereich werden beim Berechnen des approximativen Wertes für den ausgewählten Typ des Entwurfselements benutzt.
  • Kurze Beschreibung der Zeichnungen
  • Die Erfindung wird im Besonderen in den angehängten Ansprüchen dargelegt. Die Vorteile der Erfindung, welche oben beschrieben sind, wie auch weitere Vorteile der Erfindung, können besser mit Bezug auf die folgende Beschreibung verstanden werden, welche in Verbindung mit den angehängten Zeichnungen betrachtet wird, in welchen:
  • 1 eine Umgebung zeigt, welche geeignet ist, um die illustrative Ausführungsform der vorliegenden Erfindung zu praktizieren;
  • 2 ein Flussdiagramm einer Folge von Schritten ist, welchen durch eine Ausführungsform der vorliegenden Erfindung gefolgt ist, um ursprüngliche Entwurfselemente unter Benutzung von Roh-3D-Abtastdaten zu identifizieren;
  • 3A die Auswahl eines Gitterbereichs zeigt, um eine Extrusionsrichtung zu berechnen;
  • 3B den berechneten Extrusionsvektor für den Gitterbereich, welcher in 3A gewählt ist, zeigt;
  • 4A die Auswahl eines Gitterbereichs zeigt, um ein Drehzentrum zu berechnen;
  • 4B den berechneten Vektor zeigt, welcher das Drehzentrum für den Gitterbereich, welcher in 4A ausgewählt ist, zeigt;
  • 4C ein berechnetes Drehzentrum für mehrere ausgewählte Gitterbereiche zeigt;
  • 5A die Auswahl eines Gitterbereichs zeigt, um ein Extrusionsprofil zu berechnen;
  • 5B die berechnete Polyline zeigt, welche das Extrusionsprofil für den Gitterbereich ausdrückt, welcher in 5A ausgewählt ist;
  • 6A die Auswahl eines Gitterbereichs zeigt, um ein Drehprofil zu berechnen;
  • 6B die berechnete Polyline zeigt, welche das Drehprofil für den Gitterbereich, welcher in 6A ausgewählt ist, ausdrückt;
  • 7A die Auswahl eines Gitterbereichs zeigt, um eine Spiegelebene zu berechnen;
  • 7B die berechnete Ebene zeigt, welche die Spiegelebene für den Gitterbereich, welcher in 7A ausgewählt ist, ausdrückt;
  • 8A die Auswahl von drei Gitterbereichen zeigt, um eine Schweifwegkurve zu berechnen;
  • 8B die berechnete Polyline zeigt, welche die Schweifwegkurve für den Gitterbereich, welcher in 8A ausgewählt ist, ausdrückt;
  • 9A die Auswahl eines Gitterbereichs zeigt, um eine Mittellinie eines gekrümmten Rohrs zu berechnen;
  • 9B die berechnete Polyline zeigt, welche die Mittellinie eines gekrümmten Rohrs für den Gitterbereich, welcher in 9A ausgewählt ist, ausdrückt;
  • 9C die Kreise maximaler Passung und Mittelachse zeigt, welche benutzt sind, um die Mittellinie des gekrümmten Rohrs zu bestimmen;
  • 9D einen Baum minimaler Spannweite (MST) und eine Polyline, welche die aufeinanderfolgenden MST-Punkte verbindet, zeigt;
  • 10 die Minimierung eines Unterschnitts zeigt, während ein Teilungsrichtungselement gefunden wird;
  • 11A ein Gitter niedriger Qualität zeigt, von welchem ein inkorrektes CAD-Raummodell erzeugt würde;
  • 11B die Daten niedriger Qualität zeigt, welche für das Gitter niedriger Qualität der 11A benutzt wurden;
  • 11C das Gitter nach einem Editieren des Gitters zeigt;
  • 11D das Gitter nach einem Kombinieren von Sätzen von Daten zeigt;
  • 11E ein wiedererzeugtes CAD-Raummodell zeigt;
  • 12A und
  • 12B die Berechnung von Drehwinkeln zeigen;
  • 13 die Berechnung eines Extrusionsabstands durch die vorliegende Erfindung zeigt;
  • 14 die Berechnung von Entwurfswinkeln durch die vorliegende Erfindung zeigt;
  • 15A die Berechnung einer lokalen Oberflächennormalen zeigt;
  • 15B ein Raummodell zeigt, welches von dem Äußeren eines Gitters erzeugt ist;
  • 15C einen Querschnitt des Raummodells der 15B zeigt;
  • 15D das Raummodell der 15B zeigt, nachdem eine Aushöhlungsoperation durch die vorliegende Erfindung ausgeführt ist; und
  • 16 die Ausrundungsoperation der vorliegenden Erfindung zeigt.
  • Detaillierte Beschreibung
  • Die illustrative Ausführungsform der vorliegenden Erfindung stellt einem Benutzer Werkzeuge zur Verfügung, um ursprüngliche Modellierungsentwurfselemente zu approximieren während reverser Konstruktion eines dreidimensionalen Objektes von 3D-Abtastdaten. Ein automatisierter Prozess erlaubt einem Benutzer, auf bestimmte Gitterbereiche abzuzielen und den besonderen Typ eines ursprünglichen Entwurfsmerkmals zu spezifizieren, für welchen der Benutzer interessiert ist, einen Parameterwert zu erhalten. Die vorliegende Erfindung analysiert programmtechnisch die darunter liegenden Gitterdaten, um das ursprüngliche Entwurfselement abzuleiten und dem Benutzer eine beste Abschätzung, wie eines Wertes des ursprünglichen Entwurfselements, zu präsentieren. Der Benutzer ist dann in der Lage, die Approximation zu benutzen oder sie zu modifizieren, wie erforderlich, während er Raummodellteile erzeugt.
  • 1 zeigt eine Umgebung, welche geeignet ist, die illustrative Ausführungsform der vorliegenden Erfindung zu praktizieren. Ein Rechengerät 2 umfasst eine Kollektion von Roh-3D-Abtastdaten 4 für ein abgetastetes dreidimensionales Objekt. Die Roh-3D-Abtastdaten 4 sind von einem dreidimensionalen Abtaster gesammelt. Das Rechengerät 2 umfasst auch eine CAD-Anwendung 6, eine Entwurfselementeinrichtung 8 und eine Segmentierungseinrichtung 10. Das Rechengerät 2 kann eine Arbeitsstation sein, ein Server, ein Laptop, ein Mainframe-Computer, ein PDA, ein Cluster von Geräten, welche zusammenarbeiten, ein virtuelles Gerät sein oder ein anderes Rechengerät sein, welches in der Lage ist, die CAD-Anwendung 6, die Entwurfselementeinrichtung 8 und die Segmentierungseinrichtung 10, welche hierin diskutiert sind, zu unterstützen. Die Entwurfselementeinrichtung 8 und die Segmentierungseinrichtung 10 sind ausführbare Softwareprozesse, welche weiter unten beschrieben werden. Die Entwurfselementeinrichtung 8 und die Segmentierungseinrichtung 10 können als Anwendungsprozesse implementiert sein, als Anwendungs-Plug-Ins oder als eigenständige Anwendungen. In einer Implementierung der vorliegenden Erfindung ist die Entwurfselementeinrichtung 8 in die CAD-Anwendung 6 als ein Werkzeug integriert. In einer weiteren Implementierung ist die Entwurfselementeinrichtung 8 in Kommunikation mit der CAD-Anwendung 6, ist aber kein Teil der CAD-Anwendung. In einer weiteren Implementierung, ist die Segmentierungseinrichtung Teil der Entwurfselementeinrichtung 8.
  • Die Rohabtastdaten 4 sind eine Kollektion von hochaufgelösten Punkten in drei Dimensionen, welche die Form eines abgetasteten Objekts repräsentiert. In einer Implementierung sind die Rohabtastdaten 4 ein Satz von dreieckigen Gittern, aber die Benutzung von anderen Formen von Abtastdaten wird auch als innerhalb des Geltungsbereichs der vorliegenden Erfindung betrachtet. Zum Beispiel können die Rohabtastdaten 4 Punkte sein, viereckige Gitter, Tetraeder-Gitter oder Hexaeder-Gitter. Kollektiv bildet der Satz von Gittern ein Gittermodell, welches die Oberfläche des abgetasteten Objekts repräsentiert. Die Segmentierungseinrichtung 10 erlaubt einem Benutzer, das Gittermodell 12 programmtechnisch in Gitterbereiche 14, 16 und 18 gemäß von Krümmungswerten zu segmentieren. Es wird erkannt werden, dass mehrere gekrümmte Segmente des Gittermodells zu einer größeren Zahl von Gittern führt, um so die Illusion einer glatten Oberfläche zu erzeugen. Die Entwurfselementeinrichtung 8 erzeugt eine grafische Benutzerschnittstelle (GUI) 32 auf einer Anzeige 30, welche in Kommunikation mit dem Rechengerät 2 ist. Die GUI 32 ermöglicht einem Benutzer 20, einen bestimmten Gitterbereich 12, 14 und 16 in dem Gittermodell und einen bestimmten Typ eines Entwurfselements auszuwählen, für welches der Benutzer den ursprünglichen Parameterwert zu berechnen wünscht. Die Entwurfselementeinrichtung 8 analysiert die Rohabtastdaten 4 mit einem Satz von Funktionen, wie weiter unten ausgeführt ist, und berechnet einen approximativen Wert für das Entwurfselement, welches durch den Benutzer 20 angefordert ist.
  • 2 ist ein Flussdiagramm einer Folge von Schritten, welchen durch eine Ausführungsform der vorliegenden Erfindung gefolgt wird, um ursprüngliche Entwurfselemente unter Benutzung von Roh-3D-Abtastdaten zu identifizieren. Die Folge von Schritten beginnt mit der Bereitstellung einer Kollektion von Roh-3D-Abtastdaten 4 (Schritt 110). Die Roh-3D-Abtastdaten können als ein dynamischer Teil des Prozesses der Bestimmung eines Entwurfselements erfasst werden oder können vorher gespeicherte Abtastdaten sein. Ein Gittermodell 12 wird von den Abtastdaten 4 erzeugt, wenn die Daten nicht vorher in ein Modell kombiniert worden sind (Schritt 112). Die Segmentierungseinrichtung 10 kann als Antwort auf einen Benutzerbefehl benutzt werden, um programmtechnisch das Gittermodell 12 in mehrere Gitterbereiche 14, 16 und 18 zu segmentieren (Schritt 114). Die Entwurfselementeinrichtung kann dann einige Entwurfselemente automatisch von Bereichen finden, wo Merkmale gut erhalten sind. Ein Benutzer 20, welcher das Gittermodell 12 auf der Anzeige 30 betrachtet, kann dann eine GUI 32 benutzen, um einen oder mehrere Gitterbereiche 14, 16 und/oder 18 und einen Typ eines Entwurfselements auszuwählen, für welchen er wünscht, dass die Entwurfselementeinrichtung eine Approximation des ursprünglichen Entwurfsparameterwertes berechnet (Schritt 116). Die Entwurfselementeinrichtung 8 analysiert dann die Rohabtastdaten 4, wie weiter unten ausgeführt ist, um einen wert für den Typ des Entwurfselements für den ausgewählten Gitterbereich 14, 16 und/oder 18 zu berechnen (Schritt 118).
  • Wie oben bemerkt, erlaubt die vorliegende Erfindung einem Benutzer, einen Gitterbereich auszuwählen, für welchen der Benutzer wünscht, dass die Entwurfselementeinrichtung 8 einen Wert für ein ursprüngliches Entwurfselement bestimmt. Um die vorliegende Erfindung besser zu erklären, wird die Bestimmung einer Zahl von verschiedenen Typen von Entwurfselementen diskutiert werden. Es wird geschätzt werden, dass die unten diskutierte Liste illustrativ ist und dass andere Entwurfselemente, welche nicht spezifisch diskutiert sind, auch innerhalb des Geltungsbereichs der vorliegenden Erfindung sind.
  • Die berechneten Entwurfselemente werden durch einen oder mehrere eines Vektors, einer Ebene oder einer Polyline abhängig von dem Typ des Entwurfselements repräsentiert. Zum Beispiel sind Extrusionsrichtungen, Drehzentren und Teilungsrichtungen durch einen Vektor repräsentiert, Teilungsrichtungen sind durch einen oder mehrere Vektoren repräsentiert, Extrusionsprofile, Drehprofile, Schweifungswegkurven (sweeping path curve), Mittellinien von gekrümmten Rohren, Ausrundungszentren, virtuelle scharfe Kanten, Walzlinien, Silhouettenkurven und Teilungskurven sind durch Polylines repräsentiert, und orthogonale Ebenen und Spiegelebenen sind durch Ebenen repräsentiert. Die Entwurfselementeinrichtung führt Fehlerminimierungsroutinen durch, um Vektor-, Ebene- oder Poyline-Orientierungen von dem Gitter zu bestimmen. Vektoren haben die variablen Positionen X, Y, Z und Richtung I, J, K. Ebenen haben die variablen Positionen X, Y, Z und Normalenrichtung I, J, K. Polylines sind viele Segmente von geraden Linien, welche von Polygonkanten abgeleitet sind (das ist von einer Silhouetten-Polyline-Erzeugung, welche eine Projektion der Polygonkante auf eine Ebene ergibt).
  • Die Entwurfselementeinrichtung 8 führt Fehlerminimierungsroutinen durch, um Entwurfselemente von dem Gitter zu bestimmen. Ein Beispiel für eine rechteckige Form wird unten aufgelistet:
    • 1) Eine Extrusion wird unter Benutzung eines Basisentwurfs erzeugt. Von der Form ist bekannt, dass sie rechteckig ist. Die Dimensionen des Rechtecks können X & Y genannt werden, und der Extrusionsabstand Z. X, Y & Z sind die Breite, Tiefe und Höhe der rechteckigen Schachtel. Dieses sind die Parameter des Modells.
    • 2) Die Nebenbedingung, dass die Entwurfslinien senkrecht zueinander sind, wird inhärent erzwungen, weitere Nebenbedingungen könnten hinzugefügt werden.
    • 3) Der Benutzer kann wünschen, den Fehler über das ganze Gitter zu minimieren (die Abweichung zu minimieren) oder alternativ kann der Benutzer wünschen, den Fehler über ausgewählte Gitterbereiche zu minimieren.
    • 4) Die Parameter X, Y, Z werden unter Benutzung eines multivariablen Optimierungsprozesses und mit automatischen Ausreißer (Rauschdaten)-Entfernungstechniken eingestellt, um die Abweichung zu minimieren.
    • 5) Eine multivariable Optimierung kann in vielen numerischen Einstellungen benutzt werden. Zum Beispiel startet der Benutzer, um eine gerade Linie an Daten anzupassen, mit der Geradengleichung y = m·x + b, wobei b und m Variablen sind und y und x die zwei Datensätze sind. Der Benutzer wählt Startwerte für m & b. Der Fehler ist die Differenz (oder ein "quadratischer" Abstand; Summe von quadratischen Abständen) zwischen den Datensätzen y und den berechneten y unter Benutzung der Startwerte m & b und x. m & b werden dann eingestellt, bis der Fehler minimiert wird. Dies ist die Minimierung des Fehlers der kleinsten Quadrate, oder eine multivariable Optimierung.
  • Die Entwurfselementeinrichtung 8 kann dazu benutzt werden, eine Extrusionsrichtung eines Entwurfselements zu bestimmen. Der Benutzer wählt einen Gitterbereich oder -bereiche aus, welche Seitenflächen sein können, wenn ein ebenes Profil extrudiert wird. Die Entwurfselementeinrichtung 8 berechnet dann einen Vektor, welcher am besten die Extrusionsrichtung ausdrückt. Dieser Prozess kann mit Bezug auf die 3A und 3B gesehen werden. In 3A wählt der Benutzer durch ein Steuerelement 180 in der grafischen Benutzerschnittstelle 32 die vorderen vier zylindrisch geformten Bereiche 202, 204, 206 und 208 in dem Gittermodell 200 aus. Der Benutzer wählt auch durch ein weiteres Steuerelement 190 das "Extrusionsachse"-Verfahren aus. Durch Beginnen mit einer Schätzung für die Extrusionsachse (A) und Bestimmen des Winkels zwischen der Achse und allen normalen Vektoren aller Flächen in dem Bereich (N) wird ein Wert AN für alle Flächen in dem Bereich erhalten (dies ist der Winkel zwischen der Normalen der Polygonfläche und der momentan besten Schätzung für die Extrusionsachse). Eine Minimierungsprozedur wird dann durchgeführt, um die Unterschiede zwischen dem Satz von AN-Messungen zu minimieren. Nach der Minimierungsprozedur wird ein mittlerer AN-Wert erzeugt. AN = 90 Grad – Winkel der Aushebeschräge (daher, wenn AN = 90 Grad ist, gibt es keine Aushebeschräge in dem extrudierten Teil). Zusätzliche Optionen, welche die Achse betreffen, wie etwa Entfernen von Ausreißern, Abtastraten und der maximale Winkel für den Extrusionsvektor, können auch durch den Benutzer durch ein drittes Steuerelement 195 konfiguriert werden. Auf die Auswahl der vier Bereiche 202, 204, 206 und 208 folgend, berechnet die Entwurfselementeinrichtung 8 einen Vektor für die Extrusionsrichtung. Der Algorithmus für die Extrusionsrichtung für Gitterdaten wird benutzt, welcher die Lösung einer Matrixgleichung umfasst. Der berechnete Extrusionsrichtungsvektor 220 für den benutzerausgewählten Gitterbereich ist in 3B umkreist. Der Teil des Extrusionsrichtungsvektors 220, welcher innerhalb des Körpers des Gitterbereichs ist, ist durch eine gestrichelte Linie gekennzeichnet.
  • Der Prozess, ein Entwurfselement eines Drehzentrums zu bestimmen, ist ähnlich. Der Benutzer wählt einen oder mehrere Gitterbereiche aus (welche Seitenflächen sein können, wenn ein ebenes Profil gedreht wird). Die Entwurfselementeinrichtung 8 berechnet dann einen Vektor, welcher am besten die Drehmittelachse ausdrückt. Dieser Prozess kann mit Bezug auf die 4A, 4B und 4C gesehen werden. In 4A wählt der Benutzer den ersten skizzierten Zylinder 202 (Bereich 2) unter Benutzung der Auswahlsteuerung 180 aus, welcher kegelförmig ist. Es wäre wünschenswert, die Drehachse dieses Zylinders zu schätzen.
  • Der Benutzer benutzt die Verfahrenssteuerung 190 in der grafischen Benutzeroberfläche 32, um das "Drehachsen"-Verfahren auszuwählen. Der Drehvektoralgorithmus wird benutzt, welcher die Lösung einer Matrixgleichung umfasst. Für den in 4A ausgewählten Bereich zeigt die umkreiste gestrichelte Linie in 4B das berechnete Drehzentrum 230. Das Drehzentrum kann auch für mehrere Bereiche detektiert werden. In 4C wählt der Benutzer Bereich 1 (242), 2 (244) und 3 (246) in Gittermodell 240 mit der Auswahlsteuerung 180 aus. Die Entwurfselementeinrichtung 8 berechnet das gezeigte Drehzentrum 250 für die benutzerausgewählten drei Bereiche 242, 244 und 246.
  • Die Entwurfselementeinrichtung 8 kann auch dazu benutzt werden, ein Entwurfselement eines Extrusionsprofils zu bestimmen. Der Benutzer wählt einen Gitterbereich oder -bereiche (welche Seitenflächen sein können, wenn ein ebenes Profil extrudiert wird) aus und eine Entwurfsebene, auf welcher das Profil erzeugt wird. Die Entwurfselementeinrichtung 8 erzeugt eine Silhouettenkurve der Bereichsdaten eines extrudierten Raumbereichs und projiziert die Silhouettenkurve auf die Entwurfsebene (mit der Extrusionsachse als Normale). Eine Folge von linearen Segmenten auf der Ebene (die Projektion der Silhouettenkurve) wird in einer Polyline (dem Extrusionsprofil) repräsentiert. Der Prozess kann mit Bezug auf die 5A und 5B gesehen werden. Wenn der Benutzer in 5A die vier vorderen zylindrischen Bereiche 202, 204, 206 und 208 und die vier hinteren zylindrischen Bereiche 201, 203, 205 und 207 auswählt und einen "Extrusionsprofil"-Befehl auswählt, wird das Entwurfselement eines Extrusionsprofils 260, welches in 5B gezeigt ist, erzeugt. Die Entwurfselementeinrichtung 8 bestimmt intern die Extrusionsrichtung unter Benutzung des Extrusionsrichtungsbefehls. Unter Benutzung aller abgeflachten (projizierten) Daten passt die Entwurfselementeinrichtung 8 eine Folge von Linien an diese Daten auf die beste Weise an, um die Polyline zu erzeugen, welche das Extrusionsprofil ist. Das Ergebnis ist eher eine Polyline als exakte Kreise.
  • Um ein Entwurfselement eines Drehprofils zu bestimmen, wählt der Benutzer einen Gitterbereich oder -bereiche (welche Seitenflächen sein können, wenn ein ebenes Profil gedreht wird) und eine Drehmittelachse aus. Die Entwurfselementeinrichtung 8 erzeugt ein gedrehtes Bild des Gitterbereichs oder der -bereiche, welche ausgewählt sind, und erzeugt eine Querschnittspolyline zwischen dem gedrehten Bild und einer Ebene, welche in der Drehachse liegt. Dieser Prozess kann mit Bezug auf die 6A und 6B gesehen werden. In 6A wählt der Benutzer drei Bereiche 242, 244 und 246 von dem Modell 240 aus und benutzt einen "Drehprofil"-Befehl, welcher durch die Entwurfselementeinrichtung 8 durch die grafische Benutzeroberfläche 32 verfügbar ist, um den Drehabschnitt oder das "Drehprofil" zu bestimmen. Das Drehprofil ist eine Schätzung des 2D-Entwurfs, welcher dazu benutzt werden könnte, um eine Drehachse gedreht zu werden und ein Raummodell zu erzeugen. Das Drehprofil 270, welches für die ausgewählten Bereiche in dem Modell 240 in 6A berechnet ist, ist in 6B gezeigt. Drehen des Musters 270 der 6B um eine mittlere Achse würde die ausgewählten Bereiche 242, 244 und 246 am besten anpassen. Um das Drehprofil 270 zu bestimmen, führt die Entwurfselementeinrichtung Operationen in derselben Weise aus wie für das Extrusionsprofil, welches oben diskutiert ist, mit Ausnahme, dass ein "Drehzentrum"-Befehl benutzt wird und die gesamten Bereichsdaten, welche einem gedrehten Raummodell entsprechen, entlang einer Drehung um dieses Zentrum auf eine Entwurfsebene projiziert werden, welche in der gleichen Ebene mit der Drehachse liegt (im Gegensatz zur Benutzung einer "Extrusionsrichtungs"-Funktion und Projektion von Bereichsdaten). Die Punkte werden ausgedünnt und ein Verfahren eines Baums mit minimaler Spanne wird benutzt, um eine Polyline zu bilden. Ein exemplarisches Verfahren eines Baums mit minimalem Spann kann in "Curve Reconstruction from Unorganized Points", In-Kwon Lee, POSTECH Information Research Laboratories gefunden werden.
  • Die Entwurfselementeinrichtung 8 kann auch dazu benutzt werden, ein Entwurfselement einer Spiegelebene zu bestimmen, wenn gegebene Gitterbereiche symmetrisch zu einer bestimmten Ebene sind. Um die Spiegelebene zu identifizieren, wählt der Benutzer einen Gitterbereich oder -bereiche aus und spezifiziert eine Ebene als eine anfängliche Approximation, welche grob nahe der Spiegelebene ist. Die Entwurfselementeinrichtung 8 kopiert den gegebenen Gitterbereich oder -bereiche und transformiert ihn/sie symmetrisch zu der gegebenen Ebene. Die Entwurfselementeinrichtung 8 transformiert den kopierten Gitterbereich oder -bereiche, um die Summe der Abstände zwischen Punkten in überlappenden Teilen durch einen ICP (iterative nächste Punkte)-Algorithmus zu minimieren und die resultierende Transformationsmatrix von dem ICP-Algorithmus wird dazu benutzt, die Spiegelebene einzustellen. Die Entwurfselementeinrichtung 8 speichert die Transformationsmatrix und wendet sie iterativ auf die gegebene Ebene an, bis der Algorithmus konvergiert und gibt dann das Resultat an den Benutzer 20 aus.
  • Der Prozess, eine Spiegelebene zu bestimmen, kann mit Bezug auf die 7A und 7B gesehen werden. In 7A ist eine Spiegelebene 302 für ein Modell 300 gezeigt. Die Spiegelebene 302 repräsentiert die initiale Approximation, welche durch den Benutzer gegeben ist. Die Ausführung eines "Spiegelebene"-Befehls unter Benutzung der Entwurfselementeinrichtung 8 der vorliegenden Erfindung für alle Bereiche führt dazu, dass die Spiegelebene 304 für das Modell 300, welches in 7B gezeigt ist, berechnet wird. Die Spiegelebene 304 wird durch Anwenden der Transformationsmatrix auf die approximierte Ebene 302, welche durch den Benutzer bereitgestellt ist, berechnet.
  • Um ein Entwurfselement einer Schweifwegkurve zu bestimmen, wählt der Benutzer einen Gitterbereich oder -bereiche (welche Seitenflächen sein können) aus, wenn eine Profilkurve geschweift wird. Dieser Prozess kann mit Bezug auf 8A und 8B gesehen werden. In 8A werden die drei Bereiche 312, 314 und 316 für das Modell 310 (nur der obere Bereich/die obere Fläche 312 ist direkt in 8A sichtbar), welche die geschweifte Oberfläche umfassen, durch den Benutzer ausgewählt. Die Entwurfselementeinrichtung schätzt dann eine Schweifkurve 318 für das Modell 300, wie in 8B gezeigt. Die Oberfläche kann dann dadurch erzeugt werden, dass das dreiseitige Profil entlang der gezeigten Polyline 318 geschweift wird. Dem Algorithmus wird ein Startpunkt auf dem Schweifprofil gegeben (die Führungslinie ist, was der Benutzer am Ende zu bestimmen wünscht). Eine Krümmung eines Schnitts (die Krümmung ist abhängig von der Schnittrichtung und ist eine diskrete Berechnung) wird lokal bestimmt (an diskreten Punkten) auf der Gitteroberfläche. Die Schnittrichtungen, welche zu der lokalen minimalen und maximalen Krümmung führen, werden berechnet und sind die Hauptkrümmungsrichtungen. Die Schnittrichtungen sind orthogonal zueinander bei einem gegebenen Punkt. Die Software verfolgt den Krümmungsfluss basierend auf den Hauptkrümmungsrichtungen (basierend auf den diskreten Schnittkrümmungsbestimmungen). Eine Führungskurve wird basierend auf der initialen Suchstellung berechnet (da es eine unendliche Zahl von Führungskurven für eine gegebene Oberfläche gibt).
  • Die Entwurfselementeinrichtung 8 kann auch dazu benutzt werden, eine Mittellinie eines Entwurfselements eines gekrümmten Rohrs zu bestimmen. Diese Einrichtung benutzt einen zu dem Entwurfselement einer Schweifführungskurve ähnlichen Arbeitsablauf. Der Benutzer 20 wählt einen Gitterbereich oder -bereiche (welche Seitenflächen sein können) aus, wenn ein kreisförmiges Profil geschweift wird. Der Prozess arbeitet ähnlich wie der für die Schweifführungskurve, welcher oben diskutiert ist. Dieser Prozess kann mit Bezug auf die 9A und 9B gesehen werden. In 9A sind Daten von einer unvollständigen Abtastung eines Rohrs mit einer Krümmung in der Mitte 350 gezeigt. Die Entwurfselementeinrichtung kann das ursprüngliche Entwurfselement dadurch berechnen, dass die Mittellinie des Rohrs 350 bestimmt wird, und erzeugt eine Kurve 352 einer besten Anpassung, welche durch die Mittellinie tritt, wie in 9B gezeigt. Der Prozess, die Mittellinie zu bestimmen, wird weiter in 9C und 9D erklärt und beginnt mit der Bestimmung einer "medialen Achse" für den ausgewählten Bereich, wie in 9C gezeigt. Eine mediale Achse ist ein Satz von Punkten (Stellen), wo der Punkt 255 ein Mittelpunkt einer Sphäre ist, welche in den Bereich (maximale Sphäre) 353 eingeschrieben ist. Die Punkte der medialen Achse sind ausgedünnt und ein Baum eines minimalen Spanns (MST) wird berechnet 357, wie in 9D gezeigt. Eine Polyline wird erzeugt, welche ein Satz von Liniensegmenten ist, welche die MST-Punkte nachfolgend verbinden. Die ursprüngliche Punktwolke wird ausgedünnt unter Benutzung eines Verfahrens einer medialen Achse unter Benutzung von maximalen Sphären und ein Baum eines minimalen Spanns wird von den Punkten der medialen Achse erzeugt. Das aufeinanderfolgende Segment ist in der unteren Figur umkreist und ist die Polyline 359, welche die Mittellinie des gekrümmten Rohrs repräsentiert.
  • Die Entwurfselementeinrichtung kann auch ein Element einer Teilungsrichtung berechnen. Wenn ein Formteil mit zwei Formen (etwa durch Gießen) erzeugt wird, eine für das Oberteil und eine für das Unterteil, müssen die Formen auseinandergleiten können und dürfen nicht durch das geformte Teil aufgehalten werden. Zum Beispiel kann man ein Stundenglas (oder dessen äußere Oberfläche) nur durch Setzen zweier Formen an den Seiten bilden. Wenn Formen oben oder unten wären, wäre es nicht möglich, sie zu entfernen. Die Software berechnet eine oder viele mögliche Richtungen zum Teilen (Teilungsrichtungen). Diese können als ein oder viele Vektoren oder ein Kegel visualisiert werden, wobei all diese mögliche Teilungsrichtungen anzeigen. Die Teilungsrichtung wird derart bestimmt, um zu versuchen, einen Unterschnitt des Teils zu minimieren. Toleranzparameter betreffend den Grad von erlaubtem Unterschnitt sind mit dieser Einrichtung anwendbar. Die Minimierung eines Unterschnitts kann mit Bezug auf 10 gesehen werden. Ein gegossenes Teil 360 umfasst Oberflächen 362, 364, 366, 368, 370, 372, 374 und 376. Die Entwurfselementeinrichtung 8 versucht, eine Teilungsrichtung zu finden, welche die kleinste Zahl von Oberflächen schneidet. Die Richtung 380 der vertikalen Linie wird zu einem großen Grad von Unterschnitt führen, wenn sie als die Teilungsrichtung benutzt wird, weil Vektoren in dieser Richtung mehr als zwei Oberflächen schneiden (sie wird Oberflächen 362, 364, 366 und 368 schneiden). Im Gegensatz dazu wird die Richtung 390 der horizontalen Linie zu weniger Unterschnitt führen und wäre ein wahrscheinlicherer Kandidat für eine Teilungsrichtung (weil sie nur die Oberflächen 374 und 376 schneidet). Die Berechnung von normalen Winkeln auf dem Gitter in Bezug auf eine mögliche Teilungsrichtung wird benutzt, um die eine (und später viele) mögliche Richtungen für die Teilungsrichtung zu bestimmen. Die vorliegende Erfindung wird auch Teilungskurven erzeugen, welches Kurven sind, um ein Modell in zwei unterschnittfreie Modelle zu trennen, wenn das Modell entlang der gegebenen Teilungsrichtung und Aushebeschrägewinkels bewegt wird.
  • Zusätzlich kann die Entwurfselementeinrichtung 8 auch dazu benutzt werden, um ein Entwurfselement einer Achse eines kreisförmigen Musters zu bestimmen. Um ein Entwurfselement einer Achse eines kreisförmigen Musters zu bestimmen, wählt der Benutzer einen Gitterbereich oder -bereiche aus, welche durch das kreisförmige Muster erzeugt werden können. Die Entwurfselementeinrichtung berechnet dann Transformationsmatrizen durch Registration zwischen Bereichen. Die Registration zwischen Bereichen passt geometrisch ein dreidimensionales Modell an. Der Registrationsprozess benutzt einen PAT (Hauptachsentransformation) und ICP (interative nächste Punkte)-Algorithmus. Der PAT-Algorithmus richtet den Schwerpunkt und die Hauptachse des Modells aus. Der ICP-Algorithmus minimiert iterativ die Summe von Abständen zwischen übereinstimmenden Punkten mit Kriterien von transformierten Modellen. Der PAT wird als initiale Grobausrichtung verwendet und ICP wird als feine Ausrichtung benutzt. Das Ergebnis des Registrationsprozesses wird durch eine Transformationsmatrix (Rotation, Translation) ausgedrückt. Die Entwurfselementeinrichtung 8 wählt einen Referenzbereich von einer Eingabe von n-Bereichen aus. n-1-Transformationsmatrizen werden durch n-1-Registrationen von jedem der n-1-Bereiche zu dem Referenzbereich berechnet. Die Anwendung extrahiert dann eine Drehmittelachse von den berechneten Transformationsmatrizen.
  • Ähnlich kann die Entwurfselementeinrichtung 8 auch dazu benutzt werden, ein Entwurfselement einer Achse eines linearen Musters zu bestimmen. Um ein Entwurfsmuster einer Achse eines linearen Musters zu bestimmen, wählt der Benutzer einen Gitterbereich oder -bereiche aus, welche durch das lineare Muster erzeugt werden können. Die Entwurfselementeinrichtung berechnet dann Transformationsmatrizen durch Registration zwischen Bereichen, welche durch eine gesperrte Drehung eingeschränkt sind. Der Registrationsprozess, welcher durch gesperrte Drehung eingeschränkt ist, arbeitet in derselben Weise wie der Registrationsprozess, welcher oben beschrieben ist, außer dass er den Rotationsterm der Transformation ignoriert (das ist nur eine Translationstransformation) bei der Registration. Die Anwendung extrahiert dann eine Achse eines translationalen Musters von den berechneten Transformationsmatrizen.
  • Zusätzlich kann die Entwurfselementeinrichtung 8 dazu benutzt werden, ein Ausrundungszentrum, eine virtuelle scharfe Kante, eine Wulstlinie und eine Silhouettenkurve, welche als Polylines repräsentiert sind, zu bestimmen. Für ein Ausrundungszentrum wählt der Benutzer einen Gitterbereich oder -bereiche, welche durch Ausrunden erzeugt werden können. Die Entwurfselementeinrichtung 8 berechnet Polylines unter Benutzung von Zentren, welche von Ausrundungsbereichen extrahiert sind. Für virtuelle scharfen Kanten wählt der Benutzer einen Gitterbereich oder -bereiche aus und die Entwurfselementeinrichtung berechnet eine vergrößerte angepasste Oberfläche oder Gitter. Die Entwurfselementeinrichtung berechnet dann Polylines eines Schnitts zwischen vergrößerten Entitäten. Für eine Wulstlinie wählt der Benutzer einen Gitterbereich oder -bereiche aus, welche einen Wulstlinienbereich umfassen. Die Entwurfselementeinrichtung 8 extrahiert dann Nutbereiche von den Gitterbereichen und berechnet Polylines, welche durch die Mittellinie der Nut laufen. Für eine Silhouettenkurve wählt der Benutzer einen Gitterbereich oder -bereiche aus und einen Richtungsvektor (oder Ebene). Wenn eine Ebene ausgewählt ist, projiziert die Entwurfselementeinrichtung einen Gitterbereich oder -bereiche auf die ausgewählte Ebene. Die Entwurfselementeinrichtung erzeugt dann Polylines von Begrenzungsschleifen des projizierten Gitterbereichs oder der Gitterbereiche. Wenn ein Vektor ausgewählt ist, berechnet die Entwurfselementeinrichtung Polylines als Teilungslinien.
  • Wenn die illustrative Ausführungsform der vorliegenden Erfindung ein angefragtes Entwurfselement berechnet hat, kann der Benutzer den Gitterbereich dadurch modifizieren, dass mehr Gitter in ihn einbezogen werden, dass Gitter von ihm ausgeschlossen werden, dass die Geometrie geglättet wird, oder dass andere Gittereditierwerkzeuge benutzt werden. Wenn ein Gitter hinzugefügt wird, erlaubt die vorliegende Erfindung einem Benutzer, die Datei des Gitters auszuwählen und sie in das Programm zu importieren. Bereiche können von diesem neu importierten Gitter erzeugt werden und der Benutzer kann dann einen "Vereinige Bereich"-Befehl benutzen, um es zu einem Bereich hinzuzufügen. Der Benutzer ist auch in der Lage, elementare Gitteroperationen, wie etwa "Vereinige Gitter" und "Kombiniere Gitter" auszuführen. Die "Vereinige Gitter"-Operation vereinigt die Gitter in ein Gitter durch Ausführen von Mittelungsoperationen auf überlappende Bereiche. In dem Beispiel unten, wo es Löcher in dem Startgitter gibt, ist dann das "Vereinigte Gitter", wenn der Benutzer eine Vereinigungsoperation unter Verwendung eines importierten Gitters durchführt, welches keine Löcher hat, eine Mittelung des Startgitters, welches Löcher hat, und des importierten Gitters, welches keine Löcher hat. Die Daten von dem importierten Gitter werden benutzt, um die Öffnungen in dem Startgitter zu füllen. die "Kombiniere Gitter"-Funktion arbeitet ähnlich aber ohne Mittelung.
  • Nachfolgend auf die Gittereditierschritte berechnet die Entwurfselementeinrichtung 8 automatisch erneut Entwurfselemente. Der Entwurfselementbestimmungsprozess, welcher oben diskutiert ist, wird dann für die neuen Daten ausgeführt. Die Entwurfselementeinrichtung 8 propagiert die Änderungen durch Verfolgen von Assoziationen mit allen anderen Entitäten, wie etwa 3D-Körper-Modellierungsmerkmalen, Ausrichtungen, und 2D-Entwurfsprofilen.
  • Der Nutzen der oben bemerkten Merkmale kann mit Bezug auf die 11A11E gesehen werden. Wenn mit Abtastdaten von niederer Qualität gestartet wird und keine Modifikationen vorgenommen werden, führt es zu einem CAD-Raummodell, welches nicht korrekt ist. 11A zeigt ein Gitter 400 von niederer Qualität, von welchem ein inkorrektes CAD-Raummodell erzeugt würde. 11B zeigt Daten 402 von niederer Qualität, welche benutzt werden, um das inkorrekte CAD-Raummodell zu erzeugen. Die vorliegende Erfindung erlaubt dem Benutzer jedoch, die Abtastdaten durch Ausführen von Gitteroperationen, wie etwa "Glätten" und "Ausfüllen von Löchern" auszubessern, oder Gitter hinzuzufügen oder zu entfernen, um ein besseres Gitter zu erzeugen. Ein verbessertes Gitter, nachdem Gittereditieroperationen auf den Abtastdaten 402 von niederer Qualität durchgeführt worden sind, ist in dem Modell 404, welches in 11C gezeigt ist, gezeigt. wie oben diskutiert, erlaubt die illustrative Ausführungsform der vorliegenden Erfindung, dass Abtastdaten vereinigt werden können, wie in dem Modell 410, welches in 11D dargestellt ist, gezeigt ist. Die kombinierten Sätze von Daten werden dazu benutzt, die Leerstellen 412, 414, 416 und 418 in dem Gitter zu füllen, das Rauschen auszumitteln, oder die schlechten Daten zu entfernen. Gitteroperationen, welche Hinzufügen oder Entfernen von Daten des Gitters umfassen, werden automatisch durch die Entwurfselementeinrichtung verfolgt, welche das Entwurfselement erneut berechnet. Diese Änderungen beeinflussen die Berechnung von Vektoren, Ebenen und Polylines. Die erneute Berechnung beeinflusst andere Entitäten, wie etwa 3D-Körper-Modellierungsmerkmale, Ausrichtungen, 2D-Entwurfsprofile und andere Entitäten, wie ersichtlich in der automatischen erneuten Erzeugung eines aktualisierten CAD-Raummodells 420, welches in 11E gezeigt ist.
  • Für "Drehwinkel"- und "Extrusionsabstand"-Merkmale wird ein Satz von Messungen von individuellen Polygonen in der kreisförmigen Richtung der Drehung oder der linearen Richtung der Extrusion erzeugt, um diese Maße (Winkel oder Abstand) zu bestimmen. Beide diese Maße erfordern eine initiale Entwurfsebene (und der Drehwinkel erfordert zusätzlich eine Drehmittellinie). Die Bestimmung des Drehwinkelmerkmals kann mit Bezug auf die 12A und 12B gesehen werden. Der Winkel zwischen der Entwurfsebene 434 und der Mitte jeder Fläche in einem Bereich 432 in einem Modell 430 wird gemessen (Winkel 1 (440), Winkel 2 (442), und Winkel 3 (444). Ausreißer werden basierend auf der Normalen jeder Polygonfläche und der Normalen der Entwurfsebene und der Drehachse 436 gefiltert. Eine Drehachse ist durch eine Linie definiert, welche alle Positionsnormalenvektoren bei Datenpunkten schneidet (alle Punkte in dem ausgewählten Bereich). Ein "Positionsnormalenvektor bei einem Datenpunkt" ist ein Richtungsvektor, welcher von einem Abtastdatenpunkt zu der Normalenrichtung ausgeht. Brauchbare Winkelmessungen der Flächen in dem Bereich (diese, welche nicht durch den Ausreißerfilterungsprozess entfernt worden sind) werden zusammen gemittelt (der maximale und minimale Winkel der brauchbaren Flächen wird auch gespeichert). Der Mittelwert (mittlerer Winkel von brauchbaren Flächen) wird dem Benutzer 20 vorgeschlagen, wie der maximale/minimale Winkel, welcher als der Drehwinkel für den Entwurf zu benutzen ist.
  • Die Berechnung des Extrusionsabstandsmerkmals wird mit Bezug auf die 13 diskutiert. Ähnlich zu der oben diskutierten Berechnung des Drehwinkels wird der Extrusionsabstand 550, 552 und 554 von jeder Flächenmitte 542, 544 und 546 zu der Entwurfsebene 540 berechnet. Ausreißer werden herausgefiltert basierend auf der Normalen jeder Polygonfläche und der Entwurfsnormalen 540 (sie müssen innerhalb einer erlaubten Fehlertoleranz parallel sein). Brauchbare Abstandsmessungen der Flächen in dem Bereich (die, die nicht durch den Filterprozess der Ausreißer entfernt wurden) werden zusammen gemittelt (der maximale und minimale Abstand der brauchbaren Flächen wird auch gespeichert). Der Mittelwert (mittlerer Abstand von brauchbaren Flächen) wird dem Benutzer 20 vorgeschlagen, wie der maximale/minimale Abstand, welcher als der Extrusionsabstand für den Entwurf zu benutzen ist.
  • Die illustrative Ausführungsform der vorliegenden Erfindung berechnet auch für den Benutzer eine beste Schätzung, wenn er Dimensionen festlegt, welche für Aushebeschräge-, Aushöhlen-, und Ausrundungsmerkmale erforderlich sind.
  • Wenn ein Benutzer ein Aushebeschrägemerkmal hinzufügt, taucht ein Aushebeschrägedialogfenster auf. In dem Dialogfenster kann der Benutzer einen grafischen Knopf klicken, um den Aushebeschrägewinkel zu berechnen, welcher der geeignetste Winkel für die Roh-3D-Abtastdatengeometrie ist. Die vorliegende Erfindung berechnet die Schnittkurve zwischen den Roh-3D-Abtastdaten und einer Ebene, welche leicht nach oben von der neutralen Ebene bewegt ist, von welcher der Aushebeschrägewinkel berechnet ist. Bei abgetasteten Punkten auf der Schnittkurve werden Ebenen erzeugt, deren Normalenvektoren tangential an die Schnittkurve sind. Die Schnittlinien zwischen diesen Ebenen und den Roh-3D-Abtastdaten werden dann berechnet. Winkel werden zwischen Normalenvektoren der neutralen Ebene und definierten Ebenen gemittelt (die Ebenen, deren Aushebeschrägewinkel fraglich ist). Die vorliegende Erfindung schlägt dem Benutzer drei Winkelwerte vor: Den minimalen, den maximalen und den mittleren Winkel.
  • Der Prozess, Aushebeschrägewinkel zu berechnen, ist in 14 dargestellt. Durch Auswählen zweier Bereiche 502 und 504 in dem Modell 500 (der normale Bereich – flacher Basisbereich 502 in 14; und der abgeschrägte Bereich – der gewinkelte, geneigte Bereich 504 in 14) können die zwei Bereiche an zwei ebene Oberflächen 506 und 508 angepasst werden. Es wird anerkannt werden, dass die Operation nicht auf ebene Anpassoberflächen beschränkt ist, da die Anpassoberflächen gekrümmte Oberflächen sein könnten. Unter Benutzung des Schnittes der Ausdehnung dieser Oberflächen wird eine Schnittlinie 510 bestimmt (für nicht ebene Oberflächen würde eine Kurve bestimmt werden). Der Aushebeschrägewinkel wird zweimal abgetastet durch Erzeugen von zwei Ebenen 512 und 514 senkrecht zu der Schnittkurve und auf jeder Ebene, wodurch zwei Linien 516 und 518 bzw. 520 und 522 angepasst werden, und Bestimmen des Winkels eines Schnittes dieser Linien (oder des Aushebeschrägewinkels) 524 und 526. Der Benutzer kann den mittleren, maximalen oder minimalen Schnittwinkel (Aushebeschrägewinkel) benutzen, um einen Aushebeschrägewinkel in dem reversen Entwurfsprozess auszuwählen. Schnittdaten werden unter Benutzung der Ebenen erzeugt, um Datenerfassen zu orientieren (es gibt zwei Ebenen, wo die Winkel in 14 berechnet werden). Vektoren (Linien) werden an diese Schnittdaten unter Benutzung einer Fehlerminimierungstechnik angepasst. Die Winkel werden basierend auf diesen Vektoren berechnet. Die Anpassung von Ebenen folgt Fehlerminimierungstechniken. Es sollte bemerkt werden, dass zwei nicht parallele Linien sich auf einer geraden Linie oder einem Vektor schneiden werden.
  • Wie oben bemerkt, kann die illustrative Ausführungsform der vorliegenden Erfindung dazu benutzt werden, um Aushöhlungs- (oder Enthülsungs-)dicken zu bestimmen, wie in 15A15C illustriert. Wenn ein Benutzer ein Aushöhlungsmerkmal hinzufügt, taucht ein Aushöhlungsdialogfenster auf. In dem Dialogfenster kann der Benutzer einen grafischen Knopf klicken, um die Wanddicke zu berechnen, welche die geeignetste ist, der Roh-3D-Abtastdatengeometrie zu folgen.
  • Die Entwurfselementeinrichtung 8 tastet Punkte auf dem Körper ab, von welchem das Aushöhlungsmerkmal hinzugefügt werden soll und erzeugt dann Strahlen entlang der Normalenrichtung, welche durch Bestimmen eines Vektorkreuzproduktes von lokalen Oberflächenrichtungen U & V (dU × dV) abgeschätzt werden kann. Dieser Prozess ist in 15A dargestellt. Der Abstand zwischen abgetasteten Punkten 580 und 590 wird gemittelt und die Schnittpunkte zwischen Strahlen 582 und 592 und den Roh-3D-Abtastdaten werden bestimmt. Es sollte bemerkt werden, dass Fehlerminimierung benutzt werden könnte anstatt von Abstandsmittelung, wobei die Fehlerminimierung auf der Abweichung zwischen der ausgehöhlten Schale und einem Einstellen des Hohlabstandes basiert, bis die Abweichung minimiert ist. Drei Dickenwerte werden dem Benutzer vorgeschlagen: Die minimale, die maximale und die mittlere Dicke. Ausreißer können basierend auf der Winkeldifferenz zwischen dem Strahl und dem Normalenvektor des Schnittpunkts entfernt werden. Wenn der Winkel größer als eine bestimmte erlaubte Toleranz ist, wird er nicht in der Höhlungsdickenberechnung betrachtet.
  • Die Höhlungstechnik benutzt zuerst die äußere Oberfläche des Gitters, um ein Raummodell zu erstellen, welches nicht ausgehöhlt ist. Es gibt innere Teile des Gitters, welche nicht für die äußere Oberfläche benutzt werden. Die inneren Teile des Gitters werden dazu benutzt, die Aushöhlungsdicke zu bestimmen. Berechnung der Dicke wird zuerst dadurch bestimmt, dass der lokale Normalenvektor der Oberfläche berechnet wird (senkrecht zu lokalen UV-Achsen-Richtungen auf der/dem lokalen erzeugten Oberfläche/Raummodell). Der Abstand zwischen Oberfläche und Rohgitter (Roh-3D- Abtastdaten) in dieser Normalenrichtung ist der lokale Aushöhlungsabstand. Das vollständige Aushöhlungsfeld (alle Abstandsmessungen) wird von diesen lokalen Aushöhlungsabständen (Dicke) erzeugt. Der Benutzer kann auswählen, eine gleichförmige Aushöhlungsdicke der mittleren, maximalen, oder minimalen Dicke des Aushöhlungsfelds zu haben. Eine neue Oberfläche wird auf der Innenseite des/der existierenden Raummodells/Oberfläche erzeugt, um ein neues Raummodell zu erzeugen, welches das/die ursprüngliche Raummodell/Oberflächen und die neu erzeugten ausgehöhlten Oberflächen umfasst. 15B stellt ein Raummodell 600 dar, welches von der Außenseite eines Gitters erzeugt wurde. 15C stellt einen Querschnitt 610 des Raummodells 600 der 15B dar. Der Querschnitt 610 zeigt lokale UV-Achsen 612 und 614, eine Normalenrichtung 616 und den lokalen Schnitt 618 zwischen der Normalenrichtung 616 und dem Gitter 620 an. 15D stellt das Raummodell 630 der 15B dar, nachdem eine Aushöhlungsoperation durch die vorliegende Erfindung ausgeführt wurde.
  • Eine Ausrundung ist eine konkave oder konvexe Glättung einer Kante. Die vorliegende Erfindung kann auch benutzt werden, um Ausrundungsradien zu berechnen. Die Ausrundungsradien können konstant oder veränderlich sein. Wenn ein Benutzer ein Ausrundungsmerkmal hinzufügt, taucht ein Ausrundungsdialogfenster auf. In dem Dialogfenster kann der Benutzer einen grafischen Knopf klicken, um den Ausrundungsradius zu berechnen, welcher der geeignetste ist, um der Roh-3D-Abtastdatengeometrie zu folgen. Die vorliegende Erfindung tastet Punkte von den Kanten ab, welche durch den Benutzer für das Ausrunden spezifiziert sind. Dann definiert es Ebenen, für welche der Normalenvektor tangential an die Kanten bei den Punkten ist. Die Entwurfselementeinrichtung 8 berechnet Schnittkurven zwischen den Roh-3D-Abtastdaten und den Ebenen, welche den Normalenvektor tangential zu Kanten bei diesen Punkten haben. Jede Schnittkurve wird automatisch in kreisförmige Bögen und Linien zerlegt. Die Anwendung mittelt Radien des Mittelbogens von den zerlegten Schnittkurven für alle Schnittkurven, welche zwischen den Roh-3D-Abtastdaten und den definierten Ebenen, wie oben diskutiert, berechnet wurden. Wenn die Ausrundungsoption ein konstanter Wert ist, werden drei Radiuswerte dem Benutzer vorgeschlagen: Der minimale, der maximale und der mittlere Radius. Wenn die Ausrundungsoption veränderliche Radien hat, werden Radien in einem neuen 2D-Graphen-Fenster gezeichnet, was dem Benutzer erlaubt, über die Tendenz einer Radiusveränderung informiert zu werden. Der Benutzer kann auch mehrere Radien interaktiv in dem 2D-Graph aussuchen. Die Entwurfselementeinrichtung 8 kann auch die am besten approximierende Kurve von dem 2D-Graphen automatisch anpassen.
  • Der Prozess, Ausrundungsradien zu berechnen, ist in 16 dargestellt. Ein Bereich des Teils 650, welches eine Ausrundung hat, wird ausgewählt. Eine Kurve wird an diesem Teil gezeichnet und Ebenen 662, 664, 666, 668 und 670 werden senkrecht zu der Kurve erzeugt. Die Kurve wird von einer Interpolation durch Auswahl von einigen Punkten um die Ausrundung herum erzeugt. Der Benutzer könnte eine Kurve auswählen und die Zahl von Teilungen, welche gleichmäßig entlang der Kurve verteilt sind (wie gezeigt) spezifizieren oder der Benutzer könnte individuelle Punkte entlang der Kurve auswählen, um Ausrundungsradien zu untersuchen. In 16 sind fünf Stichprobenbereiche untersucht, um ein Ausrundungsprofil für diese nicht gleichförmige Ausrundung zu bestimmen. Die resultierenden Radien, welche für die Ausrundung ausgewählt sind, können der Mittelwert von allen Ausrundungsmessungen, das Maximum, das Minimum sein, oder es wird in dem Fall von nicht gleichförmigen Ausrundungsradien die folgende Interpolation (wie in dem Graph 680 gezeigt) als eine Ausrundung mit veränderlichem Radius benutzt.
  • Die vorliegende Erfindung kann als ein oder mehrere computerlesbare Programme bereitgestellt sein, welche auf oder in einem oder mehreren Medien umfasst sind. Die Medien können eine Floppy-Disk, eine Festplatte, eine Kompakt-Disk, eine digitale vielfältige Platte, eine Flash Memory Card, ein PROM, ein RAM, ein ROM, oder ein Magnetband sein. Im Allgemeinen können die computerlesbaren Programme in irgend einer Programmiersprache implementiert sein. Einige Beispiele von Sprachen, welche benutzt werden können, umfassen FORTRAN, C, C++, C#, oder JAVA. Die Software-Programme können auf oder in einem oder mehreren Medien als Objektcode gespeichert sein. Hardwarebeschleunigung kann benutzt werden und der gesamte Code oder ein Teil des Codes kann auf einem FPGA oder auf einem ASIC laufen. Der Code kann in einer virtualisierten Umgebung, wie etwa in einer virtuellen Maschine, laufen. Mehrere virtuelle Maschinen, welche den Code ausführen, können auf einem einzelnen Prozessor ansässig sein.
  • Da gewisse Änderungen gemacht werden können, ohne von dem Geltungsbereich der vorliegenden Erfindung abzuweichen, ist es beabsichtigt, dass alle Materie, welche in der obigen Beschreibung beinhaltet ist oder in den begleitenden Zeichnungen gezeigt ist, als illustrativ und nicht in einem wörtlichen Sinne interpretiert werden soll. Fachleute der Technik werden realisieren, dass die Folge von Schritten und Architekturen, welche in den Figuren dargestellt ist, verändert werden kann, ohne von dem Geltungsbereich der vorliegenden Erfindung abzuweichen und dass die Illustrationen, welche hierin umfasst sind, einzelne Beispiele von einer Vielzahl von möglichen Darstellungen der vorliegenden Erfindung sind.
  • Bedeutung englischer Begriffe in den Figuren
    • Selection – Auswahl
    • Region – Bereich
    • Axis Option – Achsenoption
    • Remove Outliers – Entferne Ausreißer
    • Sampling Ratio – Abtastrate
    • Use Normal – Benutze Normale
    • Revolving Axis – Drehachse

Claims (28)

  1. Verfahren zum Approximieren von ursprünglichen Entwurfselementen während einer reversen Konstruktion unter Benutzung von 3D-Abtastdaten, umfassend: Bereitstellen (110) einer Kollektion von 3D-Abtastdaten, welche die Form eines dreidimensionalen Objektes repräsentieren, wobei die 3D-Abtastdaten in einer Mehrzahl von Gittern kombiniert sind, wobei die Mehrzahl von Gittern in ein Gittermodell kombiniert ist, welches das dreidimensionale Objekt repräsentiert; Segmentieren (114) des Gittermodells mit einer Segmentierungseinrichtung in eine Mehrzahl von Gitterbereichen; Auswählen (116) eines Gitterbereichs und eines Typs eines Entwurfselements, wobei das Entwurfselement ein ursprüngliches Entwurfsmerkmal ist; und programmtechnisch Berechnen (118) eines approximativen Wertes für den ausgewählten Typ eines Entwurfselements für den ausgewählten Gitterbereich, wobei das Berechnen unter Benutzung der 3D-Abtastdaten für den ausgewählten Gitterbereich erfolgt.
  2. Verfahren nach Anspruch 1, wobei die Segmentierungseinrichtung das Gittermodell in die Mehrzahl von Gitterbereichen durch Schätzen von geometrischen Werten segmentiert.
  3. Verfahren nach Anspruch 2, wobei die geometrischen Werte Gitterkrümmungswerte oder Gitternormalenwerte sind.
  4. Verfahren nach einem der Ansprüche 1 bis 3, welches weiterhin umfasst: Auswählen eines spezifizierten Merkmals in einem CAD-Modell, welches von dem Gittermodell gebildet ist; programmtechnisch B erechnen e ines geschätzten Parameterwertes für das spezifizierte Merkmal unter Benutzung der 3D-Abtastdaten.
  5. Verfahren nach Anspruch 1, wobei die Mehrzahl von Gittern dreieckige Gitter, viereckige Gitter oder Punkte sind.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei das Entwurfselement durch die Berechnung eines Vektors repräsentiert ist.
  7. Verfahren nach Anspruch 6, wobei das Entwurfselement eine Extrusionsrichtung, eine Teilungsrichtung, eine Achse eines kreisförmigen Musters, eine Richtung eines linearen Musters, eine Kegelachse, eine Zylinderachse oder ein Drehzentrum ist.
  8. Verfahren nach einem der Ansprüche 1 bis 7, wobei das Entwurfselement durch die Berechnung einer Ebene repräsentiert ist.
  9. Verfahren nach Anspruch 8, wobei das Entwurfselement eine orthogonale Ebene oder eine Spiegelebene ist.
  10. Verfahren nach einem der Ansprüche 1 bis 9, wobei das Entwurfselement durch die Berechnung einer Polyline repräsentiert ist.
  11. Verfahren nach Anspruch 10, wobei das Entwurfselement ein Extrusionsprofil, ein Drehprofil, eine Schweifwegkurve, eine Mittellinie eines gekrümmten Rohrs, ein Ausrundungszentrum, eine virtuelle scharfe Kante, eine Wulstlinie, eine Silhouettenkurve oder eine Teilungskurve ist.
  12. Verfahren nach einem der Ansprüche 1 bis 11, wobei das Entwurfselement ein Aushebeschrägewinkel, ein konstanter Ausrundungsradius, ein veränderlicher Ausrundungsradius, ein Drehwinkel, ein Extrusionsabstand oder ein Merkmal einer Aushöhlungswanddicke ist.
  13. System zum Approximieren eines ursprünglichen Entwurfselements unter Benutzung von 3D-Abtastdaten, umfassend: Eine Segmentierungseinrichtung (10), wobei die Segmentierungseinrichtung programmtechnisch ein Gittermodell, welches von 3D-Abtastdaten eines dreidimensionalen Objektes gebildet ist, in eine Mehrzahl von Gitterregionen segmentiert; eine Benutzerschnittstelle (32), wobei die Benutzerschnittstelle die Auswahl eines Gitterbereichs und eines Typs eines Entwurfselements ermöglicht, wobei das Entwurfselement ein ursprüngliches Entwurfsmerkmal ist; und eine Entwurfselementeinrichtung (8) in Kommunikation mit einer Anwendung eines computerunterstützten Entwurfs (CAD), wobei die Entwurfselementeinrichtung programmtechnisch einen approximativen Wert für den ausgewählten Typ eines Entwurfselements für den ausgewählten Gitterbereich berechnet, wobei das Berechnen unter Benutzung der 3D-Abtastdaten für den ausgewählten Gitterbereich erfolgt.
  14. System nach Anspruch 13, welches weiterhin umfasst: Einen 3D-Abtaster, wobei der 3D-Abtaster eine Mehrzahl von Punkten abtastet, welche die Form eines dreidimensionalen Objektes repräsentieren, wobei die Punkte in eine Mehrzahl von Gittern kombiniert sind, wobei die Mehrzahl von Gittern in ein Gittermodell kombiniert ist, welches die Oberfläche des dreidimensionalen Objektes repräsentiert.
  15. System nach Anspruch 13, wobei das Entwurfselement als ein Vektor, eine Ebene oder eine Polyline repräsentiert ist.
  16. Körperliches physikalisches Medium zur Benutzung mit einer Recheneinrichtung, wobei das körperliche physikalische Medium computerausführbare Anweisungen beinhaltet zum Approximieren von ursprünglichen Entwurfselementen während der reversen Konstruktion unter Benutzung von 3D-Abtastdaten, wobei die Anweisungen umfassen: Anweisungen zum Bereitstellen (110) einer Kollektion von 3D-Abtastdaten, welche die Form eines dreidimensionalen Objektes repräsentieren, wobei die 3D-Abtastdaten in eine Mehrzahl von Gittern kombiniert sind, wobei die Mehrzahl von Gittern in ein Gittermodell kombiniert ist, welches das dreidimensionale Objekt repräsentiert; Anweisungen zum Segmentieren (114) des Gittermodells mit einer Segmentierungseinrichtung in eine Mehrzahl von Gitterbereichen; Anweisungen zum Auswählen (116) eines Gitterbereichs und eines Typs eines Entwurfselements, wobei das Entwurfselement ein ursprüngliches Entwurfsmerkmal ist; und Anweisungen zum programmtechnischen Berechnen (118) eines approximativen Wertes für den ausgewählten Typ eines Entwurfselements für den ausgewählten Gitterbereich, wobei das Berechnen unter Benutzung der 3D-Abtastdaten für den ausgewählten Gitterbereich erfolgt .
  17. Medium nach Anspruch 16, wobei die Segmentierungseinrichtung das Gittermodell durch Schätzen von geometrischen Werten in eine Mehrzahl von Gitterbereichen segmentiert.
  18. Medium nach Anspruch 17, wobei die geometrischen Werte Normalengitterwerte oder Gitterkrümmungswerte sind.
  19. Medium nach einem der Ansprüche 16 bis 18, wobei die Anweisungen weiterhin umfassen: Anweisungen zum Auswählen eines spezifizierten Merkmals in einem CAD-Modell, welches von dem Gittermodell gebildet ist; Anweisungen zum programmtechnischen Berechnen eines geschätzten Parameterwertes für das spezifizierte Merkmal unter Benutzung der 3D-Abtastdaten.
  20. Medium nach Anspruch 17 oder 18, wobei die Mehrzahl von Gittern dreieckige Gitter, viereckige Gitter oder Punkte sind.
  21. Medium nach einem der Ansprüche 16 bis 20, wobei das Entwurfselement durch die Berechnung eines Vektors repräsentiert ist.
  22. Medium nach Anspruch 21, wobei das Entwurfselement eine Extrusionsrichtung, eine Teilungsrichtung, eine Achse eines kreisförmigen Musters, eine Richtung eines linearen Musters, eine Kegelachse, eine Zylinderachse oder ein Drehzentrum ist.
  23. Medium nach einem der Ansprüche 16 bis 22, wobei das Entwurfselement durch die Berechnung einer Ebene repräsentiert ist.
  24. Medium nach Anspruch 23, wobei das Entwurfselement eine orthogonale Ebene oder eine Spiegelebene ist.
  25. Medium nach einem der Ansprüche 16 bis 24, wobei das Entwurfselement durch die Berechnung einer Polyline repräsentiert ist.
  26. Medium nach Anspruch 25, wobei das Entwurfselement ein Extrusionsprofil, ein Drehprofil, eine Schweifwegkurve, eine Mittellinie eines gekrümmten Rohrs, ein Ausrundungszentrum, eine virtuelle scharfe Kante, eine Wulstlinie, eine Silhouettenkurve oder eine Teilungskurve ist.
  27. Medium nach einem der Ansprüche 16 bis 26, wobei das Entwurfselement ein Aushebeschrägewinkel, ein konstanter Ausrundungsradius, ein veränderlicher Ausrundungsradius, ein Extrusionsabstand oder ein Merkmal einer Aushöhlungswanddicke ist.
  28. Verfahren zum Approximieren von ursprünglichen Entwurfselementen während reverser Konstruktion unter Benutzung von 3D-Abtastdaten, umfassend: Bereitstellen einer Kollektion von 3D-Abtastdaten, welche die Form eines dreidimensionalen Objektes repräsentieren, wobei die 3D-Abtastdaten in eine Mehrzahl von Gittern kombiniert sind, wobei die Mehrzahl von Gittern in ein Gittermodell kombiniert ist, welches das dreidimensionale Objekt repräsentiert; Segmentieren des Gittermodells mit einer Segmentierungseinrichtung in eine Mehrzahl von Gitterbereichen; Auswählen durch eine Benutzerschnittstelle eines Gitterbereichs und eines Typs eines Entwurfselements, wobei das Entwurfselement ein ursprüngliches Entwurfsmerkmal ist, wobei das Auswählen nach dem programmtechnischen Identifizieren von zumindest einem Entwurfselement für einen Gitterbereich in dem Gittermodell erfolgt; und programmtechnisch Berechnen eines approximativen Wertes für den ausgewählten Typ eines Entwurfselements für den ausgewählten Gitterbereich, wobei das Berechnen unter Benutzung der 3D-Abtastdaten für den ausgewählten Gitterbereich erfolgt.
DE102007021711A 2006-05-09 2007-05-09 System und Verfahren zum Identifizieren von ursprünglichen Entwurfselementen unter Benutzung von 3D-Abtastdaten Withdrawn DE102007021711A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US76751406P 2006-05-09 2006-05-09
US60/767,514 2006-05-09
US11/612,294 2006-12-18
US11/612,294 US7814441B2 (en) 2006-05-09 2006-12-18 System and method for identifying original design intents using 3D scan data

Publications (1)

Publication Number Publication Date
DE102007021711A1 true DE102007021711A1 (de) 2007-11-15

Family

ID=38580298

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102007021711A Withdrawn DE102007021711A1 (de) 2006-05-09 2007-05-09 System und Verfahren zum Identifizieren von ursprünglichen Entwurfselementen unter Benutzung von 3D-Abtastdaten

Country Status (4)

Country Link
US (1) US7814441B2 (de)
JP (1) JP2007305133A (de)
KR (1) KR100898557B1 (de)
DE (1) DE102007021711A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2068282A3 (de) * 2007-12-07 2009-08-19 Siemens Corporate Research, INC. Verfahren und System für die Detektion der zweiten Bogenebene von Ohrkanalflächen
EP2431915A3 (de) * 2010-09-17 2015-04-01 The Boeing Company Punktwolkenerzeugungssystem

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100800998B1 (ko) 2005-12-24 2008-02-11 삼성전자주식회사 홈 네트워크 기기 제어 장치 및 방법
US7613539B2 (en) * 2006-05-09 2009-11-03 Inus Technology, Inc. System and method for mesh and body hybrid modeling using 3D scan data
US7821513B2 (en) * 2006-05-09 2010-10-26 Inus Technology, Inc. System and method for analyzing modeling accuracy while performing reverse engineering with 3D scan data
US20080200840A1 (en) * 2007-02-16 2008-08-21 Jose Gerarado Tamez-Pena Structural quantification of cartilage changes using statistical parametric mapping
US8126683B2 (en) 2007-03-12 2012-02-28 Jostens, Inc. System and method for embellishment placement
JP5777136B2 (ja) * 2007-09-17 2015-09-09 スリーディー システムズ インコーポレーテッド 固体自由形状製作により製造されるパーツのための領域に基づくサポート
KR100927335B1 (ko) * 2008-02-27 2009-11-19 성균관대학교산학협력단 3차원 회전대칭형 물체의 자가 모델링 방법 및 장치
US20100036646A1 (en) * 2008-08-08 2010-02-11 Honda Motor Co., Ltd. Analytical model preparation method, and simulation system method for predicting molding failure
US20100058247A1 (en) * 2008-09-04 2010-03-04 Honeywell International Inc. Methods and systems of a user interface
US8526705B2 (en) * 2009-06-10 2013-09-03 Apple Inc. Driven scanning alignment for complex shapes
US9176928B2 (en) * 2009-07-07 2015-11-03 L3 Communication Integrated Systems, L.P. System for convergence evaluation for stationary method iterative linear solvers
US8977377B2 (en) * 2010-02-25 2015-03-10 Jostens, Inc. Method for digital manufacturing of jewelry items
US8473257B2 (en) * 2010-03-26 2013-06-25 Siemens Product Lifecycle Management Software Inc. System and method for constraining curves in a CAD system
EP2383669B1 (de) * 2010-04-02 2018-07-11 Dassault Systèmes Entwurf eines Teils, das durch parallele geodätische Kurven modelliert wird
US8766978B2 (en) * 2010-05-28 2014-07-01 Adobe Systems Incorporated Methods and apparatus for generating curved extrusions
US8423318B1 (en) 2010-09-17 2013-04-16 The Boeing Company Object management system
US8914259B2 (en) 2010-10-12 2014-12-16 Autodesk, Inc. Passive associativity in three-dimensional (3D) modeling
US20120102419A1 (en) * 2010-10-22 2012-04-26 Microsoft Corporation Representing data through a graphical object
US8892404B2 (en) 2010-10-28 2014-11-18 Parametric Technology Corporation Methods and systems for consistent concurrent operation of a plurality of computer-aided design applications
US8890867B2 (en) 2010-10-28 2014-11-18 Parametric Technology Corporation Methods and systems for dynamically loading portions of a computer-aided design model on demand
US8818769B2 (en) 2010-10-28 2014-08-26 Parametric Technology Corporation Methods and systems for managing synchronization of a plurality of information items of a computer-aided design data model
US8566066B2 (en) 2010-10-28 2013-10-22 Parametric Technology Corporation Enforcing parametric constraints in a direct modeling interface in computer-aided design
WO2012058604A2 (en) * 2010-10-28 2012-05-03 Parametric Technology Corporation Methods and systems for computer-aided design
US8589128B2 (en) 2010-10-28 2013-11-19 Parametric Technology Corporation Methods and systems for creation of a dynamically configurable product design
KR101608253B1 (ko) * 2011-08-09 2016-04-01 인텔 코포레이션 이미지 기반 멀티 뷰 3d 얼굴 생성
US9008813B2 (en) * 2011-09-22 2015-04-14 GM Global Technology Operations LLC Method to improve the dimensional accuracy and surface quality for large spring back compensation for fuel cell bipolar plate forming
US8556162B2 (en) 2011-11-21 2013-10-15 The Boeing Company Component programming system
US9208265B2 (en) 2011-12-02 2015-12-08 Jostens, Inc. System and method for jewelry design
US20130287288A1 (en) * 2012-04-25 2013-10-31 General Electric Company Method and device for determining the offset distance between two surfaces
US9141731B2 (en) * 2012-06-21 2015-09-22 Siemens Product Lifecycle Management Software Inc. Symmetry of discovered geometric relationships in a three dimensional model
US20140067333A1 (en) * 2012-09-04 2014-03-06 Belcan Corporation CAD-Based System for Product Definition, Inspection and Validation
KR101419334B1 (ko) * 2012-11-30 2014-07-16 중앙대학교 산학협력단 3차원 데이터로부터 검출 대상체를 추출하는 장치 및 방법
EP2750106B1 (de) * 2012-12-31 2021-09-15 Dassault Systèmes Durch starre Bewegungen umgewandelte geometrische Elemente
US9582615B2 (en) 2013-01-16 2017-02-28 Jostens, Inc. Modeling using thin plate spline technology
US9984502B2 (en) 2013-08-27 2018-05-29 International Business Machines Corporation Creating three dimensional models with acceleration data
US9688024B2 (en) * 2013-08-30 2017-06-27 Adobe Systems Incorporated Adaptive supports for 3D printing
US9355495B2 (en) * 2013-10-09 2016-05-31 Trimble Navigation Limited Method and system for 3D modeling using feature detection
USD789228S1 (en) 2013-11-25 2017-06-13 Jostens, Inc. Bezel for a ring
US9817924B2 (en) * 2014-04-10 2017-11-14 Autodesk, Inc. Sweeping a profile along small circular arcs of a path
JP2017516227A (ja) * 2014-05-13 2017-06-15 シーメンス プロダクト ライフサイクル マネージメント ソフトウェアー インコーポレイテッドSiemens Product Lifecycle Management Software Inc. 湾曲したサーフェス上の測地描画
CN104217078B (zh) * 2014-09-03 2017-08-25 杭州力源发电设备有限公司 一种不规则曲面优化下料的方法
KR101530267B1 (ko) * 2014-10-07 2015-06-23 한국건설기술연구원 Mep 파이프 객체 역설계 방법
KR101530262B1 (ko) * 2014-10-07 2015-06-23 한국건설기술연구원 Mep 파이프 객체 역설계 시스템
KR102097360B1 (ko) * 2015-03-05 2020-04-07 한국전자통신연구원 패턴 이미지 기반 얼굴 마스크 제작 장치 및 방법
JP6334442B2 (ja) * 2015-03-18 2018-05-30 株式会社東芝 プログラム、情報処理装置、及びデータ処理方法
JP2016197392A (ja) * 2015-04-02 2016-11-24 スリーディー・システムズ・コリア・インコーポレイテッド 3次元スキャナを利用して生成された幾何形状からディメンションを生成する方法
US10029419B2 (en) * 2015-06-26 2018-07-24 Xerox Corporation Method for generating a framework for three dimensional printed parts
KR102040156B1 (ko) 2016-03-02 2019-11-05 한국전자통신연구원 3차원 건물 데이터 편집장치 및 그 방법
US11691343B2 (en) 2016-06-29 2023-07-04 Velo3D, Inc. Three-dimensional printing and three-dimensional printers
CN106780763B (zh) * 2016-12-31 2021-09-03 山东世联环保科技开发有限公司 立体表面相贯线剖面几何图形与空间折线展开法
US10357829B2 (en) 2017-03-02 2019-07-23 Velo3D, Inc. Three-dimensional printing of three-dimensional objects
IL294778B2 (en) 2017-10-06 2023-10-01 Advanced Scanners Inc Creation of one or more edges of light intensity to create three-dimensional models of objects
US20210150078A1 (en) * 2018-04-18 2021-05-20 Siemens Aktiengesellschaft Reconstructing an object
US11335064B1 (en) * 2018-06-05 2022-05-17 ZCastings Inc. System and processes for determining suitability of manufacturing processes from a digital 3D model of a product to be manufactured
US20200004225A1 (en) * 2018-06-29 2020-01-02 Velo3D, Inc. Manipulating one or more formation variables to form three-dimensional objects
KR102148202B1 (ko) * 2018-10-02 2020-08-28 한국철도기술연구원 철도차량용 원추형 고무 스프링의 최적화 설계방법 및 그에 의해 설계된 원추형 고무 스프링
US10685457B2 (en) * 2018-11-15 2020-06-16 Vision Service Plan Systems and methods for visualizing eyewear on a user
EP3674930B1 (de) * 2018-12-26 2024-02-28 Dassault Systèmes Entwurf eines mechanischen teils
US11315319B2 (en) 2020-05-14 2022-04-26 Dassault Systemes Solidworks Corporation Method for preserving shapes in solid model when distributing material during topological optimization with distance fields
US11217013B2 (en) * 2020-05-14 2022-01-04 Dassault Systemes Solidworks Corporation Method for preserving shapes in solid model when distributing material during topological optimization
CN117252869B (zh) * 2023-11-15 2024-03-12 江西少科智能建造科技有限公司 一种cad图纸墙体路径信息提取方法及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6064759A (en) * 1996-11-08 2000-05-16 Buckley; B. Shawn Computer aided inspection machine
US6129872A (en) * 1998-08-29 2000-10-10 Jang; Justin Process and apparatus for creating a colorful three-dimensional object
US6256038B1 (en) * 1998-12-10 2001-07-03 The Board Of Trustees Of The Leland Stanford Junior University Parameterized surface fitting technique having independent control of fitting and parameterization
US6788210B1 (en) * 1999-09-16 2004-09-07 The Research Foundation Of State University Of New York Method and apparatus for three dimensional surface contouring and ranging using a digital video projection system
US7123257B2 (en) * 2001-07-31 2006-10-17 Canon Kabushiki Kaisha Coloring information adding method and apparatus, and image processing method and apparatus
JP2003186918A (ja) 2001-12-17 2003-07-04 Rikogaku Shinkokai 四辺形メッシュ及び六面体メッシュ生成方法
JP3840173B2 (ja) 2002-11-15 2006-11-01 キヤノン株式会社 三次元解析用メッシュ生成方法、三次元解析用メッシュ生成装置、プログラムおよび記憶媒体
JP2004272820A (ja) * 2003-03-12 2004-09-30 General Electric Co <Ge> 部品をリバースエンジニアリング及びリエンジニアリングする方法及びシステム
KR100512760B1 (ko) 2003-12-23 2005-09-07 한국전자통신연구원 경계셀 축소 방식을 이용하여 3차원 측정점들로부터 3차원메쉬를 생성하는 방법
JP2006004259A (ja) 2004-06-18 2006-01-05 Nec Corp 電子機器の設計支援システム及び多層プリント回路基板の設計支援システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2068282A3 (de) * 2007-12-07 2009-08-19 Siemens Corporate Research, INC. Verfahren und System für die Detektion der zweiten Bogenebene von Ohrkanalflächen
US8068653B2 (en) 2007-12-07 2011-11-29 Siemens Audiologische Technik Gmbh Method and system for second bend plane detection of ear canal surfaces
EP2431915A3 (de) * 2010-09-17 2015-04-01 The Boeing Company Punktwolkenerzeugungssystem

Also Published As

Publication number Publication date
KR100898557B1 (ko) 2009-05-20
US7814441B2 (en) 2010-10-12
JP2007305133A (ja) 2007-11-22
US20080040080A1 (en) 2008-02-14
KR20070109887A (ko) 2007-11-15

Similar Documents

Publication Publication Date Title
DE102007021711A1 (de) System und Verfahren zum Identifizieren von ursprünglichen Entwurfselementen unter Benutzung von 3D-Abtastdaten
DE69927738T2 (de) Verfahren und Vorrichtung zum Editieren von skizzierten Kurven
DE102007021753A1 (de) System und Verfahren zum Analysieren von Modellierungsgenauigkeit während einer Durchführung von reverser Konstruktion mit 3D-Abtastdaten
DE102007021697A1 (de) System und Verfahren für Gitter- und Körperhybridmodellierung unter Benutzung von 3D-Abtastdaten
DE102007043923A1 (de) System und Verfahren zum Berechnen von Verbundflächen unter Verwendung von 3D-Abtastdaten
DE69921301T2 (de) Verfahren und vorrichtung zum design von blechteilstücken
DE69726479T2 (de) Selektive Verfeinerung von Gitternetzen
DE102006058016A1 (de) Verfahren zur reversen Modellbildung unter Benutzung von Gitterdaten als Merkmal
DE102006058017A1 (de) Verfahren zum Detektieren von zweidimensionalen Zeichnungsdaten von Quellmodelldaten für dreidimensionale reverse Modellbildung
DE112016001941T5 (de) Vernetzung von Verbindungsstellen für Gitterstrukturen
DE60106817T2 (de) Verfahren zum Glätten einer stereolithographischen Kontur
DE102005010169A1 (de) Aktives Polyeder für 3D-Bildsegmentierung
DE102015120118B4 (de) Werkzeugmaschine mit einer Werkzeugwegkurvenerzeugungsvorrichtung
EP1334468B1 (de) Verfahren und system zur rekonstruktion einer fläche
DE102022107038A1 (de) Erzeugen eines verfeinerten kontrollnetzes zum erzeugen einer glatten oberfläche eines objekts
DE69910266T2 (de) Maschenerzeuger und verfahren zur erzeugen von maschen in einem extrusionsverfahren
DE112018000347T5 (de) Verfahren und System für automatische Erzeugung von Kurven mit Zwangsbedingungen für Computergraphik
WO2020064761A1 (de) Verfahren, computerprogrammprodukt und computervorrichtung zum auswerten volumetrischer subdivisionsmodelle
DE102012204063B4 (de) Generierung von Visualisierungs-Befehlsdaten
WO2006029882A2 (de) Verfahren zur suche nach einem ähnlichen konstruktionsmodell
DE602004001882T2 (de) Verfahren zur Unterteilung eines Maschengitters oder Polygonzuges
DE102012203117B4 (de) Verfahren und System zur Ermittlung eines Begrenzungsflächennetzes
DE102020215766A1 (de) Additive Fertigung auf Basis von Feldern von versatzbedingten, vorzeichenbehafteten Abständen
DE112022002952T5 (de) Füllen eines netzlochs
DE102009056467A1 (de) Verfahren zur Bestimmung von Oberflächen in Voxeldaten

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8139 Disposal/non-payment of the annual fee