-
Zugeordnete Anmeldung
-
Diese
Anmeldung beansprucht die Priorität einer US-Provisional Application, betitelt "System and Method
for Mesh and Body Hybrid Modeling Using 3D Scan Data", Anmeldungsnummer 60/767,516,
eingereicht am 9. Mai 2006.
-
Gebiet der Erfindung
-
Die
Ausführungsformen
der vorliegenden Erfindung betreffen im Allgemeinen CAD (computerunterstützter Entwurf)
und insbesondere die direkte Benutzung von 3D-Abtastdaten in einer
CAD-Teilkörpermodellierungsoperation.
-
Hintergrund
-
Anwendungen
eines computerunterstützten Entwurfs
(CAD) werden benutzt, um Computermodelle von zwei- und dreidimensionalen
Objekten als Teil eines Produktionsprozesses für ein physikalisches Objekt,
welches modelliert wird, zu erzeugen. Die Modelle umfassen häufig mehrere
Teilkörper, welche
individuell entworfen werden müssen.
Ein Teilkörper
ist ein Computermodell, welches durch eine CAD-Anwendung benutzt
wird, um eine Raumgeometrie oder Schichtgeometrie (offener Körper mit einer
Dicke von Null) zu halten. Wenn der Entwerfer mit dem Entwurf zufrieden
ist, kann ein tatsächliches physikalisches
Objekt unter Benutzung des CAD-Modells erzeugt werden.
-
3D-Abtasten
erfasst physikalische Geometrieinformation für ein dreidimensionales Objekt
durch Erfassen von hochaufgelösten
Punkten, welche die Form des abgetasteten dreidimensionalen Objektes repräsentieren.
Die 3D-Abtastdaten
können
entweder durch einen Satz von Punkten oder dichte triangulare (oder
anders geformte) Gitter repräsentiert werden,
welche kumulativ ein Modell des abgetasteten Objekts bilden. Das
Modell kann in mehrere Gruppen segmentiert werden, welche als Bereiche bezeichnet
werden. In einem Gittermodell ist der Bereich ein Gitterbereich,
welcher ein Satz von triangularen Facetten ist, welche beliebig
durch einen Benutzer definiert werden können oder automatisch durch
ein Computerprogramm identifiziert werden können. Das Computerprogramm
kann auch dazu ausgelegt sein, planare, zylindrische, kreisförmige, kegelförmige, toroidale
oder Freiformgitterbereiche durch Abschätzen und Verfolgen der Krümmungsinformation
zu detektieren und zu gruppieren. Wenn die Roh-3D-Abtastdaten erfasst
sind, können
sie in ein CAD-Teilmodell für
weitere Verarbeitung konvertiert werden, 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 repliziert oder wieder entworfen werden kann,
wird reverse Konstruktion genannt.
-
Remodellieren
eines 3D-CAD-Teilkörpers unter
Benutzung von 3D-Abtastdaten erfordert zeitaufwendige Tätigkeiten.
Eine der Komplexitäten kommt
von der Tatsache, dass ein Teilkörper
nur durch andere Teilkörper
bearbeitet werden kann. Zum Beispiel kann ein Benutzer eine Boolesche
Operation benutzen, um zwei Teilkörper zu vereinigen, aber herkömmlicherweise
gibt es keinen Weg, um einen CAD-Teilkörper und
ein 3D-Abtastdatenmodell zu vereinigen. Der Benutzer ist gezwungen,
als einen Zwischenschritt einen CAD-Raum- oder Flächenkörper zu
entwerfen, welche einen Bereich von Abtastdaten replizieren, bevor
der Benutzer zu weiteren regulären
CAD-Modellierungsprozeduren voranschreiten kann.
-
Kurze Zusammenfassung
-
Ausführungsformen
der vorliegenden Erfindung stellen einen computerisierten Prozess
bereit, welcher mit einem CAD-System
arbeitet, welches einem Benutzer erlaubt, Punktwolkemodelle oder
Gittermodelle, welche von Rohabtastdaten erzeugt sind, für CAD-Teilkörperoperationen
zu benutzen, ohne eine vorherige Konversion der Abtastdaten in einen CAD-Teilkörper zu
erfordern. In einer Ausführungsform
kann der Ausdruck "Gitter" im Sinne von "Netz" oder "Masche" benutzt sein. Der
computerisierte Prozess ermöglicht
einem Benutzer, Modellbereiche als Oberflächenkörper zu behandeln, um so das
Erfordernis zu eliminieren, Modellbereiche in parametrische Oberflächen als
eine Voraussetzung, um CAD-Teilkörpermodellierungsoperationen
auszuführen,
zu konvertieren. Während
CAD-Remodellieren werden Roh-3D-Abtastdaten,
welche ein Modell bilden, importiert. Die vorliegende Erfindung
erlaubt einem Benutzer, direkt einen Modellbereich als ein Eingabeargument
für eine
Teilkörpermodellierungsoperation
zu benutzen, solange ein Schichtkörper (Oberflächenkörper) als
ein Modellierungseingabeargument anwendbar ist. Ausführungsformen
der vorliegenden Erfindung erlauben einem Benutzer auch, einen Körper durch
einen Bereich zu schneiden (cut), bevor dieselbe Prozedur ausgeführt wird.
In einer Ausführungsform
kann der Ausdruck "schneiden" im Sinne von "zerschneiden" oder "ausschneiden" benutzt sein. Wenn
irgendwelche Bereiche, welche in der Körpermodellierung benutzt werden,
durch den Benutzer modifiziert werden, werden zusätzlich Oberflächen, welche
durch Anpassen von Bereichen erzeugt worden sind, auch erneut berechnet
und das Körpermodell
wird automatisch aktualisiert. Die Modifikation eines Bereichs kann
geschehen, wenn der Benutzer mehr Daten in den Bereich aufnimmt,
Daten von dem Bereich ausschließt,
eine Geometrie glättet
oder andere Editierfunktionen benutzt.
-
In
einer Ausführungsform
der vorliegenden Erfindung umfasst ein Verfahren zum Durchführen von
3D-CAD-Teilkörpermodellieren
unter Benutzung von 3D-Abtastdaten den Schritt eines Bereitstellens einer
Kollektion von 3D-Abtastdaten,
welche die Form eines dreidimensionalen Objekts repräsentiert. Die
3D-Abtastdaten bilden ein Modell, welches das dreidimensionale Objekt
repräsentiert.
Das Verfahren stellt auch ein CAD-System bereit, welches dazu benutzt
wird, zumindest einen CAD-Teilkörper
zu remodellieren und das Modell in mehrere Gitterbereiche zu segmentieren.
Zusätzlich
wählt das
Verfahren Daten von mindestens einem Bereich aus. Die ausgewählten Daten
werden dazu benutzt, um programmtechnisch einen Oberflächenkörper zu
implizieren, welcher den Bereich repräsentiert. Der Oberflächenkörper wird
als ein Eingabeargument für
eine CAD-Teilkörpermodellierungsoperation
benutzt. In einer Ausführungsform
kann der Ausdruck "implizieren" im Sinne von "innewohnen" benutzt sein. In
einer Ausführungsform
kann der Ausdruck "programmtechnisch" im Sinne von "programmgesteuert" oder "programmatisch" benutzt sein.
-
In
einer weiteren Ausführungsform
der vorliegenden Erfindung umfasst ein System zum Durchführen von
3D-CAD-Teilkörpermodellierung
unter Benutzung von 3D-Abtastdaten eine Kollektion von 3D-Abtastdaten,
welche die Form eines dreidimensionalen Objekts repräsentiert.
Die 3D-Abtastdaten bilden ein Modell, welches das dreidimensionale
Objekt repräsentiert.
Das System umfasst auch eine CAD-Anwendung, welche dazu benutzt
ist, zumindest einen CAD-Teilkörper
mit einer Teilkörpermodellierungsoperation
zu remodellieren. Die Teilkörpermodellierungsoperation
erlaubt die Benutzung eines Oberflächenkörpermodellierungseingabearguments.
Zusätzlich
umfasst das System mindestens einen identifizierten Bereich in dem
Modell, welcher einem Teil der 3D-Abtastdaten zugeordnet ist. Das System
umfasst auch eine Benutzerschnittstelle, welche die Auswahl der
Daten ermöglicht,
welche dem identifizierten Bereich zugeordnet sind. Die ausgewählten Daten
werden dazu benutzt, um programmtechnisch einen Oberflächenkörper zu
implizieren, welcher den Bereich repräsentiert, welcher als ein Eingabeargument
für die
CAD-Modellierungsoperation eines Teilkörpers benutzt wird.
-
In
einer Ausführungsform
umfasst ein Verfahren zum Durchführen
von 3D-CAD-Teilkörpermodellieren
unter Benutzung von 3D-Abtastdaten den Schritt eines Bereitstellens
einer Kollektion von 3D-Abtastdaten, welche die Form eines dreidimensionalen
Objekts repräsentiert,
welche kumulativ ein Modell des dreidimensionalen Objekts bildet.
Das Verfahren wählt
auch mindestens einen Bereich in dem Modell aus und errechnet eine
implizierte Oberfläche
für den
mindestens einen Bereich. Die implizierte Oberfläche wird als ein Eingabeargument
für eine
CAD-Modellierungsoperation
eines Teilkörpers verwendet.
-
Kurze Beschreibung der
Zeichnungen
-
Die
Erfindung wird besonders in den angehängten Ansprüchen ausgebreitet. Die Vorteile
der Erfindung, welche oben beschrieben sind, sowie weitere Vorteile
der Erfindung, können
besser durch Bezug auf die folgende Beschreibung verstanden werden,
wobei sie in Verbindung mit den begleitenden Zeichnungen genommen
wird, in welchen:
-
1 eine
Umgebung illustriert, welche geeignet ist, eine Ausführungsform
der Erfindung zu praktizieren;
-
2 ein
Flussdiagramm einer Sequenz von Schritten ist, welche verfolgt werden
können
durch eine Ausführungsform
der vorliegenden Erfindung, um direkt 3D-Abtastdaten von einem Modellbereich in
Modellierungsoperationen eines Teilkörpers zu benutzen;
-
3A eine
Benutzerschnittstelle illustriert, welche Segmentierungs- und Polygonauswahlwerkzeuge
bereitstellt;
-
3B Modellbereiche
illustriert, welche mit verschiedenen Auswahlwerkzeugen ausgewählt sind;
-
3C den
Nettoeffekt eines Löschens
einer Auswahl von einer anderen Auswahl illustriert;
-
3D die
Benutzung von Volumenauswahlwerkzeugen illustriert;
-
4 das
Hinzufügen
von Gitterauswahlen zu einem Gitterbereich illustriert;
-
5A und 5B die
Auswahl und das Hinzufügen
eines weiteren Gitterbereichs zeigen;
-
5C und 5D die
Auswahl und das Vereinigen von zwei Gitterbereichen illustrieren;
-
5E und 5F die
Auswahl von Polygonen und ihr nachfolgendes Vereinigen mit einem
Gitterbereich illustrieren;
-
6A und 6B die
Benutzung des Linienauswahlwerkzeuges und des "Teilen"-Befehls;
-
7A und 7B die
Benutzung des Rechteckauswahlwerkzeuges und des "Entfernen"-Befehls illustrieren;
-
8A bis 8C einen
Gitterbereich und seine nachfolgendes Verkleinern und Vergrößern unter
Benutzung der Werkzeuge der vorliegenden Erfindung illustrieren;
-
9A die
Auswahl eines Gitterbereichs illustriert;
-
9B eine
Benutzerschnittstelle illustriert, welche die Auswahl von Oberflächenanpassparametern
für den
Gitterbereich, welcher in 9A ausgewählt ist,
ermöglicht;
-
9C die
resultierende Anpassoberfläche illustriert;
-
10A bis 10C das
erneute Anpassen einer Oberflächenanpassung
illustriert, welches dem Editieren eines Gitters, auf welchem die
Oberflächenanpassung
basiert, folgt;
-
11A bis 11C die
Auswahl und Operation eines "Extrudiere
bis Oberfläche"-Parameters illustrieren;
-
12A bis 12C die
Auswahl und Operation eines "Extrudiere
bis Bereich"-Parameters;
-
13A bis 13C die
automatische Wiederberechnung einer Teilkörperoperation illustriert, welche
darauf folgt, dass ein Benutzer einen Gitterbereich editiert, welcher
als ein Eingabeargument für die
Operation benutzt wird;
-
14A und 14B die
Benutzung eines "Drehe
bis Bereich"-Befehls
illustriert mit Gitterdaten, welche das Eingabeargument zuführen; und
-
15A und 15B die
Benutzung der implizierten Oberfläche eines Gitterbereichs illustrieren, um
eine CAD-Schneideoperation
durchzuführen.
-
Detaillierte Beschreibung
-
Ausführungsformen
der vorliegenden Erfindung stellen einem Benutzer, welcher reverse
Konstruktion unter Benutzung von 3D-Abtastdaten durchführt, Werkzeuge
bereit, welche die direkte Benutzung von 3D-Abtastdaten während CAD-Modellierungsoperationen
eines Teilkörpers
erlauben. Die implizierten Oberflächen, welche in benutzerausgewählten Gitterbereichen
vorhanden sind, sind programmtechnisch berechnet/approximiert unter
Benutzung von Techniken, wie etwa Oberflächenanpassung oder Oberflächeninterpolation.
Die implizierte Oberfläche
wird dann CAD-Modellierungsoperationen
eines Teilkörpers
bereitgestellt, welche Oberflächenkörpeeingabeargumente
akzeptieren. Die Möglichkeit,
direkt Abtastdaten zu benutzen, ohne einen Zwischen-CAD-Teilkörper von
den 3D-Abtastdaten zu erzeugen, bevor eine Modellierungsoperation
eines Teilkörpers
durchgeführt
wird, repräsentiert
eine erhebliche Zeit- und Aufwandsersparnis für den Entwerfer. Benutzeränderungen
an Bereichen des Modells, welche vorher in den CAD-Modellierungsoperationen
eines Teilkörpers
benutzt worden sind, lösen eine
automatische erneute Berechnung der implizierten Oberfläche und
der Modellierungsoperation des Teilkörpers aus, welche die neu wiederberechnete implizierte
Oberfläche
benutzt.
-
1 illustriert
eine Umgebung, welche geeignet ist, eine illustrative Ausführungsform
der vorliegenden Erfindung zu praktizieren. Ein Rechengerät 102 umfasst
eine Kollektion von Roh-3D(dreidimensional)-Abtastdaten 104 für ein abgetastetes dreidimensionales
Objekt. Die Roh-3D-Abtastdaten 104 können von
einem 3D-Abtaster 103 gesammelt worden sein, welcher in
Kommunikation mit dem Rechengerät 102 ist
oder können
eine vorher gespeicherte Kollektion von Abtastdaten sein. Das Rechengerät 102 beherbergt
auch eine CAD-Anwendung 106 und eine Hybridmodellierungseinrichtung 110. Das
Rechengerät 102 kann
eine Arbeitsstation, ein Server, ein Laptop, ein Mainframe-Computer,
ein PDA, ein Cluster von Geräten,
welche zusammenarbeiten, ein virtuelles Gerät oder ein anderes Rechengerät sein,
welches dazu in der Lage ist, die CAD-Anwendung 106 und
eine Hybridmodellierungseinrichtung 110, welche hierin
diskutiert ist, zu unterstützen. Die
Hybridmodellierungseinrichtung 110 ist ein ausführbarer
Softwareprozess oder eine Anwendung, welche weiter unten im Detail
diskutiert wird. Die Hybridmodellierungseinrichtung 110 kann
als einer oder mehrere Anwendungsprozesse implementiert sein, als
eine oder mehrere Anwendungs-Plug- Ins oder als eine alleinstehende Anwendung.
In einer Implementation der vorliegenden Erfindung ist die Hybridmodellierungseinrichtung 110 in
die CAD-Anwendung 106 als ein Softwarewerkzeug integriert.
In einer anderen Implementation ist die Hybridmodellierungseinrichtung 110 in
Kommunikation mit der CAD-Anwendung 106, aber ist nicht
Teil der CAD-Anwendung. Die CAD-Anwendung 106 umfasst mindestens eine
Teilkörpermodellierungsoperation 108,
welche Oberflächenkörper als
Modellierungseingabeargumente akzeptiert. Die Teilkörpermodellierungsoperation 108 wird
in weiterem Detail unten diskutiert.
-
Die
Rohabtastdaten 104 sind eine Kollektion von hochaufgelösten Punkten
in drei Dimensionen, welche die Form eines abgetasteten Objekts
repräsentiert.
In einer Implementation, sind die Rohabtastdaten 104 ein
Satz von triangularen Gittern, aber die Benutzung von anderen Formen
von Abtastdaten wird auch als innerhalb des Geltungsbereiches der vorliegenden
Erfindung betrachtet. Zum Beispiel können die Rohabtastdaten 104 Punkte,
triangulare Gitter, viereckige Gitter, Tetraeder-Gitter oder Hexaeder-Gitter
sein. Kollektiv bildet der Satz von Gittern ein Gittermodell, welches
die Oberfläche
des abgetasteten Objekts repräsentiert.
Alternativ können
die Roh-Abtastdaten in ein Punktwolkemodell gebildet sein, welches
die Oberfläche
des abgetasteten Objekts repräsentiert.
Die Hybridmodellierungseinrichtung 110 erzeugt eine grafische
Benutzerschnittstelle (GUI) 132 auf einer Anzeige 130,
welche einem Benutzer erlaubt, das Modell 112 manuell oder
programmtechnisch in Gitterbereiche oder Punktwolkemodellbereiche 114, 116 und 118 zu
segmentieren. Die GUI 132 ermöglicht einem Benutzer 120, einen bestimmten
Bereich 114, 116 oder 118 in dem Modell 112 und
eine Teilkörpermodellierungsoperation 108 auszuwählen, für welche
der Benutzer die Daten als Eingabe benutzen möchte. Die Hybridmodellierungseinrichtung 110 analysiert
die Rohabtastdaten 104, wie weiter unten ausgeführt wird,
und berechnet eine approximative implizierte Oberfläche für den ausgewählten Bereich.
Die berechnete implizierte Oberfläche wird als ein Eingabeargument
für die
Teilkörpermodellierungsoperation 108 bereitgestellt
ohne das Erfordernis, den Bereich zuerst als ein separates CAD-Teilkörpermodell
zu repräsentieren.
Beispielhafte CAD-Teilkörpermodellierungsoperationen
umfassen Extrudieren zu einer Oberfläche und Beschneiden einer Oberfläche oder
eines Bereiches und Ersetzen von Flächen in einem Oberflächenkörper mit
einem neuen Oberflächenkörper.
-
2 ist
ein Flussdiagramm einer Folge von Schritten, welche durch eine Ausführungsform
der vorliegenden Erfindung verfolgt werden kann, um direkt 3D-abgetastete
Daten in Teilkörpermodellierungsoperationen
zu benutzen. Die Folge von Schritten beginnt mit der Bereitstellung
einer Kollektion von Roh-3D-Abtastdaten 104 (Schritt 210).
Die Roh-3D-Abtastdaten 104 können unmittelbar vor einem
Durchführen
einer Teilkörpermodellierungsoperation
erfasst worden sein. Alternativ können die Roh-3D-Abtastdaten 104 vorher
gespeicherte Abtastdaten sein. Ein Modell 112 wird von
den Abtastdaten 104 erzeugt (Schritt 212). Das
Modell kann ein Gittermodell sein. Es sollte bemerkt werden, dass
in einer alternativen Implementation ein Punktwolkemodell anstatt
eines Gittermodells erzeugt werden kann, und dass die Techniken,
die hierin diskutiert sind, welche sich auf ein "Gittermodell" beziehen, auch unter Benutzung eines
Punktwolkemodells praktiziert werden können, ohne von dem Geltungsbereich
der vorliegenden Erfindung abzuweichen. Das Modell 112 wird
in verschiedene Bereiche 114, 116 und 118 entweder
manuell als ein Resultat eines Benutzerbefehls oder programmtechnisch
(Schritt 214) segmentiert. Ein Benutzer 120, welcher
das Modell 112 auf der Anzeige 130 betrachtet,
benutzt eine GUI 132, um einen oder mehrere Bereiche 114, 116 und/oder 118 und
eine Teilkörpermodellierungsoperation 108 auszuwählen, für welche
der Benutzer wünscht,
dass die Hybridmodellierungseinrichtung 110 eine Approximation
des Oberflächenwerts
berechnet (Schritt 216). Die Hybridmodellierungseinrichtung 110 analysiert
dann die Rohabtastdaten 104 für den ausgewählten Bereich 114, 116 und/oder 118,
wie weiter unten ausgeführt
ist, um einen implizierten Oberflächenkörper für den ausgewählten Bereich
zu berechnen (Schritt 218). Der implizierte Oberflächenkörper wird
als ein Eingabeargument für
die ausgewählte Teilkörpermodellierungsoperation 108 bereitgestellt, welche
dann ausgeführt
wird (Schritt 220).
-
Die
Hybridmodellierungseinrichtung 110 erzeugt eine GUI, welche
einem Benutzer erlaubt, einen Typ einer Teilkörpermodellierungsoperation 108 und
einen Gitterbereich (oder einen Bereich eines Punktwolkemodells) 114, 116 oder 118 auszuwählen, um
die Eingabe für
die ausgewählte
Teilkörpermodellierungsoperation
bereitzustellen. 3A illustriert eine beispielhafte
Benutzerschnittstelle 300, welche durch die Hybridmodellierungseinrichtung 110 erzeugt
werden kann. Es wird von den Fachleuten der Technik geschätzt werden,
dass andere Benutzerschnittstellen anstatt der in 3A gezeigten
GUI 300 benutzt werden können, ohne von dem Geltungsbereich
der vorliegenden Erfindung abzuweichen. Die GUI 300 umfasst
manuelle Bereichssegmentierungswerkzeuge, wie etwa Hinzufügen 301, Entfernen 302,
Vereinigen 303, Teilen 304, Vergrößern 305,
Verkleinern 306 und Bereinigen 307. Das Bereinigen-Werkzeug 307 kann
dazu benutzt werden, unnötige
Gitterbereiche zu entfernen, welche eine kleine Zahl von Dreiecken
oder eine relativ kleine Fläche
haben. Die Hybridmodellierungseinrichtung kann auch eine automatische
Segmentierungsfunktion 308 bereitstellen, welche die Abtastdaten automatisch
in Bereiche segmentiert. Zusätzlich
stellt die durch die Hybridmodellierungseinrichtung 312 erzeugte
GUI 300 dem Benutzer Auswahlwerkzeuge bereit, um bestimmte
Felder in einem Bereich auszuwählen
und zu editieren. Beispielhafte Auswahlwerkzeuge umfassen Linie 311,
Rechteck 312, Kreis 313, Polyline 314,
Freihand 315, Farbpinsel 316, Flutfüllen 317,
Schachtel 318, Zylinder 319 und Kreis 320. Die
Auswahlwerkzeuge können
wiederholt und mit Unterbrechungen benutzt werden. Unter dem Ausdruck "Polyline" wird in dieser Anmeldung
eine Kurve verstanden, die mehrere Liniensegmente umfasst.
-
Die
Felder des Modells, welche mit den Auswahlwerkzeugen ausgewählt sind,
können
kombiniert werden, um verschiedene Teile eines Gittermodells, wie
in 3B gezeigt, auszuwählen. In 3B ist
das Modell 330 mit verschiedenen Modellfeldern angezeigt,
welche durch einen Benutzer unter Benutzung von verschiedenen Auswahlwerkzeugen
ausgewählt
sind. Zum Beispiel zeigt das Modell 330 ein bezeichnetes
Feld 331, welches unter Benutzung eines Linienauswahlwerkzeuges 311 ausgewählt worden
ist, ein bezeichnetes Feld 332, welches unter Benutzung
eines Rechteckauswahlwerkzeugs 312 ausgewählt worden
ist, ein bezeichnetes Feld 333, welches unter Benutzung
eines Kreisauswahlwerkzeuges 313 ausgewählt worden ist, ein bezeichnetes Feld 334,
welches unter Benutzung eines Polyline-Auswahlwerkzeuges 314 ausgewählt worden
ist, ein bezeichnetes Feld 335, welches unter Benutzung eines
Freihand-Auswahlwerkzeuges 315 ausgewählt worden ist und ein bezeichnetes
Feld 336, welches unter Benutzung eines Farbpinsel-Werkzeuges 316 ausgewählt worden
ist.
-
Die
verschiedenen Auswahlwerkzeuge können
in Kombination benutzt werden, um vorher ausgewählte Felder zu löschen, wie
in 3C gezeigt. In 3C ist
ein Modell 350 gezeigt, welches ein bezeichnetes Feld 351 zeigt,
welches ursprünglich
unter Benutzung eines Rechteck-Auswahlwerkzeuges 312 gewählt wurde.
Innerhalb des bezeichneten Feldes 351 ist ein zusätzliches
bezeichnetes Feld 352, welches unter Benutzung eines Farbpinsel-Auswahlwerkzeuges 316 gelöscht worden
ist.
-
Das
Flutfüll-(flood
fill)-Auswahlwerkzeug 317 benutzt eine Keimfläche und
wählt alle
Polygone aus, welche an der Keimfläche angebracht sind. Die GUI 300 stellt
dem Benutzer auch Werkzeuge bereit, um 3D-Volumen zu bearbeiten.
Während
viele Auswahlwerkzeuge an Oberflächen
agieren (das ist: Ausmalen der Oberfläche, um Gitterpolygone unter
Benutzung des Farbpinsel-Auswahlwerkzeuges 316 auszuwählen), werden
die Box 318-, Zylinder 319- und Kreis 320-Auswahlwerkzeuge
dazu benutzt, um 3D-Volumen in dem Modellfenster zu erstellen. Teile des
Gitters, welche innerhalb des erstellten Volumens lokalisiert sind,
werden ausgewählt.
Die Box 318-, Zylinder 319- und Kreis 320-Auswahlwerkzeuge
erlauben dem Benutzer, Volumen im Raum auszuwählen. Wenn das Gitter innerhalb
dieser Volumen fällt,
wird der Bereich ausgewählt. 3D stellt
eine beispielhafte Benutzung der Volumenwerkzeuge dar. Ein Gittermodell 370 umfasst
ein bezeichnetes Feld 371, welches unter Benutzung eines
Schachtel-Auswahlwerkzeuges 318 ausgewählt worden ist, ein bezeichnetes
Feld 372, welches unter Benutzung eines Zylinder-Auswahlwerkzeuges 319 ausgewählt worden
ist, ein bezeichnetes Feld 373, welches unter Benutzung
eines Kreis-Auswahlwerkzeuges 320 ausgewählt worden
ist.
-
4 stellt
die Benutzung einer beispielhaften GUI 400 dar, um eine
Gitterbereichsgruppe 404 zu einem Modell 402 hinzuzufügen, nachdem
Gitterauswahlwerkzeuge benutzt worden sind. Wenn der Benutzer den
Gitterbereich 404 unter Benutzung der Schachtel 318-,
Zylinder 319- und Kreis 320-Auswahlwerkzeuge ausgewählt hat
(wie in 3D gezeigt), kann der Benutzer
ein "Hinzufügen"-Befehl 401 drücken, um
die Gitterbereichsgruppe 404 hinzuzufügen. Gitterbereichsgruppen
können
unterschiedlich farblich gestaltet sein, abhängig von der Bereichsgruppe,
von welchen sie ein Mitglied sind. Zum Beispiel kann die erste Bereichsgruppe
eine violette Gruppe sein. Alternativ können andere Kennzeichner, welche
nicht von einer Farbe abhängen,
benutzt werden, um die Gitterbereichsgruppe zu kennzeichnen.
-
In
einer Ausführungsform
der vorliegenden Erfindung kann ein Benutzer ein Auswahltool in
der GUI einsetzen, um Polygone auszuwählen und dann verschiedene
Befehle benutzen, welche anwendbar sind, um Bereiche zu erzeugen
(hinzuzufügen).
Ein Benutzer kann auch Bereiche auswählen oder sonst Polygone und
Bereiche auswählen.
Wenn der Benutzer Polygone und Bereiche auswählt, werden zusätzliche
Befehle anwendbar, wie etwa Befehle um zu "Vereinigen", "Vergrößern", "Verkleinern", "Entfernen", "Vereinigen" und "Teilen". Zum Beispiel stellt 5A den
Benutzer 20 dar, welcher ein Polyline-Gitter-Auswahlwerkzeug 314 benutzt,
um das bezeichnete dreieckige Feld 504 in dem Modell 500 auszuwählen. Das
Modell 500 umfasst auch einen zuvor ausgewählten Bereich 502.
In einer Ausführungsform
kann das ausgewählte
dreieckige Feld 504 in rot oder in einer anderen Farbe
gezeigt sein, während
der vorher ausgewählte
Bereich 502 in einer verschiedenen Farbe, etwa violett,
gezeigt sein kann. Durch Benutzen des "Hinzufügen"-Befehls von der GUI kann der Benutzer
eine andere Bereichsgruppe zu dem Modell 500 hinzufügen. 5B zeigt
die Wirkung der Benutzung des Hinzufügen-Befehls auf das Modell 500 mit
der Darstellung des ausgewählten dreieckigen
Bereichs 504, welcher sich ändert, um anzuzeigen, dass
er nun eine andere Bereichsgruppe in dem Modell ist. Die zusätzliche
Bereichsgruppe kann dadurch gekennzeichnet werden, dass das ausgewählte dreieckige
Feld sich in eine neue Farbe, wie etwa pink (von einer ursprünglichen
Farbe, wie etwa rot) ändert
und kann als die Pink-Gruppe benannt werden, während der ursprüngliche
Bereich 502 als die "violette
Gruppe" benannt
werden könnte.
-
Durch
Benutzen eines "Bereichsauswahlwerkzeugs", welches durch die
GUI bereitgestellt ist, ist der Benutzer in der Lage, darauf zu
zeigen und und zu klicken, um zwei getrennte Bereiche auszuwählen, wie
etwa den Pink-Bereich und den Violett-Bereich, wie oben diskutiert.
Die ausgewählten Bereiche
können
in irgend einer Weise für
den Benutzer hervorgehoben werden, wie etwa durch Hinzufügen von
roten Punkten. Der Auswahl der Bereiche mit dem Bereichsauswahlwerkzeug
folgend kann der Benutzer einen "Vereinigen"-Befehl benutzen,
um die zwei ausgewählten
Bereiche in einen Bereich zu vereinigen. Zum Beispiel zeigt 5C die
Auswahl mit dem Bereichsauswahlwerkzeug der zwei Bereiche 502 und 504 in
dem Modell 500. Die ausgewählten Bereiche können zusammen 506 mit
irgend einer Art von visuellem Kennzeichner angezeigt werden, welcher
auf die beiden Bereiche angewendet wird, um anzuzeigen, dass die
Bereiche beide ausgewählt worden
sind. Wenn sie ausgewählt
sind, kann ein Benutzer den Vereinigen-Befehl auswählen, um
die zwei Bereiche zu vereinigen. 5D stellt
die Verschmelzung des visuell bezeichneten Feldes 506 (welches
von den Bereichen 502 und 504 herrührt) in ein
neues vereinigtes Modellfeld 508 dar.
-
In
einer Ausführungsform
der vorliegenden Erfindung erlaubt die GUI dem Benutzer auch, Polygonauswahlen
und Bereichsauswahlen zu mischen und dann die zwei Auswahlen zu
vereinigen, um einen vereinigten Bereich zu erstellen. 5E illustriert
die Auswahl von Polygonen 520 und einem Bereich 522. 5F illustriert
die Wirkung, wenn ein Benutzer die ausgewählten Polygone 522 und
den ausgewählten
Bereich 520 in einen einzelnen vereinigten Bereich 524 unter
Benutzung eines Vereinigen-Befehls vereinigt.
-
Ein
zusätzliches
Tool, welches durch die GUI 132, welche durch die Hybridmodellierungseinrichtung 110 erzeugt
ist, bereitgestellt ist, ist das Linienauswahlwerkzeug 311. 6A illustriert
eine Polygonauswahl 602, welche unter Benutzung des Linienauswahlwerkzeuges 311 gemacht
worden ist, welche einen Bereich 604 halbiert. Ein Benutzer
kann einen "Teilen"-Befehl 304 auswählen, welcher
dazu führt, dass
der Bereich 604 entlang der Polygonlinienauswahl 602 geteilt
wird. Die Wirkung des Teilen-Befehls ist, einen anderen Bereich 606 zu
erzeugen, wie in 6B gezeigt. Wie vorher bemerkt,
können
die verschiedenen Bereiche und Auswahlen mit verschiedenen Farben
gekennzeichnet werden, wie etwa durch Anzeigen einer violetten Linie 602 durch
einen pinken Bereich 604 in 6A und
getrennte orange 602 und violette Bereiche 604 in 6B.
-
Ein
Entfernen-Befehl kann auch durch die GUI angesteuert werden. 7A stellt
die Benutzung eines Rechteckauswahlwerkzeuges 312 dar, um
eine rechteckige Auswahl 702 in einem Modell 700 zu
machen. Die rechteckige Auswahl 702 überlappt mit zwei Bereichen 704 und 706 in
dem Modell 700. Die GUI 132 erlaubt einem Benutzer,
einen Entfernen-Befehl auszuwählen
und auf die rechteckige Auswahl 702 anzuwenden. Die Wirkung
der Anwendung des Entfernen-Befehls ist es, die rechteckige Auswahl
und die überlappenden
Bereiche der anderen Bereiche 704 und 706 zu entfernen. 7B stellt das
Modell 700 und die reduzierten Bereiche 704 und 706 nach
Anwendung des Entfernen-Befehls auf das rechteckige Feld 702 dar.
-
Die
GUI 132 kann auch Auswahlwerkzeuge zum Verkleinern und
Vergrößern eines
Gitters einem Benutzer bereitstellen.
-
8A zeigt
einen am Anfang ausgewählten
Bereich 802 eines Gittermodells 800. 8B zeigt
den Bereich der 8A nach einer oder mehreren
Anwendungen eines "Verkleinern"-Befehls. Die Wirkung
der Anwendung des Verkleinern-Befehls ist, einen kleineren Unterbereich 804 des
am Anfang ausgewählten
Bereichs 802 der 8A auszuwählen. Es
wird geschätzt
werden, dass das Ausmaß des Verkleinerns
des am Anfang ausgewählten
Bereichs 802, welches durch Auswahl des "Verkleinern"-Befehls erfolgt,
ein vorbestimmtes statisches Ausmaß sein kann. Alternativ kann
das Ausmaß eines
Verkleinerns, welches durch die Auswahl des "Verkleinern"-Befehls erfolgt, durch den Benutzer über die GUI 132 oder
in irgend einer anderen Weise konfigurierbar sein. 8C zeigt
einen vergrößerten Bereich 804,
welcher nach einer oder mehreren Anwendungen eines "Vergrößern"-Befehls ausgewählt ist. Wie
mit dem "Verkleinern"-Befehl, kann das
exakte Ausmaß eines
Vergrößerns, welches
erfolgt, ein statisches Ausmaß oder
ein benutzerkonfigurierbares Ausmaß sein. Die GUI 132 stellt
somit einem Benutzer einen einheitlichen Weg bereit, um schrittweise die
Größe des Bereichs
bis zur Zufriedenheit des Benutzers zu verändern. Es sollte bemerkt werden, dass,
obwohl die Beschreibung der vorliegenden Erfindung die Namen von
verschiedenen Befehlen benutzt, welche durch die Hybridmodellierungseinrichtung
angeboten werden, die Namen der Befehle nicht essentiell für die vorliegende
Erfindung sind und andere Befehle mit verschiedenen Namen, welche
dieselbe Funktionalität
umfassen, für
diese hierin beschriebenen ersetzt werden können, ohne von dem Geltungsbereich
der vorliegenden Erfindung abzuweichen.
-
Die
Bereichsgruppen, welche unter Benutzung der Werkzeuge in der GUI 132 ausgewählt und erzeugt
werden, können
in CAD-Modellierung benutzt werden. Die Hybridmodellierungseinrichtung 110 erlaubt
dem Benutzer, Oberflächen
an diese Bereichsgruppen anzupassen mit einer Kontrolle über die
Oberflächenanpassparameter,
wie etwa UV-Achse
und die Zahl von Kontrollpunkten. Die Oberflächen können in CAD-Umgestaltungsprozessen
in Feldern benutzt werden, wie etwa Beschneiden mit einer Oberfläche und
Extrudieren bis zu einer Oberfläche. Die
Hybridmodellierungseinrichtung 110 ermöglicht auch, dass die Oberflächen durch
einen Bereich impliziert werden, wenn CAD-Remodellierungsprozesse
ausgeführt
werden. Zum Beispiel impliziert mit der Hybridmodellierungseinrichtung 110 ein
Bereich eine Oberfläche
(entweder unter Benutzung eines voreingestellten oder benutzergewählter Oberflächenanpassungsparameter),
wodurch einem Benutzer erlaubt wird, einen Bereich auszuwählen und CAD-Operationen
durchzuführen
(welche typischerweise eine Oberfläche erfordern), wie etwa eine "Extrudiere bis Bereich"-Operation (unter Benutzung der Oberfläche, welche
durch die Bereichsauswahl impliziert ist). Zum Beispiel kann in
dem "Extrudieren"-Befehl eine "bis zu Bereich"-Option verfügbar sein,
wie auch eine "bis
zu Oberfläche/Fläche"-Option. Eine Oberfläche kann
durch die Hybridmodellierungseinrichtung 110 durch Anpassen
des Bereichs in die am besten geeignete parametrische Oberflächenform berechnet
werden. Ein spezifiziertes 2D-Entwurfsprofil kann dann bis zu der
berechneten Oberfläche extrudiert
werden. Die von dem Bereich implizierte Oberfläche kann automatisch aktualisiert
werden, wenn sich der Bereich ändert.
Zum Beispiel kann eine von einem Bereich implizierte Oberfläche, welche
extrudiert worden ist, aktualisiert werden, wenn ein "Vereinigen"-Befehl oder ein "Entfernen"-Befehl auf dem Bereich ausgeführt wird.
Geometrische oder topografische Änderungen
in den Rohabtastdaten werden auch auf eine implizierte Oberfläche propagiert.
In einer Ausführungsform
kann der Ausdruck "propagieren" im Sinner von "weiterreichen" benutzt sein. Wenn
zum Beispiel ein "Glätten"-Befehl für einen
Bereich ausgewählt
wird, wird die Position jedes Punktes in dem Bereich geändert und
die von dem Bereich implizierte Oberfläche wird dann automatisch aktualisiert.
-
Die
Hybridmodellierungseinrichtung 110 wendet eine G1 (Tangente)-
oder höhere
Ordnung (G2, etc.)-Ausweitung (Voreinstellung ist G1) an, wenn der
extrudierte Entwurf nicht die originale Größe der implizierten Oberfläche, welche
auf das Gitter angepasst ist, schneidet. Zum Beispiel zeigt 9A ein
Modell 900, von welchem ein ursprünglicher Gitterbereich 902 ausgewählt worden
ist. 9B stellt eine Benutzerschnittstelle 910 dar,
welche von der Hybridmodellierungseinrichtung 110 bereitgestellt
ist, von welcher der Benutzer eine Funktion zum Erstellen einer
Oberfläche
benutzen kann, um Oberflächenanpassungsparameter
auszuwählen.
Die Benutzerschnittstelle 910 stellt auch eine Vorschau 920 der
Oberflächenanpassung
für den
ausgewählten Bereich
bereit. Die Benutzerschnittstelle 910 kann dem Benutzer
erlauben, die Oberflächenanpassungsparameter,
wie etwa die Zahl von U-Kontrollpunkten 912 und Zahl von
V-Kontrollpunkten 913 zu kontrollieren. Die Benutzerschnittstelle 910 kann
einem Benutzer erlauben, zu spezifizieren, dass das Gitter neu erstellt
wird 914, dass ISO-Flussregularisierungslevel eingestellt
werden 915, und dass die U-V-Achsen manipuliert werden 916.
Die Benutzerschnittstelle 910 kann auch dem Benutzer erlauben, den
Typ einer Ausweitemethode zu spezifizieren, welche beim Durchführen des
Erstellens der Oberfläche
benutzt wird. Zum Beispiel ist in 9B die G1-Ausweitemethode
ausgewählt
worden. In einer Ausführungsform
kann die Benutzerschnittstelle 910 dem Benutzer erlauben,
das Ausmaß des
U-Ausweiteanteils 918 und/oder des V-Ausweiteanteils 919 zu kontrollieren.
Zum Beispiel sind sowohl der U-Ausweiteanteil als auch der V-Ausweiteanteil auf 200.0000
% in 9B ausgewählt
worden. 9C zeigt eine resultierende
Anpassungsoberfläche 930, welche
unter Benutzung der durch die Oberfläche 910 ausgewählten Oberflächenanpassungsparameter
für den
Gitterbereich 902 berechnet worden ist. Es gibt einen kleinen
(voreingestellten) Betrag einer G1-Ausweitung auf der Oberflächenanpassung,
was bedeutet, dass die Oberfläche über den
Bereich, welcher angepasst ist, übersteht.
Wenn der Benutzer einen größeren Betrag
einer G1-Ausweitung (oder G2-(Krümmungs)Ausweitung)
spezifiziert hätte, dann
würde die
Oberfläche
proportional größer basierend
auf diesem Ausweiteparameter sein.
-
10A-10C illustrieren den automatischen
Wiederanpassprozess, welcher in einer Ausführungsform der vorliegenden
Erfindung angewendet werden kann. 10A stellt
ein Gittermodell 1000 dar, welches einen übrigen Gitterbereich 1002 und
ein entferntes Feld eines Gitterbereichs 1004 darstellt,
welches von dem übrigen
Gitterbereich entfernt worden ist. Das Entfernen des entfernten
Feldes 1004 kann mit einer Zahl von Techniken in einem
Gitterbereicheditier-/Modifikationsmodus durchgeführt werden,
welcher durch die Hybridmodellierungseinrichtung 110 bereitgestellt
ist. Eine solche beispielhafte Technik umfasst die Benutzung des
dargestellten Farbpinselauswahlwerkzeuges 1006, welches durch
einen angezeigten Gitterbereich gezogen werden kann, um die Entfernung
durchzuführen.
In einer Ausführungsform
wird die Oberfläche 1010 automatisch
nach dem Entfernen des entfernten Feldes 1004 erneut angepasst,
nachdem der Benutzer den Gitterbereicheditier-/Modifikationsmodus
verlässt. 10C stellt die Fähigkeit einer Ausführungsform der
vorliegenden Erfindung dar, um weiter die erneut berechnete Anpassungsoberfläche 1020 durch Ändern des
Betrages einer Oberflächenanpassungsausweitung
zu modifizieren. In 10C ist die Anpassungsoberfläche 1020 einer
75% G1-Ausweitung in beiden, den U & V-Richtungen, unterzogen worden.
-
Einige
der CAD-Operationen, welche durch Ausführungsformen der vorliegenden
Erfindung durchgeführt
werden können,
umfassen Extrudieren eines Raummodells bis zu einer implizierten
Oberfläche.
Dieser Typ von Operation wird in den 11A-11C gezeigt. 11A stellt
einen CAD-Entwurf 1100 dar,
welcher nahe einem Gitterbereich 1102 gezeichnet ist, für welchen
eine implizierte Oberfläche
berechnet werden wird. 11B stellt eine
Benutzerschnittstelle 1110 dar, welche durch eine Ausführungsform
der vorliegenden Erfindung erzeugt werden kann. Die Benutzerschnittstelle
umfasst einen auswählbaren
Extrudierparameter 1112 sowie zusätzliche konfigurierbare Parameter,
welche die Methode des Extrudierens 1114 kontrollieren. Zum
Beispiel zeigt die ausgewählte
Methode in 11B an, dass der Basisentwurf 1100 "bis zur Oberfläche" extrudiert werden
soll. Eine Vorschau der extrudierten Entwurfskomponente 1116 wird auch
durch die Benutzerschnittstelle 1110 bereitgestellt. 11C stellt den extrudierten Raumkörper 1120 dar,
welcher die Oberfläche 1102,
welche von den Gitterdaten für
seine obere Fläche
impliziert ist, benutzt. Wenn der Benutzer irgend einen der Anpassungsparameter
der Oberfläche 1102 ändert, oder die
Abtastdaten oder den Bereich der Abtastdaten, von welchem die Oberfläche impliziert
ist editiert, dann wird in einer Ausführungsform der Benutzer auch Änderungen
in dem extrudierten Raummodell 1120 sehen, weil es mit
der Oberfläche
verknüpft
ist.
-
Die
Hybridmodellierungseinrichtung 110 identifiziert automatisch,
welcher Oberflächentyp, wie
etwa Ebene, Sphäre,
Zylinder, Kegel, Torus oder eine Freiform am besten geeignet ist,
um einen Gitterbereich zu repräsentieren.
Oberflächenparameter können automatisch
gemäß des identifizierten
Typs berechnet werden. Die Modellierungsoptionen und Parameter können intern
in einer Datenbank gespeichert sein.
-
Wie
vorher bemerkt, können
Bereich benutzt werden, um Oberflächen zu implizieren. Während CAD-Operationen,
welche Oberflächen
benutzen (unter Benutzung von voreingestellten Oberflächenanpassungsparametern),
kann die Hybridmodellierungseinrichtung 110 Bereiche ersetzen.
Somit stellt 12A einen Gitterbereich 1202 dar,
welcher dem Modell 1200 oben hinzugefügt wird. Ein Basisentwurf 1200 ist
auch dargestellt, welcher vier Kreise 1206 umfasst. 12B stellt die benutzergewählten Extrusionsparameter "bis zu Bereich" 1212 in
der Benutzerschnittstelle 1210 dar, um die vier Kreise 1206 bis
zu einer implizierten Oberfläche
für den
Gitterbereich 1202 zu extrudieren. Eine Vorschau 1220 des Ergebnisses
wird auch durch die Benutzerschnittstelle 1210 angezeigt. 12C zeigt die resultierende Extrusion, welche
die implizierte Oberfläche
des Bereichs benutzt, und die Software führt G1-Ausweitung auf die von
dem Bereich implizierte Oberfläche aus,
so dass die Extrusion 1230 sich mit der implizierten Oberfläche schneidet.
-
Wenn
der Bereich, welcher ursprünglich
als eine Eingabe für
ein CAD-Teilkörpermodellierungsargument
gewählt
worden ist, durch den Benutzer editiert wird, erstellt die Hybridmodellierungseinrichtung 110 automatisch
den Körper
erneut, durch Wiederholen des oben diskutierten Prozesses. 13A stellt ein Modell 1300 dar, welches
ein editiertes Gitterfeld 1302 umfasst. Das Editieren des
Gitterbereichs 1302 beeinflusst die implizierte Oberfläche, welche
auf dem Bereich basiert und die Extrusionen zu dem Bereich. 13B zeigt das Modell 1300 mit einer erneut
berechneten implizierten Oberfläche 1310. 13C stellt die Modifikation der extrudierten Teile 1330 dar,
um die modifizierte implizierte Oberfläche zu berücksichtigen, welche durch die
Modifikation des darunterliegenden Gitterbereichs bewirkt ist. Andere
Optionen, um Bereiche in dem "Extrudiere
zu Bereich"-Befehl
für Freiformoberflächen sind,
den maximalen, mittleren oder minimalen Abstand des Bereichs zu
benutzen. Diese berechnen keine implizierte Oberfläche, aber
der resultierende Teilkörper wird
verändert,
wenn es Änderungen
in den Bereichen gibt.
-
Obwohl
die obigen Beispiele Bereiche diskutieren, wo eine Freiformoberfläche geeignet
ist, wird durch die Fachleute der Technik geschätzt werden, dass andere Oberflächen, wie
etwa Sphären,
Kegel, Ebenen, Zylinder oder Torus, etc. ersetzt werden können, wenn
sie geeigneter sind für
die analytische Form, ohne von dem Geltungsbereich der vorliegenden
Erfindung abzuweichen.
-
Die
Hybridmodellierungseinrichtung 110 erlaubt dem Benutzer
auch, bis zu einem Bereich zu drehen, anstatt bis zu einem Bereich
zu extrudieren. Der "Drehen
bis Bereich"-Befehl
arbeitet auf dieselbe Weise wie der "Extrudiere bis Bereich"-Befehl außer, dass
die implizierte Oberfläche
als eine Endoberfläche
benutzt wird, bis zu welcher der drehende Entwurf gedreht werden
kann. 14A stellt einen ausgewählten Gitterbereich 1402 in
einem Modell 1400 und einen Entwurf 1404 dar.
Der Entwurf 1404 hat ein Rotationsprofil und eine Mittellinie 1406.
Der Entwurf umfasst ein kreisförmiges
Feld 1408, welches bis zu der implizierten Oberfläche der
ausgewählten
Gitterregion 1402 zu drehen ist. 14B stellt
die Wirkung der Ausführung
eines "Drehe bis
Bereich"-Befehls
in einer Richtung dar. Die Drehung extrudiert bis zu der implizierten
Oberfläche 1410 des
Gitterbereichs. Anders ausgedrückt
wird die Entwurfsebene um die Mittellinie 1406 gedreht,
bis das kreisförmige
Feld 1408 herumgedreht worden ist, um mit der implizierten Oberfläche des
Gitterbereichs 1402 zu überlappen. Weil
das Raummodell sich mit dem Bereich schneidet, weiß der Benutzer,
dass die implizierte Oberfläche
da sein wird (wenn sie nicht da wäre, würde eine G1-Ausweitung angewendet).
Eine G1-(Tangenten)Ausweitung der Oberfläche würde angewendet, wenn sich das
gedrehte Profil nicht mit der ursprünglichen Größe der implizierten Oberfläche schneiden würde. Die
implizierte Oberfläche
wird automatisch ausgeweitet, um sich mit dem Raummodell zu schneiden.
Diese Idee einer Ausweitung ist identisch zu der Ausweitung der
implizierten Oberfläche
des "extrudiere
bis Region"-Befehls,
welcher oben diskutiert ist.
-
Schneiden
mit Oberflächen
ist eine typische CAD-Operation. Die Hybridmodellierungseinrichtung 110 nutzt
die implizierte Oberfläche
eines Gitterbereichs aus, um einen Schnitt durch einen Bereich zu erzeugen.
Wie in den 15A und 15B gezeigt, kann
zum Beispiel die implizierte Oberfläche dazu benutzt werden, um
einen Schnitt an einem rechteckigen Raummodell durchzuführen. 15A zeigt ein Modell 1500, welches ein
rechteckiges Raummodell 1504 umfasst, welches einen Teil
eines ausgewählten
Gitterbereichs 1502 schneidet. Die Hybridmodellierungseinrichtung 110 führt eine
G1-(Tangenten)Ausweitung
durch, um die implizierte Oberfläche, welche
für den
Gitterbereich 1502 berechnet ist, auszuweiten und einen
vollständigen
Schnitt durch das Raummodel 1504 zu machen. Die Ausweitung
ist notwendig, weil ein Teil des Raummodells 1504 klar außerhalb
des ausgewählten
Gitterbereichs 1502 und seiner implizierten Oberfläche liegt. 15B zeigt das Resultat einer Schneideoperation,
da das verminderte rechteckige Raummodell 1508 auf das Niveau
der implizierten Oberfläche
erniedrigt worden ist, welche für
den ausgewählten
Gitterbereich 1502 berechnet wurde.
-
In
einem Aspekt der vorliegenden Erfindung kann die Hybridmodellierungseinrichtung 110 dazu benutzt
werden, um ein Modell durch Beschneiden oder Vereinigen von ausgewählten Oberflächen zu erstellen.
Ein "Beschneiden
und Vereinigen"-Befehl ist über die
Benutzerschnittstelle verfügbar.
Nachdem der Befehl ausgewählt
ist, wählt
ein Benutzer Eingabekörper
für den
Befehl aus, und zeigt dann durch die Benutzeroberfläche an,
dass der Befehl angewendet werden soll. Der Beschneiden und Vereinigen-Befehl überprüft automatisch
Schnitte zwischen ausgewählten
Oberflächen
und teilt Oberflächen
entlang ihrer Schnittkurven. Unnötige
Teile von Oberflächen,
welche nicht daran teilnehmen, einen geschlossenen Bereich zu machen,
oder der größte offene
Bereich werden dann entfernt.
-
In
einem anderen Aspekt der vorliegenden Erfindung stellt die Hybridmodellierungseinrichtung 110 eine
Benutzerschnittstelle bereit, welche die Auswahl eines "Ersetze Fläche"-Befehls ermöglicht, welcher
einem Benutzer erlaubt, Flächen
in einer Oberfläche
oder einem Raumkörper
durch neue Oberflächenkörper zu
ersetzen. Nachdem der Befehl durch die Benutzerschnittstelle ausgewählt worden ist,
wählt der
Benutzer eine Zielfläche
in einem Raum- oder Oberflächenkörper aus,
welche der Benutzer zu ersetzen wünscht und wählt eine oder mehrere Ersetzungsoberflächen aus,
welche den Platz der Zielfläche
einnehmen. Der Ausdruck "Raumkörper" betrifft einen Satz
von Oberflächen,
welche einen abgeschlossenen Bereich bilden, während der Ausdruck "Oberflächenkörper" einen Satz von Oberflächen betrifft,
welche einen offenen Bereich bilden. Die Hybridmodellierungseinrichtung 110 kann
eine einzelne Fläche
oder einen Satz von verbundenen Flächen durch einen Oberflächenkörper ersetzen oder
kann mehrere als einen Satz von verbundenen Flächen mit derselben Zahl von Oberflächenkörper in einer
einzelnen Operation ersetzen. Der Ersetzungsoberflächenkörper muss
nicht dieselben Grenzen haben wie die alten Flächen. In dem Fall, wo die Ersetzungsflächen größer als
die Zielflächen
sind, werden die der Zielfläche
angrenzenden Flächen
in dem ursprünglichen
Körper
auf den Ersetzungsoberflächenkörper ausgeweitet
und beschnitten. In dem Fall, wo der Ersetzungsoberflächenkörper kleiner
als die Zielfläche
oder -flächen
ist, werden die Ersetzungsoberfläche
oder -oberflächen
automatisch ausgeweitet, um die Flächen in dem ursprünglichen
Körper,
welche zu der Zielfläche
angrenzend waren, zu treffen. Der Ersetzungsoberflächenkörper kann
ein Oberflächenmerkmal
sein, wie etwa ein Extrudieroberflächenmerkmal, ein Loftmerkmal
(loft feature) und/oder ein Füllmerkmal.
Der Ersetzungsoberflächenkörper kann
auch ein gewirkter Oberflächenkörper oder
ein komplexer importierter Oberflächenkörper sein.
-
Es
sollte bemerkt werden, dass durch die gesamte Beschreibung der vorliegenden
Erfindung, welche hierin beinhaltet ist, Bezug genommen wird auf
spezifisch benannte Befehle und Operationen. Es sollte geschätzt werden,
dass die Namen, welchen den Befehlen und Operationen gegeben wurden,
wie hierin diskutiert, nur eine beispielhafte Weise bedeuten und
dass andere Namen für
Operationen und/oder Befehle, welche eine ähnliche Funktionalität bereitstellen
zu benannten Befehlen und Operationen, welche hierin diskutiert
sind, benutzt werden können,
ohne von dem Geltungsbereich der vorliegenden Erfindung abzuweichen.
-
Die
vorliegende Erfindung kann in einem oder mehreren computerlesbaren
Programmen bereitgestellt sein, welche auf oder in einem oder mehreren
Medien verkörpert
sind. Die Medien können eine
Floppy-Disk, eine Festplatte, eine Kompakt-Disk, eine vielfältige digitale
Platte, ein 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 oder ein Teil des Codes kann auf
einer FPGA oder einem ASIC laufen. Der Code kann in einer virtualisierten
Umgebung, wie etwa in einer virtuellen Maschine, laufen. Mehrere
virtuelle Maschinen, welche den Code ablaufen lassen, können auf
einem einzelnen Prozessor ansässig
sein.
-
Da
gewisse Abweichungen gemacht werden können, ohne von dem Geltungsbereich
der vorliegenden Erfindung abzuweichen, ist es beabsichtigt, dass
alle Materie, welche in der obigen Beschreibung enthalten ist oder
in den begleitenden Zeichnungen gezeigt ist, als illustrativ interpretiert
wird und nicht in einem wörtlichen
Sinne. Praktiker der Technik werden realisieren, dass die Folge
von Schritten und Architekturen, welche in den Figuren illustriert
ist, geändert
werden kann, ohne von dem Geltungsbereich der vorliegenden Erfindung
abzuweichen und dass die hierin enthaltenen Illustrationen einzelne
Beispiele einer Mehrzahl von möglichen
Darstellungen der vorliegenden Erfindung sind.
-
Bedeutung
englischer Begriffe in den Figuren
-
- File – Datei
- Select – Auswählen
- Edit – Editiere
- Insert – Einfügen
- Tools – Werkzeuge
- Measure – Messen
- View – Ansicht
- Help – Hilfe
- RefGeom – Referenzgeometrie
- Test – Test
- Mesh Region Group – Gitterbereichsgruppe
- Region Variable – Bereichsvariable
- MinNum – Minimale
Zahl
- MaxNum – Maximale
Zahl
- Allow Invasion – erlaube
Eingriff
- Add – Hinzufügen
- Remove – Entfernen
- Merge – Vereinigen
- Split – Trennen
- Enlarge – Vergrößern
- Shrink – Verkleinern
- Clean – Bereinigen
- Auto Segment – automatisch
Segmentieren
- Tree – Baum
- Feature – Merkmal
- Front – vorn
- Top – oben
- Right – rechts
- Origin – Ursprung
- Model – Modell
- Shells – Hüllen
- Sheet bodies – Sheetkörper
- Solid bodies – Volumenkörper
- 2d sketches – 2D
Entwürfe
- Line – Linie
- Rectangle – Rechteck
- Circle – Kreis
- Polyline – Polyline
- Freehand – Freihand
- Paint Brush – Farbpinsel
- Flood Fill – Flutfüll
- Box – Schachtel
- Cylinder – Zylinder
- Sphere – Sphäre
- Face – Fläche
- Boundary – Begrenzung
- Loop – Schleife
- Edge – Kante
- Mesh Fit – Gitteranpassung
- Resolution – Auflösung
- Extend – Ausweiten
- Ratio – Anteil
- Extrude – Extrudieren
- Trim – Beschneiden
- Offset – Verschiebung
- Sketch – Skizzieren/Entwerfen