-
Diese
Anmeldung ist eine continuation-in-part (Ausscheidungsanmeldung)
der US-Patentanmeldung Nr. 09/394 824 (anhängig), angemeldet am 13. September
1999.
-
Hintergrund der Erfindung
-
1. Gebiet der Erfindung
-
Diese
Anwendung bezieht sich auf das Gebiet von computergestützter Konstruktion
und insbesondere auf das Gebiet einer computer- bzw. rechnergestützten Modellerstellung.
-
2. Beschreibung des Standes
der Technik
-
Software
für computergestützte Konstruktion kann
dazu eingesetzt bzw. verwendet werden, um Computerzeichnungen von
Gegenständen
bzw. Objekten, auf welche als "Modelle" bezug genommen wird,
zu konstruieren und zu manipulieren bzw. handzuhaben. Dem Anwender
wird eine Anzeige des Modells auf dem Computerbildschirm vorgelegt
und er manipuliert das Modell unter Benützung von Tastaturbefehlen,
einer Kombination von Maus/Cursor- bzw. Eingabezeiger und anderer
verschiedenartiger Eingabemittel. Veränderungen an dem Modell spiegeln
sich in der Bildschirmanzeige des Modells wieder, sobald der Anwender
die Veränderungen
vornimmt, oder alternativ in Beantwortung eines durch den Anwender
eingegebenen spezifischen Befehls zur Aktualisierung der Bildschirmansicht
bzw. -anzeige des Modells. In jedem Fall dient die Bildschirmanzeige
des Modells als die Hauptquelle für die Modellinformation an
den Anwender bzw. Benutzer und als Anwenderreferenz für ein Eingeben
und Verändern von
Eigenschaften des Modells.
-
Obwohl
auf dreidimensionalen Modellen basierende computergestützte Konstruktion
sich zunehmend verbreitet, fahren Ingenieure und andere Konstrukteure
damit fort, konventionelle, zweidimensionale Konstruktionszeichnungen
in vielen Fällen einzusetzen
bzw. zu verwenden. Zweidimensionale Konstruktionszeichnungen weisen
eine Anzahl von Schwierigkeiten auf, von welchen eine jene ist,
daß diese
selbst für
Experten schwierig zu lesen sind. Als zweidimensionale Wiedergaben
von verschiedenen Ansichten von dreidimensionalen Objekten trennen die
Zeichnungen notwendigerweise relevante Information über ein
vereinheitlichtes Objekt in eine Vielzahl von verschiedenen Ansichten.
Diese Teilung bzw. Trennung macht es für den Anwender notwendig, die
vielfachen Ansichten zu verstehen, anstatt das Objekt als Ganzes
zu betrachten. Zusätzlich
können
einige Ansichten, wie z. B. Teilschnitte, nicht jeder Ansicht entsprechen,
welche tatsächlich
durch einen Betrachter eines realen Objekts gesehen würde, so
daß diese
von der Seite des Anwenders eine beträchtliche Vorstellungskraft
erfordern. Da bzw. wenn die Komplexität eines modellierten Objekts
zunimmt und da bzw. wenn die Anzahl von Ansichten zunimmt, kann
es sehr schwierig sein, die Beziehung von unterschiedlichen Ansichten
und die Beziehung von unterschiedlichen Komponenten innerhalb unterschiedlicher
Ansichten zu verfolgen.
-
US-A-4
933 865 ist auf ein automatisches Erkennen von Gestalten bzw. Formen
in einer zweidimensionalen Zeichnung gerichtet, so daß diese
Gestalten automatisch als 2D CAD System-Objekte eingegeben werden
können.
Dieses Dokument offenbart, wie man die Gestalten in einer 2D Zeichnung
erkennen und diese in ein entsprechendes CAD System-Objekt konvertieren
kann. Es macht dies durch ein Analysieren eines Bilds, ein Erkennen
von Vektorformen, ein Bestimmen einer Symmetrie und dadurch ein
Erkennen einer Figur. Das Ziel ist es, eine Konversion bzw. Umwandlung
einer existierenden Zeichnung in eine CAD Datei zu automatisieren,
um diese weiterzuverarbeiten.
-
Trotz
dieser Probleme bleiben zweidimensionale Zeichnungen eine Standardmodelltechnik
für einen
weiten Bereich von Objekten in vielen Gebieten. Demgemäß besteht
ein Bedarf für
eine Vereinfachung eines rechnergestützten Modellierens von zweidimensionalen
Zeichnungen.
-
Zusammenfassung
der Erfindung
-
Gemäß der vorliegenden
Erfindung, wie diese in den angeschlossenen Ansprüchen definiert wird,
beinhaltet die Verarbeitung von Datenobjekten einer zweidimensionalen
Zeichnung ein Markieren von Datenobjekten entsprechend einer Notierung bzw.
Anmerkung, ein Trennen bzw. Teilen der Zeichnung in eine Vielzahl
von Ansichten und ein Zuordnen von jedem dieser Datenobjekte entsprechend
einer Notierung zu einer der Ansichten. Ein Aufteilen bzw. Trennen
der Zeichnung in eine Vielzahl von Ansichten kann ein Konstruieren
von einer Vielzahl von Schnittflächen
bzw. Schnitten und Annäherungsgraphen
bzw. Annäherungskurven
und ein Benützen
der Kurven bzw. Graphen einschließen, um eine Vielzahl von verbundenen
Sätzen
zur Verfügung
zu stellen, wo jeder Satz einer der Ansichten entsprechen kann. Die
Grenzansichten bzw. Randansichten können dadurch identifiziert
werden, indem bestimmt wird, welche der Ansichten weniger als eine vorbestimmte
Anzahl von Elementen beinhalten, wenigstens zwei andere Ansichten
beinhalten und nicht in anderen Ansichten beinhaltet sind.
-
Das
Markieren von Datenobjekten entsprechend einer Notierung kann identifizierende
bzw. Identifikationspfeile, Trennlinien, Detailkreise und Text beinhalten.
Identifikationspfeile können
beinhalten ein Detektieren bzw. Erfassen von drei Linien, welche
ein Dreieck und dreiseitige Polygone bilden. Gleichschenkelige Dreiecke
und dreiseitige Polygone entsprechend gleichschenkeligen Dreiecken
können
als Pfeile identifiziert werden, wenn die eine Seite, welche eine
unterschiedliche Länge
als zwei andere Seiten hat, kürzer
ist als die beiden anderen Seiten. Vor einem Markieren von Datenobjekten
entsprechend einer Notierung können
degenerierte Objekte entfernt werden.
-
Kurze Beschreibung
der Zeichnungen
-
1 stellt die Systemkomponenten
eines computer- bzw. rechnergestützten
Modelliersystems dar.
-
2 stellt einen Computerbildschirm
mit einem Modellierfenster zum Darstellen bzw. Anzeigen eines zu
betrachtenden Objekts dar.
-
3 und 4 stellen eine Vielzahl von Ansichten
eines Beispiels einer Konstruktionszeichnung in einem Modellierfenster
eines Computersystems dar, wie z. B. jenes von 1.
-
5 stellt ein vereinfachtes
Schema einer Konstruktionszeichnung in dem Modellierfenster eines
Computerbildschirms dar.
-
6 stellt die Vorderansicht
von 3 und eine Schnittansicht
von 4 nach einem Komplettieren
eines virtuellen Faltprozesses der vorliegenden Systeme und Verfahren
dar.
-
7 stellt Ansichten eines
Objekts bzw. Gegenstands in einem Modellierfenster eines Computerbildschirms
bzw. Rechnerbildschirms dar, um einen Hyperlink-Prozessor der vorliegenden
Systeme und Verfahren zu illustrieren bzw. zu erläutern.
-
8 stellt ein Objekt in einem
Modellierfenster eines Computerbildschirms dar, um einen Zeigerprozeß der vorliegenden
Systeme und Verfahren zu illustrieren.
-
9 stellt ein vereinfachtes
solides bzw. starres Objekt in einem Modellierfenster eines Computerbildschirms
dar.
-
10 stellt ein schematisches
Diagramm mit drei zweidimensionalen Ansichten des Objekts von 9 dar.
-
11 stellt eine einzelne,
hervorgehobene Ansicht nach Drehung des Objekts von 9 dar.
-
12 und 13 präsentieren
jeweils eine dreidimensionale Ansicht eines Pumpengehäuses während einer
Drehung und eine zweidimensionale Ansicht, welche entsprechend der
Verarbeitung der vorliegenden Erfindung hervorgehoben ist.
-
14 stellt ein System zum
Bereitstellen der Funktionalität
der Systeme und Verfahren dar, welche hierin geoffenbart wurden,
einschließend
eine elektronische Zeichnungsdatei und ein Anzeigeprogramm.
-
15 stellt eine elektronische
Zeichnungsdatei entsprechend der vorliegenden Erfindung dar.
-
16 ist ein Flußdiagramm,
welches die Schritte illustriert, die in Verbindung mit einem Implementieren
des Zeigerprozesses werden, welcher in Verbindung mit 10 geoffenbart wurde.
-
17 ist ein Flußdiagramm,
welches die Schritte für
ein Implementieren der virtuellen Falteigenschaft anzeigt, welche
in Verbindung mit 6, 7 und 8 beschrieben wurde.
-
18 ist ein Flußdiagramm,
welches die Schritte für
ein Hyperlinken einer Trennlinie oder eines Detailkreises von einer
Ansicht zu einer anderen Ansicht entsprechend der Trennlinie oder
dem Detailkreis illustriert.
-
19 ist ein Flußdiagramm,
welches die Schritte illustriert, welche in Verbindung mit dem weiter
oben besprochenen Animationsmerkmal durchgeführt werden.
-
20 ist ein schematisches
Diagramm, welches einen Prozeß illustriert,
in welchem ein Transformationsprogramm die elektronische Zeichnungsdatei
unter Benützung
einer zweidimensionalen Datei und gegebenenfalls einer dreidimensionalen
Datei erstellt.
-
21 ist ein Datenflußdiagramm,
welches eine Konversion bzw. Umwandlung einer zweidimensionalen
Datei in eine Zeichnungsdatei entsprechend der vorliegenden Erfindung
illustriert.
-
22 ist ein Flußdiagramm,
welches Schritte illustriert, welche in Verbindung mit der Konversion
bzw. Umwandlung einer zweidimensionalen Datei in eine Zeichnungsdatei
entsprechend der vorliegenden Erfindung durchgeführt werden.
-
23 ist ein Flußdiagramm,
welches Initialisierungsoperationen bzw. -vorgänge illustriert, welche in
Verbindung mit der Konversion einer zweidimensionalen Datei in eine
Zeichnungsdatei entsprechend einem Aspekt der vorliegenden Erfindung durchgeführt werden.
-
24 ist ein schematisches
Diagramm, welches einen Schnittflächen/Annäherungsgraphen illustriert,
welcher durch das entsprechend eines Aspekts der vorliegenden Erfindung
zur Verfügung
gestellte System eingesetzt wird.
-
25 ist ein Flußdiagramm,
welches Schritte illustriert, welche in Verbindung mit einem Trennen
bzw. Teilen von graphischen Einheiten entsprechend einem Aspekt
der vorliegenden Erfindung durchgeführt werden.
-
26 ist ein Flußdiagramm,
welches Schritte illustriert, welche in Verbindung mit einem Detektieren
bzw. Erfassen von Randansichten durchgeführt werden.
-
27 ist ein Flußdiagramm,
welches Schritte illustriert, welche in Verbindung mit einem Konstruieren
von verbundenen Sätzen
durchgeführt werden.
-
28 ist ein Flußdiagramm,
welches Schritte illustriert, welche in Verbindung mit einer übereinstimmenden
Notierung durchgeführt
werden.
-
29 ist ein Flußdiagramm,
welches Schritte illustriert, welche in Verbindung mit einer Ansichtstypenerkennung
durchgeführt
werden.
-
30 ist ein Flußdiagramm,
welches Schritte illustriert, die in Verbindung mit einem Detektieren
bzw. Erfassen von Pfeilköpfen
bzw. Pfeilspitzen durchgeführt
werden.
-
31 ist ein Flußdiagramm,
welches Schritte illustriert, die in Verbindung mit einem Erfassen
bzw. Detektieren von Schäften
von linearen Pfeilen durchgeführt
werden.
-
32 ist ein Flußdiagramm,
welches Schritte illustriert, die in Verbindung mit einem Erfassen
von Beschriftungen für
lineare Pfeile, einem Erfassen von Paaren von beschrifteten bzw.
markierten Pfeilen und einem Erfassen von Trennlinien durchgeführt werden.
-
Detaillierte Beschreibung
der bevorzugten Ausführungsform(en)
-
Bezugnehmend
auf 1 beinhaltet ein rechnergestütztes bzw.
computerisiertes Modelliersystem 30 eine CPU 31,
einen Computerbildschirm 32, eine Tastatur-Eingabeeinrichtung 33,
eine Maus-Eingabeeinrichtung 34 und eine Speichereinrichtung 35.
Die CPU 31, der Computerbildschirm 32, die Tastatur 33,
die Maus 34 und die Speichereinrichtung 35 sind konventionelle, üblicherweise
verfügbare
bzw. erhältliche,
Computer-Hardwareeinrichtungen, wie z. B. eine Workstation oder
ein Personal Computer, welche einen Mikroprozessor, wie z. B. einen
auf Pentium oder Pentium II basierenden Prozessor oder einen anderen
konventionellen Prozessor verwenden. Die Maus 34 hat konventionelle,
vom Anwender zu betätigende,
linke und rechte Tasten bzw. Knöpfe.
Andere geeignete Computer-Hardware-Plattformen sind geeignet, wie
dies aus der folgenden Diskussion augenscheinlich bzw. ersichtlich werden
wird. Derartige Computer-Hardware-Plattformen sind vorzugsweise
dazu geeignet bzw. fähig,
ein Softwarebetriebssystem zu betreiben, welches für eine graphische
Anwenderschnittstelle geeignet ist, wie z. B. das Microsoft Windows
NT, Windows 95, oder Windows 98 Betriebssystem, oder ein Macintosh
Betriebssystem von Apple Computer.
-
Software
für eine
rechnergestützte
Konstruktion wird in der Speichereinrichtung 35 gespeichert und
in die CPU 31 geladen und von ihr ausgeführt. Die
Software gestattet es dem Anwender, ein Modell eines Objekts bzw.
Gegenstands zu erstellen und zu modifizieren.
-
Bezugnehmend
auf 2 nützt bzw.
verwendet die CPU 31 den Computerbildschirm 32 zum Anzeigen
eines dreidimensionalen Modells in einem Modellfenster bzw. Modellierfenster 40.
Das in 2 dargestellte
Objekt ist eine dreidimensionale Wiedergabe eines allgemeinen mechanischen
Objekts, des Gehäuses 37 für eine Pumpe.
Andere Aspekte davon werden detaillierter im Nachfolgenden beschrieben werden.
-
Erneut
auf 1 bezugnehmend,
betätigt ein
Anwender die Tastatur 33 und die Maus 34, um Daten
für das
Modell einzugeben und zu modifizieren. Die CPU 31 akzeptiert
und verar beitet eine Eingabe von der Tastatur 33 und der
Maus 34. Unter Verwendung der Modelliersoftware be- bzw.
verarbeitet die CPU 31 die Eingabe gemeinsam mit den Daten,
welche dem Modell zugeordnet sind und macht entsprechende und geeignete
Veränderungen an
der Anzeige des Computerbildschirms 32. Zusätzlich können Daten
entsprechend dem durch den Verwender erstellten Modell von der CPU 31 in
die Speichereinrichtung 35 geschrieben werden. Es wird
von Fachleuten geschätzt
bzw. verstanden werden, daß die
Erfindung in Verbindung mit jeder Software für computergestützte Konstruktion
eingesetzt werden könnte,
einschließlich
Software, welche zur Erzeugung eines dreidimensionalen oder eines
zweidimensionalen Modells benützt
wird, wie z. B. Modelliersoftware, welche von SolidWorks Corporation
aus Concord, Massachusetts zur Verfügung gestellt wird.
-
Bezugnehmend
auf 3 und 4 wird eine zweidimensionale
Konstruktionszeichnung dargestellt, welche eine Anzahl von zweidimensionalen Ansichten
in diesem Beispiel des Pumpengehäuses 37 von 2 zeigt. Der Computerbildschirm 32 beinhaltet
das Modellierfenster 40, welches eine Anzahl von Ansichten
des Pumpengehäuses 37 beinhaltet. Unterschiedliche
Ansichten beinhalten eine Vorderansicht 44, eine Draufsicht 48,
eine Anzahl von Schnittansichten und eine Detailansicht. Wie aus
der Zeichnung von 3 und 4 beobachtet werden kann, ist
sogar eine Zeichnung für
eine einfache mechanische Einrichtung, wie beispielsweise ein Pumpengehäuse, sehr
komplex, was es ziemlich schwierig macht, diese zu lesen. Beispielsweise
macht es das Niveau der Details erforderlich, daß das Modell ausreichend groß zum Lesen
der Dimensionsangaben bzw. -daten ist, wobei es jedoch die Anzahl
der Ansichten schwierig macht, alle Ansichten einer ausreichend
großen
Größe auf einem
einzelnen Bildschirm einzupassen. Als ein Ergebnis davon zeigt der
Bildschirm 32 typischerweise nur ein Teil des Modellierfensters 40 zu
einer beliebigen gegebenen Zeit, wobei es für den Anwender erforderlich
ist, einen Prozeß zu
benützen,
wie z. B. einen Pfeilbalken oder eine andere konventionelle Einrichtung
(nicht gezeigt), um sich über
das Modellierfenster 40 zwischen den verschiedenen Ansichten
zu bewegen.
-
Ein
vereinfachtes Schema vom typischen Konstruktionszeichen wie beispielsweise
jene aus 3 und 4, ist in 5 dargestellt, welche ein reduziertes
Niveau von Entwurfsdetails enthalten, wie diese zur Illustration
der hierin geoffenbarten Verfahren bzw. Methoden und Systeme notwendig
sind. In 5 wurden bestimmte
Schattierungs- und Hintergrundelemente eingeschlossen, welche nicht
notwendigerweise auf dem Computerbildschirm 32 erscheinen,
welche jedoch die Fähigkeit
zur Ansicht der unten besprochenen Elemente verbessern.
-
Bezugnehmend
auf 5 besteht ein Modell 42 in
einer Ausführungsform
aus einer Vielzahl von zweidimensionalen Ansichten eines Pumpengehäuseobjekts,
wie beispielsweise der Vorderansicht 44, der Draufsicht 48,
einer Schnittansicht 50, einer ersten Detailansicht 52 und
einer zweiten Detailansicht 54. Die Schnittansicht 50 ist
eine zweidimensionale Ansicht eines Querschnitts, welchen man erhalten würde, wenn
man das in der Vorderansicht 44 dargestellte Objekt entlang
der Linie A-A schneiden würde, welche
in der Vorderansicht 44 dargestellt ist. Es sollte beachtet
werden, daß eine
Seitenansicht erhalten werden kann, indem man eine Schnittansicht
nimmt, während
die Schnittlinie eher angrenzend an als durch ein zu betrachtendes
Objekt plaziert wird. Die Draufsicht 48 stellt die Ansicht
dar, welche je mand erhalten würde,
indem er auf das Oberteil bzw. Oberseite des in der Vorderansicht 44 dargestellten
Objekts blickt, wobei das Oberteil des Objekts auf dem Oberteil
bzw. der Oberseite des Computerschirms 32 positioniert
ist. Die Detailansicht 52 ist eine Darstellung eines detaillierteren
Elements B, wie dies in der Schnittansicht 50 angezeigt
wird. Die Detailansicht 54 ist eine detailliertere Ansicht
der eingekreisten Einzelheit C der Vorderansicht 44.
-
Hierin
wird ein computerbasiertes System zur Verfügung gestellt, um eine verbesserte
Betrachtung einer zweidimensionalen elektronischen Zeichnung zur
Verfügung
zu stellen, welche eine Vielzahl von Ansichten hat. Bezugnehmend
auf 3, 4 und 6 beinhaltet
das computerbasierte System einen virtuellen Faltprozeß, um es
einem Betrachter zu gestatten, Ansichten, welche aus einer Vielzahl
von möglichen
Ansichten ausgewählt
wurden, in jeweiliger Nachbarschaft zueinander auf dem Computerbildschirm
zu plazieren. 3 stellt
ein Schema eines Modells 42 mit der Vorderansicht 44 im
Computerbildschirm 32 dar. 4 stellt
eine Schnittansicht D-D dar, welche ein Schnitt ist, der sich durch
Schneiden des Pumpengehäuses 37 entlang
einer Achse D-D ergeben würde.
Somit sind, während
die Vorderansicht 44 und die Schnittansicht 49 auf
demselben Bildschirm 32 sind, sie ausreichend voneinander
entfernt, daß es
schwierig ist, beide auf dem Bildschirm 32 zur selben Zeit
zu sehen, während
eine ausreichend nahe Ansicht erhalten wird, um wichtige Details,
wie z. B. Dimensionsbezeichnungen bzw. -daten, zu sehen.
-
Die
in 3 und 4 dargestellte Situation ist analog zu
einer Situation, welche bei zweidimensionalen Zeichnungen in Papierform
entsteht, wie sie beispielsweise von Architekten oder Maschinenbauingenieuren
benützt
werden. Verschiedenen Ansichten befinden sich oft weit voneinander
entfernt auf dem Papier, so daß es
schwierig ist, zwei miteinander in Verbindung stehende Ansichten
zur selben Zeit zu behandeln bzw. zu untersuchen bzw. zu überprüfen. Das
konventionelle Verfahren zur Handhabung einer großen Papierzeichnung
ist es, die Zeichnung so zu falten, daß interessierende Einzelheiten
bzw. Elemente in naher Nachbarschaft zueinander sind, wobei andere
Einzelheiten durch die Faltung der Zeichnung versteckt bzw. verborgen
bleiben.
-
Die
hierin offenbarten Verfahren und Systeme stellen einen virtuellen
Faltprozeß zur
Verfügung, welcher
es dem Ver- bzw.
Anwender gestattet, ausgewählte
bzw. ausgesuchte Ansichten nahe zueinander auf dem Bildschirm zu
plazieren, während
Ansichten, welche nicht ausgewählt
wurden, versteckt werden. Somit gestattet es der virtuelle Faltprozeß dem Anwender,
die Vorderansicht 44 und die Schnittansicht 49 auszuwählen und
die beiden Ansichten in Nachbarschaft zueinander zu bewegen, wie
dies in 6 dargestellt
wird. Eine Ausführung
eines virtuellen Faltprozesses kann durch jeden beliebigen konventionellen
Mechanismus ausgeführt
werden, wie z. B. ein Pull-Down-Menü bzw. Herabziehmenü, ein Icon
bzw. ein Symbol in einer graphischen Benutzeroberfläche, eine
Mausbetätigung
oder dgl. Beispielsweise könnte
ein Anwender einen virtuellen Faltprozeß aus einem Werkzeugverzeichnis
auswählen,
indem er auf einen Werkzeugmenübalken
an der Oberseite des Computerbildschirms 32 klickt. Der Anwender
könnte
dann Ansichten unter jenen auf dem Computerbildschirm 32 auswählen, indem
der Cursor- bzw. Eingabezeigerpfeil auf einer bestimmten Ansicht
angeordnet wird und eine der Tasten der Maus geklickt bzw. gedrückt wird.
-
Alternativ
könnte
der virtuelle Faltprozeß ein Ziehen
und Ablegen einer ausgewählten
Ansicht in eine nähere
Nachbarschaft mit einer anderen Ansicht bedingen. Weitere Details
bzw. Einzelheiten über
den virtuellen Faltprozeß werden
weiter unten zur Verfügung
gestellt.
-
Ebenfalls
wird hierin als ein Teil des computerbasierten Systems ein Hyperlinkprozeß für ein gleichzeitige
Hervorheben der Koordinaten eines betrachteten Objekts und einer
entsprechenden anderen Ansicht auf einem Computerbildschirm zur
Verfügung
gestellt. Bezugnehmend auf 7 beinhalten die
Vorderansicht 44 und die Schnittansicht 50 die Koordinaten
A-A, welche die Lage eines Schnitts durch das in dem Modellierfenster 40 des
Computerbildschirms 32 modellierte Objekt repräsentieren. Der
Hyperlinkprozeß identifiziert
Koordinaten und die jeweiligen Ansichten, welche in dem Computerbildschirm 32 erscheinen,
und wenn der Pfeil über
einer bestimmten Koordinate positioniert ist bzw. wird, wird die
entsprechende Ansicht hervorgehoben. Beispielsweise wird, wenn die
Maus über
den Koordinaten A-A in der Vorderansicht 44 an der Stelle 52 positioniert
ist bzw. wird, dann auch die Schnittansicht 50 hervorgehoben.
Ein Hervorheben kann durch eine Veränderung der Farbe, durch eine
Benützung
einer Schattierung oder andere konventionelle Verfahren zum Hervorheben
einer interessierenden Einzelheit auf einem Computerbildschirm 32 durchgeführt werden.
-
Ebenso
zur Verfügung
gestellt wird als ein Teil des computerbasierten Systems ein Zeiger
zum gleichzeitigen Zeigen auf denselben Punkt eines betrachteten
Objekts, sobald der Punkt in mehr als einer Ansicht auf einem Computerbildschirm
erscheint. Bezugnehmend auf 8 kann
ein Zeiger 56 in einer oder mehreren Ansicht(en) eines
im dem Model lierfenster 40 des Computerbildschirms 32 modellierten Objekts
erscheinen. Beispielsweise kann sich der Zeiger 56 an der
Stelle 55 in der Vorderansicht 44 befinden, welche
der Stelle 58 in der Draufsicht 48 und der Stelle 60 in
der Detailansicht 54 entspricht. Wenn der Zeiger 56 bewegt
wird, wie beispielsweise durch ein Klicken und Halten der Maus auf
dem Zeiger 56, bewegt sich der Zeiger 56 in jeder
der Ansichten an eine Stelle, welche in jeder der Ansichten entspricht. Beispielsweise
würde sich,
wenn der Zeiger 56 entlang einer horizontalen Linie in
der Ansicht 44 an eine Stelle 61 bewegt wird,
dann der Zeiger 56 in der Draufsicht 48 an eine
neue Stelle 62 in der Schnittansicht 54 bewegen.
In ähnlicher
Weise könnte
sich der Zeiger 56 an eine neue Stelle in der Schnittansicht 54 bewegen,
wobei jedoch in diesem Fall, da die Bewegung entlang der Sichtachse
des Betrachters ist, keine Bewegung erkennbar sein würde. Abhängig von der
Beziehung der Ansichten könnte
sich der Zeiger 56 ganz unterschiedlich in unterschiedlichen
Ansichten bewegen. Beispielsweise könnte, wenn die Ansichten schräg zueinander
sind, dann eine horizontale Bewegung in einer Ansicht möglicherweise
nicht in einer beliebigen Bewegung des Zeigers in einer anderen
Ansicht resultieren, da die horizontale Bewegung möglicherweise
entlang einer Betrachtungsachse in einer der Ansichten sein könnte. Der
Zeigerprozeß gestattet
eine schnelle Erkennung von ähnlichen
Komponenten in unterschiedlichen Ansichten. Ein Zeiger kann einen
Ort bzw. Punkt durch eine Farbe, Schattierung oder andere konventionelle
Mittel hervorheben. In der 8 wird
ein Fadenkreuz als ein Beispiel für einen Zeiger dargestellt.
-
Weiters
wird hier als ein Teil des computerbasierten Systems ein Zeichnungsanimator
zum Drehen einer dreidimensionalen Darstellung eines Modells um
eine Drehachse und zum Hervorheben einer zweidimensionalen Ansicht
zur Verfügung
gestellt, wenn die Ansicht mit der Ebene der Zeichnung übereinstimmt
bzw. zusammenfällt.
Bezugnehmend auf 9 wird
ein vereinfachtes solides bzw. festes Objekt in dem Modellierfenster 40 des
Computerbildschirms 32 dargestellt. Verfahren und Systeme
für ein
Drehen eines derartigen Objekts um eine oder mehrere Drehachse(n)
sind in dem Gebiet der computergestützten Konstruktion bekannt,
wie z. B. jene, welche in dem SolidWorks 99 Produkt zur
Verfügung gestellt
werden, erhältlich
vom SolidWorks Corporation von Concord, Massachusetts. Bei einem
Animator- bzw. Animationsprozeß,
welcher mit einer zweidimensionalen Zeichnung verbunden ist, welche
eine Vielzahl von Ansichten hat, kann der Prozeß eine Ansicht hervorheben,
wenn diese dem Anwender präsentiert
bzw. dargestellt wird. Beispielsweise bezugnehmend auf 9, wird eine einfache Stufe 74 dargestellt,
welche eine Vorderseite 68 und eine Oberseite 70 und
eine rechte Seite 72 hat. Die Stufe 74 wird in 9 als teilweise gedreht
dargestellt, um diese drei Seiten zu zeigen, wobei Schattierungen die
unterschiedlichen Seiten repräsentieren.
-
10 stellt eine zweidimensionale
Zeichnung dar, welche eine Vorderseitenansicht 78 und eine
seitliche Draufsicht 80 und eine rechte Seitenansicht 82 entsprechend
einer zweidimensionalen Ansicht einer jeden der Seiten der Stufe 74 zeigt.
-
Bezugnehmend
auf 11 wird, wenn die Stufe 74 durch
das Modellierprogramm gedreht wird, eine bestimmte Ansicht hervorgehoben,
wenn diese direkt dem Anwender präsentiert bzw. dargestellt wird;
d. h. wenn die Seite planparallel bzw. koplanar mit dem Bildschirm
und im rechten Winkel zu der Sichtlinie des Betrachters des Computerbildschirms 32 ist.
-
Somit
werden die Vorderseitenansicht 78, die seitliche Draufsicht 80 und
die rechte Seitenansicht 82 hervorgehoben, wenn die Drehung
diese dem Anwender präsentiert. 11 stellt die rechte Seitenansicht 72 nach
einer Drehung der Stufe nach rechts von der Position der 9 dar. Die Animationseigenschaft
ermöglicht
es dem Anwender, die Stelle von verschiedenen Ansichten zu erkennen, wenn
diese in dem Objekt erscheinen. Wenn ein Objekt komplizierte Querschnitte
hat, gestattet es die Animation dem Anwender, die Orientierung von
verschiedenen zweidimensionalen Ansichten relativ zueinander zu
bestimmen.
-
12 und 13 präsentieren
jeweils eine dreidimensionale Ansicht eines Pumpengehäuses 37 während einer
Drehung und eine zweidimensionalen Ansicht, welche entsprechend
dem Prozeß der
vorliegenden Erfindung hervorgehoben ist. Besonders repräsentiert 13 eine Draufsicht 48,
welche hervorgehoben werden würde,
wenn das Pumpengehäuse 37 so
gedreht wird, daß die
Oberseite zu dem Betrachter des Computerbildschirms 32 gerichtet
ist.
-
Bezugnehmend
auf 14 beinhaltet ein System 100,
um die oben besprochene bzw. diskutierte und in 1–13 gezeigte Funktionalität zur Verfügung zu
stellen, eine elektronische Zeichnungsdatei 122 und ein
Anzeigeprogramm 124 ein. Das Anzeigeprogramm benützt bzw.
verwendet die elektronische Zeichnungsdatei 122 und Anwenderbefehle,
um Anzeigedaten zur Verfügung
zu stellen, welche auf dem Computerbildschirm 32 gezeigt
oder auf konventionelle Weise ausgedruckt werden können. Die
elektronische Zeichnungsdatei 122 und das Anzeigeprogramm 124 werden
detaillierter nachfolgend besprochen bzw. diskutiert.
-
Bei
einer Ausführungsform
werden die elektronische Zeichnungsdatei 122 und das Anzeigeprogramm 124 gemeinsam
in einer komprimierten Metadatei 126 gespeichert. Die einzelne,
komprimierte Metadatei 126 kann dann als einzelne Datei
bzw. einzelnes File einem Anwender zur Verfügung gestellt werden, welche(s)
unkomprimiert sowohl das Anzeigeprogramm 124 als auch die
elektronische Zeichnungsdatei 122 beinhaltet. Wenn das
Anzeigeprogramm 124 nicht zu groß ist, kann es möglich sein, eine
beträchtliche
Anzahl von elektronischen Zeichnungen auf diese Weise zu senden,
so daß der
Empfänger/die
Empfänger
immer das Anzeigeprogramm 124 zur Anzeige bzw. Darstellung
der elektronischen Zeichnungsdatei 122 hat/haben. Ein Komprimieren der
elektronischen Zeichnungsdatei 122 und des Anzeigeprogramms 124 in
eine einzelne komprimierte Datei 126 kann auf jede beliebige
aus einer beliebigen Anzahl von konventionellen Arten durchgeführt werden,
welche eine konventionelle Software einsetzen, wie sie für solche
Zwecke verfügbar
ist. In einigen Fällen
wird eine Ausführung
der einzelnen Datei eine automatische Dekompression und Ausführung des
Anzeigeprogramms 124 verursachen bzw. bewirken.
-
Bezugnehmend
auf 15 wird die elektronische
Zeichnungsdatei 122 gezeigt, daß sie eine Vielzahl von Ansichtsdatenaufzeichnungen 134–136 und
eine tessellierte bzw. schachbrettartige Modelldatenaufzeichnung 138 enthält. Die
Ansichtsdatenaufzeichnung 134, welche im Detail gezeigt
ist, beinhaltet zweidimensionale Zeichnungsdaten 142, eine Transformationsmatrix 144 und
Hyperlinks 146. Andere Ansichtsaufzeichnungen 135, 136 beinhalten Daten,
welche analog zu jenen sind, welche im Detail für die Ansichtsaufzeichnung 134 gezeigt
sind. Die tessellierte Modelldatenaufzeichnung 138 schließt Daten
ein, welche einer dreidi mensionalen tessellierten Ansicht entsprechen,
welche auf konventionelle Art und Weise aus dem dreidimensionalen
Modell auf eine Art und Weise erzeugt wird, die detaillierter nachfolgend
in Verbindung mit der Besprechung bzw. Diskussion bezüglich einer
Erzeugung der elektronischen Zeichnungsdatei 122 beschrieben
ist.
-
Eine
jede der Ansichtsaufzeichnungen 134–136 entspricht einer
der zweidimensionalen Ansichten, einschließlich jener Ansichten, welche
den Ausschnittsansichten und Detailkreisen entsprechen. Die zweidimensionalen
Daten 142 beinhalten konventionelle zweidimensionale Zeichnungsobjekte ein,
welche dazu benützt
werden, die Ansicht entsprechend der Aufzeichnung 134 anzuzeigen.
Diese Objekte beinhalten Befehle, um Linien, Kreise, Bögen, usw.
zu zeichnen. Eine jede der Ansichtsaufzeichnungen 134–136 beinhalten
entsprechende zweidimensionale Daten für die entsprechende Ansicht.
-
Verbunden
mit dem Modell, welches durch die verschiedenen Ansichtsaufzeichnungen 134–136 repräsentiert
wird, ist ein absolutes Basiskoordinatensystem, welches die Orientierung
bzw. Ausrichtung, Translation bzw. Verschiebung und Maßstabsfaktor
für das
Modell beinhalten, wie es durch die verschiedenen Ansichtsaufzeichnungen 134–136 dargestellt
wird. Dementsprechend beinhaltet die Transformationsmatrix 144 Information,
welche die Translation, den Maßstab
und Drehung der Ansichtsaufzeichnungen 134 in bezug auf
die absolute Basis für das
Modell, welches durch die Ansichtsaufzeichnungen 134–136 repräsentiert
wird. Wie in der Technik bekannt ist, ist die Transformationsmatrix
eine Vier-mal-Vier
Anordnung, welche bestimmte Zahlen beinhaltet, welche Angaben über die
Translation, den Maßstab
und die Drehung anzeigen. Eine Besprechung von derartigen Transformations matrizen
kann gefunden werden in Computer Graphics Principles and Practice,
von Foley, VanDam, Feiner, und Hughes, veröffentlicht von Addison-Wesley,
New York, New York.
-
Die
Hyperlinkdaten 146 beinhalten Daten, welche Bereiche der
zweidimensionalen Daten 142 von einigen der Aufzeichnungen 134–136 mit
anderen der Aufzeichnungen koppeln bzw. verknüpfen. Im Fall einer Schnittansicht
würden
die Hyperlinkdaten 146 eine Identifizierung der speziellen
Schnittlinie beinhalten, welche in den zweidimensionalen Daten 142 gespeichert
ist, und diese Information mit einer anderen der Ansichten 135, 136 verbinden,
welche der speziellen Schnittlinie in den zweidimensionalen Daten 142 entspricht.
In ähnlicher
Weise würden
für Detailkreise
die Hyperlinkdaten 146 eine spezielle Einzelheit oder Einzelheiten
der zweidimensionalen Daten 142 identifizieren, welche
den Kreis in der Ansicht entsprechend der Aufzeichnung 134 zeigen, und
verknüpft
diese Information mit einer anderen der Ansichten 135, 136,
welche dem Detailkreis entspricht. Eine Erzeugung der Hyperlinkdaten 146 wird nachfolgend
in Verbindung mit der Besprechung bezüglich einer Erzeugung der elektronischen
Zeichnungsdatei 122 detaillierter besprochen.
-
Bezugnehmend
auf 16 illustriert ein Flußdiagramm 150 Schritte,
welche in Verbindung mit einer Implementierung des Zeigers 56 benützt werden.
An einem ersten Schritt 152 wird ein Startpunkt für den Zeiger 56 ausgewählt. Der
Startpunkt für
den Zeiger könnte
jeder Punkt im dreidimensionalen Raum sein, wie beispielsweise der
Ursprung des absoluten Koordinatensystems. Jedoch kann bei einer
Ausführungsform
der Startpunkt gewählt
werden, indem ein sichtbarer Punkt auf einer angezeigten bzw. dargestellten
Ansicht für
zwei der drei Koordinaten ausgewählt
wird und dann dieser Punkt benützt wird,
um die dritte Koordinate entsprechend einem sichtbaren Punkt auf
einer zweiten, orthogonalen bzw. rechtwinkeligen Ansicht zur ersten
ausgewählten
Ansicht zu berechnen.
-
Dem
Schritt 152 folgend ist ein Schritt 154, wo die
Lage des Zeigers 56 für
alle Ansichten berechnet wird. Die Lage des Zeigers 56 wird
als drei Werte entsprechend den X, Y und Z-Koordinaten im absoluten
Koordinatensystem gespeichert. Dementsprechend wird bei Schritt 154 die
relative Lage des Zeigers 56 für jede der Ansichten bestimmt,
indem die Transformationsmatrix verwendet wird, welche jeder Ansicht
zugeordnet ist, und die Transformationsmatrix auf die absoluten
Koordinaten des Zeigers 56 angewendet wird. Somit stellt
bei Schritt 154 die Anwendung der Transformationsmatrix
auf die absoluten Koordinaten des Zeigers 56 eine relative
Position des Zeigers 56 für jede der Ansichten zur Verfügung. Auf
den Schritt 154 folgend ist ein Schritt 156, wo
der Zeiger 56 in jeder der Ansichten eines Modellierfensters 40 des
Bildschirms 32 angezeigt bzw. dargestellt wird. Ein Anzeigen
des Zeigers 56 bei dem Schritt 156 wird auf konventionelle
Art und Weise zur Verfügung
gestellt, indem die relative Lageinformation benützt wird, welche bei Schritt 154 bestimmt
wurde, und ein passendes Symbol, wie z. B. ein Punkt oder ein Fadenkreuz,
auf jeder der Ansichten zur Verfügung
gestellt wird, um die Lage des Zeigers 56 in jeder der
Ansichten anzuzeigen. In einigen Ausführungsformen kann der Zeiger 56 in
einer anderen Farbe als der Zeichnungsbereich der Ansichten zur Verfügung gestellt
werden.
-
Dem
Schritt 156 folgend ist ein Test von 158, wobei
bestimmt wird, ob der Zeiger 56 durch den Anwender bewegt
wird. Es soll beachtet werden, daß der Anwender den Zeiger 56 in
einer jeden der Ansichten bewegen kann, wo der Zeiger 56 sichtbar
ist. Eine Bewegung wird auf konventionelle Art und Weise ausgeführt, wie
beispielsweise durch Benützung der
Maus, um den Zeiger 56 in einer der Ansichten zu ziehen
und zu klicken. Wenn bei dem Schritt 158 bestimmt wird,
daß der
Anwender den Zeiger 56 bewegt hat, dann transferiert bzw.
springt die Steuerung zurück
zu dem Schritt 154, wo die Lage des Zeigers 56 in
jeder Ansicht neu berechnet wird, wobei die Transformationsmatrizen
und andere Schritte benützt
werden, welche in Verbindung mit der Diskussion des Schritts 154 oben
angezeigt bzw. angedeutet sind. Wenn der Anwender wählt, den
Zeiger 56 in einer bestimmten Ansicht zu bewegen, dann
kann somit die absolute Lage des Zeigers 56 berechnet werden,
indem zuerst die inverse Transformationsmatrix für diese Ansicht auf die relative
Position des Zeigers 56 in der Ansicht angewendet wird,
um eine absolute Lage des Zeigers 56 zur Verfügung zu
stellen. Sobald die absolute Lage des Zeigers 56 bekannt
ist, ist es dann möglich,
die Transformationsmatrix für
jede Ansicht anzuwenden, um die relative Position des Zeigers 56 in
jeder Ansicht zu bestimmen, wie dies oben besprochen wurde.
-
Bezugnehmend
auf 17 zeigt ein Flußdiagramm 160 die
Schritte für
ein Implementieren der virtuellen Falteigenschaft an, wie dies in
Verbindung mit 6, 7 und 8 oben beschrieben wurde. An einem ersten
Schritt 162 wird eine erste Ansicht ausgewählt. Eine
Auswahl einer Ansicht kann beinhalten bzw. einschließen, daß ein Anwender
spezifisch auf eine Ansicht klickt, nachdem die virtuelle Falteigenschaft
betätigt
wurde. Dem Schritt 162 folgend ist ein Schritt 164,
an welchem eine zweite Ansicht ausgewählt wird. Gerade so wie bei
der ersten Ansicht, welche in Schritt 162 ausgewählt ist,
kann ein Auswählen
der zweiten Ansicht beinhalten, daß ein Verwender auf die Maus
klickt, um die zweite Ansicht hervorzuheben, nachdem die virtuelle
Falteigenschaft betätigt
bzw. aktiviert wurde. Dem Schritt 164 folgend ist ein Schritt 166,
wo das System die Ansichten gemeinsam darstellt bzw. anzeigt. Der
Schritt 166 kann auf konventionelle Weise implementiert
werden, indem die zweidimensionalen Zeichnungsdaten für jede der
Ansichten benützt
werden und indem eine Transformationsmatrix auf wenigstens eine
der Ansichten angewendet wird, so daß beide Ansichten zueinander
benachbart auf dem Computerbildschirm erscheinen. Es soll auch beachtet
werden, daß,
wenn die beiden Ansichten Projektionen voneinander sind, die Ansichten
in eine horizontale oder vertikale Anordnung bzw. Ausrichtung in
Einklang mit konventionellen Zeichnungsstandards, wie z. B. ANSI
oder ISO, eingeschnappt werden können.
-
Bezugnehmend
auf 18 illustriert ein Flußdiagramm 170 Schritte
zum Hyperlinken einer Schnittlinie oder eines Detailkreises von
einer Ansicht zu einer anderen Ansicht entsprechend der Schnittlinie
oder dem Detailkreis. Eine Verarbeitung beginnt an einem ersten
Schritt 172, an welchem eine Einzelheit in der augenblicklichen
bzw. gegenwärtigen
Ansicht ausgewählt
wird. Ein Auswählen der
Einzelheit in dem Schritt 172 kann es mit sich bringen,
daß der
Anwender mit der Maus auf die Einzelheit zeigt und auf konventionelle
Art darauf klickt. Dem Schritt 172 folgend ist ein Testschritt 174,
wo bestimmt wird, ob das bei Schritt 172 ausgewählte Objekt
ein Hyperlink-Objekt ist. Es soll beachtet werden, daß ein Hyperlink-Objekt
Objekte beinhaltet, welche ein Hyperlinken zwischen zwei Ansichten, wie
beispielsweise einer Schnittlinie oder einem Detailkreis verursachen.
Wie oben diskutiert bzw. besprochen wurde, wird die Hyperlink-Information mit jeder
der Ansichten gespeichert, so daß ein Bestimmen, ob das ausgewählte Objekt
ein Hyperlink-Objekt ist, bei dem Schritt 174 eine Überprüfung der
Hyperlink-Daten für
eine Ansicht mit einbezieht, um zu bestimmen, ob das ausgewählte Objekt
einem Hyperlink-Objekt entspricht. Wenn bei dem Schritt 174 bestimmt
wird, daß das
ausgewählte
Objekt kein Hyperlink-Objekt ist, dann geht die Steuerung zu dem Schritt 172 zurück, um auf
eine Auswahl eines anderen Objekts zu warten. Wenn andererseits
bei dem Schritt 174 bestimmt wird, daß das ausgewählte Objekt
ein Hyperlink-Objekt ist, dann geht die Steuerung von dem Schritt 174 zu
einem Testschritt 176 über, wo
bestimmt wird, ob die Ansicht entsprechend dem ausgewählten Objekt
gegenwärtig
sichtbar ist. Wenn dem so ist, geht die Steuerung von dem Testschritt 176 zu
einem Schritt 178 über,
wo die Ansicht auf konventionelle Art hervorgehoben wird. Alternativ geht,
wenn bei dem Testschritt 176 bestimmt wird, daß die Ansicht
entsprechend dem Hyperlink gegenwärtig nicht sichtbar ist, die
Steuerung von dem Schritt 176 auf einen Schritt 179 über, wo
die augenblickliche bzw. gegenwärtige
Ansicht und die Ansicht entsprechend dem Hyperlink-Objekt virtuell
gefaltet werden, so daß die
Ansichten gemeinsam erscheinen. Ein virtuelles Falten wird oben
in Verbindung mit 17 besprochen.
-
Bezugnehmend
auf 19 illustriert ein Flußdiagramm 180 Schritte
dar, welche in Verbindung mit der oben besprochenen Animationseigenschaft
durchgeführt
werden. An einem ersten Schritt 182 wird eine erste Ansicht
ausgewählt,
wie dies oben besprochen wurde. Die Animation iteriert bzw. wiederholt
sich durch jede der Ansichten durch ein Drehen einer dreidimensionalen,
tessellierten Darstellung des Modells in dem Modellierfenster 40.
Es ist hierbei keine bestimmte Ordnung erforderlich betreffend die
Auswahl einer Ansicht, außer
bei Aufruf eines Hyperlinkens, wie dies unten besprochen wird.
-
Dem
Schritt 182 folgend ist ein Schritt 184, wo das
dreidimensionale Modell gedreht wird, um die ausgewählte Ansicht
zu präsentieren.
In dem Fall einer Schnittansicht wird der Bereich des Modells, welcher
vor der Schnittansicht liegt, entfernt, so daß der innenliegende Bereich
bzw. Abschnitt, wo die Schnittansicht genommen wird, gezeigt ist
bzw. wird. Dem Schritt 184 folgend ist ein Schritt 186,
wo das animierte Modell angehalten wird, um dem Anwender das Modell
mit der ausgewählten
Ansicht nach vorne zeigend bzw. gerichtet zu zeigen. Dem Schritt 186 folgend
ist ein Testschritt 188, wo bestimmt wird, ob der Anwender
einen Stopbefehl eingegeben hat. Der Anwender kann jederzeit einen
Stopbefehl während der
Animation eingeben, um den Animationsprozeß zu stoppen und eine bestimmte
Ansicht zu sehen. Wenn an dem Testschritt 188 bestimmt
wird, daß ein Stopbefehl
nicht eingegeben wurde, geht die Steuerung von dem Schritt 188 zu
einem Schritt 190 über, wo
eine neue Ansicht ausgewählt
wird. Dem Schritt 190 folgend geht die Steuerung zurück zu dem Schritt 184,
an welchem das tessellierte Modell in die neuerlich ausgewählte Ansicht
gedreht wird.
-
Es
ist zu beachten, daß eine
Drehung bzw. Rotation eines dreidimensionalen Modells, insbesondere
eine Drehung einer tessellierten Version eines dreidimensionalen
Modells in der Technik bekannt ist. Es ist weiters zu beachten,
daß es
möglich
ist, die verschiedenen zweidimensionalen Ansichten mit einer bestimmten
Ausrichtung des Modells zu korrelieren, indem die Transformationsmatrix
benützt
wird, welche jeder Ansicht zugeordnet ist.
-
Wenn
bei dem Testschritt 188 bestimmt wird, daß ein Stopbefehl
durch den Anwender eingegeben wurde, geht die Steuerung von einem
Schritt 188 zu einem Schritt 192 über, an
welchem die Animation stoppt bzw. anhält. Sobald die Animation stoppt, bleibt
die Ansicht statisch und das dreidimensionale Modell bewegt sich
nicht. Dem Schritt 192 folgend ist ein Testschritt 194,
wo bestimmt wird, ob der Anwender auf die "Go"-
bzw. "Los"-Taste geklickt hat.
Wenn dem so ist, geht die Steuerung von einem Schritt 194 zurück zu einem
Schritt 190, wo eine neue Ansicht ausgewählt wird,
so daß die
Animation fortgesetzt werden kann. Wie oben besprochen bzw. diskutiert wurde,
ist dem Schritt 190 folgend der Schritt 184, an welchem
das tessellierte bzw. mosaikartige Modell zu der ausgewählten Ansicht
gedreht wird.
-
Wenn
an dem Schritt 194 bestimmt wird, daß der Anwender die "Go"-Taste nicht ausgewählt hat, geht
die Steuerung von einem Schritt 194 auf einen Schritt 196 über, wo
bestimmt wird, ob der Anwender ein Objekt aus der präsentierten
Ansicht ausgewählt hat.
Wenn nicht, geht die Steuerung zurück zu dem Schritt 194,
wie dies oben besprochen wurde. Andererseits geht, wenn an dem Test
von 196 bestimmt wurde, daß ein Objekt ausgewählt wurde
(während die
Animation angehalten wurde, wie bei dem Schritt 188), dann
die Steuerung von dem Schritt 196 zu dem Schritt 198 über, wo
eine Hyperlink-Verarbeitung
durchgeführt
wird. Wie oben besprochen wurde, findet eine Hyperlink-Verarbeitung
statt, wenn ein ausgewähltes
Objekt mit einer Schnittansicht oder einem Detailkreis in einer
Ansicht übereinstimmt,
welche mit einer an deren Ansicht korreliert. Wenn der Anwender die
Animation eines ausgewählten
Objekts gestoppt hat, dann wird der Schritt 198 durchgeführt, um
zu bestimmen, ob ein Hyperlinken und/oder eine virtuelle Faltansicht
durchgeführt
werden muß. Dementsprechend
entspricht der Prozeß des
Schritts 198 dem oben in Verbindung mit der Verarbeitung von 17 und 18 besprochenen Prozeß. Dem Schritt 198 folgend
geht die Steuerung zurück
zum Schritt 184, um das tessellierte Modell zum Präsentieren
der Ansicht zu drehen, welche durch das Hyperlink an dem Schritt 198 angezeigt
wird bzw. wurde.
-
Bezugnehmend
auf 20 illustriert ein schematisches
Diagramm 210 einen Prozeß, in welchem ein Transformierungsprogramm 212 die
elektronische Zeichnungsdatei 122 erstellt, indem eine zweidimensionale
Datei 214 und optional eine dreidimensionale Datei 216 benützt wird.
Die zweidimensionale Datei 214 kann eine konventionelle
zweidimensionale Datei sein, welche auf eine konventionelle Art und
Weise erzeugt wird, indem ein solides Modellierprogramm benützt wird.
Viele solide Modellierprogramme, wie z. B. das SolidWorks Programm,
welches von der SolidWorks Corporation von Concord, Massachusetts,
erhältlich
ist, haben einen eingebauten Mechanismus, welcher es dem Anwender
gestattet, automatisch eine zweidimensionale Zeichnungsdatei, wie
beispielsweise eine Datei bzw. ein File 214 zu erzeugen,
welches) eine Vielzahl von zweidimensionalen Ansichten entsprechend
dem durch den Anwender erstellten soliden Modell enthält. Zusätzlich zu
den konventionellen zweidimensionalen Zeichen- bzw. Zeichnungsbefehlen
und der Vielzahl von Ansichten kann die zweidimensionale Datei 214 auch die
Transformationsmatrix für
jede der Ansichten beinhalten, welche jede der Ansichten mit dem
soliden Modell ausrichtet. Somit werden wenigstens zwei der Komponenten,
welche in 15 gezeigt
und oben beschrieben wurden, die zweidimensionalen Daten 142 und
die Transformationsmatrix 144 bereits in der zweidimensionalen
Datei 214 zur Verfügung
gestellt.
-
Einige
der Ansichten in der konventionellen zweidimensionalen Darei 214 können Schnitte
oder Detailkreise von anderen Ansichten sein. In diesem Fall würde Information
auch in der zweidimensionalen Datei 214 beinhaltet sein,
da eine derartige Information aus einem soliden Modell und von den
Bereichen des soliden Modells erzeugt werden kann, welche durch
den Anwender für
ein Schneiden und für ein
Bereitstellen von Details ausgewählt
wurden. Somit wird die Hyperlink-Information oder Information, welche
leicht in eine Hyperlink-Information konvertiert bzw. umgewandelt
werden kann, ebenso in der zweidimensionalen Datei 214 zur
Verfügung
gestellt. D. h., die in 15 gezeigten
Hyperlink-Daten 146 können
in der Datei für
eine zweidimensionale elektronische Zeichnung zur Verfügung gestellt
werden oder alternativ kann Information, welche leicht auf konventionelle
Weise in Hyperlink-Daten 146 konvertiert werden kann, in
der zweidimensionalen Datei 214 gefunden werden.
-
Die
Daten 138 der tessellierten Ansicht, welche in 15 gezeigt sind, können durch
die dreidimensionale Datei 216 auf konventionelle Weise
zur Verfügung
gestellt werden. Es ist zu beachten, daß viele dreidimensionale oder
solide Modellierprogramme eine solide tessellierte Ansicht des durch
den Anwender erstellten Modells beinhalten. Andererseits kann, wenn
die zweidimensionale Datei 214 durch das Modellierprogramm
erstellt wurde, die tessellierte Ansicht sogar darin aufgenommen
werden, obwohl die tesellierte Ansicht nicht Teil der zweidimensionalen
Ansichten ist.
-
Das
Transformationsprogramm 212 nimmt die Information von der
zweidimensionalen Datei 214 und optional, wie oben besprochen,
die Information von der dreidimensionalen Datei 216 und
erstellt bzw. erzeugt die elektronische Zeichnungsdatei 122,
welche ein Format analog zu jenem hat, welches in 15 gezeigt und oben besprochen wurde.
Da das meiste der relevanten Information bereits in der zweidimensionalen
Datei 214 und optional in der dreidimensionalen Datei 216 enthalten
ist, konvertiert das Transformationsprogramm 212 einfach
das Format der Daten auf einer konventionellen und geradlinigen Weise,
um das passende Format für
die elektronische Zeichnungsdatei 122 zur Verfügung zu
stellen.
-
Andererseits
kann eine zweidimensionale Repräsentation
bzw. Darstellung in eine Zeichnungsdatei konvertiert werden. Bezugnehmend
auf 21 illustriert ein
Datenflußdiagramm 300 einen
Prozeß, welcher
eine zweidimensionale Datei 302 konvertiert, wie beispielsweise
eine Datei, welche durch Benützung
von AutoCad-Software erstellt wurde. Es ist zu beachten, daß bei einigen
Ausführungsformen
die Datei 302 andere Information enthalten kann, welche nicht
durch das hierin beschriebene System benutzt wird, wie beispielsweise
andere 3-D oder Pseudo-3-D Information. Ein Reformatierer bzw. Umformatierer 304 konvertiert
Daten von einer zweidimensionalen Datei 302 und speichert
die Daten in einer generischen bzw. allgemeinen Datei 306.
Es ist zu beachten, daß die
zweidimensionale Datei 302 Daten in einer beliebigen Anzahl
von Formaten beinhalten kann, wie beispielsweise dem AutoCad-Format. Der
Reformatierer 304 greift einfach auf das spezielle Format
der zweidimensionalen Datei 302 zu und liest sie und konvertiert
die Inhalte darauf in ein generisches Format, auf welches durch
eine nachfolgende Ver arbeitung leichter zugegriffen werden kann.
Die zweidimensionale Datei 302 kann erstellt bzw. erzeugt
werden, indem eine beliebige von einer Anzahl von kommerziell verfügbaren zweidimensionalen Entwurfs-
bzw. Zeichnungspaketen benützt
wird, wie beispielsweise das AutoCad-Paket, zur Verfügung gestellt
von AutoDesk, auf welches durch den Reformatierer 304 zugegriffen
werden kann, um die generische Datei 306 zur Verfügung zu
stellen.
-
Die
generische Datei 306 beinhaltet eine generische Datenstruktur,
welche die zweidimensionalen Objekte bzw. Gegenstände aus
der zweidimensionalen Datei 302 beschreibt. Die generische
Datenstruktur beinhaltet konventionelle Deskriptoren für jedes
der Objekte (z. B. Objekttyp, Lage, Größe, etc.) ein. Zusätzlich beinhaltet
für einige
Objekte, wie z. B. Abmessungsbezeichnungen bzw. -indikatoren, die generische
Datenstruktur einen Deskriptor eines "kritischen Punkts", welcher einen Punkt auf dem Objekt anzeigt,
welcher benützt
werden kann, um das Objekt mit einer bestimmten Ansicht zu verbinden
bzw. dieser zuzuordnen, wie dies nachfolgend detaillierter beschrieben
wird.
-
Die
generische Datei 306 wird als eine Eingabe an einen Interpreter 308 zur
Verfügung
gestellt, welcher auf eine Weise, welche detaillierter unten besprochen
werden wird, die Daten von der generischen Datei 306 in
eine elektronische Zeichnungsdatei 310 konvertiert, welche
auf eine Weise ähnlich
zu der oben besprochenen benützt
werden kann. In einigen Ausführungsformen
mag die aus der zweidimensionalen Datei 302 erstellte elektronische
Zeichnungsdatei 310 nicht entweder eine tessellierte Ansicht
oder Transformationsmatrizen für
jede der Ansichten haben, wie dies oben in Verbindung mit der Zeichnungsdatei 122 illustriert
wurde, wel che aus der dreidimensionalen Datei 216 und der
zweidimensionalen Datei 214 erstellt wurde, welche durch
ein solides Modellierprogramm zur Verfügung gestellt wurde. Zusätzlich kann
die elektronische Zeichnungsdatei 310 keine anderen Eigenschaften
beinhalten, welche in der oben besprochenen elektronischen Zeichnungsdatei 122 vorliegen
bzw. vorhanden sein.
-
Die
zweidimensionale Datei 302 und die generische Datei 306 beinhalten
konventionelle zweidimensionale graphische Objekte, wie beispielsweise Linienzeichnungsobjekte,
Objekte, welche Kreise und Ellipsen repräsentieren, Objekte, welche
Quadrate und Rechtecke repräsentieren,
etc. Wie dies detaillierter unten diskutiert werden wird, kann der
Interpreter 308 die zweidimensionalen Objekte mit bestimmten
Ansichten einer Zeichnung verbinden bzw. assoziieren, wodurch es
möglich
gemacht wird, die elektronische Zeichnungsfunktionalität zur Verfügung zu
stellen, die oben besprochen wurde. Es ist jedoch zu beachten, daß in Fällen, wo
die Zeichnungsdatei 310 nicht alle der Eigenschaften bzw.
Merkmale der Zeichnungsdatei 122 beinhaltet, welche aus
der dreidimensionalen Datei 216 und der zweidimensionalen Datei 214 erstellt
wurde, welche durch ein solides Modellierprogramm zur Verfügung gestellt
wurde, dann alle der oben besprochenen Ansichtseigenschaften nicht
für die
Zeichnungsdatei 310 verfügbar sein können.
-
Bezugnehmend
auf 22 illustriert ein Flußdiagramm 320 einen
Betrieb durch den Interpreter 308 in Verbindung mit einem
Konvertieren der generischen Datenstruktur, welche die in der generischen
Datei 306 gespeicherte 2-D-Zeichnung beschreibt, in die
elektronische Zeichnungsdatei 310. An einem ersten Schritt 322 wird
eine Initialisierung durchge führt.
An dem Initialisierungsschritt 322 werden die meisten der
2-D-Objekte aus Gruppen entfernt, degenerierte Objekte, wie beispielsweise
Linien mit Null-Länge
und Kreise mit einem Null-Radius werden gelöscht, konvexe Schalen (unten
beschrieben) werden für
jedes Objekt berechnet und Näherungs-
und Schnittkurven bzw. -graphen (unten beschrieben) werden erstellt
bzw. erzeugt. Operationen, welche an dem Initialisierungsschritt 322 durchgeführt werden,
werden nachfolgend detaillierter beschrieben werden.
-
Dem
Schritt 322 folgend ist ein Schritt 324, wo verschiedene
Arten bzw. Typen von Geometrie von der Zeichnung getrennt werden.
Insbesondere werden an dem Schritt 324 Pfeilköpfe bzw.
-spitzen, Pfeilköpfe
mit Linien, Pfeilköpfe
mit Bögen,
Detailkreise, Schnittlinien und eine offensichtliche Nicht-Kurve,
Nicht-Polygon-Bezeichnung bzw. -Anmerkung von der Zeichnung getrennt,
um eine Weiterverarbeitung zu ermöglichen. Operationen bzw. Vorgänge, welche
an dem getrennten Geometrieschritt 324 durchgeführt werden,
werden nachfolgend detaillierter beschrieben.
-
Dem
Schritt 324 folgend ist ein Schritt 326, wo die
Ansichten getrennt werden. Ein Trennen der Ansichten bedingt ein
Auffinden eines Rahmens bzw. Rands für die Zeichnung (wenn es einen
Rahmen gibt), ein Finden einer jeden der Ansichten und ein Zuordnen
bzw. Assoziieren von graphischen Objekten von der Zeichnung mit
bestimmten der Ansichten. Operationen, welche an dem getrennten
Ansichtsschritt 326 durchgeführt werden, werden detaillierter nachfolgend
besprochen werden.
-
Dem
Schritt 326 folgend ist ein Schritt 328, wo eine
Ansichtsnamensuche durchgeführt
wird. Die Ansichtsnamensuche sucht in dem Text in der Zeichnung
nach Zeichenfolgen bzw. -ketten, welche Worten entsprechen, wie
z. B. "Schnitt" und "Detail" (und in einigen
Ausführungsformen
nach deren mehrsprachigen Äquivalenten),
welche bestimmte Ansichten anzeigen, die bestimmte Charakteristika
bzw. Merkmale aufweisen, wie beispielsweise ein Schnitt oder Detailansichten
zu sein, welche Schnittlinien und Detailkreisen entsprechen, die
in anderen Ansichten beinhaltet sind. Operationen, welche an dem
Ansichtsnamenssuche-Schritt 328 durchgeführt werden,
werden detaillierter nachfolgend beschrieben. Dem Schritt 328 folgend
ist ein Schritt 330, wo eine Anmerkungs- bzw. Notierungsanpassung
bzw. -übereinstimmung
durchgeführt
wird. Die Notierungsanpassung paßt eine Notierung bzw. Anmerkung
an bestimmte Ansichten an. Operationen, welche an dem Notierungsabstimmungsschritt 330 durchgeführt werden,
werden detaillierter nachfolgend beschrieben.
-
Dem
Schritt 330 folgend ist ein Schritt 332, wo Ansichtstypen
bzw. -arten abgeschätzt
werden. Ein Abschätzen
der Ansichtstypen bedingt ein Bestimmen, welche Ansichten Ränder bzw.
Begrenzungen sind. Operationen, welche an dem Ansichtstypenabschätzschritt 332 durchgeführt werden,
werden detaillierter nachfolgend beschrieben.
-
Dem
Schritt 332 folgend ist ein Schritt 334, wo die
abschließenden
Feinarbeiten an den Daten durchgeführt werden. Die abschließenden Feinarbeiten
beinhalten ein Einsetzen von Hyperlinks basierend auf vorher berechneten
Detailkreisen und Schnittlinien. Ein Einsetzen der Hyperlinks ist
ziemlich geradlinig, sobald die Detailkreise, Schnittlinien und
entsprechenden Ansichtsbeziehungen bestimmt wurden, was detaillierter
unten besprochen wird.
-
Bezugnehmend
auf 23 illustriert ein Flußdiagramm 350 Operationen
bzw. Vorgänge,
welche an dem Initialisierungsschritt 322 von 22 durchgeführt werden.
Eine Initialisierung beinhaltet ein Zugreifen auf die Daten in der
generischen Datenstruktur, welche in der generischen Datei 306 gespeichert
sind. Auf die generische Datenstruktur, welche eine Anordnung von
Aufzeichnungen sein kann, wird zugegriffen und diese für eine nachfolgende
Verarbeitung modifiziert, wie dies unten beschrieben wird.
-
Ein
Be- bzw. Verarbeiten beginnt an einem ersten Schritt 352,
wo das erste Objekt der generischen Datenstruktur erhalten wird.
Ein Verarbeiten der Objekte in der generischen Datenstruktur beinhaltet
ein Integrieren durch jedes der Objekte und ein Verarbeiten eines
jeden Objekts in Übereinstimmung mit
der Beschreibung, welche unten dargelegt wird. Dem Schritt 352 folgend
ist ein Testschritt 354, wo bestimmt wird, ob das zu verarbeitende
Objekt Teil einer Gruppe ist. Wie dies unten besprochen wird, sind die
meisten, jedoch nicht alle, Objekte ungruppiert, um ein nachfolgendes
Verarbeiten zu erleichtern.
-
Wenn
an dem Testschritt 354 bestimmt wird, daß das Objekt,
welches verarbeitet wird, Teil einer Gruppe ist, dann geht die Steuerung
von dem Schritt 354 zu einem Schritt 356 über, wo
bestimmt wird, ob das Objekt Teil einer "Spezialgruppe" ist. Für einige 2-D Zeichnungspakete
gibt es spezielle bzw. Spezialgruppen, welche zu erhalten nützlich sind.
Beispielsweise in dem Fall einer Datei bzw. eines Datensatzes bzw.
Files, welches) durch ein Benützen
von AutoCad erstellt bzw. erzeugt wurde, können die Spezialgruppen Gruppen
beinhalten, welche "Bezugslinien", "Abmessungen bzw.
Dimensionen", "Kreuzschraffur" und "Blockrefe renz" genannt werden.
In bestimmten Fällen
kann es nicht dienlich bzw. günstig
sein, die Objekte in der Gruppe von der Gruppe abzusondern.
-
Wenn
an dem Testschritt 356 bestimmt wird, daß das Objekt,
welches zu überprüfen bzw.
zu untersuchen ist, nicht Teil einer Spezialgruppe ist, dann geht
die Steuerung von dem Testschritt 356 auf einen Schritt 358 über, wo
das Objekt von der Gruppe beispielsweise durch ein Absondern des
Objekts von der Gruppe entfernt wird. Ein Absondern bzw. Trennen
eines Objekts von einer Gruppe ist geradlinig für einen Durchschnittsfachmann.
-
Dem
Schritt 358 folgend ist ein Testschritt 360, wo
bestimmt wird, ob das Objekt degeneriert ist. Es ist auch zu beachten,
daß der
Schritt 360 auf den Schritt 354 folgt, wenn das
Objekt nicht Teil einer Gruppe ist, und auf den Testschritt 356 folgt,
wenn das Objekt Teil einer Spezialgruppe ist. Das bei dem Schritt 360 durchgeführte Testen
bestimmt, ob das Objekt beispielsweise eine Linie mit Nulllänge oder ein
Kreis ist, welcher einen Nullradius hat. Es ist zu beachten, daß es für degenerierte
Objekte möglich sein
kann, durch den 2-D-Zeichnungsprozeß erstellt zu werden, ohne
nachfolgend entfernt zu werden, da derartige Objekte möglicherweise
für den
Anwender nicht sichtbar sein können.
Jedoch ist es für
eine nachfolgende Verarbeitung in dem hierin beschriebenen System
nützlich,
degenerierte Objekte zu entfernen.
-
Wenn
an dem Testschritt 360 bestimmt wird, daß das zu
verarbeitende Objekt degeneriert ist, dann geht die Steuerung von
dem Schritt 360 auf einen Schritt 362 über, wo
das Objekt von der generischen Datenstruktur entfernt wird. Al ternativ
geht, wenn an dem Testschritt 360 bestimmt wird, daß das Objekt
nicht degeneriert ist, dann die Steuerung von einem Schritt 360 auf
einen Schritt 364 über,
an welchem eine konvexe Schale bzw. Hülle um das Objekt errichtet
wird. Eine konvexe Schale ist in der Technik bekannt und ist analog
zu einem Dehnen eines Gummibands um das Objekt, um dabei zu helfen,
die Abgrenzung bzw. Grenze des Objekts für eine nachfolgende Verarbeitung
zu definieren. Bei einigen Ausführungsformen
wird der Graham's
Scan Algorithmus, welcher in der Technik bekannt ist, benützt bzw. verwendet,
um die konvexen Schalen an dem Schritt 364 zu errichten,
obwohl es für
einen Fachmann in der Technik erkennbar sein wird, daß andere
Algorithmen ebenso benützt
werden können.
-
Dem
Schritt 364 folgend ist ein Schritt 366, wo das
Objekt zu Näherungs-
und Schnittgraphen hinzugefügt
wird, welche detaillierter unten besprochen werden. Dem Schritt 366 folgend
ist ein Schritt 368, wo das nächste Objekt von der Datenstruktur
für eine
zusätzliche
Verarbeitung abgerufen wird. Es ist zu beachten, daß der Schritt 368 ebenso
dem Schritt 362 folgt, wo, wie oben diskutiert, ein degeneriertes Objekt
entfernt wird. Dem Schritt 368 folgend ist ein Testschritt 370,
welcher bestimmt, ob es mehr Objekte zu verarbeiten gibt. Falls
nicht, dann ist die Initialisierungsverarbeitung abgeschlossen bzw.
vervollständigt.
Andernfalls geht die Steuerung von dem Schritt 370 zurück zu dem
Schritt 354, um das nächste
Objekt zu verarbeiten.
-
Es
ist zu beachten, daß die
Schritte des Flußdiagramms 350 in
einer anderen Reihenfolge durchgeführt werden können und
daß es
bei einigen Ausführungsformen
möglich
sein kann, zuerst durch alle Objekte zu iterieren, um degenerierte
Objekte zu entfernen, und dann durch alle der Objekte er neut zu iterieren,
um die konvexen Schalen zu erstellen bzw. zu konstruieren, und dann
durch die Objekte zu iterieren, um die Näherungs- und Schnittgraphen
zu erstellen.
-
Bezugnehmend
auf 24 wird von einem Graph 380 gezeigt,
daß er
eine Vielzahl von Knoten 382–397 aufweist. Der
Graph 380 könnte
entweder einen Näherungsgraphen
oder einen Schnittgraphen repräsentieren.
Ein jeder der Knoten 382–397 repräsentiert
ein Objekt von der generischen Datenstruktur. Die Kanten bzw. Ränder des
Graphen 380 (d. h. die Verbinder zwischen den Knoten) repräsentieren einen
Schnitt (im Fall eines Schnittgraphen) oder eine Näherung bzw.
Nähe (im
Fall eines Näherungsgraphen)
des Objekts. Somit zeigt beispielsweise eine Verbindung zwischen
dem Knoten 382 und dem Knoten 383 an, daß ein Objekt
entsprechend dem Knoten 382 entweder ein Objekt schneidet
(im Fall eines Schnittgraphen) oder in der Nähe zu einem Objekt befindet
(im Fall eines Näherungsgraphen),
welches dem Knoten 383 zugeordnet ist. Es ist zu beachten,
daß für den Graphen 380 die
Knoten 382–392 nicht
mit den Knoten 393–397 verbunden sind.
Somit repräsentieren
die Knoten 382–392 einen Satz
von Objekten, welche nicht eines der Objekte schneiden (oder sich
nicht in der Nähe
befinden), welches durch die Knoten 393–397 repräsentiert wird.
-
Eine
Erstellung bzw. Konstruktion des Graphen 380 ist ziemlich
geradlinig unter Verwendung der konvexen Schalen, welche an dem
Schritt 364 von 23 konstruiert
werden. Im Fall eines Schnittgraphen werden zwei Objekte als schneidend
erachtet, wenn irgendeine der Linien, welche die Polygone für die konvexen
Schalen aufbauen, für
das Objekt kreuzen, deren Bestimmung einfach bzw. geradlinig für einen
Fachmann ist, oder wenn eines der Objekte vollständig in einem anderen Objekt
enthalten ist. Die Bestimmung, daß ein Objekt ein anderes enthält, kann
auf einfache bzw. geradlinige Weise durchgeführt werden, welche einem Fachmann
bekannt ist. Eine Technik für
ein Bestimmen, ob ein Objekt in einem anderen enthalten ist (vorausgesetzt
bzw. unter der Annahme, daß die
konvexen Schalen für
die Objekte keine Linien haben, welche sich schneiden) ist es, einen
Strahl von einem Punkt auf dem Objekt zu werfen, welches die kleinere
Fläche
hat. Wenn der Strahl die Begrenzungs- bzw. Grenzlinien der konvexen
Schale des Objekts, welches die größere Fläche hat, eine ungerade Anzahl
von Malen schneidet, dann ist das Objekt, welches die kleinere Fläche hat, in
dem Objekt enthalten, welches die größere Fläche hat.
-
Im
Fall des Näherungsgraphen
werden die konvexen Schalen für
die Objekte zuerst um einen Betrag gedehnt, welcher gleich ist dem
Betrag der erwünschten
Nähe bzw.
Näherung
(d. h., der minimale Grad an Nähe
für ein
Objekt, um als nahe erachtet zu werden). Nach der Dehnung bzw. Expansion
wird bestimmt, ob irgendeine jener Linien, welche die Polygone der
gedehnten bzw. expandierten konvexen Schalen aufbauen, kreuzen.
-
Bezugnehmend
auf 25 illustriert ein Flußdiagramm 400 Operationen
bzw. Vorgänge
an dem getrennten Geometrieschritt 324 von 22. An einem ersten Schritt 402 werden
Pfeile detektiert bzw. erfaßt
und markiert, so daß Pfeile
aus einer Betrachtung für
einiges der nachfolgenden Verarbeitung eliminiert werden, wie dies
unten besprochen wird. Ein Markieren der Objekte kann beispielsweise
ein Modifizieren der generischen Datenstruktur beinhalten.
-
Dem
Schritt 402 folgend ist ein Schritt 404, wo Objekte
entsprechend einem Text auf eine Art markiert werden, welche ähnlich ist
zu dem Markieren von Objekten entsprechend den Pfeilen, wie oben
diskutiert. Dem Schritt 404 folgend ist ein Schritt 406,
wo Objekte entsprechend Detailkreisen markiert werden. Dem Schritt 406 folgend
ist ein Schritt 408, wo Objekte entsprechend Schnittlinien
markiert werden. Dem Schritt 408 folgend ist ein Schritt 410,
wo Objekte, welche nicht einer Kurve, einer Schraffur oder einem
Polygon entsprechen, markiert werden. Es ist zu beachten, daß Kurven,
Linien, Kreise, Ellipsen, Bögen,
Keile und offene Polygone beinhalten. Ein Erfassen von Objekten,
welche in den Schritten 402, 404, 406, 408, 410 markiert
werden, wird detaillierter nachfolgend besprochen bzw. diskutiert.
-
Bezugnehmend
auf 26 illustriert ein Flußdiagramm 420 Schritte,
welche in Verbindung mit dem getrennten Ansichtsschritt 326 der 22 durchgeführt werden.
An einem ersten Schritt 422 werden verbundene Sätze erzeugt.
Ein verbundener Satz entspricht einem Bereich des Schnittgraphen, welcher
eine Vielzahl von miteinander verbundenen Knoten aufweist, welche
nicht mit irgendwelchen anderen Knoten von irgendeinem anderen verbundenen
Satz verbunden sind. Ein Erstellen der verbundenen Sätze an dem
Schritt 422 wird detaillierter nachfolgend besprochen.
-
Dem
Schritt 422 folgend ist ein Schritt 424, wo der
erste verbundene Satz für
ein Verarbeiten ausgewählt
wird. Dem Schritt 424 folgend ist ein Testschritt 426,
wo bestimmt wird, ob der zu verarbeitende verbundene Satz einer
einfachen Ansicht entspricht. Ob ein verbundener Satz einer einfachen
Ansicht an dem Testschritt 426 entspricht, wird dadurch bestimmt,
indem zuerst ein Wert berechnet wird, wel cher "große
Toleranz" genannt
wird, welcher gleich ist der Summe der Höhe des größten Objekts in der Zeichnung
und der Breite des breitesten Objekts in der Zeichnung, dividiert
durch einhundertfünfzig. Eine
Ansicht wird als eine einfache Ansicht betrachtet, wenn die durch
die Ansicht bedeckte Fläche
kleiner ist als neunmal die Wurzel des Wertes von großer Toleranz
und wenn die Ansicht weniger als sechs Elemente beinhaltet.
-
Wenn
an dem Testschritt 426 bestimmt wird, daß der zu überprüfende verbundene
Satz eine einfache Ansicht ist, dann geht die Steuerung von dem Testschritt 426 zu
einem anderen Testschritt 428 über, wo bestimmt wird, ob die
zu überprüfende Ansicht
in irgendwelchen anderen Ansichten enthalten ist. Die Bestimmung
an dem Schritt 428 kann für einen Fachmann in einer einfachen
und geradlinigen Weise gemacht werden. Eine Technik für ein Bestimmen,
ob eine Ansicht A in der Ansicht B beinhaltet ist, ist es, zuerst
zu bestimmen, ob ein Polygon, welches die Ansicht A begrenzt, nicht
ein Polygon schneidet, welches die Ansicht B begrenzt und ob die
Fläche des
Polygons der Ansicht A kleiner ist als die Fläche des Polygons der Ansicht
B. Wenn beide wahr sind, dann wird ein Strahl von irgendeinem Punkt
in A geworfen. Wenn der Strahl Begrenzungslinien des Polygons von
B eine ungerade Anzahl von Malen schneidet, dann ist die Ansicht
A in der Ansicht B beinhaltet.
-
Wenn
an dem Testschritt 428 bestimmt wird, daß der zu
verarbeitende verbundene Satz nicht in irgendwelchen anderen Ansichten
beinhaltet ist, dann geht die Steuerung von dem Testschritt 428 auf
einen Testschritt 430 über,
wo bestimmt wird, ob der zu überprüfende verbundene
Satz wenigstens zwei andere nicht einfache Ansichten beinhaltet
(d. h., zwei andere verbundene Sätze,
welche nicht einfache Ansichten sind). Falls dies zutrifft, dann
geht die Steuerung von dem Testschritt 430 auf einen Schritt 432 über, wo
der zu überprüfende verbundene
Satz als eine Begrenzung markiert wird. Es ist zu beachten, daß andere
Tests zum Bestimmen, ob ein verbundener Satz eine Begrenzung ist,
ein Bestimmen beinhalten, ob der verbundene Satz orthogonale bzw. rechtwinkelige
Linien beinhaltet, welche Teil einer Begrenzung sein können.
-
Wenn
der zu überprüfende verbundene
Satz nicht wenigstens zwei nicht einfache Ansichten an dem Schritt 430 beinhaltet,
dann geht die Steuerung von dem Schritt 430 auf den Schritt 434 über, wo
der zu überprüfende verbundene
Satz als Notierung bzw. Anmerkung markiert wird. Es ist zu beachten,
daß der
Schritt 434 ebenso erreicht wird, wenn an dem Testschritt 428 bestimmt
wird, daß der
zu überprüfende verbundene
Satz in anderen Ansichten beinhaltet ist. Dem Schritt 432 folgend
ist ein Testschritt 436, wo bestimmt wird, ob mehr verbundene
Sätze verarbeitet
werden sollen. Wenn dem so ist, dann geht die Steuerung von dem
Testschritt 436 auf einen Schritt 438 über, an
welchem der nächste
verbundene Satz für
ein Verarbeiten ausgewählt
wird. Dem Schritt 438 folgend geht die Steuerung zurück zu dem
Testschritt 426, um den nächsten verbundenen Satz zu überprüfen.
-
Wenn
an dem Testschritt 436 bestimmt wird, daß es nicht
mehr verbundene Sätze
zur Verarbeitung gibt, dann geht die Steuerung von dem Testschritt 436 auf
einen Testschritt 440 über,
wo bestimmt wird, ob irgendwelche Begrenzungen erfaßt bzw.
detektiert wurden. Wenn wenigstens einer der verbundenen Sätze einer
Begrenzung entspricht, dann ist die Verar beitung komplett bzw. abgeschlossen.
Andenfalls geht, wenn an dem Testschritt 440 bestimmt wird,
daß keine
Begrenzungen erfaßt
wurden, dann die Steuerung von einem Testschritt 440 zu
einem Schritt 442 über,
wo der Wert einer großen Toleranz,
welcher oben in Verbindung mit dem Schritt 426 besprochen
wurde, zurückgesetzt
wird auf die Summe der Höhe
und der Breite des Begrenzungskastens der gesamten Zeichnung, dividiert
durch 150. Dem Schritt 442 folgend, geht die Steuerung
zurück
zu dem Schritt 424, wo die Analyse nochmals durchgeführt wird,
indem der neue Wert der großen Toleranz
verwendet wurde, um zu sehen, ob irgendwelche Begrenzungen unter
Berücksichtigung
des neu berechneten Werts der großen Toleranz detektierbar sind.
Es ist zu beachten, daß in
dem Fall einer nochmaligen Durchführung der Analyse der Test
an dem Schritt 440 im zweiten Durchgang übersprungen werden
kann.
-
Bezugnehmend
auf 27 illustriert ein Flußdiagramm 450 Vorgänge, welche
in Verbindung mit dem Schritt 422 der 26 zur Erstellung der verbundenen Sätze durchgeführt werden.
Ein Verarbeiten beginnt an einem ersten Schritt 452, wo
das erste Objekt von der generischen Datenstruktur ausgewählt wird.
Dem Schritt 452 folgend ist ein Schritt 454, wo
ein vertieftes erstes Suchverfahren an dem Schnittgraphen durchgeführt wird,
wo Objekte, die mit dem ersten Objekt verbunden sind, entweder direkt
oder durch andere Objekte markiert sind, daß sie Teil desselben verbundenen
Satzes sind. Dem Schritt 454 folgend ist ein Testschritt 456,
wo bestimmt wird, ob es irgendwelche Objekte in der generischen
Datenstruktur gibt, welche nicht als Teil eines verbundenen Satzes
markiert wurden. Wenn es keine Objekte gibt, welche nicht Teil eines
verbundenen Satzes sind, dann ist ein Verarbeiten komplett. Andernfalls
geht die Steue rung von dem Schritt 456 zu dem Schritt 458 über, wo
das nächste
nicht abgeglichene Objekt (d. h. ein Objekt, welches nicht irgendeinem
anderen verbundenen Satz entspricht) für ein Verarbeiten ausgewählt wird.
Diesem Schritt 458 folgend geht die Steuerung zurück zu dem Schritt 454.
-
Bezugnehmend
auf 28 illustriert ein Flußdiagramm 480 den
Ansichtsnamensuchschritt 228 und den Anpassungsanmerkungsschritt 330 aus dem
Flußdiagramm 320 von 22 dar. Ein Anpassen bzw. Übereinstimmen
der Notierung bzw. Anmerkung beinhaltet ein Überprüfen der Geometrie, welche an
dem getrennten Geometrieschritt 324 markiert wurde, und
ein Zuordnen der markierten Geometrie zu speziellen Ansichten der
Zeichnung.
-
Ein
Verarbeiten beginnt an dem ersten Schritt 482, wo der Text
nach Schnittlinien- und Detailkreiskennzeichen bzw. -markierungen
durchsucht wird. Die Schnittlinien- und Detailkreiskennzeichnungen
werden durch eine nachfolgende Verarbeitung auf eine Weise benützt, welche
nachfolgend besprochen wird. Ein Erfassen bzw. Detektieren von Schnittlinien-
und Detailkreiskennzeichen beinhaltet ein Suchen nach einem Text,
welcher das Wort "Schnitt", "Schnittlinie", "Sec.", oder irgendeinen
anderen Text beinhaltet, welcher in Verbindung mit einem Identifizieren
einer Schnittlinie oder eines Detailkreises in der Zeichnung benützt werden
kann. Es ist zu beachten, daß in
einigen Ausführungsformen
mehrsprachige Äquivalente
von Ausdrücken
gesucht werden können.
Ebenso wird der Text auf Zeichenketten bzw. -folgen überprüft, welche
im Wesen von zwei Buchstaben liegen, die durch einen Bindestrich
getrennt sind, wie z. B. "A-A". In diesem Beispiel
würde als
das Kennzeichen der Buchstabe "A" erachtet werden. Beispielsweise
würde jede
der Folgenden als ein Schnitt erkannt werden, welcher mit "A" gekennzeichnet ist: "Schnitt A", Sec. A", Schnittansicht
A-A", "Schnittansicht A", "A-A". In Verbindung mit
einem Verarbeiten des Texts zur Bestimmung von Schnittkennzeichen
wird die Großschreibung
des Textes ignoriert.
-
Dem
Schritt 482 folgend ist ein Schritt 484, wo die
Schnittlinien und die Detailkreise an spezielle Ansichten angepaßt werden.
Eine Schnittlinie oder ein Detailkreis entspricht einer speziellen
Ansicht, wenn die Schnittlinie oder der Detailkreis hindurchtritt und
primär
in der Ansicht beinhaltet ist.
-
Dem
Schritt 484 folgend ist ein Schritt 486, wo die
Abmessungs- und Leitnotierung an spezielle Ansichten angepaßt bzw.
abgeglichen wird. Dies wird durchgeführt, indem der kritische Punkt
von der generischen Datenstruktur benützt wird (oben besprochen).
Für Dimensionen
bzw. Abmessungen können die
kritischen Punkte die Enden der Dimensionslinien bzw. Maßlinien
sein. Für
eine Leitlinie kann der kritische Punkt die Lage des Objekts sein,
auf welche die Leitlinie zeigt.
-
Dem
Schritt 486 folgend ist ein Schritt 487, wo jede
Ansicht, welche als eine Begrenzung markiert wurde (siehe obige
Besprechung) in Stücke
aufgebrochen wird, wobei senkrechte bzw. orthogonale Linien benützt werden,
welche die Begrenzung darstellen, um zu sehen, ob irgendeine Beschriftung bzw.
Anmerkung vollständig
in einem der Stücke
beinhaltet ist, welches das durch die Linien gebildet wird. Es ist
zu beachten, daß die
senkrechten Linien einer Begrenzung kleinere (üblicherweise rechteckige bzw.
rechtwinkelige) Subflächen
beinhalten können,
welche Teil der Begren zung sind. Jede Beschriftung, welche in einer
der Subflächen
beinhaltet ist, wird mit der Begrenzungsansicht abgestimmt.
-
Dem
Schritt 487 folgend ist ein Schritt 488, wo bestimmt
wird, ob irgendeine der Anmerkung ein Teil von einer der Ansichten
schneidet. Jede Anmerkung bzw. Beschriftung, welche dieses Kriterium
erfüllt,
wird mit der Ansicht verbunden bzw. dieser zugeordnet. An dem Schritt 488 wird
jede Beschriftung, welche zwei oder mehrere Teile von zwei oder
mehreren unterschiedlichen Ansichten schneidet, an eine Begrenzung
angepaßt.
-
Dem
Schritt 488 folgend ist ein Schritt 490, wo eine
Gruppenstücke-Funktion
durchgeführt
wird. Die Gruppenstücke-Funktion gruppiert
Bereiche von Pfeilen, Schnittlinien, Detailkreisen und entsprechender
Textbeschriftung so zusammen, daß, wenn beispielsweise eine
Schnittlinie früher
mit einer speziellen Ansicht abgestimmt wurde, dann beliebige Pfeile und
der mit der Schnittlinie verbundene Text mit der Schnittlinie gruppiert
wird und somit mit der selben Ansicht abgestimmt wird. In ähnlicher
Weise verursacht, wenn ein Pfeilkopf mit einer Ansicht abgestimmt
wird, der Schritt 490 ein Verbinden bzw. Koppeln des Rests
des Pfeils (z. B. des Schaftes) mit derselben Ansicht. Dem Schritt 490 folgend
ist ein Schritt 492, wo eine Beschriftung, welche ein graphisches Element
einer speziellen Ansicht schneidet, dann mit der speziellen Ansicht
abgestimmt wird.
-
Dem
Schritt 492 folgend ist ein Schritt 494, wo die
Gruppenstücke-Funktion,
welche oben in Verbindung mit dem Schritt 490 besprochen
wurde, erneut durchgeführt
wird. Dem Schritt 494 folgend ist ein Schritt 496,
wo eine abstim mungsbeinhaltende Funktion durchgeführt wird.
Die abstimmungsbeinhaltende Funktion stimmt eine Beschriftung mit
einer beliebigen Ansicht ab, in welcher das begrenzende bzw. Begrenzungspolygon
davon die Gesamtheit der Beschriftung beinhaltet. Dem Schritt 496 folgend
ist ein Schritt 498, wo die Gruppenstücke-Funktion, welche oben in
Verbindung mit dem Schritt 490 besprochen wurde, erneut
durchgeführt
wird.
-
Dem
Schritt 498 folgend ist ein Schritt 500, wo Ansichtsnamen
mit speziellen Ansichten abgestimmt werden. Die Ansichtsnamen werden,
wie dies oben besprochen wurde, im Schritt 482 erfaßt und können beispielsweise
Namen für
spezielle Schnitte und Detailkreise entsprechen. Die Ansichtsnamen werden
abgestimmt, indem zuerst ein beliebiger Ansichtsnamenstext abgestimmt
wird, welcher eine Ansicht schneidet, und dann ein Durchschnittsvektor von
der Mitte der abgestimmten Ansichten zu dem entsprechenden Text
berechnet wird. Danach werden jegliche unabgestimmte Ansichtsnamen
mit Ansichten abgestimmt, welche den Vektor benützen, um eine am meisten wahrscheinliche
Abstimmung zu bestimmen, welche auf der relativen Verschiebung eines "bekannten" Ansichtsnamentexts
zu Ansichtsabstimmungen basiert.
-
Dem
Schritt 500 folgend ist ein Schritt 502, wo eine
beliebige unabgestimmte Beschriftung abgestimmt wird, indem betrachtet
wird, ob die unabgestimmte Beschriftung irgendwelche der Teile von
irgendwelchen der Ansichten oder irgendwelcher der Beschriftung
schneidet, welche vorher mit irgendwelchen der Ansichten abgestimmt
wurde. Der Schritt 502 ist analog zu dem Schritt 492,
außer
daß vor
einem Testen auf ein Schneiden konvexe Schalen, welche mit einer
belie bigen unabgestimmten Beschriftung assoziiert sind, auf einen
Wert aufgebläht
wird, welcher einer mittleren Toleranz entspricht, wo der Wert einer
mittleren Toleranz auf 60% des Werts der großen Toleranz gesetzt wird.
Dem Schritt 502 folgend ist ein Schritt 504, wo
die Gruppenstücke-Funktion,
welche oben in Verbindung mit dem Schritt 490 besprochen
wurde, erneut durchgeführt
wird.
-
Dem
Schritt 504 folgend ist ein Schritt 506, wo eine
Beschriftung, welche ein Begrenzungspolygon einer Ansicht schneidet,
mit der Ansicht abgestimmt wird. Dem Schritt 506 folgend
ist ein Schritt 508, wo die Gruppenstücke-Funktion, welche oben in Verbindung
mit dem Schritt 490 besprochen wurde, erneut durchgeführt wird.
-
Dem
Schritt 508 folgend ist ein Schritt 510, wo die
verbleibende Beschriftung, welche nicht abgestimmt wurde, mit einer
bestimmten Begrenzung bzw. Grenze abgestimmt wird. Die Beschriftung,
welche mit einer bestimmten Begrenzung übereinstimmt, kann beispielsweise
einen Titel beinhalten, welcher der gesamten Zeichnung gegeben wird. Dem
Schritt 510 folgend ist ein Verarbeiten komplett.
-
Bezugnehmend
auf 29 illustriert ein Flußdiagramm 520 Schritte,
welche in Verbindung mit dem Ansichtstypen-Abschätzschritt 332 durchgeführt werden,
welcher in dem Flußdiagramm 320 von 22 dargelegt wird. Ein Verarbeiten
beginnt an einem ersten Schritt 522, wo Ansichten, welche Schnittnamen
haben (die detektiert wurden, wie dies oben besprochen wurde), gekennzeichnete
Schnittansichten sind. Dem Schritt 522 folgend ist ein
Schritt 524, wo Ansichten, welche Detailkreisnamen haben, als
Detailkreisansichten markiert werden. Dem Schritt 524 folgend
ist ein Verarbeiten komplett.
-
Bezugnehmend
auf 30 illustriert ein Flußdiagramm 530 Schritte,
welche in Verbindung mit einem Erfassen von Pfeilköpfen bzw.
-spitzen durchgeführt
werden. Das Flußdiagramm 530 repräsentiert
Schritte, welche an jedem Objekt der generischen Datenstruktur durchgeführt werden,
welche überprüft und verarbeitet
wird. Das Flußdiagramm 530 beinhaltet
nicht jene Iterationsschritte, welche oben in Verbindung mit anderen
der Flußdiagramme dargestellt
bzw. illustriert wurden.
-
Ein
Verarbeiten beginnt an einem Testschritt 532, welcher bestimmt,
ob das zu überprüfende Objekt
eine Linie ist. Wenn dem so ist, dann geht die Steuerung von dem
Schritt 532 auf einen Schritt 534 über, wo
bestimmt wird, ob das zu überprüfende Linienobjekt
gemeinsam mit einem anderen Linienobjekt zwischen diesen drei Endpunkte
hat, wobei einer der Endpunkte gemeinsam ist, d. h. die Linien sich
an ihren Enden berühren.
Wenn nicht, dann sind die beiden zu überprüfenden Linien nicht Teil eines
Pfeilkopfes und ein Verarbeiten ist komplett. Es ist zu beachten,
daß der
Schritt 534 eine Iteration durch alle anderen Linienobjekte
repräsentieren
kann, um diese auf drei Endpunkte zu prüfen.
-
Wenn
zwei Linien, welche drei Endpunkte haben, an dem Schritt 534 gefunden
werden, geht die Steuerung von dem Schritt 534 auf einen
Schritt 536 über,
wo bestimmt wird, ob es drei Linien gibt (die beiden Linien, welche
an dem Schritt 534 getestet wurden, und eine neue, dritte,
Linie), welche gemeinsam eine Gesamtzahl von drei Endpunkten haben. Drei
Linien mit drei gemeinsamen Endpunkten bilden ein Dreieck. Wenn
es keine drei Linien mit drei gemeinsamen Endpunkten gibt, dann
ist ein Verarbeiten komplett.
-
Wenn
an dem Schritt 532 bestimmt wurde, daß das zu verarbeitende Objekt
keine Linie ist, geht die Steuerung von dem Schritt 532 auf
einen Schritt 538 über,
wo bestimmt wird, ob das zu verarbeitende Objekt ein Polygon ist.
Ist dem nicht so, so ist die Verarbeitung komplett. Andernfalls
geht die Steuerung von dem Schritt 538 auf einen Schritt 540 über, wo bestimmt
wird, ob das Polygon ein dreiseitiges Polygon ist. Ist dem nicht
so, so ist die Verarbeitung komplett. Andernfalls geht die Steuerung
zu einem Testschritt 542, welcher ebenfalls dem Schritt 536 folgt, wenn
drei Linien bestimmt wurden, um ein Dreieck zu bilden.
-
An
dem Testschritt 542 wird bestimmt, ob das dreiseitige Polygon
(wenn der Schritt 542 über den
Schritt 540 erreicht wird) oder ob die drei Linien (wenn
der Schritt 542 von dem Schritt 536 her erreicht
wird), ein gleichschenkeliges Dreieck bilden (ein Dreieck mit zwei
gleichen Seiten), wobei die dritte, ungleiche Seite kürzer ist
als die beiden anderen beiden Seiten. Ist dem nicht so, so ist ein
Verarbeiten komplett. Andernfalls geht die Steuerung zu einem Schritt 544,
wo das/die Objekt(e) als ein Pfeilkopf markiert werden. Es ist zu
beachten, daß in
dem Fall eines halben Pfeilkopfes es an dem Schritt 542 möglich sein
kann, zuerst ein rechtwinkeliges Dreieck zu erfassen bzw. zu detektieren
und dann zu bestimmen, ob die kurze Seite weniger bzw. kürzer als
eine Hälfte
der Länge
der Hypotenuse ist.
-
Bezugnehmend
auf 31 illustriert ein Flußdiagramm 550 Schritte,
welche in Verbindung mit dem Schaftfindungsschritt 536 von 30 durchgeführt werden.
Ein Verarbei ten beginnt an einem Schritt 552, an welchem
eine imaginäre
Winkelhalbierungslinie berechnet wird. Die imaginäre Winkelhalbierende
Linie bzw. Winkelhalbierende erstreckt sich von der Spitze des Pfeilkopfs
(jenem Teil des Pfeilkopfs, an welchem sich die beiden Linien mit gleicher
Länge treffen)
durch die Mitte der dritten Linie. Es ist zu beachten, daß in dem
Fall eines halben Pfeilkopfes (d. h. eines rechtwinkeligen Dreiecks) sich
die Winkelhalbierende von der Spitze des Pfeilkopfs entlang des
längeren
der Schenkel des rechtwinkeligen Dreiecks erstreckt.
-
Dem
Schritt 552 folgend ist ein Schritt 554, wo bestimmt
wird, ob es irgendeine Linie in der generischen Datenstruktur gibt,
welche den Pfeilkopf berührt.
Ist dem nicht so, so ist ein Verarbeiten komplett. Andernfalls geht
die Steuerung zu einem Testschritt 556, wo bestimmt wird,
ob die Linie, welche den Pfeilkopf berührt (detektiert an dem Schritt 554),
auf der korrekten Seite des Pfeilkopfs ist (d. h., sich von der Spitze
des Pfeilkopfs in derselben Richtung erstreckt wie die imaginäre winkelhalbierende
Linie, welche an dem Schritt 552 berechnet wurde). Wenn
die berührende
Linie nicht auf der korrekten Seite der Spitze des Pfeilkopfs ist,
so ist ein Verarbeiten komplett. Andernfalls geht die Steuerung
von dem Schritt 556 zu einem Testschritt 558,
wo unter Benützung
von konventionellen Mitteln bestimmt wird, ob die Linie, welche
berührt,
nahe an der imaginären
winkelhalbierenden Linie ist. Ist dem nicht so, so ist ein Verarbeiten
komplett. Andernfalls geht die Steuerung von dem Testschritt 558 zu
einem Schritt 560, wo die Linie, welche berührt, als
der Schaft des Pfeils markiert und mit den verbleibenden Teilen
des Pfeils gruppiert wird. Ein Gruppieren der Teile des Pfeilkopfs
beein flußt
den Beschriftungsabstimmungsprozeß, wie dies oben besprochen
wurde.
-
Bezugnehmend
auf 32 illustriert ein Flußdiagramm 570 andere
Schritte, welche in Verbindung mit einem Verarbeiten einer Beschriftung durchgeführt werden.
An einem ersten Schritt 572 werden Kennzeichnungen, welche
den linearen Pfeilen zugeordnet sind, erfaßt. An dem Schritt 572 wird jeder
Text, welcher sich in der Nachbarschaft eines Schafts eines linearen
Pfeils befindet, mit dem Pfeil gruppiert. Dem Schritt 572 folgend
ist ein Schritt 574, wo als linearer Pfeil gekennzeichnete
Paare erfaßt werden.
Wenn zwei lineare Pfeile dasselbe Textkennzeichen haben, werden
die Pfeile als ein Paar erachtet. Dem Schritt 574 folgend
ist ein Schritt 576, wo Schnittlinien erfaßt werden,
indem die als lineare Pfeile gekennzeichneten Paare, welche an dem Schritt 574 erfaßt wurden, überprüft werden
und jedes Paar mit im wesentlichen parallelen Schäften als Teil
einer Schnittlinie erachtet werden.
-
Die
Schritte 572, 574, 576 des Flußdiagramms 570 können adaptiert
werden, um ebenso Detailkreise zu erfassen. In diesem Fall würde der Schritt 572 ein
Suchen nach gekennzeichneten Pfeil/Bogen-Kombinationen beinhalten
und der Schritt 574 würde
gekennzeichnete Bögen
erfassen, welche dasselbe Kennzeichen haben. Der Schritt 576 würde dann
ein Detektieren beinhalten, wenn zwei gekennzeichnete Bögen demselben
Bogen entsprechen.
-
Während die
Erfindung in Verbindung mit den bevorzugten Ausführungsformen, welche detailliert
gezeigt und beschrieben wurden, geoffenbart wurde, werden verschiedene
Modifikationen und Verbesserungen daran leicht für Fachleute er kennbar werden.
Dementsprechend ist der Bereich der vorliegenden Erfindung nur durch
die folgenden Ansprüche
zu begrenzen bzw. zu beschränken.