DE69625484T2 - Verbesserte Objektmodellerzeugung - Google Patents

Verbesserte Objektmodellerzeugung

Info

Publication number
DE69625484T2
DE69625484T2 DE69625484T DE69625484T DE69625484T2 DE 69625484 T2 DE69625484 T2 DE 69625484T2 DE 69625484 T DE69625484 T DE 69625484T DE 69625484 T DE69625484 T DE 69625484T DE 69625484 T2 DE69625484 T2 DE 69625484T2
Authority
DE
Germany
Prior art keywords
edge
edges
vertex
new
curve
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.)
Expired - Lifetime
Application number
DE69625484T
Other languages
English (en)
Other versions
DE69625484D1 (de
Inventor
Karsten Opitz
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.)
HP Inc
Original Assignee
CoCreate Software GmbH and Co KG
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 CoCreate Software GmbH and Co KG filed Critical CoCreate Software GmbH and Co KG
Application granted granted Critical
Publication of DE69625484D1 publication Critical patent/DE69625484D1/de
Publication of DE69625484T2 publication Critical patent/DE69625484T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes

Landscapes

  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Description

    GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft ein Verfahren zum Integrieren einer Einpassungs- oder Anfasungsfläche, die eine Kante eines geometrischen Körpers in einem Volumenmodell des Körpers in einem computergestützten Konstruktionssystem (CAD-System) ersetzt. Bei der Konstruktion physikalischer Objekte, beispielsweise Maschinenteilen, ist es häufig erforderlich, Kanten des Objekts einzupassen oder anzufasen. Die vorliegende Erfindung betrifft die Funktionsweise des Einpassungs- oder Anfasungsvorgangs in einem 3D-CAD-System, das in der Lage ist, eine graphische Darstellung eines physikalischen Objekts zu speichern und es in einer isometrischen Ansicht dreidimensional darzustellen, und das es einem Benutzer ermöglicht, diese Darstellung interaktiv zu modifizieren.
  • HINTERGRUND DER ERFINDUNG
  • CAD-Systeme werden weit verbreitet bei der Konstruktion mechanischer oder elektronischer Teile oder anderer Objekte verwendet, und es gibt mehrere im Handel erhältliche Systeme dieses Typs. Eine gemeinsame Eigenschaft aller dieser Systeme besteht darin, daß die Objekte vom Benutzer in einem interaktiven Modus konstruiert werden, wobei der Körper, soweit er vom Benutzer konstruiert worden ist, auf einem Bildschirm angezeigt wird, und der Benutzer Befehle eingeben kann, um an der bereits existierenden Struktur Modifikationen vorzunehmen und/oder Zusätze aufzunehmen.
  • Zum Anzeigen des gerade konstruierten geometrischen Objekts wird typischerweise eine Kathodenstrahlröhre (CRT) oder eine Flüssigkristallanzeige (LCD) verwendet. Das Objekt wird in einer isometrischen Ansicht dargestellt. Zusätzlich kann das dargestellte Objekt durch computererzeugte Lichtquellen beleuchtet werden, um realistische dreidimensionale Bilder zu erzielen. Die Befehle zum Ergänzen oder Modifizieren werden durch geeignete Eingabeeinrichtungen, vorzugsweise eine Computermaus, ein Digitalisiertablett oder einen Lichtstift, eingegeben. Als eine Alternative zur perspektivischen Darstellung auf dem Bildschirm kann eine zweidimensionale Ansicht oder Schnittansicht des gerade konstruierten Objekts dargestellt werden. Manche bekannten CAD-Systeme ermöglichen auch das Drehen des angezeigten Objekts um verschiedene Achsen, so daß der Benutzer das Objekt aus mehreren Richtungen betrachten kann. Wenn der Editierprozeß abgeschlossen ist und das zu konstruierende Objekt seine endgültige Form angenommen hat, kann durch einen Drucker oder einen Plotter eine entsprechende Papierkopie erzeugt werden. Weiterhin kann anhand der das Objekt darstellenden Daten ein Lochstreifen oder ein Magnetband erzeugt werden, und dieser Streifen oder dieses Band kann dann direkt von einer numerisch gesteuerten Werkzeugmaschine zum Herstellen des gewünschten physikalischen Objekts verwendet werden.
  • Ein Beispiel eines im Handel erhältlichen 3D-CAD- Systems ist der "Precision Engineering Solid Designer 4.0" von Hewlett-Packard, der zur Klasse der sogenannten "Begrenzungsdarstellungs"-Modelliereinrichtungen (B-rep- Modelliereinrichtungen) gehört, welche ein Volumenmodell indirekt durch seine Begrenzungsfläche darstellen. Zusätzlich zu den geometrischen Informationen speichert eine B- rep-Modelliereinrichtung zusätzliche topologische Informationen, die Nachbarschaftsbeziehungen zwischen den geometrischen Einheiten beschreiben. Andere Klassen von Modelliereinrichtungen, welche am weitverbreitetsten verwendet werden, beruhen auf dem "Constructive Solid Geometric Approach" (CSG-Verfahren), wobei ein Volumenmodell als Ergebnis einer Folge von Grundoperationen, wie Vereinigungen oder Schnitten, die auf einfache geometrische Objekte angewendet werden, dargestellt wird. Eine detailliertere Beschreibung der Darstellungsschemata, insbesondere zu B-rep-Modellen, kann in Mantyla M. "An introduction to solid modelling", Computer Science Press, Rockville 1988 vorgefunden werden.
  • Der Hauptvorteil des B-rep-Schemas besteht darin, daß es gut für lokale Modifikationen des Modells, insbesondere den Prozeß des Einpassens oder Anfasens einer Kante, geeignet ist. In diesem Fall wird eine scharfe Kante eines Volumenmodells durch eine Fläche ersetzt, die sich entweder glatt mit den benachbarten Flächen verbindet (Einpassen) oder die sich in flacher Weise mit diesen verbindet (Anfasen). Beide Operationen, insbesondere das Einpassen von Kanten, dienen bei mechanischen Konstruktionen mehreren Zwecken, einschließlich des Auflösens von Spannungssituationen und des Verbesserns der Fluidströmungseigenschaften. Die Zuverlässigkeit der Einpassungsoperation ist daher häufig für den Abschluß einer Gesamtkonstruktion in einem 3D-CAD-System entscheidend.
  • Freitag u. a. lehren in "Enhancement of Blending algorithms", Hewlett Packard Journal, Band 46, Nr. 5, 1. Oktober 1995, wie Einpassungsflächen in ein Volumenmodell eines Objekts zu integrieren sind. Ihre Lösung kann möglicherweise in manchen Fällen keine zufriedenstellenden Ergebnisse liefern, sie ist jedoch in einer Reihe komplizierter Fälle erfolgreich, falls sie als Spezialfälle auf einer getrennten Grundlage behandelt werden können. Sie berechnen. Schnitte der Einpassungsfläche mit allen Kanten und Flächen, die mit ihrem Ende verbunden sind, sie führen jedoch nicht das Wiederholen der Berechnung von Trimmwegen aus, das für Nicht-Einpassungsflächen und Nicht- Anfasungsflächen zur Erzeugung einer neuen Topologie erforderlich ist, nachdem ein anfängliches Schließen für die Einpassungsfläche vorgenommen wurde.
  • Nachfolgend werden mehrere Typen von Einpassungs- und Anfasungsoperationen in näheren Einzelheiten mit Bezug auf die Fig. 20 und 21 beschrieben.
  • Fig. 20a zeigt eine isometrische Ansicht eines geometrischen Objekts 2000, das mehrere Flächen 2002, 2004, 2006 aufweist, welche die Form des Objekts 2000 definieren. Zwischen den jeweiligen Flächen 2002 bis 2006 des Objekts 2000 sind Kanten 2008 bis 2024 gebildet. Im Folgenden ist eine Kante des Objekts 2000 einzupassen. In dem mit Bezug auf Fig. 20 beschriebenen Beispiel ist die einzupassende Kante die Kante 2008.
  • Es gibt mehrere Verfahren, die zum Erzeugen einer Einpassungsfläche zwischen der Fläche 2002 und der Fläche 2004 des Objekts 2000 verwendet werden. Zwei der möglichen Verfahren werden nun in näheren Einzelheiten mit Bezug auf die Fig. 20b und 20c beschrieben. In Fig. 20b ist das sich ergebende Objekt 2000 dargestellt, nachdem die sogenannte "Einpassungsoperation unter Verwendung einer rollenden Kugel mit konstantem Radius" auf das in Fig. 20a dargestellte Objekt angewendet worden ist. Aus Gründen der Klarheit sind die Bezugszeichen, die die ungeänderten Kanten des Objekts definieren, fortgelassen. Wie anhand Fig. 20b ersichtlich ist, wurde die ursprüngliche Kante 2008 durch eine Einpassungsfläche 2026 ersetzt, welche eine erste neue Kante 2028, welche die Einpassungsfläche 2026 mit der Fläche 2002 verbindet, und eine zweite neue Kante 2030, die die Einpassungsfläche 2026 mit der Fläche 2004 verbindet, aufweist. Weiterhin weist die Einpassungsfläche 2026 zwei abgerundete Kanten 2032 und 2034 auf. Wie in Fig. 20b dargestellt ist, ist die Oberfläche der Fläche 2002 und der Fläche 2004 kleiner als die in Fig. 20a dargestellte ursprüngliche Oberfläche dieser Flächen. Mit anderen Worten schrumpfen die Flächen 2002 bis 2006.
  • Die Einpassungsfläche 2026 kann als durch eine Kugel erzeugt betrachte t werden, welche sich entlang der ursprünglichen Kante 2008 bewegt und die benachbarten Flächen 2002 und 2004 berührt. Die Linien, an denen die Kugel die benachbarten Flächen 2002 und 2004 berührt, definieren die erste und die zweite neue Kante 2028 und 2030, wie in Fig. 20b dargestellt ist.
  • Mit Bezug auf Fig. 20c wird ein weiteres Verfahren zum Erzeugen einer Einpassungsfläche in näheren Einzelheiten dargestellt. Die Einpassungsfläche 2036, die in Fig. 20c dargestellt ist, wurde durch Anwenden einer sogenannten "Einpassungsoperation unter Verwendung einer rollenden Kugel mit veränderlichem Radius" auf das Objekt erzeugt. Anders als in Fig. 20b, wo der Abstand zwischen der neuen ersten Kante 2028 und der neuen zweiten Kante 2030 konstant ist, wächst in Fig. 20c der Abstand zwischen den jeweiligen neu geformten Kanten 2038 und 2040 der Einpassungsfläche 2036 von der linken Seite von Fig. 20c zur rechten Seite von Fig. 20c. Die Einpassungsfläche 2036 weist weiterhin die Kanten 2042 und 2044 auf. Diese Kanten 2042 und 2044 weisen nicht die gleiche Länge auf.
  • Die in Fig. 20c dargestellte Einpassungsfläche 2036 kann als von einer Kugel erzeugt angesehen werden, die sich entlang der ursprünglichen Kante 2008 bewegt und die benachbarten Flächen 2002 und 2004 berührt, wobei während der Bewegung entlang der Kante 2008 der Radius der Kugel kontinuierlich geändert wird. Mit anderen Worten beschreibt Fig. 20c eine Verallgemeinerung der mit Bezug auf Fig. 20b beschriebenen grundlegenden Einpassungsoperation unter Verwendung einer rollenden Kugel.
  • Mit Bezug auf Fig. 21 werden verschiedene Verfahren zum Erzeugen einer Anfasungsfläche zwischen benachbarten Flächen eines geometrischen Objekts in näheren Einzelheiten beschrieben. In Fig. 21a ist das ursprüngliche Objekt in einer isometrischen Ansicht dargestellt. Das in Fig. 21a dargestellte Objekt gleicht dem in Fig. 20a dargestellten. Daher wird auf eine Beschreibung des in Fig. 21a dargestellten Objekts verzichtet. Es sei bemerkt, daß in Fig. 21 die gleichen Bezugszeichen wie in Fig. 20 verwendet werden.
  • In Fig. 21b ist der sich ergebende Körper nach dem Anwenden der "Anfasungsoperation mit konstantem Abstand" auf den in Fig. 21a angegebenen Körper dargestellt. Durch Anwenden dieser Operation auf das ursprüngliche Objekt 2000 wird eine Anfasungsfläche 2102 zwischen den Flächen 2002 und 2004 erzeugt. Die Anfasungsfläche wird von einer ersten neuen Kante 2104 und einer zweiten neuen Kante 2106 und weiter von den Kanten 2108 und 2110 begrenzt. Der Unterschied zwischen der Fläche 2102 und der Fläche 2026 aus Fig. 20b besteht darin, daß die Flächen 2002 und 2004 nun durch eine ebene Fläche 2102 verbunden sind, welche von den Kanten 2108 und 2110 abgesetzt ist, welche statt gerundeter Linien gerade Linien sind, wie in Fig. 20b dargestellt ist. Mit anderen Worten wird die Kante 2008 des in Fig. 21a dargestellten ursprünglichen Körpers 2000 durch eine ebene Fläche 2102 ersetzt, welche zwei Kurven verbindet, die den gleichen Abstand von der ursprünglichen Kante 2008 aufweisen, wobei die vorstehenden zwei Kurven die neuen Kanten 2104 und 2106 sind. Es sei bemerkt, daß in dem in Fig. 21b dargestellten Beispiel die Anfasungsfläche 2102 nicht unter einem konstanten Winkel zur ursprünglichen Fläche 2008 angewendet wird. Dies bedeutet, daß der Winkel der Kante 2108 zwischen den ursprünglichen Flächen 2002 und 2004 vom Winkel der neuen Kante 2110 zwischen den Flächen 2002 und 2004 verschieden ist.
  • Mit Bezug auf Fig. 21c wird die Aufgabe beschrieben, die als Ergebnis des Anwendens einer Anfasungsoperation mit konstantem Abstand bzw. konstantem Winkel auf den Körper aus Fig. 21a erreicht wird. Die ursprüngliche Kante 2008 wird durch eine Anfasungsfläche 2112 ersetzt, die von der ersten neuen Kante 2116 und einer zweiten neuen Kante 2114 begrenzt ist. Weiterhin weist die Anfasungsfläche die Kanten 2118 und 2120 auf. Der Unterschied im Vergleich zu dem in Fig. 21b dargestellten Körper besteht darin, daß beide Kanten 2108 und 2120 den gleichen Winkel zwischen den Flächen 2002 und 2004 definieren. Mit anderen Worten hat die Anfasungsfläche 2112, die von den Kurven 2114 und 2116 an den benachbarten Flächen 2002 und 2004 begrenzt wird, einen konstanten Abstand von der ursprünglichen Kante 2008 und schneidet die Fläche 2102 unter einem festen Winkel entlang der von der ursprünglichen Kante 2008 definierten Kurve.
  • Das Einpassen oder Anfasen einer Kante eines Körpers oder eines geometrischen Objekts besteht im wesentlichen aus zwei Hauptschritten, die nachstehend mit Bezug auf die Fig. 22 und 23 beschrieben werden. Diese zwei Figuren enthalten zwei Beispiele der Erzeugung einer Einpassungsfläche.
  • In Fig. 22a ist das ursprüngliche Objekt 2200 dargestellt. Dieses Objekt weist mehrere Flächen F1 bis F5 auf, wobei der Schnitt zwischen den jeweiligen Flächen mehrere Kanten e1 bis e12 definiert. Die Kante, die in dem mit Bezug auf Fig. 22 beschriebenen Beispiel einzupassen ist, ist die Kante e12, die die Flächen F1 und F5 verbindet.
  • Der erste Schritt wird mit Bezug auf Fig. 22b beschrieben und beinhaltet das Erzeugen der Einpassungsflächengeometrie. Der Schritt des Erzeugens der Oberflächengeometrie der Einpassungsfläche F beinhaltet das Bestimmen der geometrischen Parameter der Einpassungsfläche F. Wie Fig. 22b entnommen werden kann, weist die Einpassungsfläche F eine erste Kante E14, eine zweite Kante E15, eine dritte Kante E16 und eine vierte Kante E17 auf.
  • Es sei bemerkt, daß die Kanten E16 und E17 abgerundet sind, wodurch die Konvexität der Einpassungsfläche F definiert wird. Das Erzeugen der Oberflächengeometrie der Einpassungsfläche F beinhaltet des weiteren das Bestimmen der Position, an der die Einpassungsfläche F die ursprünglichen Flächen des ursprünglichen Körpers 2200 schneidet. In Fig. 22b sind die jeweiligen Schnitte mit den existierenden Flächen F1 und F5 durch Abschnitte der Kanten e14 und e15 der Einpassungsfläche F gebildet und sind die Schnitte der ursprünglichen Flächen F2, F3 und F4 durch Bezugszeichen e18, e19 und e20 angegeben.
  • In Fig. 22c ist das Objekt dargestellt, das durch den zweiten Hauptschritt zum Einpassen der Kante e12, der die Integration der Oberflächengeometrie in das Volumenmodell ist, erreicht wird. Durch die Integration der Oberflächengeometrie in das Volumenmodell wird die ursprüngliche Kante e12 durch eine Einpassungsfläche F' ersetzt, die von den Kanten e14', e15', e16', e18, e19 und e20 begrenzt ist. Die Flächen des Körpers 2200 sind kleiner als in Fig. 22a und durch Bezugszeichen F1', F2', F3', F4', F5' angegeben. Demgemäß führt die Integration der Einpassungsfläche in das Objekt 2000 zu schrumpfenden Flächen.
  • Mit Bezug auf Fig. 23 wird ein weiteres Beispiel des Erzeugens einer Einpassungsfläche beschrieben. In Fig. 23a ist das Gesamtobjekt 2300 dargestellt. Dieses Objekt 2300 weist mehrere Flächen F1, F2, F3, F4, F5 und F6 auf. Am Schnitt der jeweiligen Flächen werden die jeweiligen Kanten e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15 und e16 definiert.
  • Die nach dem in Fig. 23 dargestellten Beispiel einzupassende Kante ist die Kante e15 zwischen den ursprünglichen Flächen F5 und F6. Wie bereits mit Bezug auf Fig. 22b beschrieben wurde, wird die Oberflächengeometrie der Einpassungsfläche F in einem ersten Hauptschritt erzeugt, wie in Fig. 23b dargestellt ist. Aus Gründen der Klarheit sind die Bezugszeichen, die Kanten angeben, welche nicht von dem Einpassungsvorgang beeinflußt werden, fortgelassen. Die Einpassungsfläche F weist die vier Kanten e17 bis e20 auf, wobei die Kanten e19 und e20 gerundet sind, wodurch die Konvexität der Fläche F definiert ist.
  • In Fig. 23c ist das Objekt dargestellt, nachdem die Einpassungsfläche in das Volumenmodell integriert wurde. Wie ersichtlich ist, bleiben die ursprünglichen Flächen F2 und F4 unverändert, wobei die ursprünglichen Flächen F1, F3, F5 und F6 geändert wurden, was unter Verwendung eines Apostrophzeichens angegeben ist, wenn die geänderte Fläche angegeben wird. Die Flächen F1' und F2' wachsen, während die Flächen F6' und F7' schrumpfen.
  • Es sei bemerkt, daß die Mathematik der Geometrieerzeugung wohlverstanden ist und daß ein großer Literaturumfang existiert, der die Erzeugung und Näherung der Oberflächengeometrie der Einpassungsfläche, insbesondere für Rollkugeleinpassungen, betrifft. Für eine detailliertere Beschreibung der vorstehend beschriebenen zwei Hauptschritte zum Einpassen oder Anfasen einer Kante eines Körpers wird auf Vida J., Martin R. R. und Vardy T. "A survey of blending methods that use parametric surfaces", Computer Design, Band 5, Nr. 5, 1994, S. 341-355; Woodwark J. P. "Blends in geometrical modelling" in: "The mathematics of surface II", Martin, R. R. (Herausgeber) Oxford University Press, 1987, S. 255 bis 297 Bezug genommen.
  • Das Problem des Integrierens der Einpassungs- oder Anfasungsfläche in das Volumenmodell wurde noch nicht zuverlässig gelöst. Das Problem besteht aus dem Anpassen der Geometrie und Topologie des Modells, so daß sich eine gültige Volumenmannigfaltigkeit ergibt, die ein herstellbares Objekt ist. Dieser Prozeß könnte das Entfernen existierender topologischer Elemente, wie Kanten und Flächen, des ursprünglichen Körpers sowie das Erzeugen von neuen beinhalten.
  • Ein bekanntes Verfahren behandelt einen ersten Problemtyp, bei dem Topologien von einer neuen Fläche "verschluckt" werden. Ein wesentliches Merkmal dieses bekannten Verfahrens besteht darin, daß Situationen behandelt werden können, bei denen benachbarte topologische Elemente stets schrumpfen, was bedeutet, daß ein Teil der ursprünglichen Kante oder Fläche von der neuen Fläche "abgeschnitten" wird. In bezug auf diesen Punkt löst dieses bekannte Verfahren das Problem des Integrierens der Fläche zuverlässig. Dieses bekannte Verfahren ist jedoch nicht in der Lage, Situationen zu behandeln, in denen existierende Kanten oder Flächen wachsen. In vielen praktischen Situationen ist es keinesfalls ausreichend, nur schrumpfende Elemente zu behandeln, weil es recht häufig der Fall ist, daß mehrere existierende topologische Elemente "wachsen" müssen, um eine gültige Lösung zu erzielen. Diese Möglichkeit beinhaltet das Verbinden von Topologien, die in dem ursprünglichen Körper vollständig getrennt waren, sowie das Erzeugen neuer Elemente in der Art von Kanten oder Scheitelpunkten zwischen ihnen. Diese Situation tritt insbesondere dann auf, wenn mehrere Kanten, die sich an einem Scheitelpunkt treffen, gleichzeitig einzupassen sind, weil dann jede der neuen Einpassungsflächen wächst.
  • Für den Fall schrumpfender Topologien kann der sich ergebende Körper nur aus Schnitten mit existierenden Elementen aufgebaut werden. Das Problem wachsender Topologien ist natürlich infolge der Abhängigkeiten zwischen der Geometrie und der Topologie viel komplizierter. Insbesondere müssen, abhängig von der zu integrierenden Geometrie, ursprünglich getrennte Elemente, wie Flächen, verbunden werden, oder neue, wie Kanten, erzeugt werden. Aktuelle CAD-Systeme können dieses Problem nicht zufriedenstellend lösen. Es werden bestimmte Spezialfälle wachsender Topologien implementiert, kompliziertere werden jedoch nicht zuverlässig behandelt. Dies führt entweder zu einem Fehlschlag des ganzen Einpassungs- oder Anfasungsvorgangs oder zum Erzeugen eines Körpers, der tatsächlich nicht von einer Maschine hergestellt werden kann.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren zum Integrieren einer Einpassungs- oder Anfasungsfläche bereitzustellen, durch das der Fall zuverlässig behandelt wird, in dem Topologien infolge der Integration der Einpassungs- oder Anfasungsfläche wachsen.
  • Diese Aufgabe wird durch die in den anliegenden Ansprüchen definierte Erfindung, insbesondere ein Verfahren nach Anspruch 1 und ein System nach Anspruch 12, gelöst.
  • Das erfindungsgemäße Verfahren, das neue Flächen in ein Volumenmodell integriert, weist einige Standardschritte auf, die vorübergehend zu einem nicht mannigfaltigen Volumenmodell mit mehreren teilweise unbegrenzten Flächen führen. Nach dem erfindungsgemäßen Verfahren werden dann die fehlenden Grenzen berechnet und der unbegrenzte Abschnitt "getrimmt" und die neuen Elemente in das Modell integriert. Das Verfahren kann daher überall dort angewendet werden, wo ein einfaches "Loch", nämlich ein Loch mit nur einer Begrenzungsschleife, in einem Volumenmodell zu füllen ist. Die Integration von Einpassungs- oder Anfasungsflächen in dem Modell ist jedoch die primäre und wichtigste Anwendung.
  • Das erfindungsgemäße Verfahren ist von der neuen Oberflächengeometrie unabhängig. Es kann auf Einpassungen mit konstantem und veränderlichem Radius sowie auf alle Typen von Anfasungsflächen angewendet werden.
  • Darüber hinaus sind bevorzugte Ausführungsformen der vorliegenden Erfindung in den abhängigen Ansprüchen definiert.
  • KURZBESCHREIBUNG DER ZEICHNUNG
  • Nachstehend werden bevorzugte Ausführungsformen der vorliegenden Erfindung in näheren Einzelheiten mit Bezug auf die Zeichnung erläutert.
  • Fig. 1a-d zeigen einen geometrischen Körper, der die Wirkungen einer komplexen Einpassungsoperation zeigt, die zum Schrumpfen, Verschwinden und Wachsen benachbarter Flächen führt,
  • Fig. 2a-i zeigen die ersten Schritte zum Integrieren einer Einpassungsfläche in einen Körper,
  • Fig. 3 zeigt ein Flußdiagramm der allgemeinen Routine gemäß der vorliegenden Erfindung,
  • Fig. 4a zeigt ein Flußdiagramm des Schritts 01 der allgemeinen Routine,
  • Fig. 4b zeigt ein Flußdiagramm des Schritts 04 der allgemeinen Routine,
  • Fig. 5a-d zeigen das Schließen der Zwischenräume um den Anfangsscheitelpunkt SV an den jeweiligen Flächen des Körpers,
  • Fig. 6 zeigt geometrisch die anfängliche Topologie um den Scheitelpunkt SV,
  • Fig. 7a-c zeigen ein ursprüngliches Objekt und eine mögliche Lösung,
  • Fig. 8 zeigt ein Flußdiagramm der Tiefe-Zuerst-Suchroutine zum Finden des Trimmwegs,
  • Fig. 9 zeigt ein Flußdiagramm zum Erzeugen zugeordneter Knoten für den Wegbaum,
  • Fig. 10a zeigt den Zwischenkörper nach dem Trimmen der Einpassungsfläche um EV mit einem Loch um SV,
  • Fig. 10b-c zeigen die Semi-Kurven für den Trimmweg auf der Fläche F,
  • Fig. 11 zeigt ein Flußdiagramm der Routine zum Integrieren eines Trimmwegs,
  • Fig. 12a-b zeigen die Integration des Trimmwegs der Fläche F,
  • Fig. 13 zeigt den Trimmweg für die Fläche F1,
  • Fig. 14a-b zeigen die Integration des Trimmwegs der Fläche F1,
  • Fig. 15 zeigt den Trimmweg für die Fläche F2,
  • Fig. 16 zeigt die Trimmwege für die Flächen F3 bis F5,
  • Fig. 17 zeigt den eingepaßten Körper, der sich durch die Integration der Einpassungsfläche in den in Fig. 2a dargestellten Körper ergibt,
  • Fig. 18 zeigt eine weitere Ausführungsform der vorliegenden Erfindung, wobei mehrere Einpassungsflächen gleichzeitig integriert werden,
  • Fig. 19 zeigt schematisch die Komponenten eines 3D-CAD- Systems gemäß der vorliegenden Erfindung,
  • Fig. 20a-c zeigen das Objekt, das sich nach Anwendung einer Einpassungsoperation mit konstantem und veränderlichem Radius ergibt,
  • Fig. 21a-c zeigen das sich ergebende Objekt nach Anwendung einer Anfasungsoperation mit konstantem Abstand bzw. konstantem Winkel,
  • Fig. 22a-c zeigen die Integration einer Einpassungsfläche, die zu schrumpfenden benachbarten Flächen führt, und
  • Fig. 23a-c zeigen die Integration einer Einpassungsfläche, die zu wachsenden benachbarten Flächen führt.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Bevor bevorzugte Ausführungsformen der vorliegenden Erfindung detailliert beschrieben werden, wird die Terminologie für ein B-rep-Volumenmodell, die in der folgenden Beschreibung verwendet wird, zusammengefaßt.
  • Ein Volumenmodell wird als ein "Körper" bezeichnet, der aus "Scheitelpunkten", "Kanten" und "Flächen" besteht. An einem Mannigfaltigkeitskörper entspricht eine Kante einem begrenzten Abschnitt einer von zwei Scheitelpunkten begrenzten dreidimensionalen Kurve, und eine Fläche entspricht einem begrenzten Abschnitt einer von einer Folge von Kanten begrenzten Fläche. Weiterhin existieren genau zwei benachbarte Flächen einer Mannigfaltigkeitskante.
  • Die Modellierungseinrichtung, nämlich das CAD- System, speichert die geometrischen und topologischen Informationen, die den Körper beschreiben, und sie bietet einen Mechanismus zum "Aufsuchen" aller Elemente eines Volumenmodells, beispielsweise zum "Aufsuchen aller Flächen" des Körpers und zum Hinzufügen zusätzlicher Informationen zu jedem Element. Beispielsweise kann eine Einpassungsfläche speziell markiert werden. Zusammen werden diese Mechanismen verwendet, um Untergruppen von Elementen des Körpers zu extrahieren und beispielsweise "alle Einpassungsflächen des Körpers aufzusuchen".
  • Topologische Modifikationen eines Körpers werden typischerweise durch die sogenannten Eulerschen Operatoren ausgeführt, welche ein topologisch gültiges Modell gewährleisten. Wenn beispielsweise vom "Entfernen einer Kante" gesprochen wird, ist hiermit gemeint, daß der Eulersche Operator KEV (Verwerfen des Kantenscheitelpunkts) auf das Modell angewendet wird. Wenn der Begriff "Hinzufügen einer Kante und einer Fläche" erwähnt wird, ist hiermit gemeint, daß der Eulersche Operator ADEF (Hinzufügen einer Kantenfläche) auf das Modell angewendet wird. Für weitere Einzelheiten hinsichtlich der Eulerschen Operatoren sei auf M. Mantyla "An introduction to solid modelling", Computer Science Press, Rockville, 1988 verwiesen.
  • Um einen kurzen Überblick über die Arbeitsweise des erfindungsgemäßen Verfahrens zu geben, sei auf Fig. 1 verwiesen, in der ein Objekt dargestellt ist, in das eine Einpassungsfläche integriert wird. Das in Fig. 1 dargestellte Objekt ist ein Beispiel, das alle möglichen Fälle einschließt, die während der Integration einer Einpassungsfläche in ein ursprüngliches Objekt auftreten könnten, nämlich das Schrumpfen von Flächen, das Vergrößern von Flächen und das Verschlucken ursprünglicher Flächen durch neue Flächen.
  • Fig. 1a ist eine isometrische Darstellung des aus einer ersten Richtung betrachteten Objekts 100. Fig. 1b ist eine isometrische Darstellung des Objekts 100 bei Betrachtung aus einer zweiten Richtung. Wie anhand der Fig. 1a und 1b ersichtlich ist, hat das Objekt 100 eine recht komplexe Form, die durch die Flächen F1 bis F12 definiert ist. Die einzupassende Kante ist durch das Bezugszeichen e angegeben. Aus Gründen der Klarheit wurden Bezugszeichen, die die restlichen Kanten angeben, fortgelassen.
  • In den Fig. 1c und 1d ist das Objekt 100 nach Abschluß des erfindungsgemäßen Verfahrens dargestellt. Wiederum ist Fig. 1c eine isometrische Darstellung des aus der ersten Richtung betrachteten Objekts 100 und ist Fig. 1d eine isometrische Darstellung des aus der zweiten Richtung betrachteten Objekts 100.
  • Wie in Fig. 1 ersichtlich ist, hat die Integration der Einpassungsfläche F verschiedene Wirkungen auf verschiedene Flächen des ursprünglichen Körpers. Genauer gesagt schneidet die Einpassungsfläche die Flächen F2, F3, F7, F8 und F11, so daß diese Flächen schrumpfen. Die Fläche F1 wird von der Einpassungsfläche F vollkommen verschluckt. Die Flächen F4, F5 und F6 wachsen. Die Flächen F9, F10 und F12 werden durch die Integration der Einpassungsfläche F nicht beeinflußt.
  • Wie vorstehend erwähnt wurde, sind CAD-Systeme aus dem Stand der Technik nicht in der Lage, das Wachstum von Flächen, die sich aus der Integration der Einpassungsfläche F ergeben, zuverlässig zu behandeln. Daher liegt in der folgenden Beschreibung der bevorzugten Ausführungsformen der vorliegenden Erfindung der Brennpunkt auf der Behandlung wachsender Flächen.
  • Die Behandlung schrumpfender oder verschwindender topologischer Elemente wird nur dann ausgeführt, wenn dies erforderlich ist.
  • Nachfolgend wird zum Beschreiben der ersten Hauptschritte des erfindungsgemäßen Verfahrens auf Fig. 2 Bezug genommen.
  • Die Fig. 2a bis 21 sind perspektivische Ansichten eines Körpers 200, welche die sich ergebende Struktur des Körpers zeigen, nachdem die jeweiligen Schritte ausgeführt wurden.
  • In Fig. 2a ist der ursprüngliche Körper 200 dargestellt. Der Körper 200 weist mehrere Flächen F1 bis F5 und RF und LF auf. Die jeweiligen Flächen werden von Kanten R1 bis R4, RN, LN, e1 bis e4 und E umgeben. Aus Gründen der Klarheit sind die Außenkanten, die nicht von der Integration der Einpassungsfläche um die Kante E beeinflußt werden, nicht mit Bezugszeichen versehen. In der mit Bezug auf Fig. 2 beschriebenen Ausführungsform muß die Kante E, an die die Flächen RF und LF angrenzen, durch Integrieren einer Einpassungsfläche gemäß dem Verfahren der vorliegenden Erfindung eingepaßt werden. Der einzupassenden Kante E sind ein Anfangsscheitelpunkt SV und ein Endscheitelpunkt EV zugeordnet, wie in Fig. 2a angegeben ist. Auf der rechten Seite von Fig. 2a ist der eingekreiste Abschnitt in einem vergrößerten Maßstab dargestellt, um die Positionen klar anzugeben, an denen die Kanten e1 bis e4 positioniert werden. Wenngleich die folgende Beschreibung mit Bezug auf die Integration einer Einpassungsfläche gegeben wird, ist es einem Fachmann klar, daß das erfindungsgemäße Verfahren ebenso angewendet werden kann, wenn eine Anfasungsfläche integriert wird.
  • Wie vorstehend erläutert wurde, werden die topologischen Modifikationen des Körpers durch Eulersche Operatoren vorgenommen. Die Modifikation der Topologie der vorstehend erwähnten Eulerschen Operatoren könnte jedoch zu einem geometrisch unvereinbaren Modell führen. Wenn beispielsweise die Kante e1 des in Fig. 2a dargestellten Körpers entfernt wird, werden die restlichen Kanten E, e2 und e3 zum Scheitelpunkt SV "gezogen". Die geometrischen Punkte dieser Kanten sind jedoch von der Position von 5 V verschieden. Demgemäß werden die Kanten geometrisch unvereinbar, so daß der topologische Endpunkt SV vom geometrischen Endpunkt verschieden ist.
  • Nachfolgend wird der topologische Zustand des behandelten Körpers in den Figuren dargestellt. Geometrisch vereinbare Kanten werden durch durchgezogene Linien gezeichnet, wobei unvereinbare Kanten durch gestrichelte Linien gezeichnet werden. Weil in Fig. 2ä der ursprüngliche Körper dargestellt ist, werden alle Kanten mit durchgezogenen Linien gezeichnet, weil alle geometrisch vereinbar sind. Als ein Beispiel wird auf Fig. 2h Bezug genommen, worin die Fläche F durch zwei in gestrichelten Linien gezeichnete Kanten begrenzt ist, was bedeutet, daß die Kanten keine geometrischen Grenzen darstellen, sondern lediglich einen topologischen Zwischenzustand zeigen.
  • Mit Bezug auf die Fig. 2b bis 2h wird das Ersetzen einer Kante durch eine Einpassungsfläche nun detailliert beschrieben.
  • In einem ersten Schritt, der in Fig. 2b dargestellt ist, wird die Einpassungsfläche F geometrisch erzeugt. Diese Erzeugung schließt das Berechnen primärer Grenzen ep1 und ep2 der Einpassungsfläche und weiterhin die Berechnung der Einpassungsfläche selbst ein. Die Berechnung der Einpassungsfläche selbst schließt die Definition der Form der Einpassungsfläche F, beispielsweise die Konvexität oder dergleichen der Fläche F, ein. Die primären Grenzen ep1 und ep2 der Einpassungsfläche F werden beispielsweise durch Anwenden der Einpassungsoperation unter Verwendung einer rollenden Kugel mit konstantem Radius auf die Kante E des Körpers 200 erzeugt. Die primären Grenzen sind in diesem Fall die Berührungskurven der rollenden Kugel.
  • Die restlichen Schritte werden symmetrisch auf beide Endpunkte SV und EV der zu ersetzenden ursprünglichen Kante E angewendet. Nachfolgend wird nur der Anfangsscheitelpunkt SV betrachtet.
  • In einem in Fig. 2c dargestellten weiteren Schritt werden die primären Grenzen getrimmt. Dieses Trimmen der primären Grenzen beinhaltet das Finden eines Schnittpunkts RV und LV der primären Grenzen ep1 und ep2 mit den Kanten RN und LN der Flächen RF bzw. LF, die an die zu ersetzende Kante E angrenzen.
  • Wenn die Fläche RF betrachtet wird, beginnt die zum Trimmen der primären Grenzen verwendete Routine am Anfangsscheitelpunkt SV und versucht, einen Schnittpunkt der Kante e1 (siehe Fig. 2a) mit der primären Grenze ep1 der Einpassungsfläche F zu finden. Weil es keinen Schnittpunkt gibt, wird die Kante e1 markiert, und die Routine versucht, einen Schnittpunkt mit der nächsten Kante e2 zu finden. Wiederum gibt es keinen Schnittpunkt. Folglich wird die Kante e2 auch markiert. Die Routine versucht dann, einen Schnittpunkt der nächsten Kante zu finden, die die Kante RN mit der primären Grenze ep1 der Einpassungsfläche F ist. In diesem Fall existiert ein Schnittpunkt RV. Das Gleiche wird auf die entgegengesetzte Fläche LF angewendet, wodurch die Kanten e3 und e4 markiert bleiben und der Schnittpunkt LV erhalten wird.
  • Das Trimmen der primären Grenzen ep1 und ep2 der Fläche F führt zu einer ersten Grenze RB der Fläche F und einer zweiten Grenze LB der Fläche F. Es sei bemerkt, daß die Grenzen RB und LB in Fig. 2c als fette Linien gezeichnet sind.
  • Es sei bemerkt, daß die mit Bezug auf die Fig. 2b und 2c beschriebenen Schritte keine Modifikation des ursprünglichen Körpers beinhalten. Bis zu diesem Punkt wurde nur die zu integrierende neue Geometrie bestimmt. Figürlich gesprochen, wurde die Geometrie der Einpassungsfläche "auf den Körper gezeichnet", wie er in den Fig. 2b und 2c dargestellt ist.
  • Die nachstehend beschriebenen Schritte sind tatsächlich diejenigen Schritte, für die topologische Modifikationen des ursprünglichen Körpers ausgeführt werden.
  • Mit Bezug auf die Fig. 2d bis 2f wird das Entfernen veralteter benachbarter Kanten in näheren Einzelheiten beschrieben. Alle Kanten, die im mit Bezug auf Fig. 2c beschriebenen vorhergehenden Schritt markiert wurden, nämlich alle Kanten, die zwischen der Kante E und den Kanten mit den Schnittpunkten RV und LV mit der linken und der rechten Grenze der Einpassungsfläche F liegen, also die Kanten RN und LN, werden nun durch Anwenden des Eulerschen Operators KEV aus dem Modell entfernt.
  • Fig. 2d zeigt den topologischen Zustand des Körpers 200, nachdem die Kante e1, die zuvor markiert worden war, entfernt wurde. Infolge des Entfernens der ersten Kante e1 werden die Kanten, die zuvor einen Schnittpunkt mit der ersten Kante e1 hatten, zum Anfangsscheitelpunkt SV gezogen. Die Endpunkte der Kanten R2 und e2, die zuvor mit der Kante e1 verbunden waren, werden nun zum Anfangsscheitelpunkt SV gezogen. Die Kanten R2 und e2 haben nun ihre neuen Endpunkte im Anfangsscheitelpunkt SV.
  • Fig. 2e zeigt das Entfernen der Kante e2, die auch während des Trimmens der primären Grenzen der Einpassungsfläche F markiert wurde. Der sich ergebende Körper 200 ist in Fig. 2e dargestellt. Durch Entfernen der Kante e2 werden die Endpunkte der Kanten, die die Kante e2 geschnitten haben, zum Anfangsscheitelpunkt bewegt, wie mit Bezug auf Fig. 2d beschrieben wurde. Durch Entfernen der Kante e2 des Körpers 200 werden die Endpunkte der Kanten R1 und RN zum Anfangsscheitelpunkt SV hin bewegt. Es sei bemerkt, daß die Kante RN so zum Anfangsscheitelpunkt SV gezogen wird, daß der Schnittpunkt RV der Kante RN mit den getrimmten Grenzen der Einpassungsfläche F mit dem Anfangsscheitelpunkt SV verbunden wird, wobei der restliche Abschnitt der Kante RN unverändert bleibt. Der Grund hierfür besteht darin, daß die primären Grenzen der Einpassungsfläche F bereitgestellt werden, um zu bestimmen, an welcher Position des Körpers 200 die Einpassungsfläche anfangen soll. Bereiche, die außerhalb der Einpassungsfläche F liegen, die außerhalb der Grenzen dieser Fläche liegt, sind durch die Integration der Einpassungsfläche in den Körper nicht zu ändern. Daher bleiben die Abschnitte der Flächen RF und LF, die außerhalb der Grenzen LB und RB der Einpassungsfläche F liegen, ungeändert. Daher ist die Kante RN nur teilweise als gestrichelte Linie dargestellt.
  • In Fig. 2f ist der Körper 200 dargestellt, nachdem die Kante e3 entfernt wurde. Infolge des Entfernens der Kante e3 wird der Endpunkt der Kante R3, der ursprünglich mit der Kante e3 verbunden war, zum Anfangsscheitelpunkt SV hin gezogen. Fig. 2g zeigt den Körper 200, nachdem die Kante e4 entfernt wurde. Infolge dieses Entfernens der Kante e4 werden der Endpunkt der Kante R4 und der Endpunkt der Kante LN, die zuvor mit der Kante e4 verbunden waren, zum Anfangsscheitelpunkt SV hin gezogen. Im Fall der Fläche LN führt das Entfernen der Kante e4 zu einer direkten Verbindung des Anfangsscheitelpunkts und des Schnittpunkts LV an der Kante LN. Der restliche Teil der Kante LN bleibt unverändert.
  • Fig. 2g zeigt den Körper 200, nachdem alle Kanten, die während des Trimmens der primären Grenzen markiert worden waren, entfernt wurden. Wegen des Entfernens der vorstehend erwähnten Kanten schneiden sich nun alle restlichen Kanten in einem Punkt, nämlich am Anfangsscheitelpunkt SV. Hierdurch wird der Körper 200 in einem geometrisch unvereinbaren Zustand gelassen, weil sich keine der Kanten, die sich nun im Anfangsscheitelpunkt SV schneiden, in einem Punkt in dem in Fig. 2a dargestellten ursprünglichen Körper geschnitten haben. Beispielsweise schneiden sich gemäß Fig. 2g die Kanten R1 und R4 nun in einem Punkt, wobei es gemäß Fig. 2a, worin der ursprüngliche Körper dargestellt ist, keinen Schnittpunkt zwischen den Kanten R1 und R4 gab. Daher sind alle in Fig. 2g dargestellten Kanten in gestrichelten Linien dargestellt, weil sie geometrisch unvereinbar sind.
  • Nach Abschluß des erfindungsgemäßen Verfahrens wird der Körper wieder zu einer topologisch und geometrisch konsistenten Mannigfaltigkeit.
  • Mit Bezug auf Fig. 2h wird der Körper 200 beschrieben, der erhalten wurde, nachdem eine neue Einpassungsfläche F erzeugt wurde. In diesem Fall wird die ursprüngliche Kante E (siehe Fig. 2g) durch eine neue Fläche F ersetzt, die "bananenartig" geformt ist. Diese Bananenform wird bei Betrachtung von Fig. 21 klarer, die eine Schnittansicht des Körpers 200 entlang der Linie A-A' ist. Wie anhand Fig. 21 ersichtlich ist, weist die neue Einpassungsfläche F eine ersetzte ursprüngliche Kante E auf und verbindet die Flächen RF und LF. Das Ersetzen der ursprünglichen Kante E durch die neue Einpassungsfläche F wird durch Anwenden des Eulerschen Operators ADEF (Hinzufügen einer Kantenfläche) erreicht, der eine neue Kante und die neue Fläche F erzeugt und die Datenstrukturen dementsprechend aktualisiert. Zur Weiterverarbeitung wird die neu erzeugte Fläche F auch als "Einpassungsfläche" bezeichnet.
  • Wenngleich die ursprüngliche Einpassungsfläche und die ursprüngliche Grenze von dieser bereits der neuen Fläche F und den neuen Kanten RB bzw. LB zugeordnet sind, stellen die in Fig. 2 dargestellten Kanten um F noch keine geometrisch gültige Grenze der Fläche F dar. Durch Ausführen der vorstehend mit Bezug auf Fig. 2 beschriebenen Schritte wird der Körper 200 in einem Zustand, nämlich einem geometrisch ungültigen Zustand, belassen, in dem weitere Schritte zum Erreichen des geometrisch gültigen Zustands erforderlich sind.
  • Dies wird durch Anwenden einer allgemeinen Routine auf den Körper erreicht. Fig. 3 ist ein Flußdiagramm der allgemeinen Routine und wird nachstehend in näheren Einzelheiten beschrieben.
  • In die Routine wird in Schritt S300 eingetreten. In Schritt S302, der auch als Schritt 01 bezeichnet wird, werden die primären Zwischenräume gesammelt. In Schritt S302 werden alle Zwischenräume an primären Einpassungsflächen oder Anfasungsflächen um einen Scheitelpunkt gesammelt. Es sei bemerkt, daß ein Zwischenraum dadurch gekennzeichnet ist, daß zwei topologisch benachbarte Kanten geometrisch nicht genau passen, so daß die Kanten mit demselben Scheitelpunkt verbunden sind, die Endpunkte jedoch geometrisch verschieden sind. Der Schritt des Sammelns primärer Zwischenräume S302 wird nachstehend in näheren Einzelheiten beschrieben. In Schritt S304 wird festgestellt, ob weitere zu behandelnde Zwischenräume existieren. Falls es keine weiteren zu behandelnden Zwischenräume gibt, wird die allgemeine Routine verlassen, wie durch Schritt S306 angegeben wird. Falls in Schritt S304 festgestellt wird, daß weitere Zwischenräume zu behandeln sind, wird Schritt S308, der auch als Schritt 02 der allgemeinen Routine bezeichnet wird, ausgeführt. In Schritt S308 wird ein Trimmweg für den zu behandelnden aktuellen Zwischenraum berechnet. Der Trimmweg besteht aus einer Folge von Kurvensegmenten, die den unbegrenzten Teil der Fläche richtig trimmen. Es wird nachstehend eine detailliertere Beschreibung von Schritt S308 gegeben. In Schritt S310, der auch als Schritt 03 der allgemeinen Routine bezeichnet wird, wird der in Schritt S308 berechnete Trimmweg integriert, und es werden mögliche neue Zwischenräume markiert. Durch Schritt S310 wird eine neue Topologie erzeugt, die zum Schließen eines Zwischenraums erforderlich ist. Das Erzeugen der neuen Topologie beruht auf der in Schritt S308 berechneten Geometrie. Nachstehend wird eine detailliertere Beschreibung gegeben. In Schritt S312, der auch als Schritt 04 der allgemeinen Routine bezeichnet wird, werden neue Zwischenräume gesammelt. Durch Schritt S312 werden die neuen Zwischenräume, die in Schritt S310 markiert wurden, gesammelt, beispielsweise indem diese neuen Zwischenräume zu einer alle Zwischenräume enthaltenden Liste hinzugefügt werden. Nach Schritt S312 kehrt die Routine zu Schritt S304 zurück.
  • Es ist anhand der vorstehenden Beschreibung der allgemeinen Routine klar, daß alle Schritte beginnend mit Schritt S304 für jeden Zwischenraum ausgeführt werden, der in dem Objekt gefunden worden ist:
  • Mit Bezug auf Fig. 4 wird eine Beschreibung der Schritte 01 und 04 der allgemeinen Routine, insbesondere der Schritte S302 und S312, gegeben.
  • Fig. 4a beschreibt den Schritt S302 der allgemeinen Routine in näheren Einzelheiten. In Schritt S400 wird von der allgemeinen Routine in die Unterroutine eingetreten. Die Eingabe für die in Fig. 4a dargestellte Unterroutine ist das Modell, das einige Einpassungsflächen und weiter einen einem Loch oder einem Zwischenraum entsprechenden Scheitelpunkt aufweist. Fig. 4a betrifft eine Ausführungsform, in der der Scheitelpunkt SV ausgewählt wird. Es ist jedoch zu verstehen, daß die in Fig. 4a dargestellte Unterroutine gleichermaßen auf andere Scheitelpunkte, wie den Scheitelpunkt EV, anwendbar ist. In Schritt S402 wird geprüft, ob es eine Fläche des Modells gibt, die noch nicht aufgesucht wurde. Falls in Schritt S402 bestimmt wird, daß alle Flächen des Modells aufgesucht worden sind, endet die Unterroutine in Schritt S404 und kehrt zur allgemeinen Routine zurück. Weiterhin wird eine Liste L primärer Zwischenräume, die von der Unterroutine 01 gesammelt worden sind, an die allgemeine Routine ausgegeben. Falls in Schritt S402 bestimmt wird, daß es noch Flächen an dem Modell gibt, die noch nicht aufgesucht wurden, wird Schritt S406 ausgeführt, an dem die nächste Fläche F1 gesammelt wird. In Schritt S408 wird bestimmt, ob die ausgewählte Fläche F1 eine Einpassungsfläche ist. Falls die ausgewählte Fläche F1 keine Einpassungsfläche ist, kehrt die Unterroutine zu Schritt S402 zurück. Falls in Schritt S408 bestimmt wird, daß die ausgewählte Fläche F1 eine Einpassungsfläche ist, geht die Unterroutine zu Schritt S410. In Schritt S410 wird bestimmt, ob die Fläche F1 den Anfangsscheitelpunkt enthält. Falls dies nicht der Fall ist, wird die Unterroutine in Schritt S402 fortgesetzt. Falls bestimmt wird, daß die Fläche F1 den Anfangsscheitelpunkt SV enthält, wird die Unterroutine in Schritt S412 fortgesetzt. In diesem Schritt werden die Kante I der Fläche F1, die im Anfangsscheitelpunkt SV beginnt, und die Kante O der Fläche F1, die im Anfangsscheitelpunkt SV endet, bestimmt. In Schritt S414 wird geprüft, ob der Anfangspunkt der Kante I dem Endpunkt der Kante O gleicht. Falls dies der Fall ist, kehrt die Unterroutine zu Schritt S402 zurück. Falls der Anfangspunkt der Kante I vom Endpunkt der Kante O verschieden ist, wird die Fläche F1 in Schritt 416 zu einer Liste L von Zwischenräumen hinzugefügt. Die Unterroutine kehrt dann zu Schritt S402 zurück.
  • Mit Bezug auf Fig. 4b wird die Unterroutine 04, die neue Zwischenräume sammelt, in näheren Einzelheiten beschrieben. In Schritt S450 wird von der allgemeinen Routine in die Unterroutine 04 eingetreten, und die Eingabe der Unterroutine 04 ist wiederum ein Modell mit Einpassungsflächen, einem Scheitelpunkt gemäß der in Fig. 4b dargestellten Ausführungsform, wobei der Anfangsscheitelpunkt SV dem Loch oder Zwischenraum entspricht. In Schritt S452 wird geprüft, ob eine Fläche existiert, die noch nicht aufgesucht wurde. Falls bestimmt wird, daß alle Flächen des Modells aufgesucht wurden, wird die Unterroutine 04 in Schritt S454 verlassen, und es wird eine Liste S aller sekundären Zwischenräume an die allgemeine Routine ausgegeben. Ein sekundärer Zwischenraum wird an sekundären Flächen, also Nicht-Einpassungsflächen, ausgebildet. Falls in Schritt S452 bestimmt wird, daß es noch Flächen oder zumindest eine Fläche gibt, die noch nicht aufgesucht wurde, geht die Unterroutine zu Schritt S456, wo die nächste Fläche F1 aufgenommen wird. In Schritt S458 wird bestimmt, ob die Fläche F1 den Anfangsscheitelpunkt SV enthält. Falls dies nicht der Fall ist, kehrt die Unterroutine zu Schritt S452 zurück. Falls, in Schritt S458 bestimmt wird, daß die Fläche F1 den Anfangsscheitelpunkt enthält, werden in Schritt S460 die Kante I der Fläche F1, die im Anfangsscheitelpunkt SV beginnt, und die Kante O der Fläche F1, die im Anfangsscheitelpunkt SV endet, bestimmt. In Schritt S462 wird bestimmt, ob der Anfangspunkt der Kante I der Endpunkt der Kante O ist. Falls dies der Fall ist, kehrt die Unterroutine zu Schritt S452 zurück. Falls der Anfangspunkt der Kante I in Schritt S464 vom Ende der Kante O verschieden ist, wird die Fläche F1 zur Liste S der sekundären Zwischenräume hinzugefügt. Daraufhin kehrt die Unterroutine zu Schritt S452 zurück.
  • Bevor eine detaillierte Beschreibung der verbleibenden Hauptschritte 02 und 03 der allgemeinen Routine gegeben wird, werden die sich ergebenden Körper nach jeder Iteration der in Fig. 3 dargestellten allgemeinen Routine mit Bezug auf Fig. 5 beschrieben. Für die folgende Beschreibung wird angenommen, daß die Einpassungsfläche F bezüglich des Endscheitelpunkts EV der zu ersetzenden Kante E bereits richtig in den Körper 200 integriert wurde. Daher bezieht sich die folgende Beschreibung nur auf den Anfangsscheitelpunkt SV.
  • In Fig. 5a ist der Körper 200 nach dem Schritt der allgemeinen Routine dargestellt, in dem die primären Zwischenräume, die an der Einpassungsfläche vorgefunden werden, geschlossen werden. Im ersten Schritt S302 werden die primären Zwischenräume um den Anfangsscheitelpunkt SV gesammelt, und die Fläche F wird von der Unterroutine 01 als einen Zwischenraum aufweisend -ausgegeben. Die erste Iteration der Schritte 02 und 03 der allgemeinen Routine erzeugt einen Trimmweg für die Fläche F und integriert den Trimmweg für die Fläche F. Der integrierte Trimmweg ist in Fig. 5a durch die Kanten C0 und C1 angegeben. Wie anhand Fig. 5a ersichtlich ist, sind nun alle Kanten, die die Fläche F begrenzen, geometrisch vereinbar, was durch Zeichnen dieser Kanten als durchgezogene Linien angegeben ist. Die restlichen Kanten, die am Scheitelpunkt SV angebracht sind, nämlich R1, R2, R3 und R4, sind noch nicht geometrisch vereinbar und daher als gestrichelte Linien dargestellt.
  • In Schritt 03 der allgemeinen Routine ist die Fläche F1 als einen "sekundären Zwischenraum" aufweisend markiert und an die Liste zu verarbeitender Zwischenräume angefügt. Durch den Schritt 04 wird die Fläche F1, die im vorhergehenden Schritt markiert worden ist, zur Liste sekundärer Zwischenräume hinzugefügt, wie mit Bezug auf Fig. 4b beschrieben wurde. In der nächsten Iteration der allgemeinen Routine wird der Trimmweg für die Fläche F1 berechnet und integriert.
  • Wie in Fig. 5b dargestellt ist, werden die Kanten C2 und C3 durch die zweite Iteration der allgemeinen Routine integriert. Wie durch die durchgezogenen Linien angegeben ist, sind nun alle Kanten, die die Fläche F1 begrenzen, geometrisch unvereinbar, während die restlichen Kanten R2, R3 und R4 noch geometrisch vereinbar sind. In Schritt 03 der allgemeinen Routine werden die Flächen F2 und F4 als Zwischenräume aufweisend markiert und in Schritt 04 zur Liste sekundärer Zwischenräume hinzugefügt.
  • In der dritten Iteration der Schritte 02 bis 04 wird der Zwischenraum an der Fläche F2 durch Erzeugen der neuen Kante C4 geschlossen, wie in Fig. 5c dargestellt ist. In Schritt 03 wird die Fläche F3 als einen Zwischenraum aufweisend markiert und in Schritt 04 zur Liste sekundärer Zwischenräume hinzugefügt.
  • In der letzten Iteration der allgemeinen Routine werden die Zwischenräume an den Flächen F3 und F4 geschlossen. Es sei bemerkt, daß der Zwischenraum an der Fläche F5 nicht explizit behandelt wird, sondern als ein Nebenprodukt des Schließens der umgebenden Zwischenräume getrimmt wird.
  • Nachstehend werden die Schritte 02 und 03 der allgemeinen Routine in näheren Einzelheiten erklärt.
  • Für eine Beschreibung der Untertoutine 02 der allgemeinen Routine wird zunächst auf Fig. 6 Bezug genommen, worin das Topologieprinzip um den Scheitelpunkt SV des in Fig. 2h dargestellten Körpers dargestellt ist. Die Topologie hat um den Scheitelpunkt SV eine sternartige Form. Nachstehend wird die Bestimmung eines Trimmwegs für die Fläche F beschrieben. Der Trimmweg beginnt an der Kante RB und endet an der Kante LB. Es ist jedoch zu verstehen, daß es keinesfalls zwangsläufig ist, "von der Kante RB zur Kante LB" der Fläche F zu gehen. Das Verfahren arbeitet symmetrisch, wenn der Anfangspunkt als die Kante LB gewählt wird. Diese Eigenschaft zusammen mit der Trennung des Wegauffindungsprozesses und des Integrationsprozesses bietet den Vorteil, daß die Routine, falls sie keine Lösung findet, die von der Grenze RB ausgeht, wieder angewendet werden kann, wobei nun an der Grenze LB begonnen wird.
  • Die Unterroutine 02 der allgemeinen Routine berechnet den Trimmweg für eine Fläche F. Der Weg, der durch den Schritt 02 der allgemeinen Routine bestimmt wird, besteht aus Teilen von Schnittkurven der Fläche, beispielsweise der Fläche F (siehe Fig. 6) mit umgebenden Flächen. Es sei bemerkt, daß es mehrere mögliche Wege gibt, die die Fläche F begrenzen. In Fig. 7 sind verschiedene Lösungen für ein vereinfachtes Modell dargestellt. Fig. 7a zeigt den ursprünglichen Körper, wobei die Kante E durch Integrieren einer Einpassungsfläche F zu integrieren ist. Fig. 7b zeigt das gewünschte Ergebnis, wobei Fig. 7c eine andere Lösung zeigt, die ein Nicht-Mannigfaltigkeits- Volumenmodell ergibt. Diese Vielzahl möglicher Lösungen hat mehrere Gründe. Erstens gibt es im allgemeinen mehrere Schnittkurven zwischen zwei Flächen. Zweitens gibt es häufig mehrere Schnittkurven zwischen eine Kurve und einer Fläche. Drittens und am wichtigsten gibt es im Fall wachsender Topologien mehrere mögliche Flächen, mit denen ein Schnitt gebildet werden kann. Zur Veranschaulichung wird auf Fig. 5a Bezug genommen. Wenn eine Schnittkurve zwischen der Fläche F und der Fläche F1 gegeben ist, sind alle restlichen Flächen F2 bis F5 mögliche Kandidaten für die nächste Schnittkurve.
  • Daher muß unter möglichen Lösungen die beste gefunden werden, die zu einem gültigen Volumenmodell führt. Dies wird durch die Unterroutine 02 der in Fig. 3 dargestellten allgemeinen Routine erreicht, die eine sogenannte Tiefe-Zuerst-Suche an dem Baum aller möglichen Lösungen ausführt. Intuitiv bedeutet dies, daß der besten bisher gefundenen Lösung gefolgt wird, bis entweder der Endpunkt oder ein "totes Ende" erreicht wurde. Im letztgenannten Fall wird der Baum "zurückverfolgt", was bedeutet, daß das letzte Segment des Wegs ignoriert wird und die Suche mit dem zweitbesten Segment fortgesetzt wird.
  • Vor dem Beschreiben einer bevorzugten Ausführungsform der Unterroutine 02 der allgemeinen Routine werden die allgemeinen Schritte dieser Unterroutine in näheren Einzelheiten beschrieben.
  • Fig. 8 ist ein Flußdiagramm der Unterroutine 02 der allgemeinen Routine, die zum Berechnen eines Trimmwegs für eine Fläche mit einem Zwischenraum verwendet wird. In die Unterroutine wird in Schritt S800 eingetreten, und es wird mit Schritt S802 fortgesetzt, wo die Vorverarbeitung des Zwischenraums ausgeführt wird. Dieser Vorverarbeitungsschritt wird nachstehend in näheren Einzelheiten beschrieben. In Schritt S804 wird geprüft, ob der zu verarbeitende Zwischenraum noch offen ist. Falls der Zwischenraum nicht mehr offen ist, wird die Unterroutine in Schritt S806 fortgesetzt, wo diese unterbrochen wird und zur allgemeinen Routine zurückkehrt. Falls der Zwischenraum noch offen ist, geht die Unterroutine zu Schritt S808, und es wird ein Knoten (0,0) als der Ausgangsknoten oder Anfangsknoten S festgelegt. Weiterhin werden der Index i und der Index j auf 0 gelegt. Eine detailliertere Beschreibung der Knoten des Tiefe-Zuerst-Suchbaums wird nachstehend bereitgestellt. In Schritt S810 wird der aktuelle Knoten als der Knoten N(j,i) festgelegt. In Schritt S812 werden zugeordnete Knoten N(j+1,i) des aktuellen Knotens erzeugt. Schritt S812 löst die Unterroutine D1 aus, die nachstehend beschrieben wird. In Schritt S814 werden die in Schritt S812 erzeugten zugeordneten Knoten sortiert. In Schritt S816 wird bestimmt, ob der Knoten N(j+1,i) gültig ist. Falls dies nicht der Fall ist, wird der Index i in Schritt S818 um eins inkrementiert, und die Unterroutine kehrt von Schritt S818 zu Schritt S816 zurück. Falls in Schritt S816 bestimmt wird, daß der Knoten gültig ist, wird in Schritt S820 geprüft, ob der Endknoten E erreicht wurde. Falls dies nicht der Fall ist, wird der Index j in Schritt S822 um eins inkrementiert, und die Unterroutine kehrt zu Schritt S810 zurück. Falls in Schritt S820 bestimmt wurde, daß der Endknoten erreicht wurde, wird die Unterroutine in Schritt S806 unterbrochen und kehrt zur allgemeinen Routine zurück.
  • Mit Bezug auf Fig. 9 wird die Erzeugung des zugeordneten Knotens in Schritt S812 in näheren Einzelheiten beschrieben. In Schritt S900 wird von der Unterroutine 02 in die Unterroutine D1 eingetreten, die die zugeordneten Knoten erzeugt. Die Eingabe für die Unterroutine D1 sind der Anfangspunkt EP und eine aktuelle Fläche Fc. In Schritt S902 wird die Oberfläche der Fläche F, die die Fläche ist, auf der der aktuell verarbeitete Zwischenraum gefunden wurde, von einer Oberfläche der aktuellen Fläche Fc geschnitten. In Schritt S903 werden alle Kurven C1 bestimmt, welche den Endpunkt enthalten, wobei i ein von 0 bis n laufender Index ist. In Schritt S904 werden sogenannte Semi-Kurven Sj (j = 0... 2n) erzeugt. In Schritt S906 wird ein Index k auf 0 gelegt. In Schritt S908 wird die dem Index k entsprechende Semi-Kurve von den Kanten der aktuellen Fläche Fc geschnitten. In Schritt S910 wird bestimmt, ob innerhalb der ursprünglichen Kante der aktuellen Fläche Fc ein Schnittpunkt I existiert. Falls es innerhalb der ursprünglichen Kante keinen Schnittpunkt gibt, geht die Unterroutine Dl zu Schritt S912, wo die Semi-Kurve von allen offenen Flächen um den Anfangsscheitelpunkt 5 V geschnitten wird, wodurch sich Schnittpunkte Ip (p = 0... q) ergeben. In Schritt S914 werden zugeordnete Knoten für jeden in Schritt S912 bestimmten Schnittpunkt erzeugt. Daraufhin geht die Unterroutine zu Schritt S916, wo der Index k um eins inkrementiert wird.
  • Falls in Schritt S910 bestimmt wird, daß es innerhalb der ursprünglichen Kante der aktuellen Fläche Fc einen Schnittpunkt I gibt, wird in Schritt S918 ein zugeordneter Knoten erzeugt, und die Unterroutine wird in Schritt S916 fortgesetzt.
  • In Schritt S920 wird geprüft, ob der Index k größer ist als 2n. Falls dies nicht der Fall ist, wird die Unterroutine D1 in Schritt S908 fortgesetzt. Falls Schritt S920 ergibt, daß k größer als 2n ist, wird die Unterroutine D1 in Schritt S922 unterbrochen und kehrt zur Unterroutine 02 zurück. In Schritt S922 wird eine Liste erzeugter zugeordneter Knoten Cp an die Unterroutine 02 ausgegeben.
  • Nachstehend wird eine bevorzugte Ausführungsform, in der die Erzeugung oder Berechnung des Trimmwegs gemäß der Unterroutine 02 der allgemeinen Routine dargestellt ist, in näheren Einzelheiten mit Bezug auf Fig. 10 beschrieben. Die folgende Beschreibung wird auf der Grundlage des ursprünglichen Körpers 200 gegeben, wie er in Fig. 2a dargestellt ist, wobei er sich nun in dem in Fig. 2h dargestellten Zustand befindet. Vor der detaillierten Beschreibung der Unterroutine 02 wird der Zustand des Körpers 200 in näheren Einzelheiten mit Bezug auf Fig. 10a betrachtet. Der Einfachheit halber wird angenommen, daß die Einpassungsfläche F bereits um den Scheitelpunkt EV behandelt wurde (siehe Fig. 2a), wie in Fig. 10a durch die durchgezogenen Kanten am hinteren Ende des Körpers 200 angegeben ist.
  • Um den Anfangsscheitelpunkt SV ist der Körper jedoch noch geometrisch unvereinbar, wie durch die gestrichelten Linien dargestellt ist, die die Kanten RN, LN und R1 bis R4 angeben. Beispielsweise schneiden die Linien, die den Kanten R1 und R4 im ursprünglichen Körper entsprechen (siehe Fig. 2a), einander nicht einmal, und sie können daher in einem Mannigfaltigkeits-Volumenmodell keinen gemeinsamen Scheitelpunkt aufweisen. Dies bedeutet, daß es um den Scheitelpunkt SV ein "Loch" oder einen Zwischenraum im Körper 200 gibt. Genauer gesagt sind die das Loch umgebenden Flächen nicht mehr begrenzt. Beispielsweise hat die Folge der Kanten der Fläche F4 einen "Zwischenraum" zwischen der Kante R3 und der Kante R4, weil beide Kanten R3 und R4 und die Fläche F4 teilweise unbegrenzt sind. Zum Einrichten eines Mannigfaltigkeits- Volumenmodells müssen diese Topologien zu begrenzten Abschnitten der zugrundeliegenden Geometrie "getrimmt" werden. Dieser letzte und komplizierteste Vorgang wird durch Anwenden der allgemeinen Routine aus Fig. 3 auf das in Fig. 10a dargestellte Objekt 200 ausgeführt. Zuerst wird die Unterroutine 02 zum Berechnen des Trimmwegs in näheren Einzelheiten beschrieben.
  • Die Unterroutine 02 führt eine Tiefe-Zuerst- Durchsuchung am Baum aller möglichen Lösungen aus. Die Knoten des Suchbaums sind die Kurvensegmente der Wege. Die Kanten, die zu einem Zwischenraum führen, werden auch betrachtet, so daß im Fall des Trimmens der Fläche F die Kanten RB und LB (siehe Fig. 10a) auch als ein Teil des Wegs betrachtet werden. Demgemäß ist für das Füllen des Zwischenraums in der Fläche F ein Anfangsknoten S RB, und der Endknoten E ist LB.
  • Im Vorverarbeitungsschritt (Schritt S802) müssen die Endpunkte der Kurvensegmente 5 und E bestimmt werden.
  • Für die Fläche F sind dies einfach die Schnittpunkte RV und LV mit den jeweiligen Kanten RN und LN, wie in den Fig. 10b und 10c dargestellt ist. Es sei bemerkt, daß, sobald der Endpunkt EP, der der Schnittpunkt RV eines Wegknotens ist, bekannt ist, auch die das nächste Kurvensegment tragende Fläche gefunden wird. Diese Fläche, die das nächste Kurvensegment aufweist, wird als die aktuelle Fläche Fc bezeichnet, die ein Eingabeparameter der Unterroutine D1 zum Erzeugen der zugeordneten Knoten ist, wie mit Bezug auf die Fig. 8 und 9 beschrieben wurde. Im vorliegenden Fall, in dem der Zwischenraum an der Einpassungsfläche F zu schließen ist, ist die aktuelle Fläche Fc, die das nächste Kurvensegment aufweist, die Fläche F1.
  • Nachdem die Vorverarbeitung abgeschlossen wurde, werden die zugeordneten Knoten erzeugt. Zum Bestimmen der zugeordneten Knoten werden alle Schnittkurven zwischen der Fläche F und der Fläche F1 berechnet (Schritt S902) und alle durch den Endpunkt EP laufenden Kurven extrahiert (Schritt S903). Für jede Kurve gibt es zwei halbunbegrenzte Segmente, die am Endpunkt ep mit entgegengesetzten Richtungen beginnen. Nachstehend werden diese Segmente als Semi-Kurven bezeichnet. Für den Schnitt der Fläche F und der Fläche F1 gibt es zwei solche Semi-Kurven, welche durch die in Fig. 10b dargestellten Bezugszeichen 50 und 51 angegeben sind. Es sei bemerkt, daß die Kante RB aus Gründen der Darstellung in Fig. 10b zur Position von RV bewegt wurde. Es ist jedoch zu verstehen, daß die Schritte der Unterroutine 02 an dem Körper aus Fig. 10a ausgeführt werden.
  • Bevor die einer Semi-Kurve entsprechenden zugeordneten Knoten erzeugt werden, müssen die Endpunkte dieser Semi-Kurven bestimmt werden. Zur Bestimmung der Endpunkte der Semi-Kurven werden diese Semi-Kurven von allen bestehenden Kanten der Fläche F1 geschnitten (Schritt S908). Für die Semi-Kurve 50 bedeutet dies, daß an der Fläche F1 begonnen wird und im Uhrzeigersinn um F1 gegangen wird, bis entweder ein Schnittpunkt I oder die Kante RN erreicht wurde. Falls ein Schnittpunkt I innerhalb einer ursprünglichen Kante der Fläche F1 existiert (Schritt S910), wird ein neues Segment (EP,i) bestimmt, das einen neuen zugeordneten Knoten darstellt (S918). Für die in Fig. 10b dargestellte Semi-Kurve 50 existiert kein solcher Endpunkt. Die Semi-Kurve 50 wird daher von allen offenen Flächen, welche außer der Fläche F und der Fläche F1 an den Scheitelpunkt SV angrenzen, nämlich von den Flächen F2 bis F5 geschnitten (Schritt S912). Für die Semi-Kurve S0 führt dies zu den Schnittpunkten 10 und 11 mit den Flächen F5 bzw. F2. Jeder Schnittpunkt definiert ein begrenztes Kurvensegment, und es gibt daher zwei zugeordnete Knoten (RV,I0) und (RV,I1) für die Semi-Kurve S0 (Schritt S914). Der gleiche Prozeß wird dann auf die Semi-Kurve S1 angewendet. Hierdurch wird die Erzeugung zugeordneter Knoten für den anfänglichen Knoten S abgeschlossen. Die erzeugten zugeordneten Knoten werden dann an die Unterroutine 02 ausgegeben (Schritt S922).
  • Der nächste Schritt besteht im Sortieren der erzeugten zugeordneten Knoten (Schritt S914). Zuerst wird die Gruppe der auf der Semi-Kurve liegenden Kurvensegmente betrachtet. Ein auf dem Winkel zwischen dem Knoten RV und der Semi-Kurve beruhender Wert wird jeder Semi-Kurve zugewiesen, wobei der Winkel innerhalb der Fläche F gebildet wird. Auf der Grundlage dieses Werts werden die Semi-Kurven sortiert, indem die höchste Priorität der Semi- Kurve mit dem kleinsten Winkel zugeordnet wird. Das Sortieren erfolgt durch eine Standardroutine, wie die Schnellsortierungsroutine ("QuickSort"-Routine). Für den Schnitt zwischen den Flächen F und F1 ergibt dies die Ordnung (S0, S1).
  • In einem zweiten Sortierschritt werden die Kurvensegmente auf jeder Semi-Kurve nach ihrer Länge sortiert, was zu der Ordnung {(RV,I0), (RV,I1) ... Segmente auf der Semi-Kurve S0 ..) führt. Demgemäß ist das nächste Segment für den aktuell besten Weg (RV,I0). Weil 10 der Schnittpunkt mit der Fläche F5 ist (siehe Fig. 10b), muß das nächste Segment auf dem Schnitt zwischen den Flächen F und F5 liegen.
  • Weil der Endknoten E nicht erreicht wird, wird die Unterroutine 02 in Schritt S810 fortgesetzt. Es wird wiederum in Unterroutine D1 zum Erzeugen des zugeordneten Knotens eingetreten, und ihre Eingabe ist der Anfangspunkt, der nun 10 ist, wobei es sich um den Endpunkt früherer Kurvensegmente handelt und wobei die aktuelle Fläche die Fläche F5 ist. Beim Ausführen der Schritte S902 bis S904 ergeben sich zwei Semi-Kurven S2 und S3, die durch den Anfangspunkt I0 laufen, wie in Fig. 10c skizziert ist. Es sei bemerkt, daß der Punkt LV nur zu Zwecken der Darstellung verschoben worden ist. Die Semi-Kurven S2 und S3 werden von den Kanten der Fläche F5 geschnitten. Für die Semi-Kurve S2 bedeutet dies, daß beim Anfangen mit der Kante LN ein Schnittpunkt innerhalb der ursprünglichen Kante der Fläche F5, nämlich der Punkt LV, gefunden wird (Schritt S910). Daher existiert ein einziger zugeordneter Knoten, der von der Semi-Kurve S2 erzeugt wird (Schritt S918), nämlich das Segment (I0,LV). Durch Erzeugen des von der Semi-Kurve S2 hervorgebrachten zugeordneten Knotens und durch Sortieren aller zugeordneten Knoten wird die Ordnung {(I0,LV) .. Segmente auf der Semi-Kurve S2 ..} erreicht.
  • Der Knoten (I0,IV) ist der nächste Knoten, der untersucht werden muß. Der Endpunkt LV liegt jedoch auf der Grenze LB, was bedeutet, daß der Endknoten E, der die Grenze LB ist, erreicht wurde. Demgemäß wurde der Trimmweg [(RV,I0) (I0,LV)] für den Zwischenraum auf der Fläche F gefunden.
  • Wie in diesem Fall erzeugt die Routine einen gültigen Trimmweg, ohne daß eine Rückverfolgung erforderlich wäre. Weil das Sortieren jedoch im wesentlichen eine lokale Entscheidung ist, muß die globale Gültigkeit auf jeder Ebene geprüft werden (Schritt S816). Es wird das in Fig. 7 dargestellte vereinfachte Beispiel erneut betrachtet. Es wird angenommen, daß der Punkt 11 (siehe Fig. 7c) während des Sortierens der zugeordneten Knoten als "der beste" gewählt wurde. Die nächste Überlegung führt zum Segment (I1,I3), und das letzte Segment ist (I3,V). An diesem Punkt wurde jedoch ein selbstschneidender Weg erzeugt. Dies wird durch eine Gültigkeitsprüfung erkannt (Schritt S816), und falls die Lösung nicht gültig ist, wird sie zurückgewiesen. In diesem Fall wird eine Rückverfolgungsoperation ausgeführt, und die Unterroutine geht zum Punkt 15 und zur entsprechenden Fläche F5 und endet schließlich an der richtigen Lösung.
  • Dieses Beispiel zeigt auch den Vorteil des Trennens der Erzeugung der Geometrie und der Erzeugung der Topologie. Falls die Segmente (RV,I1) und (I1,I3) gleich nach ihrer Erzeugung integriert worden wären, wäre es erforderlich, den Anfangszustand des Körpers wieder zu erzeugen, um die Segmente (RV,I5) weiter zu untersuchen. Die Umkehrung topologischer Operationen ist jedoch im allgemeinen nicht eindeutig, was bedeutet, daß es mehrere anfängliche Körper gibt, die zum aktuellen Zustand geführt haben können. Diese Nichteindeutigkeit verhindert die Rückverfolgung der Suchroutine. Um dies zu verhindern, führt die Gültigkeitsprüfung (Schritt S816) zwei wichtige Tests aus: Der erste besteht darin, Selbstschnitte des Trimmwegs zu prüfen, und der zweite besteht darin, Schnitte des Wegs mit bestehenden Kanten zu prüfen.
  • Immer dann, wenn durch die Prüfung ein ungültiger Teilweg erkannt wird, wird der letzte Knoten entfernt, und die Routine wird zurückverfolgt. Auf diese Weise kann ein Trimmweg erzeugt werden, der einen global vereinbaren Körper garantiert. Nur dann, wenn der gesamte Trimmweg für einen Zwischenraum bekannt ist, wird die zweite Unterroutine 03 von der allgemeinen Routine ausgelöst. Die Unterroutine 03 integriert dann einen Weg topologisch in das Modell.
  • Nachstehend wird die Unterroutine 03, die den Trimmweg integriert und neue Zwischenräume markiert, in näheren Einzelheiten mit Bezug auf Fig. 11 beschrieben.
  • In Schritt S1101 wird von der allgemeinen Routine in die Unterroutine 03 eingetreten. Die Eingabe für die Unterroutine 03 sind der Körper oder das Objekt mit dem Loch oder Zwischenraum und der Trimmweg T für die Fläche F. In Schritt S1102 wird der Anfangsknoten F des Trimmwegs T als das aktuelle Segment festgelegt, und die Kante des Anfangsknotens S wird als die aktuelle Kante festgelegt. In Schritt S1104 wird das dem aktuellen Segment folgende Segment bestimmt. Dieses Segment wird als der Nachfolger Si1 des aktuellen Segments bezeichnet. In Schritt S1106 wird bestimmt, ob der Nachfolger der Endknoten E des Trimmwegs T ist. Falls dies der Fall ist, wird die Unterroutine 03 in Schritt S1108 verlassen, und es wird zur allgemeinen Routine zurückgekehrt. Die Ausgabe der Unterroutine 03 ist der Körper 200 mit dem integrierten Trimmweg T.
  • Falls in Schritt S1106 bestimmt wird, daß der Nachfolger nicht der Endknoten des Trimmwegs ist, wird der Endscheitelpunkt der aktuellen Kante in Schritt S1110 als der aktuelle Scheitelpunkt festgelegt. In Schritt S1112 wird die dem Nachfolger Si entsprechende Fläche F1 bestimmt, und in Schritt S1114 wird eine Drehung entgegen dem Uhrzeigersinn um den aktuellen Scheitelpunkt ausgeführt, bis die Kante e1 der Fläche F1 erreicht wurde. In Schritt S1116 wird bestimmt, ob das Nachfolgersegment Si1 eine ursprüngliche Kante e-int der Fläche F1 schneidet, die auch als sekundäre Fläche bezeichnet wird. Falls dies der Fall ist, werden alle Kanten zwischen der Kante e1 und der Kante e-int in Schritt S1118 verworfen, und die Unterroutine wird in Schritt S1120 fortgesetzt. Falls in Schritt S1116 bestimmt wird, daß das Segment Si die Kante e-int nicht schneidet, wird die Fläche F1 in Schritt S1122 als wachsend markiert. Die Unterroutine wird dann in Schritt S1120 fortgesetzt. In diesem Schritt wird eine neue Kante e-new zwischen der Fläche F mit dem Zwischenraum und der sekundären Fläche Fi erzeugt. In Schritt S1122 werden alle Kanten zwischen der aktuellen Kante und der Kante ei an den Anfangsscheitelpunkt der neuen Kante e-new angefügt. In Schritt S1124 werden die restlichen Kanten um den aktuellen Scheitelpunkt an den Endscheitelpunkt der neuen Kante e-new angefügt, und in Schritt S1126 wird das aktuelle Segment auf das Nachfolgersegment Si gesetzt, und die aktuelle Kante wird auf die neue Kante e-new gesetzt. Die Unterroutine kehrt zu Schritt S1104 zurück.
  • Mit Bezug auf Fig. 12 wird eine bevorzugte Ausführungsform der Integration des Trimmwegs in näheren Einzelheiten beschrieben. Der Trimmweg besteht im wesentlichen aus geometrischen Informationen, nämlich den einen gegebenen Zwischenraum schließenden Kurvensegmenten. Zusätzlich werden Informationen bereitgestellt, die die Integration des Wegs betreffen. Für jedes Kurvensegment muß eine neue Kante zwischen der primären Fläche F und der sekundären Fläche erzeugt werden. Wie in Fig. 12a dargestellt ist, bedeutet dies, daß es für das Segment (RV,I0) eine neue Kante zwischen der Fläche F und der Fläche F1 gibt und daß für das Segment (I0,LV) eine neue Kante zwischen der Fläche F und der Fläche F5 zu erzeugen ist (siehe Fig. 12b). Wenn der Weg für die Fläche F integriert wird, ist die anfängliche aktuelle Kante die Kante RB und ist das Nachfolgersegment des Anfangsknotens S das Segment Si, welches das Segment (RV,I0) ist (Schritte S1102 und S1104). Die Kante, die der sekundären Fläche Fi entspricht, ist die Kante LN. Falls das neue Segment Si eine bestehende Kante e-int schneidet, schrumpft die sekundäre Fläche Fi. In diesem Fall sind alle Kanten zwischen der Kante ei, welche die Kante LN ist, und der geschnittenen Kante e-int zu entfernen (Schritte S1116 und S1118). Die Integration ist komplizierter, wenn kein solcher Schnittpunkt existiert. Es ist angesichts der Tatsache, daß der Weg die Fläche F1 nicht über eine ursprüngliche Kante verläßt, klar, daß die Fläche F1 wächst. Daher wird die Fläche F1 in Schritt 04 der allgemeinen Routine (siehe Fig. 3) zur Weiterverarbeitung markiert.
  • Nun wird eine neue Kante e-new, die die Kante C0 in Fig. 12a ist, zwischen den Flächen F und F1 erzeugt, und alle Kanten zwischen RB und RN (entgegen dem Uhrzeigersinn) werden an den Anfangsscheitelpunkt der neuen Kante C0 angefügt, wobei die restlichen Kanten an den Endscheitelpunkt der neuen Kante C0 angefügt werden (Schritte S1120 bis S1124). Fig. 12a zeigt den sich ergebenden Körper.
  • In der zweiten Iteration der Schleife der in Fig. 11 dargestellten Unterroutine 03 wird das Segment (I0,IV) integriert. Die entsprechende Fläche ist die Fläche F5, und die neue Kante e-new ist folglich die Kante E1 zwischen den Flächen F und F5. Alle Kanten zwischen der aktuellen Kante C0 und derjenigen, die auf der Fläche F5 liegt, nämlich die Kante R4, werden an den neuen Anfangsscheitelpunkt der Kante C1 angefügt, wie in Fig. 12b dargestellt ist. Der Nachfolger des Segments (I0,LV) des Trimmwegs ist der Endknoten, der der Punkt LV ist. Daher ist die Integration des Wegs für die Fläche F abgeschlossen. Es sei bemerkt, daß alle Kanten um die Fläche F nun geometrisch und topologisch vereinbar sind, und sie sind daher in durchgezogenen Linien dargestellt. Weil die Fläche F1 bei dieser Iteration der Unterroutine 03 markiert wurde, nimmt der Schritt 04 der allgemeinen Routine diese Fläche auf und löst das Berechnen und die Integration des Trimmwegs der Fläche F1 aus.
  • Die Berechnung von Trimmwegen und die Integration der Trimmwege für die Fläche F1 werden nun mit Bezug auf Fig. 13 beschrieben.
  • Die Berechnung des Trimmwegs auf der Fläche F1 beginnt mit dem allgemeinen Vorverarbeitungsschritt (Schritt S802) zum Finden der Endpunkte des Anfangsknotens S und des Endknotens E. Bei der mit Bezug auf Fig. 13 beschriebenen Ausführungsform ist der Anfangsknoten die Kante R1 und der Endknoten die Kante C0. Der Endpunkt der Kante C0 ist bereits richtig, weil er geometrisch richtig mit der benachbarten Kante C1 verbunden wurde. Die Kante R1 paßt jedoch in keine seiner topologisch benachbarten Kanten. Die Kante ist intuitiv zu kurz, wie anhand eines Vergleichs der Abmessung der Kante im ursprünglichen Körper, der in Fig. 2a dargestellt ist, klar wird. Um den Endpunkt zu finden, wird eine "Strahlwurftechnik" verwendet. Die Kante R1 kann als ein halbunbegrenzter Strahl betrachtet werden. Um den Punkt V1 zu finden, der der Endpunkt der Kante R1 ist, wird dieser Strahl von allen offenen Flächen geschnitten, die an seinen Endscheitelpunkt angrenzen, und der erste Schnittpunkt, der R1 am kürzesten macht, ergibt den Endpunkt V1. Es sei bemerkt, daß unter Verwendung dieser "Strahlwurftechnik" die Endpunkte der Kurvensegmente S und E auch während des vorstehend beschriebenen Vorverarbeitungsschritts (Schritt S802) der Unterroutine 02 bestimmt werden.
  • In Bezug auf die Kante R1 wird die Strahlwurftechnik folgendermaßen ausgeführt. Die Kante R1 wird von allen offenen Flächen um ihren Endscheitelpunkt, nämlich den Flächen F3, F4 und F5, geschnitten, Der Schnittpunkt, der R1 am kürzesten macht, ist der neue Endpunkt der Kante R1. In diesem Fall ist dies der Schnittpunkt V1 mit der Fläche F4, wie in Fig. 13 dargestellt ist. Die Ausdehnung der Kante R1 hat zwei Konsequenzen. Erstens muß die benachbarte Fläche, nämlich die Fläche F2, als wachsend markiert werden, weil eine ihrer ursprünglichen Kanten, nämlich die Kante R1, wächst. Zweitens muß geprüft werden, ob durch die Ausdehnung der Kante R1 bereits ein Zwischenraum geschlossen wurde. Dies ist nicht der Fall, und es werden daher die Schritte ausgeführt, die dem Schritt S804 der Unterroutine 02 folgen.
  • Zunächst werden alle Schnittkurven zwischen der Fläche F1 und der Fläche, die die Kante R1 schneidet, nämlich der Fläche F4, berechnet (Schritt S902). Dies ergibt die Semi-Kurve S4, die vom Scheitelpunkt V1 nach oben weist, und die Semi-Kurve S5, die vom Scheitelpunkt V1 nach unten weist (Schritt S904). Nun werden die Schnittpunkte der Semi-Kurven S4 und S5 mit den Kanten der Fläche F4 bestimmt (Schritt S908). Weil es keine Punkte innerhalb der existierenden Kanten der Fläche F4 gibt, werden neue Kurvensegmente für die Semi-Kurven S4 und S5 durch das Strahlwurfverfahren konstruiert (Schritte S910 und S912). Durch das Sortieren der Semi-Kurven S4 und S5 wird die Ordnung {S4,S5} festgelegt, weil der Winkel zwischen S4 und der Kante R1 kleiner ist als derjenige zwischen der Semi-Kurve S5 und der Kante 01. Das nachfolgende Sortieren der Kurvensegmente legt die Ordnung ((V1,V2), .. restliche Segmente auf der Semi-Kurve S4, .. Segmente auf der Semi-Kurve S5 ..} fest. Weil der Scheitelpunkt V2 der Schnitt von (V1,V2) mit der Fläche F5 ist, liegen die nächsten Segmente auf Schnittkurven zwischen den Flächen F1 und F2. Nach dem Erzeugen aller möglichen Kurvensegmente und dem Sortieren von diesen wird das "beste Segment" (V2,V0) gefunden. Dieses Segment schneidet die Kante C1 genau an ihrem Endpunkt.
  • Mit Bezug auf Fig. 14 wird nun die Integration des Trimmwegs für die Fläche V1 beschrieben. Die Integration des Trimmwegs [(V1,V2) (V2,V0)] ist in den Fig. 14a und 14b dargestellt. Erstens wird die Kante C2 zwischen der Fläche F1 und der Fläche F4 erzeugt. Alle Kanten zwischen der Kante R1 und der ersten Kante auf der Fläche F4, die Kante R3, bleiben an den Anfangsscheitelpunkt V0 der Kante C2 anliegend. Die restliche Kante R4 wird zum Ende der Kante C2 verschoben. Weil es innerhalb einer Kante der Fläche F4 keinen Schnittpunkt gab, wird diese Fläche als wachsend markiert. Bei der zweiten Iteration wird die Kante C3 erzeugt. In diesem Fall gab es jedoch einen Schnittpunkt mit der Kante C1, den Scheitelpunkt V0. Daher braucht die Fläche F5 nicht markiert zu werden. Weil weiterhin keine Kanten zwischen den Kanten R4 und C2 liegen, müssen keine Kanten entfernt werden.
  • Mit Bezug auf Fig. 15 werden die Berechnung und die Integration des Trimmwegs der Fläche F2, die von der Unterroutine 03 markiert wurde, beschrieben. Die Berechnung des Trimmwegs der Fläche F2 besteht aus dem Vorverarbeitungsschritt (dem Schritt S802), woraus sich der Endpunkt V3 der Kante R2 ergibt. Weil die Kante R2 im Vorverarbeitungsschritt ausgedehnt wurde, wird die Fläche F3 als wachsend markiert. Die Integration des Trimmwegs (V3,V2) ist recht einfach. Die neue Kante C4 wird erzeugt, und es wird der in Fig. 15 dargestellte Körper erreicht. Dieser Körper hat bereits die Topologie, die Zwischenräume an den Flächen F3 bis F5 sind jedoch noch offen, weil die ursprünglichen Kanten R3 und R4 noch zu kurz sind.
  • Mit Bezug auf Fig. 16 wird die Behandlung der restlichen Zwischenräume an den Flächen F3, F4 und F5 beschrieben. Die Zwischenräume an den Flächen F3 und F4 erfordern nur den Vorverarbeitungsschritt S802. In beiden Fällen werden die Kanten der Anfangsknoten durch den Vorverarbeitungsschritt ausgedehnt. Die Ausdehnung schließt bereits die entsprechenden Zwischenräume, und es wird nie in die Iterationsschleife eingetreten.
  • Es sei bemerkt, daß die Fläche F5 nie als eine wachsende Fläche markiert wird. Der Trimmweg wird als Nebenprodukt des Schließens des Zwischenraums an den Flächen F und F1 bis F4 berechnet und integriert.
  • Fig. 17 zeigt den sich ergebenden Körper, der durch Anwenden des Verfahrens gemäß der vorliegenden Erfindung auf den in Fig. 2a dargestellten Körper erreicht wird. Fig. 17 zeigt den Körper 200, in dem die Einpassungsfläche F durch das vorstehend beschriebene Verfahren integriert wurde. Alle durch das erfindungsgemäße Verfahren erzeugten neuen Scheitelpunkte und Kanten sind in Fig. 17 angegeben. Das Verfahren gemäß der vorliegenden Erfindung ermöglicht das zuverlässige Behandeln der komplizierten Operation des Trimmens der Topologie begrenzter Abschnitte der zugrundeliegenden Geometrie. Dies wird durch Bestimmen der Punkte und Kurven um einen begrenzten Bereich jeder Fläche um einen Pol und durch Erzeugen der den Trimmfolgen entsprechenden Topologie erreicht, so daß ein Mannigfaltigkeits-Volumenkörper erreicht wird.
  • Das erfindungsgemäße Verfahren hat die Fähigkeit bestehender Verfahren zum Bereitstellen einer allgemeinen Lösung, und es ist insbesondere möglich, Situationen zu erfassen und zu behandeln, in denen benachbarte Topologien von der Einpassungsfläche verschluckt werden.
  • Wichtige Merkmale des erfindungsgemäßen Verfahrens sind die folgenden:
  • - Trimmen jeder Fläche ungeachtet der restlichen offenen Flächen, wobei die Berechnung des Trimmwegs und die topologische Integration in den Körper vorgenommen werden können, während es noch andere offene Flächen in dem Modell gibt. Insbesondere ermöglicht dies das Behandeln mehrerer Einpassungen gleichzeitig.
  • - Erfassen zusätzlicher Zwischenräume, während ein gegebener getrimmt wird. Das heißt, daß die Zwischenräume an sekundären, nämlich Nicht-Einpassungsflächen, aufgezeichnet werden, während die primären Zwischenräume getrimmt werden. Auf diese Weise ist keine Unterscheidung zwischen schrumpfenden und wachsenden benachbarten Flächen erforderlich. Schrumpfende benachbarte Flächen werden als "Nebenwirkung" des Behandelns der primären Flächen getrimmt, während wachsende Flächen zur Weiterverarbeitung extrahiert werden.
  • - Trennen der Bestimmung der Trimmweggeometrie und der topologischen Integration. Anders als bei Verfahren aus dem Stand der Technik berechnet das erfindungsgemäße Verfahren zuerst den gesamten Trimmweg, der zum Schließen eines Zwischenraums erforderlich ist, und integriert ihn dann in den Körper. Dies ermöglicht die Verwendung einer bestimmten Routine für das Bestimmen der Folge von Kurvensegmenten. Die Integration eines Teiltrimmwegs in den Körper, bevor er vollständig ist, würde ein Zurückverfolgen der Suchroutine verhindern, weil die Invertierung topologischer Modifikationen gewöhnlich nicht eindeutig ist.
  • - Eine mächtige Unterroutine zum Bestimmen des Trimmwegs, wobei der Trimmweg durch eine Suchroutine gefunden wird, die mächtig genug ist, um eine Lösung zu finden, selbst wenn mehrere umgebende Flächen offen sind. Weiterhin erfaßt diese Routine Situationen, in denen benachbarte Topologien schrumpfen oder vollkommen verschwinden.
  • - Eine Unterroutine, die die topologische Modifikation ausführt, ist zum Integrieren des Trimmwegs erforderlich, Insbesondere behandelt dieser Prozeß sowohl wachsende benachbarte Topologien und nimmt ein tatsächliches Entfernen topologischer Elemente vor, die von einer anderen Fläche verschluckt wurden.
  • Wenngleich die vorstehend beschriebene bevorzugte Ausführungsform des erfindungsgemäßen Verfahrens mit Bezug auf einen Körper beschrieben wurde, bei dem nur eine Einpassungsfläche zu integrieren ist, ist darauf hinzuweisen, daß das erfindungsgemäße Verfahren auch zu einer gleichzeitigen Integration mehrerer Einpassungsflächen eines komplexen Körpers in der Lage ist, wie nachfolgend mit Bezug auf Fig. 18 beschrieben wird.
  • In Fig. 18a ist ein komplexer Körper 1800 dargestellt. Dieser Körper weist mehrere Flächen A bis I auf. Die gleichzeitig einzupassenden Kanten sind mit e1, e2 und e3 bezeichnet. In den Fig. 18b und 18c sind zwei mögliche Konfigurationen des Körpers 1800 dargestellt, nachdem die Kanten e1 bis e3 eingepaßt worden sind. In beiden Fällen werden die Kanten e1 bis e3 durch Einpassungsflächen F1 bis F3 ersetzt, wobei die Integration von ihnen in das Objekt 1800 dazu führt, daß neue Topologien erzeugt werden. Wie am besten anhand Fig. 18c ersichtlich ist, wachsen die ursprünglichen Flächen B und H und werden tatsächlich zu einer gemeinsamen Fläche.
  • Es wird nun auf Fig. 19 Bezug genommen, die ein schematisches Diagramm ist, in dem die typischen Komponenten eines 3D-CAD-Systems dargestellt sind, das zum Ausführen des erfindungsgemäßen Verfahrens geeignet ist. Ein Hauptprozessor 1900 ist über einen Graphiksensor 1902 mit einem Anzeigebildschirm 1904, beispielsweise einer Kathodenstrahlröhre, verbunden. Das gerade konstruierte geometrische Objekt 1906 wird auf dem Bildschirm 1904 angezeigt. Der Hauptprozessor 1900 führt die Berechnungen zum Erzeugen und Modifizieren des auf dem Bildschirm 1904 angezeigten geometrischen Objekts aus. Ein Drucker 1908 ist über einen Konzentrator 1910 an den Hauptprozessor 1900 angeschlossen. Der Drucker kann eine Papierkopie des auf dem Bildschirm angezeigten Bilds oder eine Papierkopie im Datenspeicher 1912 des CAD-Systems gespeicherter geometrischer Objekte erzeugen. Der Datenspeicher 1912 ist mit dem Hauptprozessor verbunden und weist eine Massenspeichervorrichtung in der Art einer magnetischen oder optischen Platte auf. Ein Programmspeicher 1914 enthält Befehle, die zum Erzeugen und Berechnen des konstruierten geometrischen Objekts verwendet werden.
  • Es gibt mehrere Eingabeeinrichtungen, die dem Benutzer zur Wechselwirkung mit dem CAD-System zur Verfügung stehen. Gemäß der dargestellten Ausführungsform ist eine Computermaus 1916 vorhanden, die einen auf dem Bildschirm angezeigten Cursor steuert. Weiterhin ist auf dem Bildschirm ein Befehlsmenü dargestellt, aus dem der Benutzer gewünschte Befehle durch Positionieren des auf dem Bildschirm angezeigten Cursors auswählen kann. Weiterhin ist auf dem Bildschirm ein Befehlsmenü angezeigt, aus dem der Benutzer durch Positionieren des Cursors auf das angezeigte Objekt durch eine geeignete Bewegung der Maus und durch Drücken einer Aktivierungstaste gewünschte Befehle auswählen kann. Ein Beispiel einer angezeigten Menüoption ist die Degradierung einer Einpassungsfläche in das auf dem Bildschirm angezeigte Objekt. Zusätzlich zur Maus ist eine Tastatur 1918 zum Eingeben von Befehlen oder Daten in den Prozessor bereitgestellt. Eine weitere Eingabeeinrichtung ist ein Knopfkasten 1920, der mehrere Knöpfe aufweist, durch die das angezeigte Objekt um verschiedene Achsen und lineare Verschiebungen zu spezifizierten Richtungen gedreht werden kann. Wenn der Benutzer die Option zum Integrieren einer Einpassungs- bzw. Anfasungsfläche in einen Körper zum Ersetzen einer spezifischen Stelle auswählt, werden die vorstehend beschriebenen erfindungsgemäßen Schritte durch den Hauptprozessor 1900 ausgeführt, wobei das Verfahren im Programmspeicher 1914 resident ist.

Claims (12)

1. Verfahren zum Integrieren einer Einpassungsfläche oder Anfasungsfläche (F), die eine Kante (E) eines geometrischen Körpers (200) in einem Volumenmodell des Körpers in einem computergestützten Konstruktionssystem ersetzt, wobei das Verfahren die folgenden Schritte umfaßt:
a) Definieren einer primären Einpassungs- oder Anfasungsfläche,
b) Berechnen primärer Grenzen (ep1, ep2) zwischen der primären Fläche und dem Körper,
c) Trimmen der primären Grenzen bezüglich des Körpers,
d) Entfernen von Kanten (e1, e2, e3, e4) neben der zu ersetzenden Kante (E), wenn bestimmt wird, daß die Kanten veraltet bzw. obsolet sind, wodurch der Körper (200) in einem geometrisch unvereinbaren Zustand gelassen wird,
e) Erzeugen einer neuen primären Einpassungs- oder Anfasungsfläche (F) in dem Körper auf der Grundlage der primären Fläche durch Ersetzen der zu entfernenden Kante (E) durch neue Kanten (RB, LB), die den zugetrimmten primären Grenzen entsprechen, wodurch eine neue Grenze der neuen primären Fläche gebildet wird,
f) Prüfen für jeden Scheitelpunkt (SV, EV) der zu entfernenden Kante (E), ob der Körper (200) um den Scheitelpunkt herum geometrisch unvereinbar geworden ist und, falls dies der Fall ist, Erzeugen einer geometrisch und topologisch vereinbaren Mannigfaltigkeit auf der Grundlage des Trimmens der Topologie des Körpers um den Scheitelpunkt herum durch Ausführen der folgenden Schritte:
g) Sammeln aller Zwischenräume an der neuen primären Fläche
(F) , wobei ein Zwischenraum durch topologisch angrenzende Kanten definiert ist, die geometrisch nicht zueinander passen (S302), d. h. die einander also nicht derart geometrisch schneiden, daß ein geometrisch gültiger Scheitelpunkt gebildet wird, und
für jeden Zwischenraum
h) Berechnen eines Trimwegs (T) auf der Grundlage der Bestimmung von Schnittkurven der Fläche mit dem Zwischenraum und seiner umgebenden Flächen, wobei der Trimweg aus einer Folge von Kurvensegmenten besteht, die einen Teil der Fläche mit dem Zwischenraum (S308) trimmen,
i) Erzeugen einer neuen, den Zwischenraum schließenden Topologie auf der Grundlage des durch Schritt h) berechneten Trimwegs (T) (S310),
k) Sammeln aller Zwischenräume auf sekundären Nicht- Einpassungsflächen und Nicht-Anfasungsflächen (F1 bis F5) um den Scheitelpunkt (S312), und
l) Wiederholen der Schritte h) und i) für die in Schritt k) gesammelten Zwischenräume für alle sekundären ebenen Flächen des Körpers.
2. Verfahren nach Anspruch 1, wobei Schritt c) die folgenden Schritte umfaßt:
c1) Berechnen eines Schnittpunkts (RV, LV) zwischen den primären Grenzen und den Kanten der Flächen (RF, LF), die an die zu ersetzende Kante (E) angrenzen, und
c2) Markieren derjenigen Kanten (e1 bis e4) der an die zu ersetzende Kante (E) angrenzenden Flächen, die den in Schritt c1) berechneten Schnittpunkt nicht aufweisen.
3. Verfahren nach Anspruch 2, wobei Schritt d) die folgenden Schritte umfaßt:
d1) Entfernen der Kanten (e1 bis e4), die in Schritt c2) markiert wurden, und
d2) Ziehen der Kanten (R1 bis R4, RN, LN) des Körpers, die vor Schritt d1) einen Schnittpunkt mit den markierten Kanten aufwiesen, zum Scheitelpunkt der zu ersetzenden Kante, wobei die Kanten, die den Schnittpunkt (RV, LV) mit den primären Grenzen aufweisen, so gezogen werden, daß der Scheitelpunkt und der jeweilige Schnittpunkt verbunden werden.
4. Verfahren nach Anspruch 3, wobei die Kanten durch Anwenden des Eulerschen Operators KEV auf das Modell entfernt werden.
5. Verfahren nach einem der Ansprüche 1 bis 4, wobei die neue primäre ebene Fläche durch Anwenden des Eulerschen Operators ADEF auf das Modell erzeugt wird.
6. Verfahren nach einem der Ansprüche 1 bis 5, wobei Schritt g) die folgenden Schritte aufweist, die für alle Flächen des Körpers ausgeführt werden:
g1) Wählen einer Fläche, die noch nicht verarbeitet worden ist (S402, S406),
g2) Bestimmen, ob die gewählte Fläche die neue primäre Fläche ist (S408),
g3) falls Schritt g2) ergibt, daß die gewählte Fläche die neue primäre Fläche ist, Bestimmen, ob die gewählte Fläche den Scheitelpunkt (S410) enthält,
g4) falls Schritt g3) ergibt, daß die gewählte ebene Fläche den Scheitelpunkt enthält, Finden einer Kante, die in dem Scheitelpunkt beginnt, und Finden einer Kante, die in dem Scheitelpunkt endet (S412),
g5) Bestimmen, ob die Endpunkte der in Schritt g4) gefundenen Kanten verschieden sind (S414), und
g6) falls Schritt g5) ergibt, daß die Endpunkte verschieden sind, Hinzufügen der gewählten Fläche zu einer Liste, die alle gewählten Flächen mit einem Zwischenraum enthält (S416).
7. Verfahren nach einem der Ansprüche 1 bis 6, wobei die Kurvensegmente ein Abschnitt der Schnittkurven der Fläche mit dem Zwischenraum und der umgebenden Flächen sind, wobei Schritt h) die folgenden Schritte umfaßt:
h1) Definieren eines Anfangsknotens, an dem der Trimweg der Fläche mit dem Zwischenraum beginnt, und eines Endknotens, an dem der Trimweg (T) der Fläche mit dem Zwischenraum endet, wobei ein Knoten ein Kurvensegment des Trimwegs ist (S802),
h2) Berechnen eines Endpunkts des Anfangsknotens und eines Endpunkts des Endknotens,
h3) Erzeugen der zugeordneten Knoten für einen aktuellen Knoten (S812),
h4) Sortieren der in Schritt (S814) erzeugten zugeordneten Knoten und
h5) Wiederholen der Schritte h3) und h4) für alle Knoten beginnend mit dem Anfangsknoten bis der Endknoten erreicht wurde.
8. Verfahren nach Anspruch 7, wobei Schritt h3) die folgenden Schritte umfaßt:
h3.2) Definieren des Anfangspunkts des aktuellen Knotens und der aktuellen Fläche,
h3.2) Schneiden der Fläche mit der aktuellen Fläche (S902),
h3.3) Bestimmen aller durch Schritt h3.2) erzeugten Kurven, die den Endpunkt enthalten (S903),
h3.4) Erzeugen von Semi-Kurven (S0, S4) für jede in Schritt h3.3) bestimmte Kurve, wobei eine Semi-Kurve eines von zwei halbunbegrenzten Segmenten jeder Kurve ist, wobei alle Segmente am Endpunkt beginnen und entgegengesetzte Richtungen aufweisen (S904),
h3.5) Schneiden jeder erzeugten Semi-Kurve mit der Kante der aktuellen Fläche (S908),
h3.6) falls ein Schnittpunkt innerhalb der Kanten der aktuellen Fläche existiert, Erzeugen eines zugeordneten Knotens für den Schnittpunkt (S918),
h3.7) falls innerhalb der Kanten der aktuellen Fläche kein Schnittpunkt existiert, Ausführen der folgenden Schritte:
h3.7.1) Schneiden der Semi-Kurve mit offenen Flächen um den Scheitelpunkt, um dadurch einen oder mehrere Schnittpunkte zu definieren (S912),
h3.7.2) Erzeugen eines zugeordneten Knotens für jeden in Schritt h3.7.1) definierten Schnittpunkt (S916) und
h3.8) Ausgeben einer Liste der erzeugten zugeordneten Knoten (S922).
9. Verfahren nach Anspruch 7 oder 8, wobei Schritt h4) die folgenden Schritte umfaßt:
h4.1) Zuweisen eines Werts zu jeder Semi-Kurve (S0, S4), wobei der Wert auf einem Winkel zwischen einem übergeordneten Knoten und einer entsprechenden Semi-Kurve beruht,
h4.2) Bestimmen der Semi-Kurve mit dem kleinsten Winkel und Zuweisen der höchsten Priorität zu dieser und
h4.3) Bestimmen des kürzesten Kurvensegments der Semi-Kurve mit der höchsten Priorität.
10. Verfahren nach einem der Ansprüche 1 bis 9, wobei Schritt i) eine neue Kante zwischen einer ersten Fläche mit dem Zwischenraum und einer zweiten Fläche neben der ersten Fläche durch Ausführen der folgenden Schritte erzeugt:
11) Definieren eines Anfangsknotens des Trimwegs (T) für die erste Fläche als das aktuelle Segment,
12) Definieren der Kante des Anfangsknotens als die aktuelle Kante,
13) Bestimmen des auf das aktuelle Segment folgenden nächsten Segments (S1104),
14) Bestimmen der dem nächsten Segment entsprechenden gegenwärtigen Kante der zweiten ebenen Fläche (S1110),
15) Beurteilen, ob das nächste Segment eine ursprüngliche Kante der zweiten ebenen Fläche schneidet (S1116),
15.1) falls es einen Schnitt gibt, Entfernen aller Kanten zwischen der gegenwärtigen Kante und der ursprünglichen Kante der zweiten Fläche (S1118),
15.2) falls es keinen Schnitt gibt, Markieren der zweiten Fläche als zunehmend und als einen Zwischenraum aufweisend (S1122),
16) Erzeugen einer neuen Kante zwischen der ersten Fläche und der zweiten Fläche (S1120),
17) Ziehen aller Kanten zwischen der aktuellen Kante und der gegenwärtigen Kante zum Anfangsscheitelpunkt der neuen Kante (S1123)
18) Ziehen der restlichen Kanten um den aktuellen Scheitelpunkt zum Endscheitelpunkt der neuen Kante (S1124),
19) Definieren des nächsten Segments als das aktuelle Segment,
110) Definieren der neuen Kante als die aktuelle Kante und
i11) Wiederholen der Schritte 13) bis 110), bis bestimmt wurde, daß das nächste Segment der Endknoten des Trimwegs ist.
11. Verfahren nach einem der Ansprüche 1 bis 10, wobei Schritt k) die folgenden für alle Flächen des Körpers (200) ausgeführten Schritte umfaßt:
k1) Wählen einer Fläche, die noch nicht verarbeitet worden ist (S452, S456),
k2) Bestimmen, ob die gewählte Fläche den Scheitelpunkt enthält (S458)
k3) falls Schritt k2) ergibt, daß die gewählte Fläche den Scheitelpunkt enthält, Finden einer Kante, die an dem Scheitelpunkt beginnt, und Finden einer Kante, die an dem Scheitelpunkt endet (S460),
k4) Bestimmen, ob die Endpunkte der in Schritt k3) gewonnenen Kanten verschieden sind (S462), und
k5) falls Schritt k4) ergibt, daß die neuen Endpunkte verschieden sind, Hinzufügen der gewählten Fläche zur Liste, die alle gewählten Flächen mit einem Zwischenraum enthält (S464).
12. Computerunterstütztes Konstruktionssystem mit
einer Eingabeeinrichtung (1910, 1916, 1918, 1920) zum Eingeben von Befehlen und Daten zum Erzeugen und Modifizieren eines geometrischen Objekts (1906),
einer Verarbeitungseinrichtung (1900, 1902) zum Ausführen von Berechnungen zum Erzeugen und Modifizieren des geometrischen Objekts,
einer Speichereinrichtung (1912, 1914) zum Speichern einer Darstellung des geometrischen Objekts und zum Speichern von Befehlen bezüglich der Erzeugung und Modifikation des Objekts,
einer Anzeigeeinrichtung (1904) zum Anzeigen des geometrischen Objekts, zum Anzeigen einer zu ersetzenden Kante (E), die von einem Benutzer gewählt werden muß, und zum Anzeigen des Objekts, in das die Einpassungs- oder Anfasungsfläche integriert wurde,
wobei die Verarbeitungseinrichtung und die Speichereinrichtung jeden der Schritte des Verfahrens gemäß jedem der Ansprüche 1 bis 11 ausführen können.
DE69625484T 1996-10-17 1996-10-17 Verbesserte Objektmodellerzeugung Expired - Lifetime DE69625484T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP96116708A EP0837430B1 (de) 1996-10-17 1996-10-17 Verbesserte Objektmodellerzeugung

Publications (2)

Publication Number Publication Date
DE69625484D1 DE69625484D1 (de) 2003-01-30
DE69625484T2 true DE69625484T2 (de) 2003-10-30

Family

ID=8223310

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69625484T Expired - Lifetime DE69625484T2 (de) 1996-10-17 1996-10-17 Verbesserte Objektmodellerzeugung

Country Status (4)

Country Link
US (1) US6133922A (de)
EP (1) EP0837430B1 (de)
JP (1) JP3955368B2 (de)
DE (1) DE69625484T2 (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7196702B1 (en) * 1998-07-23 2007-03-27 Freedesign, Inc. Geometric design and modeling system using control geometry
US6981695B1 (en) * 2003-10-14 2006-01-03 Polaris Industries Inc. All terrain vehicle with multiple winches
US8836701B1 (en) 1998-07-23 2014-09-16 Freedesign, Inc. Surface patch techniques for computational geometry
NL1010452C2 (nl) * 1998-11-02 2000-05-03 Koelman Intellectueel Eigendom Werkwijze en inrichting voor het ontwerpen van oppervlakken met een vrije vorm.
US6707461B1 (en) * 1999-12-21 2004-03-16 Adobe Systems Incorporated Blending objects with different effect parameters
US6760038B2 (en) * 2001-05-31 2004-07-06 Geometric Software Solutions Co. Limited Method for recognizing blends in solid models
US7612776B2 (en) 2002-09-14 2009-11-03 Microsoft Corporation Functions acting on arbitrary geometric paths
EP1635269B1 (de) * 2004-09-14 2020-04-15 Microsoft Technology Licensing, LLC Auf willkürliche geometrische Pfade bezogene Funktionen
US8004517B1 (en) * 2005-06-24 2011-08-23 Geomagic, Inc. Methods, apparatus and computer program products that model three-dimensional surface structures
EP2028623B1 (de) * 2007-08-24 2011-10-19 Dassault Systèmes Verfahren zur computerunterstützten Gestaltung von flächenverbindenden Kanten eines geformten Objektes
US11907617B2 (en) 2008-07-18 2024-02-20 Cad-Sense Llc Surface patch techniques for computational geometry
US8983801B2 (en) * 2009-04-23 2015-03-17 Vought Aircraft Industries, Inc. Method and system for transforming a CAD model of an object between engineering states
US8326583B2 (en) * 2009-05-29 2012-12-04 Siemens Product Lifecycle Management Software Inc. CAD system and method for blend recognition and chain sorting in a Brep model
GB2487405A (en) * 2011-01-20 2012-07-25 Ordonez Diegoa Converting coordinates of projections of a basic geometric shape into coordinates on a tubular enveloping surface particularly in cast on cast fabrication
US8983802B2 (en) * 2011-04-21 2015-03-17 Siemens Product Lifecycle Management Software Inc. Notch re-blend in an object model
US9690878B2 (en) * 2013-05-28 2017-06-27 Siemens Prodcut Lifecycle Management Software Inc Geometric modeling with mutually dependent blends
US10042817B2 (en) * 2015-04-09 2018-08-07 Frustum Inc. Generating optimized geometries

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5353390A (en) * 1991-11-21 1994-10-04 Xerox Corporation Construction of elements for three-dimensional objects
EP0649103B1 (de) * 1993-10-11 1999-04-07 Hewlett-Packard GmbH Verfahren zur Abschrägung der Kanten eines geometrischen Objektes in einem rechnergestützten Entwurfssystem
EP0681243B1 (de) * 1994-04-28 1998-12-02 Hewlett-Packard GmbH Verfahren zur Ausführung Boolescher Operationen auf geometrischen Objekten in einem rechnergestützen Entwurfsystem
DE19612016A1 (de) * 1996-03-15 1997-09-18 Daimler Benz Ag Verfahren zur rechnergestützten Geometriemodellierung
US5847956A (en) * 1996-09-26 1998-12-08 Computervision Corporation Automatic trimming of geometric objects in CAD/CAM systems

Also Published As

Publication number Publication date
JPH10134209A (ja) 1998-05-22
US6133922A (en) 2000-10-17
EP0837430A1 (de) 1998-04-22
JP3955368B2 (ja) 2007-08-08
DE69625484D1 (de) 2003-01-30
EP0837430B1 (de) 2002-12-18

Similar Documents

Publication Publication Date Title
DE69625484T2 (de) Verbesserte Objektmodellerzeugung
DE68927781T2 (de) Geometrisches Modellierungsverfahren und -gerät
DE68927454T2 (de) Graphische Bildaufbereitung
DE60008264T2 (de) Datenaustausch zwischen cad-systemen
DE60204405T2 (de) Metamorphoseverfahren für Formstruktur
DE69229530T2 (de) Automatisiertes neues Layout-Verfahren mit dimensionaler Verknüpfung
DE69414784T2 (de) Vorrichtung und Verfahren zur Formmodellierung
DE69132486T2 (de) Dreidimensionales Modellierungsgerät-und Verfahren
DE69725346T2 (de) Gerät und verfahren zur erzeugung eines blechbiegemodells
DE3889819T2 (de) 3D-Dimensionierung in rechnerunterstützter Zeichnung.
DE69522386T2 (de) Bildverarbeitungsgerät und -verfahren
DE3889882T2 (de) Modellierungssystem für Festkörper.
DE3608438A1 (de) Verfahren zum berechnen von freien gekruemmten flaechen mittels computergestuetztem design cad und computergestuetzter herstellung cam und numerischer steuerung nc
DE69324363T2 (de) Verfahren zur Abschrägung der Kanten eines geometrischen Objektes in einem rechnergestützten Entwurfssystem
DE102019005516A1 (de) Videoinpainting mittels verlässlichkeitsgewichteter Bewegungsschätzung
DE102017005933B4 (de) Bearbeitungsprogrammeditiervorrichtung, Verfahren und Speichermedium
DE4303071A1 (de) Verfahren und Vorrichtung zur Randbewertung in einer Nicht-Mannigfaltigkeits-Umgebung
DE19612016A1 (de) Verfahren zur rechnergestützten Geometriemodellierung
DE102006058016A1 (de) Verfahren zur reversen Modellbildung unter Benutzung von Gitterdaten als Merkmal
DE112016005969T5 (de) Werkzeugwegkorrekturvorrichtung und Werkzeugwegkorrekturverfahren
DE69430572T2 (de) System und verfahren zur parametrischen geometrischen modellierung
DE102007043923A1 (de) System und Verfahren zum Berechnen von Verbundflächen unter Verwendung von 3D-Abtastdaten
DE102005055133A1 (de) System für den maschinengestützten Entwurf technischer Vorrichtungen
EP1994499B1 (de) Herstellung einer linienartigen oder flächenartigen form
DE112008002298T5 (de) Gerät, Verfahren und Programm zur Erzeugung einer Werkzeugbezugsebene

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE

8327 Change in the person/name/address of the patent owner

Owner name: HEWLETT-PACKARD CO. (N.D.GES.D.STAATES DELAWARE),