DE4034157A1 - Stickdaten-erzeugungsvorrichtung - Google Patents

Stickdaten-erzeugungsvorrichtung

Info

Publication number
DE4034157A1
DE4034157A1 DE4034157A DE4034157A DE4034157A1 DE 4034157 A1 DE4034157 A1 DE 4034157A1 DE 4034157 A DE4034157 A DE 4034157A DE 4034157 A DE4034157 A DE 4034157A DE 4034157 A1 DE4034157 A1 DE 4034157A1
Authority
DE
Germany
Prior art keywords
block
data
area
positions
outline
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE4034157A
Other languages
English (en)
Inventor
Kyoji Komuro
Masaaki Yokoe
Narihiro Matsushita
Kiyokazu Sekine
Atsuya Hayakawa
Fumiaki Asano
Hideaki Shimizu
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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Publication of DE4034157A1 publication Critical patent/DE4034157A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • DTEXTILES; PAPER
    • D05SEWING; EMBROIDERING; TUFTING
    • D05BSEWING
    • D05B19/00Programme-controlled sewing machines
    • D05B19/02Sewing machines having electronic memory or microprocessor control unit
    • D05B19/04Sewing machines having electronic memory or microprocessor control unit characterised by memory aspects
    • D05B19/08Arrangements for inputting stitch or pattern data to memory ; Editing stitch or pattern data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Textile Engineering (AREA)
  • Sewing Machines And Sewing (AREA)
  • Automatic Embroidering For Embroidered Or Tufted Products (AREA)

Description

Die Erfindung betrifft eine Vorrichtung zum Erzeugen von Stichpo­ sitionen entsprechenden Daten für eine Näh-/Stickmaschine und ins­ besondere auf die Automatisierung der Erzeugen von Stichpositionen entsprechende Daten für eine Näh-/Stickmaschine, um einen vorbe­ stimmten Bereich zu besticken, indem Stiche an Stichpositionen ge­ bildet werden und dadurch der Bereich mit den so gebildeten Sti­ chen gefüllt wird.
Die Anmelderin hat beim Deutschen Patentamt eine Erfindung zum Pa­ tent angemeldet, in der eine Vorrichtung zum automatischen Erzeu­ gen von Stichpositionen entsprechenden Daten für eine Nähmaschine beschrieben ist. Die vorgeschlagene Vorrichtung umfaßt (a) eine Unterteilungseinrichtung zum Unterteilen einer zu bestickenden Fläche in eine Mehrzahl von Subflächen auf der Basis von Umrißda­ ten, die den Umriß darstellen, wobei die Umrißdaten Sätze von Po­ sitionsdaten enthalten, die jeweils eine der speziellen auf dem Umriß darstellen, und (b) eine Datenerzeugungseinrichtung zum Er­ zeugen der den Stichpositionen entsprechenden Daten auf der Basis der Subflächen. Eine Fläche kann dabei ein Polygon oder eine von einem Polygon approximierte geschlossene Linie sein, wobei die speziellen Positionen auf dem Umriß des Polygones als Fläche die Vertizes des Polygones darstellen können. Für den Fall, daß der Umriß einer zu bestickenden Fläche von einer Funktion, wie z. B. einer Spline-Funktion, approximiert wird, können die Umrißdaten daher aus einem Satz von Positionsdaten bestehen, die von der Funktion definierte Punkte angeben. Die in den Fig. 18, 19 und 32 dargestellte Fläche E ist ein Polygon, wobei die speziellen Posi­ tionen auf dem Umriß des Polygones E die Vertizes des Polygones mit den Nummern eins bis 32 darstellen.
Ein erstes Beispiel der Unterteilungseinrichtung teilt eine Fläche in unterteilte Flächen als Subflächen auf, so daß der Umriß einer jeden unterteilten Fläche in einem für den Umriß geschaffenen X-Y- Koordinatensystem keine nach außen deformierende Position auf­ weist. Die Deformationsposition auf dem Umriß im X-Y-Koordinaten­ system ist als spezielle Position definiert, bei der sich die zwei speziellen Positionen, die der fraglichen Position auf beiden Sei­ ten benachbart sind, auf einer Seite einer geraden Linie befinden, die durch die fragliche spezielle Position hindurchgeht und senk­ recht zu einer vorbestimmten der X- und Y-Achsen des X-Y-Koordina­ tensystemes ist. Für den Fall, daß die speziellen Positionen auf dem Umriß im Uhrzeigersinn geprüft werden, ist die nach außen de­ formierende Position als Position definiert, für die die nachfol­ gende spezielle Position auf der linken Seite der fraglichen De­ formationsposition liegt. Andererseits ist für den Fall, daß die speziellen Positionen auf dem Umriß entgegen dem Uhrzeigersinn ge­ prüft werden, die nach außen deformierende Position als Position definiert, für die die nachfolgende spezielle Position auf der rechten Seite der fraglichen Deformationsposition liegt. Fig. 18 zeigt ein Beispiel der Unterteilung einer Fläche in unterteilte Flächen durch das erste Beispiel der Unterteilungseinrichtung.
Ein zweites Beispiel der Unterteilungseinrichtung umfaßt eine Be­ stimmungseinrichtung zum Bestimmen der zwei am weitesten oder na­ hezu am weitesten voneinander entfernten Positionen der speziellen Positionen auf dem Umriß einer Fläche, und eine Prüfeinrichtung zum Bewerten, ob sich alle Segmente, die durch Verbinden der je­ weiligen entferntesten Positionen und den jeweiligen verbleibenden speziellen Positionen auf dem Umriß erhalten werden, innerhalb der Fläche befinden. Diese Unterteilungseinrichtung unterteilt die Fläche in unterteilte Flächen als Subflächen, so daß die Prüfein­ richtung eine positive Bewertung für jede der unterteilten Flächen abgibt. Fig. 19 zeigt ein Beispiel für die Unterteilung einer Flä­ che in unterteilte Flächen durch das zweite Beispiel für die Un­ terteilungseinrichtung.
Die Unterteilung einer vorbestimmten Fläche in unterteilte Flächen durch das erste oder zweite Beispiel der Unterteilungseinrichtung wird ausgeführt, um die Richtung einer geraden Linie, die die je­ weiligen unterteilten Flächen approximiert (aus einem später zu beschreibenden Grund im weiteren als Longitudinalrichtung bezeich­ net), derart anzupassen, daß diese im wesentlichen parallel zur Richtung einer Kurve oder polygonalen Linie ist, die dieselbe un­ terteilte Fläche approximiert, wobei diese Richtung an einer be­ liebigen Position oder in einem beliebigen Bereich der Linie abge­ nommen wird (im weiteren als Zentrallinienrichtung bezeichnet). Das zweite Beispiel der Unterteilungseinrichtung kann eine vom er­ sten Beispiel der Unterteilungseinrichtung erzeugte unterteilte Fläche bearbeiten.
Ein drittes Beispiel für die Unterteilungseinrichtung umfaßt eine erste Bestimmungseinrichtung zum Bestimmen der zwei am weitesten oder nahezu am weitesten voneinander entfernten Positionen der speziellen Positionen auf dem Umriß der Fläche als Maximum- und Minimumpositionen der Fläche, eine zweite Bestimmungseinrichtung zum Bestimmen der Richtung einer geraden Linie durch die Maximum­ und Minimumpositionen als Longitudinalrichtung der Fläche, wobei der Umriß aus einem Paar von Bereichen besteht, die einander be­ züglich der Maximum- und Minimumpositionen gegenüberliegen, eine dritte Bestimmungseinrichtung zum Vergleichen der Zahl von spe­ ziellen Positionen auf einem der einander gegenüberliegenden Be­ reiche des Umrisses mit der Zahl der speziellen Positionen auf dem anderen Bereich, wobei als erster Bereich des Umrisses derjenige bestimmt wird, der die kleinere Zahl von speziellen Positionen um­ faßt, eine Definitionseinrichtung zum Definieren einer Mehrzahl von geraden ersten Hilfslinien, die senkrecht zur Longitudinal­ richtung sind und jeweils eine entsprechende spezielle Position auf dem ersten Bereich des Umrisses durchlaufen und den zweiten Bereich des Umrisses kreuzen, der vom ersten Bereich verschieden ist, wobei die ersten Hilfslinien die Fläche und den Umriß in Blöcke bzw. Segmente unterteilt, wobei jeder Block von entspre­ chenden zwei der ersten Hilfslinien, die einander gegenüberliegen, und entsprechenden zwei der Segmente, die einander gegenüberlie­ gen, eingeschlossen wird, und eine Modifizierungseinrichtung zum Modifizieren des jeweiligen Blockes, indem als Unterteilungsbasis­ position eine der speziellen Positionen auf dem zweiten Bereich ausgewählt wird, die mit der speziellen Position, die zur jeweili­ gen der einander gegenüberliegenden zwei ersten Hilfslinien des jeweiligen Blockes gehört, zusammenwirkt, um anstelle der jeweili­ gen ersten Hilfslinie eine entsprechende der Unterteilungslinien definiert wird, die die zugehörige spezielle Position auf dem er­ sten Bereich und die Unterteilungsbasisposition auf dem zweiten Bereich durchläuft, wobei die modifizierten Blöcke als Subflächen dienen und zwei dreieckige Blöcke umfassen, die jeweils von einem Dreieck approximiert werden, die von drei speziellen Positionen definiert werden und zu denen die Minimum- bzw. Maximumpositionen gehören. Die Blöcke mit Ausnahme der zwei dreieckigen Blöcke stel­ len viereckige Blöcke dar, die jeweils von einem durch vier spe­ zielle Positionen definierten Viereck approximiert werden. Die Blöcke werden derart aus der Fläche erzeugt, daß ein Feld gebildet wird, das sich im wesentlichen in Longitudinalrichtung der Fläche erstreckt. Das dritte Beispiel für die Unterteilungseinrichtung kann auf eine unterteilte Fläche angewandt werden, die vom ersten und/oder zweiten Beispiel der Unterteilungseinrichtung erzeugt worden ist. Fig. 32 zeigt ein Beispiel für die Unterteilung einer Fläche in Blöcke mittels dem dritten Beispiel der Unterteilungs­ einrichtung.
Die Anmelderin hat ferner am 19. Juli 1989 die JP 1(1989)-1 67 875 angemeldet, die bisher noch nicht veröffentlicht worden ist. In der Anmeldung wird eine Vorrichtung zum automatischen Erzeugen von Stichpositionen entsprechenden Daten für eine Näh-/Stickmaschine beschrieben. Die vorgeschlagene Vorrichtung umfaßt eine Datener­ zeugungseinrichtung zum Erzeugen von Sätzen von Subflächendaten, die jeweils den Umriß einer entsprechenden Subfläche einer zu be­ stickenden Fläche angeben, und zum Bestimmen der Reihenfolge der Bestickung der Subflächen auf der Basis der Sätze von Subflächen­ daten derart, daß für den Fall, daß die Näh-/Stickmaschine Stiche mit einem kontinuierlichen Faden bildet und jede der Subflächen mit den gebildeten Stichen füllt, indem die Sätze von Subflächen­ daten und die Stickreihenfolge der Subflächen verwendet wird, der kontinuierliche Faden nicht über die Stiche läuft, die die jewei­ ligen Subflächen füllen. Um eine Fläche mit einem kontinuierlichen Faden zu besticken, werden zuerst eine Start- und eine Endposition angegeben, bei denen das Besticken beginnt bzw. endet. Dann werden die Stiche von der Start- bis zur Endposition gebildet, um die Fläche mit den gebildeten Stichen zu füllen. Für den Fall, daß eine zu bestickende Fläche keine Verbindung oder Verzweigung wie beispielsweise der Buchstabe C aufweist und gleichzeitig die Start- und Endpositionen zum Besticken der Fläche als verschiedene Positionen, die zu zwei Subflächen der Fläche gehören, die sich an den Endbereichen der Fläche befinden (d. h., Endsubflächen der Flä­ che darstellen), kann die Datenerzeugungseinrichtung die Reihen­ folge des Bestickens der Subflächen derart bestimmen, daß das Be­ sticken mit der Subfläche beginnt, zu der die Startposition ge­ hört, in der Reihenfolge der Positionen der Subflächen in der Flä­ che fortschreitet und mit der Subfläche endet, zu der die Endposi­ tion gehört.
Eine Fläche kann jedoch auch eine Verbindung oder eine Verzweigung aufweisen, wie z. B. die Fläche E in Fig. 36. Der Block mit der Nummer acht der Fläche E stellt einen Verbindungsblock dar, von dem sich vier Zweige nach außen erstrecken. Im folgenden wird un­ ter Bezugnahme auf die Fig. 37 als Beispiel ein Fall der Erzeugung der den Stichpositionen entsprechenden Daten zum Besticken der Fläche E der Fig. 36 beschrieben.
Die Datenerzeugungseinrichtung bestimmt zuerst den Block mit der Nummer 13, zu dem die in Fig. 37 mit Ps bezeichnete Startposition, d. h., die Position mit der Nummer 25, gehört, als ersten und die Blöcke mit den Nummern 14 und 15 als zweiten bzw. dritten zu be­ stickenden Block. Der Block Nummer 15 stellt einen der vier Blöcke dar, die dem Verbindungsblock mit der Nummer acht benachbart sind. Der Verbindungsblock wird jedoch nicht als vierter zu bestickender Block bestimmt. Es wird einer der drei dem Verbindungsblock be­ nachbarten Blöcke, der vom Block Nummer 15 verschieden ist, ausge­ wählt und ein Block, der den Endblock des Zweiges darstellt, zu dem der ausgewählte Block gehört, wird als vierter zu bestickender Block bestimmt. Wird der Endblock Nummer vier als vierter Block bestimmt, so werden die Blöcke mit den Nummern drei, zwei und eins als fünfter, sechster und siebter zu bestickender Block festge­ legt. Wenn in diesem Fall die Blöcke mit den Nummern eins, zwei, drei und vier als vierter, fünfter, sechster bzw. siebter zu be­ stickender Block bestimmt werden, läuft der kontinuierliche Faden über die Stiche, die in den Blöcken mit den Nummern vier, drei, zwei und eins gebildet worden sind, wenn der Faden vom Endblock zum Verbindungsblock zurückkehrt. Dies führt zu einer Verschlech­ terung der Stickqualität der Fläche E.
Es ist wünschenswert, daß die Erzeugung der den Stichpositionen entsprechenden Daten oder Stichpositionsdaten so weit wie möglich automatisiert werden kann. Das bedeutet, daß es erforderlich ist, daß die dem Bediener für die Datenerzeugung aufgebürdete Last mög­ lichst gering gemacht und die für die Datenerzeugung notwendige Zeit minimiert wird. Keine der oben beschriebenen Vorrichtungen erfüllen die Forderungen jedoch zufriedenstellend, da diese Vor­ richtungen keinen ausreichenden Grad an Automatisierung der Daten­ erzeugung liefern.
Es ist daher Aufgabe der Erfindung, eine Vorrichtung zum automati­ schen Erzeugen von Stichpositionen entsprechenden Daten für eine Näh-/Stickmaschine zum Besticken einer vorbestimmten Fläche zu schaffen.
Die Aufgabe wird erfindungsgemäß gelöst durch eine Vorrichtung zum Erzeugen von Stichpositionen entsprechenden Daten für eine Näh-/ Stickmaschine zum Besticken einer vorbestimmten Fläche, indem Stiche an den jeweiligen Stichpositionen gebildet werden und die Fläche mit den gebildeten Stichen gefüllt wird, mit (a) einer Un­ terteilungseinrichtung zum Unterteilen der Fläche in eine Mehrzahl von Subflächen auf der Basis der Umrißdaten, die den Umriß der Fläche angeben, wobei die Umrißdaten Sätze von Positionsdaten ent­ halten, die jeweils eine entsprechende der Mehrzahl von speziellen Positionen auf dem Umriß angeben, und mit (b) einer Datenerzeu­ gungseinrichtung zum Erzeugen von Sätzen von Subflächendaten, die jeweils den Umriß einer entsprechenden der Subflächen angeben, und zum Bestimmen der Reihenfolge des Bestickens der Subflächen auf der Basis der Sätze von Subflächendaten derart, daß der kontinu­ ierliche Faden nicht über die Stiche läuft, die die jeweilige Sub­ fläche füllen, wenn die Näh-/Stickmaschine unter Verwendung der Sätze von Subflächendaten und der Reihenfolge des Bestickens der Subflächen Stiche mit einem kontinuierlichen Faden bildet und die jeweiligen Subflächen mit den gebildeten Stichen füllt, wobei die Datenerzeugungseinrichtung die Sätze von Subflächendaten und die Reihenfolge des Bestickens der Subflächen für die Erzeugung der den Stichpositionen entsprechenden Daten verwendet.
Bei der wie oben angegeben aufgebauten Erzeugungsvorrichtung für Stichpositionen entsprechende Daten wird eine zu bestickende Flä­ che automatisch in Subflächen unterteilt, Sätze von Subflächenda­ ten, die die Umrisse der Subflächen darstellen, werden automatisch bestimmt, und die Reihenfolge des Bestickens der Subflächen wird auf der Basis der Subflächendaten automatisch festgelegt. Damit wird die Automatisierung der Erzeugung von Stichpositionen auf ein zufriedenstellendes Maß erhöht. Daher wird die Belastung des Be­ dieners für die Datenerzeugung minimiert und die erforderliche Zeit extrem reduziert. Die Datenerzeugungseinrichtung kann eine Einrichtung umfassen zum Bestimmen eines Verbindungspfades zum Verbinden von zweien der Subflächen, die nicht benachbart zueinan­ der, d. h. voneinander durch wenigstens eine dazwischen liegende Subfläche getrennt sind, so daß der kontinuierliche Faden nicht über die Stiche läuft, die die Subfläche oder die Fläche füllen.
In Übereinstimmung mit einer bevorzugten Ausführung der Erfindung bestimmt die Datenerzeugungseinrichtung einen Verbindungspfad zum Verbinden einer ersten Position, die zu einer ersten der Subflä­ chen gehört, und einer zweiten Position, die zu einer zweiten der Subflächen gehört, mit dem kontinuierlichen Faden, wobei wenig­ stens ein Teil des Verbindungspfades mit den Stichen bedeckt ist, die wenigstens die zweite Subfläche oder eine oder mehrere Subflä­ chen füllen, die der zweiten Subfläche in der Reihenfolge des Be­ stickens der Subflächen nachfolgen. Der Verbindungspfad kann dabei derart bestimmt werden, daß ein Teil von ihm außerhalb der Fläche verläuft. Der Faden, der entlang des äußeren Teiles des Verbin­ dungspfades verläuft, kann nach dem Besticken der Fläche entfernt oder abgeschnitten werden. Die Datenerzeugungseinrichtung kann den Verbindungspfad derart bestimmen, daß der Verbindungspfad vollkom­ men von den Stichen bedeckt wird, die die jeweiligen Flächen fül­ len, und Verbindungspfaddaten als Teil der den Stichpositionen entsprechenden Daten erzeugen, die den Verbindungspfad darstellen. In diesem Fall verläuft der Faden, der sich entlang des Verbin­ dungspfades erstreckt, nicht über den Stichen, die die Fläche fül­ len, oder außerhalb der Fläche. Die Datenerzeugungseinrichtung kann ferner eine Einrichtung umfassen zum Bewerten auf der Basis der Sätze von Subflächendaten, ob es erforderlich ist, den Verbin­ dungspfad derart zu bestimmen, daß der Verbindungspfad vollkommen von den Stichen bedeckt wird, die die jeweilige Fläche bedecken.
Entsprechend einer weiteren Besonderheit der Erfindung umfaßt die Vorrichtung ferner eine Einrichtung zum Angeben einer Start- und einer Endposition in der Fläche, bei denen das Besticken beginnt bzw. endet, wobei die Datenerzeugungseinrichtung die Stickreihen­ folge der Subflächen auf der Basis der Start- und Endpositionen bestimmt.
Entsprechend einer weiteren Besonderheit der Erfindung gibt die Unterteilungseinrichtung eine Mehrzahl von Basispositionen auf dem Umriß auf der Basis der Umrißdaten an, und definiert eine Mehrzahl von geraden Teilungslinien, die jeweils zwei entsprechende der Ba­ sispositionen durchlaufen und sich innerhalb des Umrisses nicht kreuzen, wobei die Teilungslinien die Fläche in Subflächen unter­ teilt und die Basispositionen die speziellen Positionen umfassen. Die Unterteilungseinrichtung kann ein Polygon als Fläche in eine Mehrzahl von Subpolygone als Subflächen unterteilen, wobei die speziellen Positionen aus den Vertizes des Polygones bestehen und die Basispositionen die Vertizes umfassen.
In einer bevorzugten Ausführung der oben angegebenen Besonderheit der Erfindung umfaßt die Unterteilungseinrichtung eine Bestim­ mungseinrichtung zum Bestimmen der zwei am weitesten oder nahezu am weitesten voneinander entfernten Positionen der speziellen Po­ sitionen auf dem Umriß der Fläche als Minimum- und Maximumpositio­ nen der Fläche, und zum Bestimmen der Richtung einer geraden Linie durch die Minimum- und Maximumpositionen als Longitudinalrichtung der Fläche, und eine Deformationspositions-Ermittlungseinrichtung zum Drehen des Umrisses in einem X-Y-Koordinatensystem, so daß die Longitudinalrichtung parallel zur X- oder Y-Achse des X-Y-Koordi­ natensystemes wird, und zum aufeinanderfolgenden Prüfen der spe­ ziellen Positionen in der Reihenfolge ihrer Anordnung auf dem Um­ riß auf eine Deformationsposition, indem bewertet wird, ob das Vorzeichen eines Wertes, der durch Subtraktion eines Wertes bezüg­ lich der einen Achse der gegenwärtig überprüften Position von demjenigen der nachfolgenden speziellen Position, die als nächstes überprüft wird, erhalten wird, gleich demjenigen eines Wertes ist, der durch Subtraktion eines Wertes bezüglich der einen Achse des vorangehenden speziellen Position, die gerade geprüft worden ist, von demjenigen der gegenwärtig überprüften speziellen Position er­ halten wird, wobei die Deformationspositions-Ermittlungseinrich­ tung die gegenwärtig geprüfte Position als Deformationsposition bestimmt, falls eine negative Bewertung erfolgt. Die Untertei­ lungseinrichtung umfaßt ferner eine Deformationsrichtungs-Ermitt­ lungseinrichtung zum Bewerten, ob die Deformationsposition eine nach außen deformierende Position darstellt oder nicht, wobei die Deformationsrichtung-Bewertungseinrichtung für den Fall, daß die Deformationspositions-Ermittlungseinrichtung die speziellen Posi­ tionen auf dem Umriß im Uhrzeigersinn prüft, die Deformationsposi­ tion als nach außen deformierende Position bestimmt, falls die der Deformationsposition nachfolgende spezielle Position in Blickrich­ tung eines Vektors, der bei der vorangehenden speziellen Position beginnt und bei der Deformationsposition endet, auf deren linken Seite liegt, und für den Fall, daß die Deformationspositions-Er­ mittlungseinrichtung die speziellen Positionen auf dem Umriß ent­ gegen dem Uhrzeigersinn prüft, die Deformationsposition als nach außen deformierende Position bestimmt, falls die der Deformations­ position nachfolgende spezielle Position in Blickrichtung des Vek­ tors auf deren rechten Seite liegt. Die Unterteilungseinrichtung unterteilt mittels der Teilungslinien die Fläche in unterteilte Flächen als Subflächen, so daß jede der unterteilten Flächen keine nach außen deformierende Position aufweist.
In einer anderen Ausführung derselben Besonderheit der Erfindung umfaßt die Unterteilungseinrichtung eine Bestimmungseinrichtung zum Bestimmen der zwei am weitesten oder nahezu am weitesten von­ einander entfernten Positionen der speziellen Positionen auf dem Umriß der Fläche als Minimum- und Maximumpositionen der Fläche, und eine Bewertungseinrichtung zum Bewerten, ob sich alle Seg­ mente, die durch Verbinden der jeweiligen zwei entferntesten Posi­ tionen und der jeweiligen anderen speziellen Positionen auf dem Umriß erhalten werden, innerhalb des Umrisses befinden, wobei die Unterteilungseinrichtung mittels der Teilungslinien die Fläche in unterteilte Flächen als Subflächen unterteilt, so daß die Bewer­ tungseinrichtung eine positive Bewertung für jede der unterteilten Flächen abgibt. Die mittels dieser Unterteilungseinrichtung unter­ teilte Fläche kann eine von der Unterteilungseinrichtung der oben beschriebenen Ausführung erzeugte unterteilte Fläche sein.
Bei einer weiteren Ausführung derselben Besonderheit der Erfindung umfaßt die Unterteilungseinrichtung eine Einrichtung zum Bestimmen der zwei am weitesten oder nahezu am weitesten voneinander ent fernten Positionen der speziellen Positionen auf dem Umriß der Fläche als Maximum- und Minimumpositionen der Fläche, und zum Be­ stimmen der Richtung einer geraden Linie durch die Maximum- und Minimumpositionen als Longitudinalrichtung der Fläche, wobei der Umriß aus einem Paar von Bereichen besteht, die einander bezüglich der Maximum- und Minimumpositionen gegenüberliegen, eine Definiti­ onseinrichtung zum Vergleichen der Zahl von speziellen Positionen auf einem der einander gegenüberliegenden Bereiche des Umrisses mit der Zahl der speziellen Positionen auf dem anderen Bereich, wobei als erster Bereich des Umrisses derjenige bestimmt wird, der die kleinere Zahl von speziellen Positionen umfaßt, und zum Defi­ nieren einer Mehrzahl von geraden ersten Hilfslinien, die senk­ recht zur Longitudinalrichtung sind und jeweils eine entsprechende spezielle Position des ersten Bereiches des Umrisses durchlaufen und den anderen der einander gegenüberliegenden Bereiche als zwei­ ten Bereich des Umrisses kreuzen, wobei die ersten Hilfslinien die Fläche und den Umriß in eine Mehrzahl von ersten Blöcken bzw. eine Mehrzahl von ersten Segmenten unterteilt, wobei jeder erste Block von entsprechenden zwei der ersten Hilfslinien, die einander ge­ genüberliegen, und entsprechenden zwei der ersten Segmente, die einander gegenüberliegen, eingeschlossen wird, und eine erste Mo­ difizierungseinrichtung zum Modifizieren des jeweiligen ersten Blockes, indem als Unterteilungsbasisposition eine der speziellen Positionen des zweiten Bereiches des Umrisses ausgewählt wird, die mit der speziellen Position, die zur jeweiligen der einander ge­ genüberliegenden zwei ersten Hilfslinien des jeweiligen ersten Blockes gehört, zusammenwirkt, um anstelle der jeweiligen ersten Hilfslinie eine entsprechende der Unterteilungslinien zu definie­ ren, die die zugehörige spezielle Position des ersten Bereiches des Umrisses und die Unterteilungsbasisposition des zweiten Berei­ ches des Umrisses durchläuft, wobei die Subflächen aus den jewei­ ligen modifizierten ersten Blöcken, die aus den ersten Blöcken re­ sultieren, bestehen, wobei die modifizierten ersten Blöcke zwei dreieckige Blöcke umfassen, zu denen die Minimum- bzw. Maximumpo­ sitionen gehören, wobei jeder der dreieckigen Blöcke von einem Dreieck approximiert wird, das von drei speziellen Positionen de­ finiert ist. Die von dieser Unterteilungseinrichtung unterteilte Fläche kann eine von der Unterteilungseinrichtung von einer oder den beiden oben angegebenen Ausführungen erzeugte unterteilte Flä­ che darstellen. Die Unterteilungseinrichtung kann eine zweite Mo­ difizierungseinrichtung umfassen, zum Umwandeln des jeweiligen dreieckigen Blockes in einen viereckige Block, der von einem durch vier spezielle Positionen definierten Viereck approximiert wird.
In einer bevorzugten Form der oben beschriebenen dritten Ausfüh­ rung umfaßt die Unterteilungseinrichtung eine Einrichtung zum De­ finieren einer Mehrzahl von geraden zweiten Hilfslinien, die senk­ recht zur Longitudinalrichtung sind und jeweils eine entsprechende der speziellen Positionen auf dem zweiten Bereich des Umrisses durchlaufen, wobei die zweiten Hilfslinien mit den ersten Hilfsli­ nien zusammenwirken, um die Fläche und den Umriß in eine Mehrzahl von zweiten Blöcken bzw. eine Mehrzahl von zweiten Segmenten zu unterteilen, wobei jeder der zweiten Blöcke von zwei entsprechen­ den der ersten und zweiten Hilfslinien, die einander gegenüberlie­ gen, und von zwei entsprechenden der zweiten Segmente, die einan­ der gegenüberliegen, eingeschlossen wird, und eine Einrichtung zum Bestimmen eines ersten Vektors, der an einem der einander gegen­ überliegenden Enden von einem der einander gegenüberliegenden zwei zweiten Segmenten eines jeden der zweiten Blöcke beginnt und am anderen Ende des einen zweiten Segmentes endet, eines zweiten Vek­ tors, der an einem der einander gegenüberliegenden Enden des ande­ ren zweiten Segmentes beginnt, das dem einen Ende des einen zwei­ ten Segmentes gegenüberliegt, und am anderen Ende des anderen zweiten Segmentes endet, das dem anderen Ende des einen zweiten Segmentes gegenüberliegt, und eines dritten Vektors, der an einer Position auf einer der einander gegenüberliegenden zwei Hilfsli­ nien eines jeden zweiten Blockes beginnt, sich in Richtung eines Vektors, der durch Addition des ersten und zweiten Vektors erhal­ ten wird, erstreckt, und an einer Position auf der anderen der einander gegenüberliegenden zwei Hilfslinie endet, wobei die End­ position auf jeder der ersten und zweiten Hilfslinien, bei denen der dritte Vektor für einen der zwei zweiten Blöcke auf beiden Seiten der jeweiligen Hilfslinie endet, gleichzeitig als Startpo­ sition auf der jeweiligen Hilfslinie dient, bei der der dritte Vektor für den anderen zweiten Block beginnt. Die Minimumposition dient entweder als Start oder Ende sowohl für den ersten als auch den zweiten Vektor des zweiten Blockes, zu dem die Minimumposition gehört, und gleichzeitig als Start- oder Endposition für den zwei­ ten Block, zu dem die Minimumposition gehört, während die Maximum­ position entweder als Ende oder Start sowohl für den ersten als auch zweiten Vektor des zweiten Blockes, zu dem die Minimumposi­ tion gehört, und gleichzeitig entweder als End- oder Startposition für den zweiten Block dient, zu dem die Maximumposition gehört. Die Unterteilungseinrichtung umfaßt ferner eine Einrichtung zum Bestimmen eines vierten Vektors bezüglich einer jeden ersten Hilfslinie durch Addition der dritten Vektoren für die zwei Blöcke auf beiden Seiten der jeweiligen ersten Hilfslinie, und eine Ein­ richtung zum Definieren einer geraden Referenzlinie, die die spe­ zielle Position durchläuft, die der jeweiligen ersten Hilfslinie zugeordnet ist, und die senkrecht zum vierten Vektor ist.
Bevorzugterweise umfaßt die Unterteilungseinrichtung eine Einrich­ tung zum Bestimmen einer Kreuzung zwischen der jeweiligen ersten Hilfslinie und dem zweiten Bereich des Umrisses, und zum Bestimmen von zwei der speziellen Positionen des zweiten Bereiches, die der Kreuzung benachbart sind und auf beiden Seiten der Kreuzung lie­ gen, als vorangehende bzw. nachfolgende spezielle Position der speziellen Position, die zu der jeweiligen ersten Hilfslinie ge­ hört, und eine Einrichtung zum Vergleichen eines ersten Winkels zwischen der Referenzlinie und einer ersten geraden Linie durch die vorherige spezielle Position und die zugehörige spezielle Po­ sition mit einem zweiten Winkel zwischen der Referenzlinie und ei­ ner zweiten geraden Linie durch die nachfolgende spezielle Posi­ tion und die zugehörige spezielle Position, wobei die Untertei­ lungseinrichtung als Unterteilungsbasisposition eine der vorheri­ gen oder nachfolgenden speziellen Positionen bestimmt, je nachdem welche zu einem kleineren der ersten und zweiten Winkel führt, und wobei jeder modifizierte erste Block durch den Umriß und die be­ züglich der einander gegenüberliegenden zwei Hilfslinien des je­ weiligen ersten Blockes bestimmten Unterteilungslinien definiert ist.
Bevorzugterweise umfaßt die Unterteilungseinrichtung ferner eine erste Bewertungseinrichtung zum Bewerten, ob sich die vorangehende spezielle Position zwischen der Kreuzung und einer Kreuzung des zweiten Bereiches des Umrisses mit der ersten Hilfslinie, die zu einer der zwei speziellen Positionen des ersten Bereiches gehört, die der zu der jeweiligen ersten Hilfslinie gehörenden speziellen Position auf beiden Seiten benachbart sind, befindet, und eine zweite Bewertungseinrichtung zum Bewerten, ob sich die nachfol­ gende spezielle Position zwischen der Kreuzung und einer Kreuzung zwischen dem zweiten Bereich und der ersten Hilfslinie, die zur anderen der zwei speziellen Positionen gehört, befindet, wobei die Unterteilungseinrichtung als Unterteilungsbasisposition den Mit­ telpunkt eines geraden Segmentes bestimmt, das die vorangehende und die nachfolgende spezielle Position verbindet, falls sowohl die erste als auch die zweite Bewertungseinrichtung zu negativen Bewertungen kommen, die Unterteilungseinrichtung als Untertei­ lungsbasisposition die vorangehende spezielle Position bestimmt, falls die erste Bewertungseinrichtung zu einer positiven und die zweite Bewertungseinrichtung zu einer negativen Bewertung gelangt, die Unterteilungseinrichtung die nachfolgende spezielle Position als Unterteilungsbasisposition bestimmt, falls die erste Bewer­ tungseinrichtung zu einer negativen und die zweite Bewertungsein­ richtung zu einer positiven Bewertung kommt, und die Untertei­ lungseinrichtung die Unterteilungsbasisposition durch Verwendung des Vergleichsergebnisses der Einrichtung zum Vergleichen der er­ sten und zweiten Winkel bestimmt, falls sowohl die erste als auch die zweite Bewertungseinrichtung zu einer positiven Bewertung ge­ langen.
Es ist günstig, wenn die Unterteilungseinrichtung eine Einrichtung umfaßt zum Angeben von einer oder mehr Positionen auf dem zweiten Bereich des Umrisses, für die die Unterteilungsbasisposition oder -positionen nicht bestimmt worden sind, und zum Bestimmen der Un­ terteilungsbasisposition bzw. -positionen auf dem ersten Bereich des Umrisses für diese eine oder mehr speziellen Positionen, wobei die Unterteilungseinrichtung die Fläche in viereckige Blöcke als modifizierte erste Blöcke mit Ausnahme der zwei dreieckigen Blöcke, zu denen die Minimum- bzw. Maximumposition gehört, unter­ teilt, so daß die modifizierten ersten Blöcke ein Feld in der Flä­ che bilden.
In Übereinstimmung mit einer weiteren Besonderheit der Erfindung umfaßt die Datenerzeugungseinrichtung eine erste Speichereinrich­ tung zum Speichern von Sätzen von Blockdaten, die den Umriß eines entsprechenden der modifizierten ersten Blöcke angeben, als Sätze von Subflächendaten, eine zweite Speichereinrichtung zum Speichern der Sätze von Blockdaten in der Reihenfolge des Bestickens der mo­ difizierten ersten Blöcke, eine Einrichtung zum Angeben einer Start- und einer Endposition auf dem Umriß der Fläche, bei denen das Besticken beginnt bzw. endet, eine Prüfeinrichtung zum Prüfen der Sätze von Blockdaten, die in der ersten Speichereinrichtung gespeichert sind, auf einen Start- und einen abschließenden Block, die zwei der modifizierten ersten Blöcke darstellen, zu denen die Start- bzw. Endposition gehören, auf einen Endblock, der nur eine Teilungslinie mit nur einem der modifizierten ersten Blöcke teilt, der hierzu benachbart ist, und auf einen Verbindungsblock, der drei oder mehr der Teilungslinien mit drei oder mehr der modifi­ zierten ersten Blöcke teilt, die benachbart zu diesem sind, und eine Reihenfolgebestimmungseinrichtung zum Speichern des Satzes oder der Sätze von Blockdaten für den Startblock und, falls vor­ handen, den Block oder die Blöcke zwischen dem Startblock und dem Verbindungsblock, in der zweiten Speichereinrichtung, falls die modifizierten ersten Blöcke den Verbindungsblock umfassen, in ei­ ner ersten Reihenfolge der Anordnung des Blockes oder der Blöcke vom Startblock in Richtung des Verbindungsblockes. Die Reihenfol­ gebestimmungseinrichtung prüft die Sätze von Blockdaten für den Verbindungsblock, für alle dem Verbindungsblock benachbarten Blöcke, mit Ausnahme des benachbarten Blockes, dessen Blockdaten in der zweiten Speichereinrichtung gespeichert worden sind, und für, falls vorhanden, den Block oder die Blöcke, die zu einem Zweig gehören, der sich von dem einen benachbarten Block aus er­ streckt, um den Endblock zu finden, der am Ende des Zweiges liegt, in einer zweiten Reihenfolge der Anordnung des Blockes oder der Blöcke vom Verbindungsblock in Richtung des Endblockes. Die Rei­ henfolgebestimmungseinrichtung bestimmt für den Fall, daß der End­ block nicht der abschließende Block ist, den Verbindungspfad der­ art, daß dieser in der zweiten Reihenfolge Positionen durchläuft, die jeweils zum Verbindungsblock als auch dem oder den Blöcken des Zweiges gehören, und speichert einen Satz von Verbindungspfadda­ ten, die den Verbindungspfad angeben, in der zweiten Speicherein­ richtung. Die Reihenfolgebestimmungseinrichtung speichert nach dem Satz der Verbindungspfaddaten in der zweiten Speichereinrichtung den Satz oder die Sätze von Blockdaten für den Endblock und, falls vorhanden, den Block oder die Blöcke zwischen dem Endblock und dem Verbindungsblock, in einer dritten Reihenfolge der Anordnung des Blockes oder der Blöcke vom Endblock in Richtung des Verbindungs­ blockes, wobei die Reihenfolgebestimmungseinrichtung, falls der Endblock gleich dem abschließenden Block ist, in der zweiten Spei­ chereinrichtung die Sätze von Blockdaten für den Verbindungsblock, den abschließenden Block und, falls vorhanden, den Block oder die Blöcke zwischen dem Verbindungsblock und dem abschließenden Block in einer vierten Reihenfolge der Anordnung der Blöcke vom Verbin­ dungsblock zum abschließenden Block speichert.
Entsprechend einer weiteren Besonderheit der Erfindung erzeugt die Datenerzeugungseinrichtung auf der Basis der Sätze von Blockdaten und dem Satz von Verbindungspfaddaten, die in der zweiten Spei­ chereinrichtung gespeichert sind, Stichpositionsdaten, die Stich­ positionen darstellen, die die Näh-/Stickmaschine mit dem konti­ nuierlichen Faden verbindet, um Stiche zu bilden und die jeweili­ gen Subflächen mit den gebildeten Stichen zu füllen, und um einen oder mehrere Stiche entlang des Verbindungspfades zu bilden, um zwei der modifizierten ersten Blöcke zu verbinden, wobei die Stichpositionsdaten als den Stichpositionen entsprechende Daten wirken.
In Übereinstimmung mit einer weiteren Besonderheit der Erfindung umfaßt die Vorrichtung eine Bildleseeinrichtung zum Lesen eines Bildes der Fläche und eine Umrißdaten-Erzeugungseinrichtung zum Erzeugen der Umrißdaten aus dem gelesenen Bild der Fläche. In die­ sem Fall werden die Umrißdaten automatisch erzeugt und daher der Automationsgrad der Erzeugung von Stichpositionen entsprechenden Daten weiter verbessert.
In einer bevorzugten Ausführungsform entsprechend der oben be­ schriebenen Besonderheit der Erfindung umfaßt die Vorrichtung fer­ ner eine Anzeigeeinrichtung zum Anzeigen des Umrisses des von der Bildleseeinrichtung gelesenen Bildes sowie eine manuelle Bestim­ mungseinrichtung zum Bestimmen einer Mehrzahl von Positionen auf dem Umriß des gelesenen Bildes als spezielle Positionen, wobei die Umrißdaten-Erzeugungseinrichtung die Umrißdaten derart erzeugt, daß die Umrißdaten aus den bestimmten Positionen bestehen.
In einer weiteren Ausführungsform derselben Besonderheit der Er­ findung umfaßt die Vorrichtung ferner eine Bestimmungseinrichtung zum Bestimmen einer Mehrzahl von Positionen in regelmäßigen Ab­ ständen auf dem Umriß des gelesenen Bildes als Kandidaten für die speziellen Positionen, und zum Verbinden eines jeden Paares von zwei benachbarten Kandidaten mit einem geraden Segment, und eine Bewertungseinrichtung zum Bewerten, ob der kleinere der zwei Win­ kel, die zwischen jedem Paar von benachbarten geraden Segmenten definiert sind, kleiner als ein Referenzwert ist oder nicht, wobei die Umrißdaten-Erzeugungseinrichtung für den Fall, daß die Bewer­ tungseinrichtung zu einer positiven Bewertung gelangt, den Kandi­ daten, bei dem das jeweilige Paar von benachbarten zwei Segmenten miteinander verbunden ist, als eine der speziellen Positionen an­ nimmt.
Weitere Merkmale und Zweckmäßigkeiten der Erfindung ergeben sich aus der Beschreibung eines Ausführungsbeispieles anhand der Figu­ ren. Von den Figuren zeigen:
Fig. 1 eine Perspektive eines Nähmaschinensystemes, das eine erfindungsgemäße Datenerzeugungsvorrichtung aufweist;
Fig. 2 ein Diagramm einer Steuerungseinrichtung zum Steuern des in Fig. 1 dargestellten Systemes;
Fig. 3 ein Diagramm eines Speichers mit wahlfreiem Zugriff (RAM) eines Computers, der einen wesentlichen Teil der Steuerungseinrichtung darstellt;
Fig. 4A, 4B, 4C ein Flußdiagramm zur Darstellung der in einem Nur-Lese-Speicher (ROM) des Computers gespeicherten Stichpositionsdaten-Erzeugungsroutine;
Fig. 5, 6A, 6B, 7, 8A, 8B, 9A, 9B, 9C, 10A bis 10K Flußdiagramme zur Darstellung der im ROM gespeicherten Routinen, die zur Stichpositionsdaten-Erzeugungsroutine gehören;
Fig. 11 bis 15 Diagramme zur Erläuterung der Routine in Fig. 4;
Fig. 16 bis 18 Diagramme zur Erläuterung der Routine in den Fig. 5 und 6;
Fig. 19 und 20 Diagramme zur Erläuterung der Routine in den Fig. 7 und 8;
Fig. 21 und 22 Diagramme zur Erläuterung der Routine in Fig. 4;
Fig. 23 bis 32 Diagramme zur Erläuterung der Routine in Fig. 9;
Fig. 33 bis 36 Diagramme zur Erläuterung der Routine in Fig. 4; und
Fig. 37 und 38: Diagramme zur Erläuterung der Routine in Fig. 10.
Unter Bezugnahme auf die Fig. 1 wird nun ein Nähmaschinensystem in Übereinstimmung mit einer Ausführungsform der Erfindung beschrie­ ben. Das System umfaßt eine Näh-/Stickmaschine 8 (im weiteren als Nähmaschine bezeichnet).
In Fig. bezeichnet das Bezugszeichen 10 den Tisch einer Nähma­ schine 8, auf dem eine Grundplatte 12 und ein Nähmaschinengehäuse 14 gebildet sind. Das Nähmaschinengehäuse 14 umfaßt eine Säule 16, die vertikal auf der Grundplatte 12 gebildet ist, und einen Nähma­ schinenarm 18, der sich horizontal vom oberen Bereich der Säule 16 wie ein Ausleger erstreckt. Über einen (nicht dargestellten) Na­ delstangenrahmen ist eine Nadelstange 22 mit dem Nähmaschinenge­ häuse 14 verbunden, so daß die Nadelstange vertikal verschoben werden kann. Am unteren Ende der Nadelstange 22 ist eine Nadel 24 befestigt. Die Nadelstange 22 ist über eine Nadelstangen-Verbin­ dungsklammer mit einem Nähmaschinenmotor 26 (Fig. 2) verbunden. Die Nadelstange 22 bzw. die Nadel 24 ist vertikal hin- und herbe­ wegbar, wenn der Motor 26 betrieben wird. Die Grundplatte 12 weist in der Deckfläche eine Öffnung auf. Um diese Öffnung zu schließen, ist eine Stichplatte 30 mit einer Nadeldurchlaßöffnung 38 gebil­ det.
Auf dem Tisch 10 ist ein Stickrahmen 42 derart montiert, daß der Stickrahmen 42 entlang einer X- und einer Y-Achse bewegbar ist, die für die Nähmaschine 8 definiert worden sind, wie dies durch die Pfeile X und Y angedeutet ist. Der Stickrahmen 42 umfaßt einen äußeren Rahmen 44 mit einem Ringbereich und einen inneren Rahmen 46, der in den Ringbereich des äußeren Rahmens eingepaßt ist. Der äußere und innere Rahmen 44, 46 des Stickrahmens 42 wirken zusam­ men, um ein (nicht dargestelltes) Stoffwerkstück dazwischen zu halten. Der äußere Rahmen 44 weist einen Gleitbereich 48 auf, der sich vom Ringbereich in X-Richtung von der Säule 16 weg erstreckt. Der Gleitbereich 48 greift gleitbar in ein Paar von Führungsstan­ gen 50, 50, die sich in Y-Richtung erstrecken, ein. Die beiden Paare einander gegenüberliegender Enden der Führungsstangen 50 sind durch ein erstes und ein zweites Verbindungsbauteil 52 bzw. 54 verbunden. Das erste Verbindungsbauteil 52 wird von einer Transportschnecke 56 und einer Drehstange 60 getragen, die sich jeweils in X-Richtung erstrecken, und wird in X-Richtung verscho­ ben, wenn die Transportschnecke 56 durch den X-Antriebsmotor 58 gedreht wird. Das zweite Verbindungsbauteil 54 wird von der Grund­ platte 10 über ein (nicht dargestelltes) Kugelbauteil getragen, das drehbar am zweiten Verbindungsbauteil 54 befestigt ist, so daß das Kugelbauteil als Einheit zusammen mit dem zweiten Verbindungs­ bauteil 54 verschiebbar ist. Ein Paar von Endlosdrähten 62, 62 be­ findet sich in Eingriff mit dem Gleitbereich 48 des Nährahmens 42 und den ersten und zweiten Verbindungsbauteilen 52, 54, Wird die Drehstange 60 vom Y-Antriebsmotor 64 gedreht, so werden die Drähte 62, 62 verschoben, wodurch der Gleitbereich 48 entlang der Y-Achse verschoben wird. Durch die Kombination der Bewegung des ersten Verbindungsbauteiles 52 entlang der X-Achse und der Bewegung des Gleitbereiches 48 entlang der Y-Achse kann der Stickrahmen relativ zur Grundplatte 10 an eine beliebige Stelle in einer horizontalen Ebene, d. h., in einem kartesischen X-Y-Koordinatensystem, das durch die X- und Y-Achsen definiert ist, bewegt werden. Diese Be­ wegung des Stickrahmens wirkt mit der Hin- und Herbewegung der Na­ del zusammen, um sicherzustellen, daß die Nähmaschine 8 einen vor­ bestimmten Bereich auf dem Werkstück, das der Nährahmen 42 hält, bestickt.
Der Betrieb der Nähmaschine 8 wird von einer Steuerungseinrichtung 70 gesteuert. Wie in Fig. 2 dargestellt ist, besteht die Steue­ rungseinrichtung (70) im wesentlichen aus einem Computer mit einer zentralen Verarbeitungseinheit (CPU) 72, einem Nur-Lese-Speicher (ROM) 74, einem Speicher mit wahlfreiem Zugriff (RAM) 76 und einem Bus 78. Die Steuerungseinrichtung 70 umfaßt eine Eingangsschnitt­ stelle 80, über die eine Tastatur 82, eine Videokamera 84 und ein Lichtgriffel 86 mit der Steuerungseinrichtung 70 verbunden sind.
Die Steuerungseinrichtung 70 umfaßt ferner eine Ausgangsschnitt­ stelle 100, über die ein erste, zweiter und dritter Treiberschalt­ kreis 104, 106 bzw. 108 mit der Steuerungseinrichtung 70 verbunden sind. Der erste, zweite und dritte Treiberschaltkreis 104, 106 bzw. 108 dienen zum Antreiben des Nähmaschinenmotors 26, des X-An­ triebsmotores 58 bzw. des Y-Antriebsmotores 64. Ferner ist ein Mo­ nitor (CRT = Kathodenstrahlröhre) 112 über einen Monitortreiber­ schaltkreis 110 und die Ausgangsschnittstelle 100 mit der Steuer­ einrichtung verbunden.
Wie in Fig. 3 dargestellt ist, umfaßt der RAM 76 einen Arbeitsbe­ reich und verschiedene Speicherbereiche 76a-76h, 76m, 76n, 76r, 76v. Der Hilfslinien- Datenbereich 76a speichert Sätze von Hilfs­ liniendaten und der Bitabbild-Datenbereich 76b Sätze von Bitab­ bilddaten. Der Umrißdatenbereich 76c speichert Sätze von Umrißda­ ten und der Datenspeicherbereich 76d für den unterteilten Umriß speichert Sätze von Daten der unterteilten Umrisse (im weiteren als unterteilte Umrißdaten bezeichnet). Der Blockdatenbereich 76e speichert Sätze von Blockdaten, während der Teilungsdatenbereich 76f Sätze von Teilungsdaten hält. Der Stickreihenfolge-Datenbe­ reich 76g speichert Sätze von Stickreihenfolgedaten und der Stich­ positionsdatenbereich 76h Sätze von Stichpositionsdaten. Der Ver­ bindungsblock-Datenbereich 76m speichert Sätze von Blockdaten für die Verbindungsblöcke, während der Verzweigungsblock-Datenbereich 76n Sätze von Blockdaten für die Verzweigungsblöcke speichert. Der Maximum-/Minimumpositions-Datenbereich 76r speichert Sätze von Ma­ ximum- und Minimumpositionsdaten, während der Endblock-Datenbe­ reich 76v Sätze von Blockdaten für die Endblöcke speichert. Der RAM 76 umfaßt ferner verschiedene Indikatoren: Endblockindikatoren 76i, Verbindungsblockindikatoren 76j, Stickreihenfolgeindikatoren 76k, Blockprüfungsindikatoren 761, Stichpfadindikatoren 76p und Verschiebungsindikatoren 76q. Der RAM 76 umfaßt ferner einen Zäh­ ler 76o und drei Stapel 76s, 76t, 76u. Der Bevor-Teilungs-Stapel 76s speichert Sätze von Indexdaten zum Bestimmen von Umrißdaten­ sätzen oder Unterteilungsumriß-Datensätzen, bevor diese in einer (später zu beschreibende) Unterteilungsroutine benutzt werden, und der Nach-Teilung-Stapel 76t speichert Indexdatensätze zum Bestim­ men von Umrißdatensätzen oder Sätzen der unterteilten Umrißdaten, nachdem diese einer Unterteilungsroutine unterworfen worden sind. Der Vertexstapel 76u speichert Sätze von Indexdaten, die Vertizes bestimmen. Die Funktion der oben angegebenen Datenspeicherberei­ che, Indikatoren, Zähler und Stapel des RAM 76 wird im Detail spä­ ter erläutert. In diesem Zusammenhang ist zu bemerken, daß die Stapel 76e, 76f, 76j Kellerspeicher darstellen.
Der ROM 74 speichert das Stichpositions-Erzeugungsprogramm, das von den Flußdiagrammen in den Fig. 4, 5, 6, 7, 8, 9 und 10 darge­ stellt wird.
Im folgenden wird als Beispiel der Betrieb des vorliegenden Syste­ mes zum Erzeugen eines Satzes von Stichpositionsdaten zum Bestic­ ken eines Stoffwerkstückes mit dem in Fig. 11 gezeigten chinesi­ schen Zeichen  erläutert.
Wenn der Bediener eine Stichpositionsdaten-Erzeugungsanweisung über die Tastatur 82 eingibt, nachdem das System eingeschaltet worden ist, beginnt die Steuerung der CPU 72 mit Schritt S1 der Fig. 4 (4A, 4B, 4C), um mittels der Videokamera 84 ein Bild des Zeichens  einzulesen, der auf einem (nicht dargestellten) weißen Papier gezeichnet worden ist, und einen Satz von Bitabbilddaten zu erzeugen, die das Bild darstellen. Der Satz von Bitabbilddaten wird im Bitabbild-Datenbereich 76b gespeichert. Auf Schritt S1 folgt Schritt S3, um das Bild auf der Basis des Satzes von Bitab­ bilddaten auf dem Monitor 112 anzuzeigen. Anschließend werden in Schritt S5 Kanten- oder Grenzlinien zwischen dem Bild und dessen Hintergrund als Umriß des Bildes bestimmt. Auf Schritt S5 folgt Schritt S7, um den Umriß auf dem Monitor 112 darzustellen, wie dies in Fig. 12 angegeben ist.
Anschließend gibt der Bediener eine Mehrzahl von speziellen Posi­ tionen auf dem Umriß an, indem er den Lichtgriffel 86 benutzt. Für diese Operation steht eine Regel zur Verfügung, die besagt, daß für den Fall, daß der zu bearbeitende Umriß einen unabhängigen oder separaten Teil enthält, der von einem Paar paralleler ge­ schlossener Linien, wie beispielsweise der Bereich des Zeichens  in Fig. 12, definiert ist, der Bediener spezielle Positionen angeben soll, so daß der Bereich in eine Mehrzahl von unterteilte Bereiche (im weiteren als Flächen bezeichnet) unterteilt wird, die jeweils von einer einzigen geschlossenen Linie als Umriß definiert werden. Der Bereich wird in vier Flächen mit den Bezeichnungen A, B, C und D in Fig. 13 unterteilt. Damit wird das Zeichen  in sieben Flächen A bis G unterteilt. Die auf dem Umriß einer jeden Fläche angegebenen speziellen Positionen wirken zusammen, um ein Polygon zu definieren, das die entsprechende der Flächen approxi­ miert.
In Schritt wird für jede der Flächen A-G eine Mehrzahl von Positi­ onsdatensätzen erzeugt, die jeweils eine entsprechende der spe­ ziellen, auf dem Umriß angegebenen Positionen darstellen. Genauer gesagt besteht jedes Positionsdatum aus den X- und Y-Koordinaten­ werten der entsprechenden speziellen Position im X-Y-Koordinaten­ system, das für die Nähmaschine 8 geschaffen worden ist. Auf Schritt S9 folgt Schritt S11, um auf der Basis der entsprechenden Positionsdatensätze, die in Schritt S9 geschaffen worden sind, für jede der Flächen A-G der Fig. 13 einen Satz von Umrißdaten zu er­ zeugen, die den Umriß einer jeden Fläche angeben. Die hierdurch erzeugten Umrißdatensätze werden im Umrißdatenbereich 76c in der Reihenfolge der Bestimmung für die einzelnen Flächen gespeichert. Zum einfacheren Verständnis wird angenommen, daß die Umrißdaten­ sätze für die Flächen A, B, C, D, E, F und G in der angegebenen Reihenfolge im Umrißdatenbereich 76c abgespeichert werden. Ferner wird angenommen, daß für die Fläche E die speziellen Positionen mit den Nummern eins bis 32 angegeben werden, wie dies in Fig. 14 dargestellt ist. Die speziellen Positionen wirken zusammen, um, ein Polygon zu definieren, das die Fläche E approximiert, und die­ nen als Vertizes des Polygones. Daher werden diese speziellen Po­ sitionen als Vertizes bezeichnet. Der Satz von Umrißdaten für die Fläche E besteht aus den Positionsdatensätzen, die die Vertizes mit den Nummern eins bis 32 darstellen, wie dies in Fig. 15 ange­ deutet ist.
Auf Schritt S11 folgt Schritt S13, um einen Transferpfad zu be­ stimmen, entlang dem die Nähmaschine 8 einen kontinuierlichen Fa­ den von der jeweiligen Fläche zur folgenden Fläche transportiert, so daß die Flächen A-G des Zeichens  mit dem kontinuierlichen Faden in der Reihenfolge der Speicherung der Umrißdatensätze hier­ für im Umrißdatenbereich 76c bestickt werden. Um einen Faden von jeder Fläche zur nachfolgenden Fläche zu transportieren, werden eine Start- und eine Endposition an Positionen angegeben, die je­ weils zu den zugehörigen zwei Flächen gehören. Bezüglich der Flä­ che E wird als Endposition des einmündenden Transferpfades der Vertex mit der Nummer 25 in Fig. 37 angegeben, während als Start­ position des ausgehenden Transferpfades der Vertex mit der Nummer eins bestimmt wird. Der einmündende Transferpfad für die Fläche E stellt gleichzeitig den ausgehenden Transferpfad für die Fläche D dar, während der auslaufende Transferpfad für die Fläche E gleich dem einmündenden Transferpfad für die Fläche F ist, wie dies in Fig. 13 gezeigt ist. Für jeden Transferpfad, der ein Paar von auf­ einanderfolgenden Flächen in der Stickreihenfolge der Flächen A-G verbindet, werden die zwei am nächsten oder nahezu am nächsten liegenden zwei Vertizes aller Vertizes, die zu den beiden aufein­ anderfolgenden Flächen gehören, als Start- und Endpositionen des jeweiligen Transferpfades bestimmt, wobei einer von diesen Verti­ zes zu einer der zwei Flächen und der andere Vertex zur anderen Fläche gehört.
Auf Schritt S13 folgt Schritt S15. Schritt S15 stellt die in Fig. 5 gezeigte erste Unterteilungsroutine dar, in der eine Fläche oder ein die Fläche approximierendes Polygon in eine Mehrzahl von unterteilten Flächen oder unterteilten Polygonen unterteilt wird, so daß jede unterteilte Fläche oder jedes die jeweilige Fläche ap­ proximierendes Polygon keinen (später zu beschreibenden) nach au­ ßen deformierenden Vertex aufweist.
Zu Beginn wird in Schritt S301 der Fig. 5 eine Mehrzahl von Index­ datensätzen, die die im Umrißdatenbereich 76c gespeicherten Umriß­ datensätze für die Flächen A-G angeben, erzeugt und im Bevor-Tei­ lungs-Stapel 76s in einer Weise abgespeichert, so daß die gespei­ cherten Indexdatensätze in derselben Reihenfolge wie die Stickrei­ henfolge der Flächen A-G abgenommen werden, wie dies in Fig. 16 dargestellt ist. Auf Schritt S301 folgt Schritt S302, um zu bewer­ ten, ob der Bevor-Teilung-Stapel 76s leer ist, d. h., keine Index­ daten speichert. Da sich die Steuerung an einem Punkt unmittelbar nach dem Beginn der Datenerzeugungsoperation befindet, erfolgt in Schritt S302 eine negative Bewertung. Daher springt die Steuerung zu Schritt S303, um den zuletzt abgelegten Indexdatensatz vom Be­ vor-Teilung-Stapel 76s abzunehmen, wie dies in Fig. 16 dargestellt ist. Ein Satz von Umrißdaten, der durch den abgenommenen Satz von Indexdaten bestimmt wird, wird angegeben, um in den folgenden Schritten geprüft zu werden (im weiteren abkürzend als gegenwär­ tige Umrißdaten bezeichnet).
Auf Schritt S303 folgt Schritt S304, um die gegenwärtigen Umrißda­ ten aus dem Umrißdatenbereich 76c auszulesen und auf der Basis der Umrißdaten die zwei am weitesten voneinander entfernten Vertizes aller Vertizes des Polygones auszuwählen, das die von den gegen­ wärtigen Umrißdaten dargestellte Fläche approximiert (im weiteren als gegenwärtige Polygon bezeichnet). Die zwei am weitesten von­ voneinander entfernten Vertizes werden als Minimum- bzw. Maximumposi­ tion des gegenwärtigen Polygones definiert. Genauer gesagt wird derjenige der zwei am weitesten voneinander entfernten Vertizes, der den kleineren X-Koordinatenwert aufweist, als Minimumposition definiert (im weiteren als Minimumvertex bezeichnet), während der andere Vertex mit dem größeren X-Koordinatenwert als Maximumposi­ tion definiert wird (im weiteren als Maximumvertex bezeichnet). In den Figuren werden der Minimum- und Maximumvertex als PMIN bzw. PMAX bezeichnet. Es wird ein Satz von Minimum- und Maximumpositi­ onsdaten, die die Minimum- und Maximumvertizes darstellen, erzeugt und im Minimum-/Maximum-Positionsdatenbereich 76r gespeichert, so daß der gespeicherte Satz von Daten mit dem gegenwärtigen Polygon oder den gegenwärtigen Umrißdaten zusammenhängt. Auf Schritt S304 folgt Schritt S305. Schritt S305 stellt die in Fig. 6 (6A und 6B) gezeigte Routine dar.
Zuerst wird in Schritt S71 der Fig. 6 der Satz von Minimum- und Maximumpositionsdaten, der zum gegenwärtigen Polygon gehört, aus dem Minimum-/Maximum-Positionsdatenbereich 76r gelesen.
In Schritt S71 von Fig. 6 werden die den Maximum- und Minimumposi­ tionen PMAX bzw. PMIN des gegenwärtigen Polygones entsprechenden Daten vom Speicherbereich 76g gelesen. Schritt S71 ist gefolgt von Schritt S72 zum Definieren der Richtung einer geraden Linie durch die Minimum- und Maximumvertizes als Longitudinalrichtung des ge­ genwärtigen Polygones. Ferner werden die gegenwärtigen Umrißdaten aus dem Umrißdatenbereich 76c gelesen und derart modifiziert, daß das gegenwärtige Polygon im X-Y-Koordinatensystem gedreht wird, so daß dessen Longitudinalrichtung parallel zur X-Achse des Koordina­ tensystemes wird. Ferner wird in Schritt S72 der Umriß des gegen­ wärtigen Polygones an den Maximal- und Minimalvertizes in zwei Be­ reiche unterteilt und es wird für jeden der zwei Bereiche ein Ver­ tex mit dem minimalen Y-Koordinatenwert aller Vertizes des jewei­ ligen Bereiches (mit Ausnahme der Minimum- und Maximumvertizes) bestimmt. Einer der beiden Polygonbereiche, dessen minimale Y-Ko­ ordinate größer als diejenige des anderen Polygonbereiches ist, wird als oberer Bereich und der andere Bereich als der untere Be­ reich festgelegt.
Anschließend werden in Schritt S73 ein erster Indikator FU für den oberen Polygonbereich und ein zweiter Indikator FL für den unteren Polygonbereich jeweils auf null zurückgesetzt. Ist der erste Indi­ kator gleich eins, so bedeutet dies, daß der obere Bereich auf einen nach außen deformierenden Vertex geprüft wird. In ähnlicher Weise bedeutet die Tatsache, daß der zweite Indikator gleich eins ist, daß der untere Bereich aus demselben Grund geprüft wird. Auf Schritt S73 folgt Schritt S74, um zu bestimmen, ob die Zahl der Vertizes des oberen Polygonbereiches größer als diejenige des un­ teren Polygonbereiches ist. Erfolgt in Schritt S74 eine positive Bewertung, so springt die Steuerung zu Schritt S76, um den ersten Indikator auf eins zu setzen, d. h., FU=1. Erfolgt demgegenüber in Schritt S74 eine negative Bewertung, so springt die Steuerung zu Schritt S87, um den zweiten Indikator auf eins zu setzen, d. h., FL=1.
Es wird nun angenommen, daß in Schritt S74 eine positive Bewertung erfolgte und die Steuerung zu Schritt S77 fortschreitet. In Schritt S77 werden alle Vertizes auf dem oberen Bereich mit Aus­ nahme der Minimum- und Maximumvertizes in der Reihenfolge der An­ ordnung oder der Position der Vertizes, beginnend mit einem Ver­ tex, der auf den Minimumvertex folgt, und endend mit einem Vertex, der dem Maximumvertex vorangeht, nach einem deformierenden Vertex bezüglich der X-Achse, d. h., der Longitudinalrichtung des gegen­ wärtigen Polygones, untersucht.
Es wird genauer gesagt überprüft, ob das Vorzeichen des Wertes, der durch Subtraktion des X-Koordinatenwertes des gegenwärtig überprüften Vertex von dem des nachfolgenden Vertex, der anschlie­ ßend überprüft wird, sich vom Vorzeichen des Wertes unterscheidet, der durch Subtraktion des X-Koordinatenwertes des vorhergehenden Vertex, der gerade vorher überprüft worden ist, von demjenigen des gegenwärtigen Vertex erhalten wird. Ist das Prüfungsergebnis posi­ tiv, so wird der gegenwärtige Vertex als Deformationsvertex er­ kannt. Ist das Ergebnis demgegenüber negativ, so stellt der gegen­ wärtige Vertex keinen deformierenden Vertex dar.
Wird in Schritt S77 der gegenwärtige Vertex als Deformationsvertex erfaßt, d. h., in Schritt S77 erfolgt eine positive Bewertung, so springt die Routine zu Schritt S78, um zu beurteilen, ob der De­ formationsvertex einen nach außen deformierenden Vertex darstellt oder nicht. Für den Fall, daß der Deformationsvertex zum oberen Polygonbereich gehört, wird genauer gesagt beurteilt, ob sich der nachfolgende Vertex in Blickrichtung eines Vektors, der am vorher­ gehenden Vertex beginnt und beim Deformationsvertex endet, links vom Deformationsvertex befindet. Gehört der Deformationsvertex demgegenüber zum unteren Polygonbereich, so wird ermittelt, ob sich der dem gegenwärtigen Vertex nachfolgende Vertex in Blick­ richtung eines Vektors, der am vorhergehenden Vertex beginnt und beim Deformationsvertex endet, rechts vom Deformationsvertex be­ findet. Ist die Beurteilung positiv, so wird in beiden Fällen der Deformationsvertex als nach außen vorspringender Vertex erkannt. Erfolgt demgegenüber eine negative Beurteilung, so wird der Defor­ mationsvertex als ein nach innen springender Vertex betrachtet.
Wird beim Prüfen des oberen Bereiches ein nach außen deformieren­ der Vertex gefunden, d. h., in Schritt S78 erfolgt eine positive Bewertung, springt die Steuerung zu Schritt S79, um den nach außen deformierenden Vertex als Unterteilungsbasisposition (Vertex) festzulegen. Auf Schritt S79 folgt Schritt S80, um einen Zusammen­ wirkungsvertex festzulegen, der mit dem ersten Unterteilungsbasis­ vertex für die Definition einer Unterteilungslinie zusammenwirkt. Genauer gesagt wird das X-Y-Koordinatensystem zuerst parallelver­ schoben, so daß dessen Ursprung mit dem ersten Unterteilungsbasis­ vertex zusammenfällt, und dann werden all diejenigen Vertizes er­ mittelt, die sich in einem der vier Quadranten des verschobenen X- Y-Koordinatensystemes befinden, der eine erste Halbgerade enthält, die am Ursprung (d. h., dem ersten Unterteilungsbasisvertex) be­ ginnt und sich in Richtung eines Vektors erstreckt, der beim vor­ herigen Vertex des ersten Unterteilungsbasisvertex (d. h., dem Ur­ sprung) beginnt und sich zum Ursprung erstreckt, oder einem der vier Quadranten befinden, der eine zweite Halbgerade enthält, die am Ursprung beginnt und sich in Richtung eines Vektors erstreckt, der am nachfolgenden Vertex des ersten Unterteilungsbasisvertex (d. h., dem Ursprung) beginnt und am Ursprung endet, wobei die Ver­ tizes zum oberen Bereich gehören. Für den Fall, daß ein einzelner Vertex ermittelt wird, wird der einzelne Vertex als Zusammenwir­ kungsvertex bestimmt. Für den Fall, daß eine Mehrzahl von Vertizes ermittelt wird, wird der dem Ursprung am nächsten liegende Vertex als Zusammenwirkungsvertex festgelegt. Für den Fall jedoch, bei dem sich die ersten und zweiten Halbgeraden in einem einzigen Qua­ dranten befinden und kein geeigneter Vertex im gemeinsamen Qua­ dranten ermittelt wurde, wird dieselbe Operation, wie oben be­ schrieben worden ist, in einem Quadranten ausgeführt, der dem fraglichen Quadranten bezüglich der X-Achse des verschobenen X-Y- Koordinatensystemes gegenüberliegt.
Eine gerades Segment, das den ersten Unterteilungsbasisvertex und den Zusammenwirkungsvertex verbindet, wirkt als erste Teilungsli­ nie. Auf den Schritt S80 folgt Schritt S81, um zu beurteilen, ob die in Schritt S80 ermittelte Teilungslinie den unteren Bereich kreuzt. Kreuzt die erste Teilungslinie den unteren Bereich nicht, so erfolgt in Schritt S81 ein negative Beurteilung, und die Steue­ rung schreitet zu Schritt S82 fort, um das gegenwärtige Polygon in zwei unterteilte Polygone zu unterteilen, die die erste Teilungs­ linie gemeinsam haben. Folglich wird die vom gegenwärtigen Polygon approximierte Fläche in zwei unterteilte Flächen aufgeteilt, die jeweils vom entsprechenden der zwei unterteilten Polygone approxi­ miert werden. Ferner werden in Schritt S82 zwei Sätze von Unter­ teilungsumrißdaten, die jeweils eine der zwei unterteilten Flächen darstellen, auf der Basis der gegenwärtigen Umrißdaten und der er­ sten Teilungslinie erzeugt. Zusätzlich wird ein dritter Indikator, d. h., ein erster Unterteilungsindikator auf eins gesetzt.
Schritt S82 wird gefolgt von Schritt S83, um die beiden Sätze der Daten des unterteilten Umrisses (im weiteren als unterteilte Um­ rißdaten bezeichnet) zu modifizieren, so daß die beiden unterteil­ ten Umrißbereiche im X-Y-Koordinatensystem gedreht und dadurch die ursprüngliche Winkelstellung des gegenwärtigen Polygones relativ zur X-Achse wieder hergestellt wird. Ferner werden in Schritt S83 zwei Sätze von unterteilten Umrißdaten im Unterteilungsumriß-Da­ tenbereich 76d gespeichert und es wird ein Satz von ersten Unter­ teilungsdaten, die eine Entsprechung zwischen den gegenwärtigen Umrißdaten und den zwei Sätzen von unterteilten Umrißdaten ange­ ben, erzeugt und im Unterteilungsdatenbereich 76f abgespeichert. Somit ist ein Zyklus der in Fig. 6 dargestellten Routine beendet.
Demgegenüber erfolgt in Schritt S81 eine positive Bewertung, falls die in Schritt S80 ermittelte erste Teilungslinie den unteren Be­ reich kreuzt. Daher schreitet die Steuerung zu Schritt S84 fort, um alle Kreuzungen der ersten Unterteilungslinie mit dem unteren Bereich zu bestimmen, eine Seite, zu der sich die dem Ursprung am nächsten stehende Kreuzung befindet, auszuwählen, und einen der beiden an gegenüberliegenden Enden der ausgewählten Seite befind­ lichen Vertizes, der dem Ursprung näher ist, als neuen Zusammen­ wirkungsvertex zu definieren, der mit dem Ursprung (d. h., dem er­ sten Unterteilungsbasisvertex) zusammenwirkt, um eine neue erste Teilungslinie zu definieren.
Es ist der Fall beschrieben worden, bei dem der in Schritt S77 als erstes ermittelte Deformationsvertex einen nach außen deformieren­ den Vertex darstellt. Stellt der Deformationsvertex jedoch einen nach innen deformierenden Vertex dar, d. h., in Schritt S78 er­ folgte eine negative Beurteilung, so kehrt die Steuerung zu Schritt S77 zurück, um den oberen Bereich nach einem anderen De­ formationsvertex abzusuchen. Diese Überprüfung wird mit den rest­ lichen Vertizes des oberen Bereiches ausgeführt, die dem nach in­ nen deformierenden Vertex folgen. Die Schritte S77 und S78 werden für all diese Vertizes des oberen Bereiches wiederholt.
Weist der obere Bereich keinen nach außen deformierenden Vertex auf und erfolgt in Schritt S77 eine negative Beurteilung, so fährt die Steuerung mit Schritt S85 fort, um zu beurteilen, ob der erste Indikator FU=1 und gleichzeitig der zweite Indikator FL=0 ist oder nicht. Das bedeutet, daß ermittelt wird, ob der obere Polygonbe­ reich überprüft worden ist oder nicht und ob der untere Polygonbe­ reich nicht überprüft worden ist. Da in dieser Situation in Schritt S85 eine positive Bewertung erfolgt, schreitet die Steue­ rung zu Schritt S87 und den folgenden Schritten fort, um dieselbe Operation wie oben beschrieben zum Prüfen des unteren Bereiches auszuführen.
In Schritt S87 wird genauer gesagt der zweite Indikator FL auf eins gesetzt und anschließend in Schritt S77 der untere Polygonbe­ reich nach einem Deformationsvertex abgesucht. Erfolgt in Schrit­ ten S77 eine positive Beurteilung, so werden Schritt S78 und die folgenden Schritte wie oben beschrieben ausgeführt. Falls anderer­ seits der untere Polygonbereich keinen nach außen deformierenden Vertex aufweist, d. h., falls in Schritt S77 eine negative Beurtei­ lung zustande kommt, so fährt die Steuerung mit Schritt S85 fort, um zu prüfen, ob der erste Indikator FU=1 und gleichzeitig der zweite Indikator FL=0 ist. Da in diesem Fall der zweite Indikator FL im Zustand FL=1 ist, erfolgt in Schritt S85 eine negative Beur­ teilung. Daher schreitet die Steuerung zu Schritt S86 fort, um zu prüfen, ob der erste Indikator FU=0 und der zweite Indikator FL=1 ist oder nicht. Das bedeutet, daß in diesem Schritt ermittelt wird, ob der untere Polygonbereich überprüft und der obere Poly­ gonbereich nicht überprüft worden ist. Da sich in dieser Situation die ersten und zweiten Indikatoren FU und FL in den Zuständen FU=1 bzw. FL=1 befinden, erfolgt in Schritt S86 eine negative Beurtei­ lung. Damit ist ein Zyklus der Routine von Fig. 6 beendet.
Falls die Zahl der Vertizes des oberen Bereiches demgegenüber nicht größer als diejenige des unteren Bereiches ist, erfolgt in Schritt S74 eine negative Beurteilung und daher fährt die Steue­ rung mit Schritt S87 und den folgenden Schritten fort. Erfolgt in Schritt S77 eine negative Beurteilung, so ergibt sich in Schritt S85 ebenfalls eine negative Beurteilung und in Schritt S86 eine positive Bewertung. Die Steuerung springt daher zu Schritt S76 und den folgenden Schritten, um den oberen Bereich nach einem nach au­ ßen deformierenden Vertex abzusuchen. Damit ist ein Zyklus der Routine von Fig. 6 beendet.
Die Routine von Fig. 6, d. h., Schritt S305 in Fig. 5, wird von Schritt S306 gefolgt, um zu beurteilen, ob die vom gegenwärtigen Polygon approximierte Fläche in zwei unterteilte Flächen unter­ teilt worden ist, die von den entsprechenden zwei unterteilten Po­ lygonen approximiert werden. Falls das gegenwärtige Polygon in Schritt S82 in Fig. 6 in zwei unterteilte Polygone unterteilt wor­ den ist, wird der dritte Indikator bzw. der erste Unterteilungsin­ dikator auf eins gesetzt, wie dies oben beschrieben worden ist. Daher erfolgt die Beurteilung in Schritt S18 dadurch, daß über­ prüft wird, ob der dritte Indikator auf eins gesetzt ist oder nicht. Erfolgt in Schritt S306 eine positive Beurteilung, so schreitet die Steuerung zu Schritt S307 fort, um zwei Sätze von Indexdaten, die die zwei in Schritt S82 der Fig. 6 erzeugten Un­ terteilungsdatensätze bestimmen, zu erzeugen und im Bevor-Unter­ teilungs-Stapelbereich 76s zu speichern, wie dies in Fig. 16 ge­ zeigt ist. Erfolgt demgegenüber in Schritt S306 eine negative Be­ urteilung, so springt die Steuerung zu Schritt S308, um den Index­ datensatz, der die gegenwärtigen Umrißdaten festlegt, im Nach-Tei­ lungs-Stapelbereich 76t abzuspeichern. Die Schritte S302 bis S308 werden wiederholt, bis der Bevor-Teilungs-Stapelbereich 76s leer ist, d. h., keine Indexdaten mehr speichert, und in Schritt S302 eine positive Beurteilung erfolgt.
Eine aus der Ausführung der Routine von Fig. 6 resultierende un­ terteilte Fläche kann durch eine oder mehrere nachfolgende Ausfüh­ rungen der Routine weiter unterteilt werden. Die in der Routine von Fig. 6 zu verarbeitende Fläche (oder Satz von Umrißdaten hier­ für) sollte daher auch als unterteilte Fläche (oder Satz von un­ terteilten Umrißdaten hierfür) verstanden werden, die durch eine Ausführung der Routine erzeugt worden ist. Dies betrifft die (später zu beschreibende) Routine der Fig. 8.
Wird die Routine der Fig. 6 für einen Satz von Umrißdaten der Flä­ che E ausgeführt, so wird die Fläche in vier unterteilte Flächen E1, E2, E3 und E4 aufgeteilt, wie dies in Fig. 18 dargestellt ist.
Anschließend springt die Steuerung zu Schritt S17 der Fig. 4. Schritt S17 stellt die Routine für die zweite Unterteilung einer Fläche oder einer durch die Ausführung der Routine in Fig. 5 er­ zeugten unterteilten Fläche (im weiteren als Fläche bezeichnet) dar. Die Routine ist in Fig. 7 gezeigt. Aufgabe der zweiten Unter­ teilung ist es, eine Fläche in unterteilte Flächen zu unterteilen, so daß alle durch Verbinden eines jeden der Maximum- und Minimum­ vertizes der jeweiligen unterteilten Flächen und aller restlichen Vertizes der jeweiligen unterteilten Flächen erhaltenen Segmente in der Fläche enthalten sind, d.h., innerhalb des Umrisses der Fläche liegen. Da diese zweite Unterteilungsroutine im wesentli­ chen mit der in Fig. 5 dargestellten ersten Unterteilungsroutine übereinstimmt, wird im folgenden eine Beschreibung der gleichen Schritte weggelassen.
Zuerst werden in Schritt S401 der Fig. 7 alle im Nach-Teilungs- Stapelbereich 76t gespeicherten Sätze von Indexdaten zum Bevor­ Teilungs-Stapelbereich 76s übertragen und in diesem gespeichert. Die Schritte S402 bis S408 werden für jeden der Sätze von 99999 00070 552 001000280000000200012000285919988800040 0002004034157 00004 99880 Umrißda­ ten und/oder unterteilten Umrißdaten (beide im weiteren als Umriß­ daten bezeichnet) ausgeführt, die von den gespeicherten Indexda­ tensätzen bestimmt werden.
Schritt S405 stellt die in Fig. 8 (Fig. 8A und 8B) gezeigte Rou­ tine dar. Zuerst wird in Schritt S51 ein Satz von Minimum- und Ma­ ximumpositionsdaten für ein Polygon, das eine Fläche approximiert, die vom Umrißdatensatz dargestellt wird, der vom zuletzt abgeleg­ ten Indexdatensatz im Bevor-Teilung-Stapelbereich 76s bestimmt wird (im weiteren als gegenwärtige Polygon bezeichnet), vom Maxi­ mum/Minimumpositions-Datenbereich 76r eingelesen. Ferner wird die Richtung einer geraden Linie durch die Maximum- und Minimumposi­ tionen (Vertizes), die vom gelesenen Datensatz dargestellt werden, als Longitudinalrichtung des gegenwärtigen Polygones bestimmt. Der vom zuletzt abgelegten Indexdatensatz bestimmte Satz von Umrißda­ ten (im weiteren als gegenwärtige Umrißdaten bezeichnet) wird vom Umrißdatenbereich 76c oder dem Unterteilungsumrißdatenbereich 76d gelesen und derart modifiziert, daß das gegenwärtige Polygon so gedreht wird, daß dessen Longitudinalrichtung parallel zur X-Achse des X-Y-Koordinatensystemes wird, das für die Nähmaschine 8 defi­ niert worden ist. Ferner werden in Schritt S51 die oberen und un­ teren Bereiche des gegenwärtigen Polygones in derselben Weise wie in Schritt S72 der Fig. 6 bestimmt.
Anschließend werden in Schritt S52 Sätze von Indexdaten, die die ganzen Vertizes der oberen und unteren Bereiche mit Ausnahme der Maximum- und Minimumvertizes bestimmen, erzeugt und im Vertexsta­ pelbereich 76u derart gespeichert, daß, falls die gespeicherten Sätze von Indexdaten in LIFO-Weise (Last-In First-Out) abgenommen werden, zuerst die Sätze von Indexdaten für die Vertizes des obe­ ren Bereiches mit Ausnahme der Minimum- und Maximumvertizes begin­ nend mit dem Indexdatensatz für einen Vertex, der um zwei Vertizes vom Minimumvertex entfernt ist, und endend mit dem Indexdatensatz für den Maximumvertex ausgelesen werden. Dann werden die Sätze von Indexdaten für die Vertizes des unteren Bereiches mit Ausnahme der Minimum- und Maximumvertizes beginnend mit dem Indexdatensatz für einen Vertex, der zwei Vertizes vom Minimumvertex entfernt ist, und endend mit dem Indexdatum für den Maximumvertex abgenommen. Auf Schritt S52 folgt Schritt S53, um zu beurteilen, ob der Ver­ texstapel 76u leer ist oder nicht. In dieser Situation ergibt sich in Schritt S53 eine negative Beurteilung und die Steuerung schrei­ tet zu Schritt S54 fort, um das zuletzt abgelegte Indexdatum vom Vertexstapelbereich 76u abzunehmen. Der Vertex, der durch den ab­ genommenen Indexdatensatz festgelegt ist (im weiteren als gegen­ wärtiger Vertex bezeichnet), wird in den nachfolgenden Schritten überprüft.
In Schritt S55 wird ein gerades Segment bestimmt, das den Minimum­ vertex und den gegenwärtig überprüften Vertex verbindet. Auf Schritt S55 folgt Schritt S56, um zu beurteilen, ob das Segment im Innern des gegenwärtigen Polygones enthalten ist oder nicht. Ge­ nauer gesagt wird für den Fall, daß der gegenwärtige Vertex einen Vertex des oberen Bereich darstellt, beurteilt, ob der dem gegen­ wärtigen Vertex auf der Seite des Minimumvertex′ vorangehende Ver­ tex über dem Segment liegt oder nicht. Für den Fall, daß der ge­ genwärtige Vertex demgegenüber einen Vertex des unteren Bereiches darstellt, wird beurteilt, ob der dem gegenwärtigen Vertex voran­ gehende Vertex unterhalb des Segmentes liegt oder nicht. Erfolgt in Schritt S56 eine positive Beurteilung, so kehrt die Steuerung zu Schritt S53 zurück, um den dem gegenwärtigen Vertex auf der Seite des Maximumvertex′ nachfolgenden Vertex zu überprüfen.
Erfolgt demgegenüber in Schritt S56 eine negative Beurteilung, so schreitet die Steuerung zu Schritt S57 fort, um den dem gegenwär­ tigen Vertex vorangehenden Vertex als einen ersten Unterteilungs­ basisposition (Vertex) und ferner einen Zusammenwirkungsvertex zu bestimmen, der mit dem ersten Unterteilungsbasisvertex zusammen­ wirkt, um eine erste Teilungslinie zum Unterteilen des gegenwärti­ gen Polygones oder der vom Polygon approximierten Fläche in zwei unterteilte Polygone zu definieren. Genauer gesagt werden alle Vertizes des gegenwärtigen Polygones mit Ausnahme des ersten Un­ terteilungsbasisvertex′ und die dem Basisvertex vorangehenden oder nachfolgenden Vertizes, die mit dem ersten Unterteilungsbasisver­ tex zusammenwirken, um gerade Segmente zu definieren, die im ge­ genwärtigen Polygon enthalten sind, bestimmt, und der dem ersten Unterteilungsbasisvertex am nächsten liegende Vertex der bestimm­ ten Vertizes wird als Zusammenwirkungsvertex für den Basisvertex definiert.
Anschließend wird in Schritt S58 die vom gegenwärtigen Polygon ap­ proximierte Fläche durch die in Schritt S57 bestimmte erste Tei­ lungslinie in zwei unterteilte Flächen aufgeteilt und es werden auf der Basis der gegenwärtigen Umrißdaten und der ersten Tei­ lungslinie zwei Sätze von unterteilten Umrißdaten erzeugt, die je­ weils den Umriß einer entsprechenden der zwei unterteilten Flächen angeben. Die zwei Sätze von unterteilten Umrißdaten werden derart modifiziert, daß sie frei von der Drehung der Fläche vor der Un­ terteilung sind, und werden dann im Unterteilungsumriß-Datenbe­ reich 76c gespeichert. Zusätzlich wird in Schritt S58 ein Satz von zweiten Unterteilungsdaten erzeugt, der eine Entsprechung zwischen den gegenwärtigen Umrißdaten und den zwei Sätzen von unterteilten Umrißdaten angibt, und im Unterteilungsdatenbereich 76f gespei­ chert. Ferner wird ein vierter Indikator, d. h., ein zweiter Tei­ lungsindikator, auf eins gesetzt. Damit ist ein Zyklus der Routine in Fig. 8 (8A und 8B) beendet.
Erfolgt in Schritt S53 eine positive Beurteilung, d. h., es befin­ det sich kein Segment außerhalb des gegenwärtigen Polygones, so schreitet die Steuerung zu Schritt S59 fort, um den Inhalt des Vertexstapelbereiches 76i zu löschen, Sätze von Indexdaten, die die Vertizes des gegenwärtigen Polygones festlegen, zu erzeugen und diese im Vertexstapelbereich 76i zu speichern. Im Gegensatz zu Schritt S52 werden die Indexdaten jedoch so abgelegt, daß, falls die gespeicherten Sätze von Indexdaten in LIFO-Weise abgenommen werden, zuerst die Sätze von Indexdaten für die Vertizes des obe­ ren Polygonbereiches beginnen mit dem Indexdatum für einen Vertex, der zwei Vertizes vom Maximumvertex entfernt ist, und endend mit dem Indexdatum für den Minimumvertex ausgelesen werden. Dann wer­ den die Sätze von Indexdaten für die Vertizes des unteren Polygon­ bereiches beginnend mit dem Indexdatum für einen Vertex, der zwei Vertizes vom Maximumvertex entfernt ist, und endend mit dem Index­ datum des Minimumvertex′ abgenommen.
Es ist der Fall beschrieben worden, bei dem wenigstens eines der in Schritt S55 definierten Segmente nicht im gegenwärtigen Polygon enthalten ist. Demgegenüber erfolgt für den Fall, daß alle Seg­ mente innerhalb des Polygones liegen, in Schritt S53 eine positive Bewertung. Daher springt die Steuerung zu Schritt S59, um den Ver­ texstapel 76u zu löschen und Indexdatensätze für die Vertizes des gegenwärtigen Polygones erneut im Vertexstapelbereich 76u zu spei­ chern. Im Gegensatz zu Schritt S52 werden die Indexdatensätze je­ doch derart gespeichert, daß beim Auslesen der gespeicherten In­ dexdatensätze in LIFO-Weise (Last-In First-Out) zuerst die Index­ datensätze für die Vertizes des oberen Bereiches mit Ausnahme der Minimum- und Maximumvertizes beginnend mit dem Indexdatensatz für einen Vertex, der um zwei Vertizes vom Maximumvertex entfernt ist, und endend mit dem Indexdatensatz für den Minimumvertex abgenommen werden. Dann werden die Indexdatensätze für die Vertizes des unte­ ren Bereiches mit Ausnahme der Minimum- und Maximumvertizes begin­ nend mit dem Indexdatensatz für einen Vertex, der um zwei Vertizes vom Maximumvertex entfernt ist, und endend mit dem Indexdatensatz für den Minimumvertex abgenommen.
Anschließend wird in Schritt S60 beurteilt, ob der Vertexstapelbe­ reich 76u leer ist oder nicht. In dieser Situation erfolgt in Schritt S60 eine negative Beurteilung und die Steuerung schreitet zu Schritt S61 fort, um den zuletzt eingespeicherten Indexdaten­ satz aus dem Vertexstapelbereich 76u auszulesen. Der vom abgenom­ menen Indexdatensatz bestimmte Vertex wird in den folgenden Schritte als gegenwärtiger Vertex überprüft.
Auf Schritt S61 folgt Schritt S62, um ein gerades Segment zu defi­ nieren, das den Maximumvertex und den gerade überprüften Vertex verbindet. Auf Schritt S62 folgt Schritt S63, um zu beurteilen, ob sich das Segment im Innern des Polygones befindet oder nicht. Ge­ nauer gesagt wird für den Fall, daß der gegenwärtige Vertex zum oberen Bereich gehört, beurteilt, ob der dem gegenwärtigen Vertex vorangehende Vertex, der sich auf der Seite des Maximumvertex′ be­ findet, über dem Segment liegt. Für den Fall, daß der gegenwärtige Vertex demgegenüber einen Vertex des unteren Bereich darstellt, wird überprüft, ob sich der dem gegenwärtigen Vertex vorangehende Vertex unterhalb des Segmentes befindet. Erfolgt in Schritt S63 eine positive Beurteilung, so kehrt die Steuerung zu Schritt S60 zurück, um die dem gegenwärtigen Vertex auf der Seite des Minimum­ vertex nachfolgenden Vertizes zu überprüfen.
Erfolgt demgegenüber in Schritt S63 eine negative Bewertung, so schreitet die Steuerung zu Schritt S64 fort, um den dem gegenwär­ tigen Vertex vorangehenden Vertex als erste Unterteilungsbasispo­ sition (-vertex) zu bestimmen und eine Zusammenwirkungsposition (­ vertex) zu definieren, die mit dem ersten Unterteilungsbasisvertex zusammenwirkt, um wie in Schritt S57 eine erste Teilungslinie für die Unterteilung des gegenwärtigen Polygones oder der vom Polygon approximierten Fläche in zwei unterteilte Polygone oder zwei un­ terteilte Flächen, die von den entsprechenden unterteilten Polygo­ nen approximiert werden, zu definieren. Anschließend wird in Schritt S58 die vom gegenwärtigen Polygon approximierte Fläche durch die erste Teilungslinie in zwei unterteilte Flächen aufge­ teilt.
Für den Fall, daß alle in den Schritten S55 und S62 definierten Segmente innerhalb des gegenwärtigen Polygones liegen, d. h., es befindet sich kein Segment außerhalb des Polygones, so erfolgt sowohl in Schritt S56 als auch in Schritt S63 eine positive Beur­ teilung. Dies bedeutet, daß die vom gegenwärtigen Polygon approxi­ mierte Fläche nicht weiter unterteilt werden muß. Damit ist ein Zyklus der Routine von Fig. 8 beendet.
Auf die Routine der Fig. , 8, d. h., Schritt S405 der Fig. 7, folgt Schritt S406, um zu bewerten, ob die vom gegenwärtigen Polygon ap­ proximierte Fläche in zwei unterteilte Flächen unterteilt worden ist, die von den entsprechenden zwei unterteilten Polygonen appro­ ximiert werden. Ist das gegenwärtige Polygon in Schritt S58 der Fig. 8 unterteilt worden, so wurde der vierte Indikator bzw. zweite Unterteilungsindikator wie oben beschrieben auf eins ge­ setzt. Daher erfolgt die Bewertung in Schritt S406 durch Bewerten, ob der vierte Indikator auf eins gesetzt ist oder nicht. Erfolgt in Schritt S406 eine positive Bewertung, so schreitet die Steue­ rung zu Schritt S407 fort, um zwei Sätze von Indexdaten, die die zwei Sätze von im in Schritt S58 der Fig. 8 erzeugten Indexdaten darstellen, zu erzeugen und im Bevor-Teilung-Stapelbereich 76s zu speichern, wie in Fig. 16 dargestellt ist. Erfolgt andererseits in Schritt S406 eine negative Bewertung, so schreitet die Steuerung zu Schritt S408 fort, um den Indexdatensatz, der die gegenwärtigen Umrißdaten bezeichnet, im Nach-Teilungs-Stapelbereich 76t abzu­ speichern, wie in Fig. 17 dargestellt ist. Die Schritte S402 bis S408 werden wiederholt, bis der Bevor-Teilungs-Stapelbereich 76s leer ist, d. h., keine Indexdaten speichert, und in Schritt S402 eine positive Beurteilung erfolgt. Damit ist ein Zyklus der Rou­ tine der Fig. 7 beendet.
Wird die Routine der Fig. 7 für jede der vier unterteilten Flächen E1 bis E4 der Fläche E in Fig. 18 ausgeführt, so wird die unter­ teilte Fläche E1 weiter in zwei unterteilte Flächen E11 und E12, die unterteilte Fläche E2 in vier unterteilte Flächen E21, E22, E23, E24, und die unterteilte Fläche E3 in zwei unterteilte Flä­ chen E31 und E32 unterteilt. Demgegenüber wird die Fläche E4 nicht weiter unterteilt. Der Satz der ersten Unterteilungsdaten und die Sätze der zweiten Unterteilungsdaten für die Fläche E, die eine Entsprechung zwischen der Fläche E und den unterteilten Flächen E11, E12, E21, E22, E23, E24, E31, E32 und E4 angeben, sind in Fig. 20 dargestellt.
Auf die Routine der Fig. 8, d. h., Schritt S17 der Fig. 4, folgt Schritt S21, um den Inhalt n eines ersten Zählers, der die den Flächen zugeordnete Nummer angibt, auf eins zu setzen. Bezüglich der Flächen A-G werden Nummern in alphabetischer Reihenfolge, d. h., der Stickreihenfolge der Flächen A-G zugeordnet. Für den Fall, daß die unterteilten Flächen der Fläche mit der Nummer eins eine oder mehrere dreieckige unterteilte Flächen umfassen, die je­ weils von einem Dreieck als einem der unterteilten Polygone des die Fläche approximierenden Polygones approximiert werden, wird jede dreieckige unterteilte Fläche in eine viereckige Fläche umge­ wandelt, die von einem Viereck approximiert wird. Falls die Fläche beispielsweise eine weitere dreieckige unterteilte Fläche umfaßt, die der fraglichen dreieckigen unterteilten Fläche benachbart ist, wird die erste Teilungslinie, die die zwei dreieckigen unterteil­ ten Flächen voneinander trennt, eliminiert, so daß die fragliche dreieckige unterteilte Fläche in eine viereckige Fläche umgewan­ delt wird, wie dies in Fig. 21 dargestellt ist. Falls die Fläche ferner als die der dreieckigen unterteilten Fläche benachbarte Fläche eine nicht-dreieckige unterteilte Fläche umfaßt, die von einem Polygon, das von einem Dreieck verschieden ist, wie z. B. ei­ nem Viereck approximiert wird, so wird die dreieckige unterteilte Fläche in eine viereckige Fläche unterteilt, indem die erste Tei­ lungslinie, die die dreieckige unterteilte Fläche und die nicht­ dreieckige unterteilte Fläche voneinander abtrennt, durch eine neue erste Teilungslinie ersetzt wird, wie dies in Fig. 22 darge­ stellt ist. Im letzteren Fall kann eine dreieckige Fläche als Er­ gebnis der Modifizierung der dreieckigen unterteilten Fläche er­ zeugt werden. In einem solchen Fall wird die neue dreieckige Flä­ che in eine viereckige Fläche umgewandelt, indem die erste Tei­ lungslinie, die die neue dreieckige Fläche und eine benachbarte unterteilte Fläche, die verschieden ist von der modifizierten viereckigen Fläche, voneinander abtrennt, durch eine neue erste Teilungslinie ersetzt wird.
Da die Fläche E der Fig. 19 keine dreieckigen unterteilten Flächen aufweist, wird der Umriß der jeweiligen unterteilten Flächen der Fläche E durch die Ausführung des Schrittes S23 nicht geändert.
Auf Schritt S23 folgt Schritt S25, um die Anzahl L der unterteil­ ten Flächen, die zur Fläche mit der Nummer n gehören, in einem ge­ eigneten Speicherbereich des RAM 76 anzulegen. Anschließend wird in Schritt S27 der Inhalt oder Zählwert l eines zweiten Zählers, der die den unterteilten Flächen zugeordnete Nummer angibt, auf eins gesetzt. Auf Schritt S27 folgt Schritt S29. Schritt S29 stellt die in Fig. 9 (9A und 9B) gezeigte Routine dar. Aufgabe diese Routine ist es, eine unterteilte Fläche mit der Nummer l in Blöcke zu unterteilen.
Zu Beginn wird in Schritt S501 der Fig. 9 ein Satz von Minimum- und Maximumpositionsdaten, die den Maximum- und Minimumvertex des unterteilten Polygones angeben, das die unterteilte Fläche mit der Nummer l approximiert (im weiteren als gegenwärtige Polygon be­ zeichnet), vom Maximum-/Minimumpositions-Datenbereich 76r gelesen. Auf Schritt S501 folgt Schritt S502, um die Richtung einer geraden Linie durch den Minimum- und Maximumvertex als Longitudinalrich­ tung des gegenwärtigen Polygones zu bestimmen. Anschließend wird in Schritt S503 ein Satz von unterteilten Umrißdaten, der die unter­ teilte Fläche mit der Nummer l angibt (im weiteren als gegenwär­ tige Umrißdaten bezeichnet), vom Unterteilungsumriß-Datenbereich 76d gelesen und derart modifiziert, daß das gegenwärtige Polygon gedreht und damit dessen Longitudinalrichtung parallel zur X-Achse des X-Y-Koordinatensystemes wird.
Auf Schritt S503 folgt Schritt S504, um die Zahl der Vertizes auf dem oberen Bereich des gegenwärtigen Polygones mit der Zahl der Vertizes auf dem unteren Bereich zu vergleichen und denjenigen Be­ reich auszuwählen, der die kleinere Zahl von Vertizes aufweist. Für den Fall, daß die Zahl der Vertizes auf dem oberen Bereich gleich derjenigen des unteren Bereiches ist, wird der obere Be­ reich gewählt. Ferner werden in Schritt S504 gerade erste Hilfsli­ nien definiert, die senkrecht zur Longitudinalrichtung des gegen­ wärtigen Polygones, d. h., parallel zur Y-Achse des X-Y-Koordina­ tensystemes sind, und jeweils einen entsprechenden der Vertizes des einen ausgewählten Bereiches des Polygones durchlaufen. Die Kreuzung der jeweiligen ersten Hilfslinien und demjenigen der obe­ ren und unteren Bereiche, der dem anderen Bereich gegenüberliegt, zu dem der der jeweiligen ersten Hilfslinie entsprechende Vertex gehört, wird als Kandidaten für eine zweite Unterteilungsbasispo­ sition (-vertex) bestimmt, der mit dem zugehörigen Vertex zusam­ menwirkt, um eine zweite Unterteilungslinie zu definieren. Sätze von Hilfsliniendaten, die jeweils einen entsprechenden der Verti­ zes des ausgewählten Bereiches des gegenwärtigen Polygones und einen zum entsprechenden Vertex gehörenden zweiten Unterteilungs­ basiskandidaten (im weiteren als Kandidat bezeichnet) darstellen, werden im Hilfsliniendatenbereich 76a entsprechend der ersten Hilfslinie durch den entsprechenden einen Vertex und dessen Kandi­ daten gespeichert. In diesem Zusammenhang wird angenommen, daß eine erste Hilfslinie mit der Nummer Null den Minimumvertex und eine erste Hilfslinie mit der Nummer N den Maximumvertex durch­ läuft, wie dies in Fig. 30 dargestellt ist, die ein Beispiel für Hilfsliniendaten zeigt. Der Minimumvertex dient als Vertex und Kandidat für die erste Hilfsgerade mit der Nummer Null, während der Maximumvertex als Vertex und Kandidat für die erste Hilfsge­ rade mit der Nummer N dient.
Die Fig. 23 bis 29 zeigen Beispiele, bei denen die Zahl der Verti­ zes der oberen Bereiche kleiner als diejenige der unteren Bereiche ist. In den Figuren bezeichnet das Symbol Pn einen Vertex mit der Nummer n, während das Symbol Dn einen mit n numerierten Kandidaten für den Vertex Pn bezeichnet.
Auf Schritt S504 folgt Schritt S505 zur Speicherung der Nummer N in einem geeigneten Speicherbereich des RAM 76, die durch Subtrak­ tion von eins von der Zahl der ersten Hilfslinien, die für das ge­ genwärtige Polygon definiert worden sind, erhalten wird. Anschlie­ ßend wird in Schritt S506 der Inhalt n eines dritten Zählers auf eins gesetzt, der die den ersten Hilfslinien zugeordneten Nummern angibt. Auf Schritt S506 folgt Schritt S507, um zu bewerten, ob der Zählwert n nicht kleiner als die Zahl N ist. In dieser Situa­ tion erfolgt in Schritt S507 eine negative Bewertung und die Steuerung schreitet zu Schritt S508 fort, um für den Vertex Pn einen Vertex zu bestimmen, dessen X-Koordinatenwert der größte der X-Koordinatenwerte von allen Vertizes desjenigen Bereiches der oberen oder unteren Bereiche des gegenwärtigen Polygones ist, der vom anderen Bereich, zu dem der Pn gehört, verschieden ist, und deren X-Koodinatenwerte kleiner als der X-Koordinatenwert des Kan­ didaten Dn sind, der zum Vertex Pn gehört. Der so bestimmte Vertex wird für den Vertex Pn als hinten gegenüberliegender Vertex defi­ niert. Der hinten gegenüberliegende Vertex wird in den Figuren mit PR bezeichnet. Die Bestimmung des hinten benachbarten Vertex′ PR erfolgt auf der Basis der gegenwärtigen Umrißdaten. Schritt S508 ist von Schritt S509 gefolgt, um für den Vertex Pn einen Vertex zu bestimmen, dessen X-Koordinatenwert der kleinste der X-Koordina­ tenwerte aller Vertizes des oben angegebenen einen Bereiches und gleichzeitig größer als der X-Koordinatenwert des Kandidaten Dn ist. Der so bestimmte Vertex wird für den Vertex Pn als vorne ge­ genüberliegender Vertex definiert, der in den Figuren mit PF be­ zeichnet wird. Die Bestimmung des vorne gegenüberliegenden Vertex PF erfolgt in ähnlicher Weise auf der Basis der gegenwärtigen Um­ rißdaten. Der hinten gegenüberliegende Vertex PR stellt von den Vertizes, die sich auf der Seite des Minimumvertex des Kandidaten Dn befinden, denjenigen dar, der dem Kandidaten Dn am nächsten liegt, während der vorne gegenüberliegende Vertex PF von den Ver­ tizes auf der Seite des Maximumvertex des Kandidaten Dn denjenigen Vertex darstellt, der dem Kandidaten Dn am nächsten ist.
Anschließend wird in Schritt S510 beurteilt, ob der X-Koordinaten­ wert des auf der hinteren Seite gegenüberliegenden Vertex nicht größer als derjenige des Kandidaten (n-1) und gleichzeitig der X- Koordinatenwert des vorne gegenüberliegenden Vertex nicht kleiner als derjenige des Kandidaten (n+1) ist. Das bedeutet, daß bewertet wird, ob sich der auf der hinteren Seite gegenüberliegende Vertex nicht zwischen den Kandidaten n und (n-1) und gleichzeitig der auf der Vorderseite gegenüberliegende Vertex nicht zwischen den Kandi­ daten n und (n+1) liegt. Bezüglich des Beispieles in Fig. 23 er­ folgt in Schritt S510 eine positive Bewertung und die Steuerung springt zu Schritt S511, um den Mittelpunkt des geraden Segmentes, das die auf der hinteren und vorderen Seite gegenüberliegenden Vertizes verbindet, zu ermitteln und diesen Mittelpunkt als rich­ tige zweite Unterteilungsbasisposition für den Vertex Pn zu be­ stimmen, der in den Figuren mit D′n bezeichnet ist. Erfolgt demge­ genüber in Schritt S510 eine negative Beurteilung, so schreitet die Steuerung zu Schritt S512 fort, um zu prüfen, ob der X-Koordi­ natenwert des auf der hinteren Seite gegenüberliegenden Vertex größer als derjenige des Kandidaten (n-1) und ob gleichzeitig der X-Koordinatenwert des auf der vorderen Seite gegenüberliegenden Vertex nicht kleiner als derjenige des Kandidaten (n+1) ist. Das bedeutet, daß bewertet wird, ob sich der auf der hinteren Seite gegenüberliegende Vertex zwischen den Kandidaten n und (n-1) und der auf der vorderen Seite gegenüberliegende Vertex nicht zwischen den Kandidaten n und (n+1) befindet. Bezüglich des Beispieles in Fig. 24 erfolgt in Schritt S512 eine positive Bewertung und die Steuerung schreitet zu Schritt S513 fort, um den auf der hinteren Seite gegenüberliegenden Vertex als richtige zweite Unterteilungs­ basisposition zu bestimmen. Erfolgt in Schritt S512 jedoch eine negative Bewertung, so springt die Steuerung zu Schritt S514, um zu prüfen, ob der X-Koordinatenwert des auf der hinteren Seite ge­ genüberliegenden Vertex nicht größer als derjenige des Kandidaten (n-1) und ob gleichzeitig der X-Koordinatenwert des auf der vorde­ ren Seite gegenüberliegenden Vertex kleiner als derjenige des Kan­ didaten (n+1) ist. Das bedeutet, daß überprüft wird, ob sich der auf der hinteren Seite benachbarte Vertex nicht zwischen den Kan­ didaten n und (n-1) und ob sich der auf der vorderen Seite gegen­ überliegende Vertex zwischen den Kandidaten n und (n+1) befindet. Bezüglich des Beispieles in Fig. 25 erfolgt in Schritt S514 eine positive Bewertung und die Steuerung springt zu Schritt S515, um den auf der vorderen Seite gegenüberliegenden Vertex als richtige zweite Unterteilungsbasisposition zu bestimmen.
Für den Fall, daß sich der auf der hinteren Seite gegenüberlie­ gende Vertex zwischen den Kandidaten n und (n-1) befindet und gleichzeitig der auf der vorderen Seite gegenüberliegende Vertex zwischen den Kandidaten n und (n+1) liegt, d. h., erfolgt in den Schritten S510, S512 und S514 jeweils eine negative Bewertung, so springt die Steuerung zu Schritt S516, um zwei gerade zweite Hilfslinien zu definieren, die parällel zur Y-Achse sind und durch den hinten bzw. vorne gegenüberliegenden Vertex laufen, und Kreu­ zungen zwischen den jeweiligen zweiten Hilfslinien und dem oben angegebenen anderen Bereich, zu dem der Vertex Pn gehört, des ge­ genwärtigen Polygones zu bestimmen. Die beiden Kreuzungen werden in den Figuren mit Dm und Dm+1 bezeichnet. Folglich werden auf beiden Seiten einer ersten Hilfslinie n zwei Blöcke erzeugt. Diese zwei Blöcke sind zwei Blöcken n, (n+1) äquivalent, die auf beiden Seiten einer geraden dritten Hilfslinie n erzeugt werden, indem bezüglich eines jeden Vertex auf dem oberen und unteren Bereich des gegenwärtigen Polygones eine dritte Hilfslinie definiert wird, die den jeweiligen Vertex durchläuft und parallel zur Y-Achse ist. Jeder Block wird von vier Seiten eingeschlossen, wobei zwei von diesen von entsprechenden zwei der dritten Hilfslinien und die beiden anderen durch entsprechende zwei der geraden Segmente, die sich aus der Unterteilung des Umrisses oder der Seiten des gegen­ wärtigen Polygones durch die dritten Hilfslinien ergeben, defi­ niert werden. Die zwei dritten Hilfslinien eines jeden Blockes liegen einander in Richtung der X-Achse oder der Longitudinalrich­ tung gegenüber, während die zwei Seitensegmente eines jeden Bloc­ kes einander in Richtung parallel zur Y-Achse gegenüberliegen. Ferner wird in Schritt S516 bezüglich des Blockes n ein Referenz­ vektor n folgendermaßen bestimmt: Zuerst wird ein erster Vektor, der an einem der gegenüberliegenden Enden von einem der einander gegenüberliegenden zwei Seitensegmenten des Blockes n beginnt und am anderen Ende des einen Seitensegmentes endet, und ein zweiter Vektor, der an einem der gegenüberliegenden Enden des anderen Sei­ tensegmenten beginnt, wobei dieses eine Ende dem einen Ende des einen Seitensegmentes gegenüberliegt, und der am anderen Ende des anderen Seitensegmentes endet, wobei dieses Ende dem anderen Ende des einen Seitensegmentes gegenüberliegt. Dann wird ein Vektor, der an einer Position auf einer dritten Hilfslinie mit der Nummer (n-1) beginnt, sich in Richtung eines Vektors erstreckt, der durch Addition des ersten und zweiten Vektors erhalten wird, und an ei­ ner Stelle auf der dritten Hilfslinie mit der Nummer n endet, als Referenzvektor n bestimmt, wobei die Endposition des Referenzvek­ tors n auf der dritten Hilfslinie n gleichzeitig als Startposition eines Referenzvektor (n+1) dient. Der Minimumvertex dient als Startposition der ersten und zweiten Vektoren für den Block, zu dem der Minimumvertex gehört, und gleichzeitig als Startposition eines Referenzvektors mit der Nummer eins, während der Maximumver­ tex als Endposition der ersten und zweiten Vektoren für den Block, zu dem der Maximumvertex gehört, und gleichzeitig als Endeposition eines Referenzvektors mit der Nummer N dient. Die beiden Blöcke, zu denen die Minimum- und Maximumvertizes gehören, bilden Drei­ ecke, während die anderen Blöcke Vierecke darstellen. Die Start­ und Endeposition auf der dritten Hilfslinie n wird als Referenzpo­ sition n bezeichnet. Die Referenzposition n fällt mit dem Mittel­ punkt eines inneren Segmentes der geraden dritten Hilfsgeraden n, das sich innerhalb des gegenwärtigen Polygones befindet, zusammen. Ferner wird ein zusammengesetzter Referenzvektor n durch Addition der Referenzvektoren n und (n+1) erhalten. Schließlich wird eine gerade Linie als Referenzlinie n bestimmt, die senkrecht zum zu­ sammengesetzten Referenzvektor n ist und durch den Vertex Pn hin­ durchläuft. Diese Referenzlinie n wird in den Figuren mit LREF be­ zeichnet.
Auf Schritt S516 folgt Schritt S517 zur Bestimmung eines Winkels RR zwischen der Referenzlinie n und einer geraden hinten gegen­ überliegenden Linie, die durch den Vertex Pn und den hinten gegen­ überliegenden Vertex PR läuft, und eines Winkels RF zwischen der Referenzlinie n und einer geraden vorne gegenüberliegenden Linie, die durch den Vertex Pn und den vorne gegenüberliegenden Vertex PF läuft. Ferner wird in Schritt S517 beurteilt, ob der Winkel RR kleiner als der Winkel RF ist oder nicht. Das bedeutet, daß ge­ prüft wird, ob die hinten gegenüberliegende Linie der Referenzli­ nie n näher als die vorne gegenüberliegende Linie ist. Bezüglich des Beispieles H in Fig. 26 erfolgt in Schritt S517 eine positive Beurteilung und die Steuerung schreitet zu Schritt S513 fort, um den hinten gegenüberliegenden Vertex als richtigen Unterteilungs­ basisvertex zu bestimmen. Erfolgt demgegenüber in Schritt S517 eine negative Beurteilung, so schreitet die Steuerung zu Schritt S518 fort, um zu beurteilen, ob der Winkel RR größer als der Win­ kel RF ist oder nicht. Das bedeutet, es wird geprüft, ob die vorne gegenüberliegende Linie näher bei der Referenzlinie n ist als die hinten gegenüberliegende Linie. Bezüglich des Beispieles in Fig. 27 erfolgt in Schritt S518 eine positive Bewertung und die Steue­ rung springt zu Schritt S515, um den vorne gegenüberliegenden Ver­ tex als richtigen Unterteilungsbasisvertex zu bestimmen. Erfolgt demgegenüber in Schritt S518 eine negative Beurteilung, d. h., der Winkel RR ist gleich dem Winkel RF, so schreitet die Steuerung zu Schritt S519 fort, um einen Winkel R′R zwischen der ersten Hilfs­ linie n und der hinten gegenüberliegenden Linie und einen Winkel R′F zwischen der ersten Hilfslinie n und der vorne gegenüberlie­ genden Linie zu ermitteln. Ferner wird in Schritt S519 beurteilt, ob der Winkel R′R kleiner als der Winkel R′F ist oder nicht. Das bedeutet, es wird geprüft, ob die hinten gegenüberliegende Linie der ersten Hilfslinie n näher als die vorne gegenüberliegende Li­ nie ist oder nicht. Bezüglich des Beispieles der Fig. 28 erfolgt in Schritt S519 eine positive Bewertung und die Steuerung springt zu Schritt S513, um den hinten gegenüberliegenden Vertex als rich­ tigen zweiten Unterteilungsbasisvertex zu bestimmen. Ist demgegen­ über wie beim Beispiel in Fig. 29 der Winkel R′R größer als der Winkel R′F oder sind die beiden Winkel gleich, so erfolgt in Schritt S519 eine negative Beurteilung und die Steuerung springt zu Schritt S515, um den vorne gegenüberliegenden Vertex als rich­ tigen zweiten Unterteilungsbasisvertex zu bestimmen.
Nachdem auf diese Weise der richtige zweite Unterteilungsbasisver­ tex D′n für den Vertex Pn ermittelt worden ist, springt die Steue­ rung zu Schritt S520, um den Zählwert n des ersten Zählers um eins zu erhöhen und anschließend kehrt die Steuerung zu Schritt S507 zurück. Die Schritte S507 bis S520 werden bezüglich jeder ersten Hilfslinie beginnend mit der Linie mit der Nummer eins und endend mit der Linie mit der Nummer (N-1) ausgeführt. Stimmt der Zählwert n mit der Zahl N überein, so erfolgt in Schritt S507 eine positive Bewertung und die Steuerung springt zu Schritt S521, um Vertizes zu finden, für die keine entsprechenden richtigen zweiten Unter­ teilungsbasisvertizes ermittelt worden sind, und um die richtigen zweiten Unterteilungsbasispositionen für diese restlichen Vertizes zu bestimmen.
Für den Fall, daß die Zahl der Vertizes des oberen Bereiches des gegenwärtigen Polygones nicht gleich derjenigen des unteren Berei­ ches ist, beispielsweise in einem Fall, in dem erster kleiner als letztere ist, bleiben auf dem unteren Bereich ein paar Vertizes übrig, für die durch die Ausführung der Schritte S507 bis S520 keine entsprechenden richtigen zweiten Unterteilungsbasispositio­ nen bestimmt worden sind. Schritt S521 dient zur Ermittlung rich­ tiger zweiter Unterteilungsbasispositionen für die verbleibenden Vertizes. Genauer gesagt wird zuerst auf demjenigen der oberen und unteren Bereiche, der vom anderen Umrißbereich verschieden ist, zu dem einer oder mehrere verbleibende Vertizes gehören, ein Paar von Vertizes bestimmt, deren zweiten Unterteilungsbasispositionen (-vertizes) gleich dem vorherigen bzw. nachfolgenden Vertex des einen oder der mehreren restlichen Vertizes sind. Als zweites wird nun eine Seite, die das Paar der bestimmten Vertizes verbindet, intern im Verhältnis unterteilt, in dem die X-Achse durch die Lote des vorangehenden Vertex, des einen oder der mehreren restlichen Vertizes und des folgenden Vertex unterteilt wird. Der auf diese Weise erhaltene intern unterteilende Punkt oder die unterteilenden Punkte werden als richtige zweite Unterteilungsbasisposition oder -positionen für den oder die verbleibenden Vertizes bestimmt. Be­ züglich des Beispieles in Fig. 31 ist die Zahl der Vertizes auf dem unteren Bereich des Polygones größer als diejenige auf dem oberen Bereich und der untere Bereich weist zwischen dem vorange­ henden Vertex P12 und dem nachfolgenden Vertex P7 vier übrige Ver­ tizes P11, P10, P9 und P8 auf. In diesem Fall wird eine Seite, die die Vertizes P2 und P3 verbindet, die die Vertizes P12 und P7 als zweite Unterteilungsbasispositionen besitzen, intern im Verhältnis der Unterteilung der X-Achse durch die Lote der Vertizes P12, P11, P10, P9, P8, P7 auf die X-Achse unterteilt. Die somit erhaltenen vier intern unterteilenden Positionen D11, D10, D9, D8 werden als richtige zweite Unterteilungsbasispositionen für die vier verblei­ benden Vertizes P11, P10, P9 bzw. P8 festgelegt.
Auf Schritt S521 folgt Schritt S522, in dem das gegenwärtige Poly­ gon durch die zweiten Teilungslinien, die jeweils einen der Verti­ zes Pn und die entsprechenden zweite Unterteilungsbasispositionen D′n verbindet, in Blöcke unterteilt. Es werden Sätze von Blockda­ ten, die jeweils einen Block angeben, erzeugt. Jeder Satz von Blockdaten umfaßt Positionsdatensätze für die Vertizes und zweiten Unterteilungsbasispositionen, die zum jeweiligen Block gehören. Die Blockdaten werden modifiziert, um den Effekt der Drehung des gegenwärtigen Polygones vor der Unterteilung zu eliminieren und werden dann im Blockdatenbereich 76e gespeichert. Ferner wird ein Satz von Blockunterteilungsdaten, der eine Entsprechung zwischen dem gegenwärtigen Polygon (oder unterteilten Fläche) und den hierzu gehörenden Blöcken angibt, erzeugt, und im Unterteilungsda­ tenbereich 76f gespeichert. Damit ist ein Zyklus der Routinen von Fig. 9 beendet.
Wird die Routine der Fig. 9 bezüglich der unterteilten Flächen der Fig. 19 ausgeführt, so werden diese unterteilten Flächen in Blöcke unterteilt, wie dies in Fig. 32 gezeigt ist. In Fig. 32 bezeichnet das Symbol "" (kleines Viereck) einen neuen Vertex, der beim Unterteilen der unterteilten Fläche in Blöcke angegeben wird. Auch in den anderen Figuren bezeichnet das Symbol des kleinen Viereckes derartige neue Vertizes. Im weiteren werden die vom Bediener auf dem Monitor 112 angegebenen Vertizes als alte Vertizes bezeichnet.
Auf die Routine der Fig. 9, d. h., Schritt S29 in Fig. 4 folgt Schritt S31, um zu beurteilen, ob der Zählwert l des zweiten Zäh­ lers nicht kleiner als die Zahl L ist. Erfolgt in Schritt S31 eine negative Bewertung, so springt die Steuerung zu Schritt S33, um den Zählwert l um eins zu erhöhen, und kehrt dann zu Schritt S29 zurück. Erfolgt demgegenüber in Schritt S31 eine positive Bewer­ tung, so springt die Steuerung zu Schritt S35.
In Schritt S35 wird jeder der Blöcke, die zur unterteilten Fläche mit der Nummer n gehören, nach einem dreieckigen Block abgesucht, und jeder der dreieckigen Blöcke wird auf dieselbe Weise in einen viereckigen Block umgewandelt, wie dies in Schritt S23 bei der Um­ wandlung einer dreieckigen unterteilten Fläche in eine viereckige Fläche erfolgte. Für den Fall beispielsweise, daß ein dreieckiger Block durch drei alte Vertizes definiert ist und gleichzeitig ein benachbarter Block ein Dreieck darstellt, das ebenfalls durch drei alte Vertizes definiert ist, wie links in Fig. 21 dargestellt, wird die zweite Teilungslinie, die die zwei dreieckigen Blöcke voneinander trennt, eliminiert, so daß die zwei dreieckigen Blöcke in ein Viereck umgewandelt werden, wie dies auf der rechten Seite von Fig. 21 dargestellt ist. Ferner wird für den Fall, daß ein dreieckiger Block durch drei alte Vertizes definiert ist und gleichzeitig ein dem dreieckigen Block benachbarter Block ein Viereck darstellt, das durch vier alte Vertizes definiert wird, wie dies auf der linken Seite der Fig. 22 dargestellt ist, wird die zweite Teilungslinie, die den dreieckigen und den viereckigen Block voneinander abtrennt, durch eine neue zweite Teilungslinie ersetzt, so daß der dreieckige Block in ein Viereck umgewandelt wird, wie dies auf der rechten Seite der Fig. 22 dargestellt ist. Betrachtet man das Beispiel auf der linken Seite der Fig. 33, so erkennt man, daß ein dreieckiger Block durch drei alte Vertizes definiert ist und ein dem dreieckigen Block benachbarter Block ein Viereck darstellt, das durch drei alte Vertizes und einen neuen Vertex, der nicht zur zweiten Teilungslinie zwischen den zwei Blöcken gehört, definiert ist, wobei die Teilungslinie durch die­ jenige der zwei Diagonalen des Viereckes ersetzt wird, die den neuen Vertex nicht enthält, um den dreieckigen Block in ein Viereck umzuwandeln, wie dies auf der rechten Seite der Fig. 33 dargestellt ist. Beim Beispiel der Fig. 34, bei der der dem drei­ eckigen Block benachbarte Block ein Viereck darstellt und einer der zwei Vertizes an den gegenüberliegenden Enden der zweiten Tei­ lungslinie zwischen den zwei Blöcken einen neuen Vertex darstellt, wird die Teilungslinie eliminiert, um den dreieckigen Block in ein Viereck umzuwandeln, wie dies auf der rechten Seite dere Fig. 34 gezeigt ist. Beim Beispiel auf der linken Seite der Fig. 35, bei dem der einem Block benachbarte Block ein Viereck darstellt und zwei Vertizes, die einen Endpunkt der zweiten Teilungslinie zwi­ schen den zwei Blöcken bzw. einen der zwei Vertizes der Seite, die der Teilungslinie gegenüberliegt, darstellen, neue Vertizes sind, wird die Teilungslinie eliminiert, um den dreieckigen Block in ein Viereck umzuwandeln, wie dies auf der rechten Seite der Fig. 35 gezeigt ist. Als Ergebnis der Ausführung des Schrittes S35 werden die Blöcke der Fig. 32 in Blöcke der Fig. 36 umgewandelt, die aus Vierecken bestehen. Fig, 20 zeigt eine Entsprechung zwischen den jeweiligen unterteilten Flächen und den hierzu gehörenden modifi­ zierten Blöcken.
Auf Schritt S35 folgt Schritt S37. Schritt S37 stellt die in Fig. 10 gezeigte Routine dar. In der Routine der Fig. 10 wird die Stickreihenfolge zum Bilden der Stiche mit einem kontinuierlichen Faden und Füllen der jeweiligen zur Fläche mit der Nummer n gehö­ renden Blöcke bestimmt. In diesem Prozeß werden gegebenenfalls ei­ ner oder mehrere Stichpfade bestimmt, um die Fläche derart zu be­ sticken, daß der kontinuierliche Faden nicht über die Stiche, die die Blöcke füllen, oder außerhalb der Fläche läuft. Der Stichpfad wird benutzt, um entlang von diesem Stiche zu bilden und mit dem Faden einen der Blöcke und den entsprechend der Stickreihenfolge nachfolgenden Block mit dem kontinuierlichen Faden zu verbinden.
Es wird ein Fall beschrieben, in dem die Routine der Fig. 10 (10A, 10B, 10C, 10D, 10E, 10F, 10G, 10H, 10I, 10J, 10K) bezüglich der Fläche E der Fig. 36 ausgeführt wird.
Bevor die einzelnen Schritte der Routine in Fig. 10 beschrieben werden, erfolgt eine allgemeine Erläuterung der Routine. Der Block mit der Nummer acht stellt, wie oben beschrieben worden ist, einen Verbindungsblock dar. Zuerst bestimmt das vorliegende System den Block mit der Nummer 13, d. h., den Startblock, zu dem die Startpo­ sition gehört, als ersten zu bestickenden Block, und die Blöcke mit den Nummern 14 und 15 als zweiten bzw. dritten zu bestickenden Block. Der Block Nummer 15 stellt einen der vier dem Verbindungs­ block benachbarten Blöcke dar. Der Verbindungsblock wird jedoch nicht als vierter zu bestickender Block bestimmt. Es wird einer der drei dem Verbindungsblock benachbarten Blöcke ausgewählt, der vom Block Nummer 15 verschieden ist, und es wird der Endblock des Zweiges, zu dem der ausgewählte Block gehört, als vierter zu be­ stickender Block ausgewählt. Nachdem der Block mit der Nummer vier als vierter Block bestimmt worden ist, werden die Blöcke mit den Nummern drei, zwei und eins als fünfte, sechste bzw. siebte zu be­ stickende Blöcke bestimmt. Um die aufeinanderfolgenden Blöcke 15 und vier mit einem kontinuierlichen Faden zu besticken, ohne daß der Faden über den in den Blöcken gebildeten Stichen oder außer­ halb der Fläche E verläuft, wird in der Fläche ein im wesentlichen gerader oder polygonaler Stichpfad bestimmt, so daß die Nadel 24 entlang des Stichpfades vom Block Nummer 15 zum Block Nummer vier bewegt wird, während Stiche gebildet werden, die die zwei Blöcke verbinden, die Blöcke der Fläche E jedoch nicht besticken oder füllen. Ein Satz von in Schritt S39, der auf Schritt S37, d. h., der Routine der Fig. 10 folgt, gebildeten Stichpositionsdaten kann einen oder mehrere Sätze von Stichpfaddaten umfassen, die jeweils einen Satz von Positionsdaten enthalten. Diese stellen die Stich­ positionen dar, die zu einem der Stichpfade gehören, bei denen die Nadel 24 Stiche bildet.
Zu Beginn wird in Schritt S101 der Fig. 10 eine Initialisierung ausgeführt. Genauer gesagt werden die Endeblockindikatoren 76i, die Verbindungsblockindikatoren 76j, die Stickreihenfolgeindikato­ ren 76k, die Blockprüfungsindikatoren 761, die Stickpfadindikato­ ren 76p und die Verschiebungsindikatoren 76q jeweils auf Null ge­ setzt und der Stichpositions-Datenbereich 76h, der Verbindungs­ block-Datenbereich 76m, der Verzweigungsblock-Datenbereich 76n, der Stickreihenfolge-Datenbereich 76g und der Endblock-Datenbe­ reich 76v gelöscht. Auf Schritt S101 folgt Schritt S103, in dem eine Start- und eine Endposition bestimmt werden, bei den die Be­ stickung der Fläche E gestartet bzw. beendet werden soll. Die Start- und Endpositionen werden beispielsweise derart bestimmt, daß die Startposition die der vorangehenden Fläche D (Fig. 16) am nächsten liegende Position und die Endposition die der nachfolgen­ den Fläche F am nächsten liegende Position ist. Für die Fläche E werden die Positionen mit den Nummern 25 und eins als Start- bzw. Endposition bestimmt, wie dies in Fig. 37 gezeigt ist.
Auf Schritt S103 folgt Schritt S105, um den Satz von Untertei­ lungsdaten vom Unterteilungsdatenbereich 76f zu lesen, der der Fläche E zugeordnet ist, und die Zahl der zur Fläche E gehörenden Blöcke auf der Basis des Unterteilungsdatensatzes zu bestimmen. Die ermittelte Zahl M wird in einem geeigneten Speicherbereich des RAM 76 gespeichert. Da die Fläche E, wie in Fig. 37 dargestellt, 15 Blöcke umfaßt, wird die Zahl M=15 gespeichert. Anschließend wird in Schritt S107 der Inhalt oder Zählwert m eines dritten Zäh­ lers, der die den Blöcken der Fläche E zugeordnete Nummer angibt, auf eins gesetzt. Bei der vorliegenden Ausführungsform werden die Nummern den Blöcken der Fläche E in der Reihenfolge der Speiche­ rung dieser Blöcke im Blockdatenbereich 76e zugeordnet. Die in Fig. 40 in Kreise eingeschlossenen Zahlen geben die den Blöcken der Fläche E zugeordneten Nummern an.
Anschließend wird in Schritt S109 derjenige Blockdatensatz aus dem Blockdatenbereich 76e gelesen, der dem Block mit der Nummer m zu­ geordnet ist. Auf Schritt S109 folgt Schritt S111, um die Zahl der dem Block m benachbarten Blöcke, d. h., die Blöcke, die jeweils eine Seite (d. h., zweite Teilungslinie) mit dem Block m teilen (im weiteren als benachbarte Blöcke bezeichnet), auf der Basis des ge­ lesenen Blockdatensatzes, der der dem Block m zugeordnet ist, und den restlichen Blockdatensätzen im Blockdatenbereich 76e zu be­ stimmen. Die ermittelte Zahl X wird in einem geeigneten Speicher­ bereich des RAM 76 gespeichert. Betrachtet man beispielsweise den Block mit der Nummer eins, so erkennt man, daß dieser mit dem Block mit der Nummer acht die Seite, die die Positionen mit den Nummern vier und 13 verbindet (im weiteren mit Seite 4-13 abge­ kürzt), gemeinsam hat, und mit dem Block mit der Nummer zwei die Seite 5-12 gemeinsam hat. Diese Blöcke werden als benachbarte Blöcke bestimmt und somit wird die Zahl X=2 gespeichert.
Auf Schritt S111 folgt Schritt S113, um zu bewerten, ob die Zahl X gleich eins ist oder nicht. Ist die Zahl X gleich eins, so bedeu­ tet dies, daß der Block mit der Nummer m an einem Ende der Fläche E liegt, d. h., einen Endblock der Fläche E darstellt. Da bezüglich des Blockes mit der Nummer eins die Zahl X gleich zwei ist, er­ folgt in Schritt S113 eine negative Bewertung. Folglich springt die Steuerung zu Schritt S115, um zu bewerten, ob die Zahl X nicht kleiner als drei ist. Ist die Zahl X nicht kleiner als drei, so wird der Block mit der Nummer m als Verbindungsblock der Fläche E definiert. Da bezüglich des Blockes mit der Nummer eins die Zahl X gleich zwei ist, erfolgt in Schritt S115 eine negative Bewertung. Die Steuerung springt dann zu Schritt S117, um zu bewerten, ob der Zählwert m des dritten Zählers nicht kleiner als die Zahl M ist. Erfolgt in Schritt S117 eine negative Bewertung, so schreitet die Steuerung zu Schritt S119 fort, um den Zählwert m um eins zu erhö­ hen, und kehrt dann zu Schritt S109 zurück.
Die Schritte S109 bis S119 werden für alle der 15 Blöcke der Flä­ che E wiederholt. Die Ergebnisse zeigen, daß die Blöcke mit den Nummern zwei, drei, sechs, sieben, neun, zehn, elf, 14 und 15 we­ der einen Endblock noch einen Verbindungsblock wie der Block mit der Nummer eins darstellen, daß die Blöcke mit den Nummern vier, fünf, zwölf und 13 jeweils einen benachbarten Block aufweisen und daher Endblöcke sind, und daß der Block mit der Nummer acht, vier benachbarte Blöcke aufweist und damit einen Verbindungsblock dar­ stellt. Für jeden der vier Endblöcke erfolgt in Schritt S113 eine positive Bewertung und in Schritt S121 wird ein entsprechender Endblockindikator 76i auf eins gesetzt. Demgegenüber erfolgt für den Verbindungsblock mit der Nummer acht in Schritt S113 eine ne­ gative Bewertung und in Schritt S115 eine positive Bewertung, so daß in Schritt S123 ein entsprechender Verbindungsblockindikator 76j auf eins gesetzt wird.
Auf diese Weise wird für jeden Block, der zur Fläche E gehört, be­ urteilt, ob der jeweilige Block einen Endblock, einen Verbindungs­ block, oder keines von beiden darstellt.
Anschließend springt die Steuerung zu Schritt S125, um den Inhalt des Zählers 76o auf Null zu setzen, und dann zu Schritt S127, um aus dem Blockdatenbereich 76e den Blockdatensatz zu lesen, der dem Block zugeordnet ist, zu dem die Startposition der Fläche E gehört (im weiteren als Startblock bezeichnet). Bezüglich der Fläche E wird der Blockdatensatz für den Block mit der Nummer 13 gelesen. Auf Schritt S127 folgt Schritt S129, um zu bewerten, ob der Start­ block einen Endblock darstellt oder nicht. Für den Block mit der Nummer 13 erfolgt in Schritt S129 eine positive Bewertung und die Steuerung springt zu Schritt S131, um zu bewerten, ob der gerade überprüfte Block den Startblock darstellt. In dieser Situation er­ folgt in Schritt S131 eine positive Bewertung, so daß die Steue­ rung zu Schritt S133, um den Blockdatensatz für den gegenwärtigen Block im Stickreihenfolge-Datenbereich 76g zu speichern, und dann zu Schritt S135 fortschreitet, um den Stickreihenfolgeindikator 76k für den Block mit der Nummer 13 auf eins zu setzen. Auf Schritt S135 folgt Schritt S137, um den Block mit der Nummer 14 als alleinigen benachbarten Block des Startblockes zu bestimmen, und dann Schritt S139, um aus dem Blockdatenbereich 76e den Block­ datensatz für den angegebenen Block zu lesen. Anschließend kehrt die Steuerung zu Schritt S129 zurück.
Da der Block mit der Nummer 14 keinen Endblock darstellt, erfolgt in Schritt S129 eine negative Bewertung und die Steuerung springt zu Schritt S141, um zu bewerten, ob der gegenwärtig überprüfte Block einen Verbindungsblock darstellt. Für den Block mit der Num­ mer 14 erfolgt eine negative Bewertung in Schritt S141 und die Steuerung fährt mit dem Schritt S143 fort, um zu bewerten, ob der Zählwert des Zählers 76o gleich Null ist. In dieser Situation er­ folgt in Schritt S143 eine positive Bewertung und die Steuerung schreitet zu Schritt S145 fort, um den Blockdatensatz, der zum Block mit der Nummer 14 gehört, im Stickreihenfolge-Datenbereich 76g zu speichern. Auf Schritt S145 folgt Schritt S147, um einen Stickreihenfolgeindikator 76k für den Block mit der Nummer 14 auf eins zu setzen, und dann Schritt S149 um einen Blockprüfungsindi­ kator 761, der der Seite 27-24 entspricht, die die Blöcke mit den Nummern 13 und 14 voneinander trennt, auf eins zu setzen.
Anschließend wird in Schritt S137 einer der benachbarten Blöcke des Blockes mit der Nummer 14 angegeben, der noch nicht überprüft worden ist. Von den Blöcken mit den Nummern 13 und 15, die dem Block mit der Nummer 14 benachbart sind, ist der Block mit der Nummer 13 überprüft worden, da der Blockprüfungsindikator 761 für die Seite 27-24, die den Blöcken 13 und 15 gemeinsam ist, auf eins gesetzt worden ist. Daher wird der Block mit der Nummer 15 als be­ nachbarter Block angegeben, der noch nicht geprüft worden ist (im weiteren als ungeprüfter benachbarter Block bezeichnet). Auf Schritt S137 folgt Schritt S139, um den Blockdatensatz für den Block mit der Nummer 15 vom Blockdatenbereich 76e zu lesen.
Für den Block mit der Nummer 15 werden die Schritte S129, S141, S143, S145, S147 und S149 wie für den Block mit der Nummer 14 aus­ geführt. Folglich werden die Blockdatensätze für die Blöcke mit den Nummern 13, 14 und 15 im Stickreihenfolge-Datenbereich 76g in der Reihenfolge der Beschreibung abgespeichert.
Folglich wird in Schritt S137 der Block mit der Nummer acht als ungeprüfter benachbarter Block des Block Nummer 15 angegeben. Auf Schritt S137 folgt Schritt S139, um den Satz von Daten für den Block mit der Nummer acht vom Blockdatenbereich 76e zu lesen.
Da der Block Nummer acht einen Verbindungsblock darstellt, erfolgt in Schritt S129 eine negative und in Schritt S141 eine positive Bewertung. Daher schreitet die Steuerung zu Schritt S150 fort, um den Zählwert des Zählers 76o um eins zu erhöhen. Auf Schritt S150 folgt Schritt S151, um den Blockdatensatz für den Block mit der Nummer acht im Verbindungsblock-Datenbereich 76m derart abzuspei­ chern, daß der Blockdatensatz dem gegenwärtigen Zählwert eins des Zählers 76o zugeordnet ist. Ferner wird der fragliche Blockdaten­ satz im Verzweigungsblock-Datenbereich 76n gespeichert. Anschlie­ ßend wird in Schritt S153 ein Seitenprüfindikator 761 für die Seite 29-22, die die Blöcke mit den Nummern 15 und acht trennt, auf eins gesetzt. Auf Schritt S153 folgt Schritt S137, um einen der ungeprüften benachbarten Blöcke des Verbindungsblockes anzuge­ ben. Es wird beispielsweise angenommen, daß der Block mit der Num­ mer eins, d. h., der ungeprüfte benachbarte Block, der dem geprüf­ ten Block gegenüberliegt, angegeben wird. Auf Schritt S137 folgt Schritt S139, um den Blockdatensatz für den Block mit der Nummer eins aus dem angegebenen Blockdatenbereich 76e zu lesen.
Da der Block mit der Nummer eins weder ein End- noch ein Verzwei­ gungsblock ist, erfolgt in den Schritten S129 und S141 eine nega­ tive Bewertung und die Steuerung schreitet zu Schritt S143 fort, um zu beurteilen, ob der gegenwärtige Zählwert des Zählers 76o gleich null ist oder nicht. In dieser Situation erfolgt in Schritt S143 eine negative Bewertung und die Steuerung schreitet zu Schritt S157 fort, um den Blockdatensatz für den Block mit der Nummer eins im Verzweigungsblock-Datenbereich 76n zu speichern. Auf Schritt S157 folgt Schritt S158, um einen Blockprüfungsindika­ tor 761 für die Seite 4-13, die die Blöcke acht und eins trennt, auf eins zu setzen.
Anschließend werden die Schritte S137, S139, S141, S143, S157 und S158 für die Blöcke mit den Nummern zwei und drei ausgeführt. Folglich werden die Blockdatensätze für die Blöcke mit den Nummern zwei und drei im Verzweigungsblock-Datenbereich 76n in der Reihen­ folge der Beschreibung gespeichert.
Anschließend wird in den Schritten S137 und S139 der Block mit der Nummer vier als ungeprüfter benachbarter Block des Blockes mit der Nummer drei angegeben und der Blockdatensatz für den Block wird aus dem Blockdatenbereich 76e gelesen. Da der Block mit der Nummer vier einen Endblock darstellt, erfolgt in Schritt S129 eine posi­ tive Bewertung und die Steuerung schreitet zu Schritt S131 fort, um zu beurteilen, ob der gerade zu überprüfende Block den Start­ block darstellt oder nicht. Für den Block mit der Nummer vier er­ folgt in Schritt S131 eine negative Bewertung und die Steuerung schreitet zu Schritt S159 fort.
In Schritt S159 wird beurteilt, ob der gerade überprüfte Block einen Block darstellt, zu dem die Endposition der Fläche E gehört (im weiteren als abschließender Block bezeichnet). Da der Block mit der Nummer vier nicht der abschließende Block ist, erfolgt in Schritt S159 eine negative Bewertung und die Steuerung schreitet zu Schritt S161 fort, um den Blockdatensatz für den Block mit der Nummer vier im Endblock-Datenbereich 76v zu speichern.
Auf Schritt S161 folgt Schritt S162, um zu bewerten, ob der Stich­ pfadindikator 76p gleich Null ist oder nicht. In dieser Situation erfolgt in Schritt S162 eine positive Bewertung und die Steuerung schreitet zu Schritt S163 fort, um alle im Verzweigungsblock-Da­ tenbereich 76n gespeicherten Blockdatensätze in der Reihenfolge von deren Speicherung in diesem auszulesen, d. h. genauer gesagt, beginnend mit dem zu Beginn gespeicherten Datensatz für den Ver­ bindungsblock, wobei dieselben Daten in Zuordnung zum Zählwert eins des Zählers 76o im Verbindungsblock-Datenbereich 76m gespei­ chert sind (im weiteren als erste Verzweigungsblockdaten bezeich­ net), und endend mit dem zuletzt gespeicherten Blockdatensatz für den Block mit der Nummer drei (im weiteren als letzte Verzwei­ gungsblockdaten bezeichnet). Auf Schritt S163 folgt Schritt S164, um zu bewerten, ob der gegenwärtige Zählwert des Zählers 76o gleich Null ist. In dieser Situation erfolgt in Schritt S164 eine positive Bewertung und die Steuerung schreitet zu Schritt S165 fort, um eine geeignete Position innerhalb oder auf dem Umriß ei­ nes jeden der Blöcke mit den Nummern acht, eins, zwei und drei auf der Basis der entsprechenden gelesenen Blockdatensätze zu bestim­ men (im weiteren als Zentralpositionen bezeichnet). Die Zentralpo­ sitionen wird zum Beispiel derart bestimmt, daß sie am Mittelpunkt eines geraden Segmentes liegt, das die Mittelpunkte der einander gegenüberliegenden Seiten der jeweiligen Blöcke (Vierecke) verbin­ det, die einander im wesentlichen in Longitudinalrichtung der un­ terteilten Fläche, zu der die jeweiligen Blöcke gehören, gegen­ überliegen. Ferner werden in Schritt S165 Sätze von Positionsda­ ten, die jeweils eine entsprechende der Zentralpositionen angeben, im Stickreihenfolge-Datenbereich 76g gespeichert. Genauer gesagt werden die Positionsdatensätze, die den Zentralpositionen für die Blöcke mit den Nummern acht, eins, zwei und drei zugeordnet sind, im Stickreihenfolge-Datenbereich 76g in der Reihenfolge der Be­ schreibung gespeichert. Im Stickreihenfolge-Datenbereich 76g wer­ den die Positionsdatensätze und die Blockdatensätze voneinander durch die Verwendung von Indikatoren unterschieden.
Folglich wird in Schritt S167 der Blockdatensatz für den Block mit der Nummer vier aus dem Blockdatenbereich 76v gelesen. Auf Schritt S167 folgt Schritt S169, um die Zentralposition des Blockes mit der Nummer vier auf der Basis des hierfür gelesenen Blockdaten­ satzes zu bestimmen und einen Positionsdatensatz, der die be­ stimmte Zentralposition angibt, im Stickreihenfolge-Datenbereich 76g zu speichern. Dieser Positionsdatensatz wird im Stickreihen­ folge-Datenbereich 76g von den Blockdatensätzen durch einen Indi­ kator unterschieden. Auf Schritt S169 folgt Schritt S171, um eine der zwei Positionen mit den Nummern acht und neun des Blockes mit der Nummer vier auszuwählen, die zusammenwirken, um die Endseite des Zweiges zu definieren, zu dem der Block mit der Nummer vier gehört. Es wird diejenige Position ausgewählt, die von der Zen­ tralposition des Endblockes weiter entfernt ist als die andere. Die ausgewählte Position mit der Nummer acht wird als Endposition eines Verbindungs- oder Stichpfades für diesen Zweig ausgewählt. Ferner wird in Schritt S171 der Positionsdatensatz, der die Endpo­ sition des Stichpfades angibt, im Stickreihenfolge-Datenbereich 76g gespeichert. Dieser Positionsdatensatz wird von den Blockda­ tensätzen im Stickreihenfolge-Datenbereich 76g wie die anderen Sätze von Positionsdaten unterschieden. Die Positionsdatensätze, die die Zentralposition des Endblockes mit der Nummer vier und die Endposition des Stichpfades mit der Nummer acht darstellen, werden im Stickreihenfolge-Datenbereich 76g in der Reihenfolge der Be­ schreibung gespeichert. Kurz gesagt wirken die Positionsdatensätze für die Zentralpositionen der Blöcke mit den Nummern acht, eins, zwei, drei und vier und die Endposition des Stichpfades zusammen, um einen Satz von Stichpfaddaten für den Zweig, zu dem der End­ block mit der Nummer vier gehört, zu bilden.
Anschließend wird in Schritt S173 der Blockdatensatz für den End­ block, d. h., den Block mit der Nummer vier, im Stickreihenfolge­ Datenbereich 76g gespeichert. Auf Schritt S173 folgt Schritt S175, um alle im Verzweigungsblock-Datenbereich 76n gespeicherten Block­ datensätze mit Ausnahme des Satzes für die ersten Verzweigungs­ blockdaten, beginnend mit dem Blockdatensatz für den Block mit der Nummer eins, der auf den Verbindungsblock folgt, und endend mit dem letzten Verzweigungsblock-Datensatz für den Block mit der Num­ mer drei, auszulesen. Anschließend werden in Schritt S177 die ge­ lesenen Blockdatensätze im Stickreihenfolge-Datenbereich 76g in einer Weise gespeichert, daß die zuletzt gelesenen Daten zuerst gespeichert werden. Für diesen Zweig werden die Blockdatensätze für die Blöcke mit den Nummern drei, zwei und eins in der Reihen­ folge der Beschreibung im Stickreihenfolge-Datenbereich 76g ge­ speichert.
Auf Schritt S177 folgt Schritt S179, um einen Stickreihenfolgein­ dikator 76k für jeden der Blöcke, dessen Blockdaten in Schritt S177 im Stickreihenfolge-Datenbereich 76g gespeichert worden sind, auf eins zu setzen. Auf Schritt S179 folgt Schritt S181, um einen Blockprüfungsindikator 761 für die Seite 7-10, die den Endblock mit der Nummer vier vom benachbarten Block, mit der Nummer drei trennt, auf eins zu setzen. Anschließend werden die in Schritt S175 gelesenen Blockdatensätze vom Verzweigungsblock-Datenbereich 76n gelöscht. Dann wird in Schritt S185 der Endblock-Datenbereich 76v gelöscht.
Anschließend wird in Schritt S187 der Blockdatensatz für den Ver­ bindungsblock mit der Nummer acht aus dem Verbindungsblock-Daten­ bereich 76m gelesenen, wobei der Blockdatensatz zum Zählwert eins des Zählers 76o gehört. Auf Schritt S187 folgt Schritt S189, um die Zahl Y der ungeprüften benachbarten Blöcke des Verbindungs­ blockes zu bestimmen und die bestimmte Zahl in einem geeigneten Speicherbereich des RAM 76 zu speichern. Auf Schritt S189 folgt Schritt S191, um zu bewerten, ob die Zahl Y gleich eins ist. Wäh­ rend der Verbindungsblock mit der Nummer acht vier benachbarte Blöcke, d. h., die Blöcke mit den Nummern 15, eins, neun und sie­ ben, aufweist, sind die Blöcke mit den Nummern 15 und eins bereits geprüft worden, da die Blockprüfungsindikatoren 76l für die Seiten 29-22 und 4-13, die den Verbindungsblock vom Block mit der Nummer 15 bzw. der Nummer eins trennen, jeweils gleich eins sind. Daher beträgt die Zahl Y zwei und es erfolgt in Schritt S191 eine nega­ tive Bewertung. Dann schreitet die Steuerung zu Schritt S193 fort, um vom Blockdatenbereich 76e einer der Blockdatensätze für die un­ geprüften benachbarten Blöcke einzulesen. Für einen ungeprüften benachbarten Block kann ein entsprechender Verschiebungsindikator 76q auf eins gesetzt werden wie dies später beschrieben ist. Das Prüfen des ungeprüften benachbarten Blockes, dessen entsprechender Verschiebungsindikator 76q auf eins gesetzt ist, wird auf den letzten der ungeprüften Blöcke verschoben. Beim gegenwärtigen Zy­ klus des Schrittes S193 wird angenommen, daß der Blockdatensatz für den Block mit der Nummer sieben gelesen wird.
Auf Schritt S193 folgt Schritt S129. Da der mit sieben numerierte Block weder einen End- noch einen Verbindungsblock darstellt, er­ folgt in jedem der Schritte S129 und S141 eine negative Bewertung und die Steuerung springt zu Schritt S143, um zu bewerten, ob der gegenwärtige Zählwert des Zählers 76o gleich Null ist. Da in die­ ser Situation der Zählwert gleich eins ist, erfolgt in Schritt S143 eine negative Bewertung und die Steuerung springt zu Schritt S157, um den Blockdatensatz für den Block mit der Nummer sieben im Verzweigungsblock-Datenbereich 76n zu speichern, und dann zu Schritt S158, um einen Blockprüfungsindikator 76l für die Seite 4- 29, die den Verbindungsblock mit der Nummer acht vom Block mit der Nummer sieben abtrennt, auf eins zu setzen.
Für den Block mit der Nummer sechs, der den ungeprüften benachbar­ ten Block des Blockes mit der Nummer sieben darstellt, werden die Schritte S137, S139, S141, S143, S157 und S158 ausgeführt, so daß die Blockdaten für den Block mit der Nummer sechs im Verzweigungs­ block-Datenbereich 76n gespeichert werden.
Anschließend werden die Schritte S137 und S139 ausgeführt, um den Block mit der Nummer fünf als ungeprüften benachbarten Block des Blockes mit der Nummer sechs anzugeben und den Blockdatensatz für den Block mit der Nummer fünf vom Blockdatenbereich 76e einzu­ lesen. Da der Block mit der Nummer fünf einen Endblock und gleich­ zeitig den abschließenden Block darstellt, erfolgt in Schritt S129 eine positive, in Schritt S131 eine negative und in Schritt S159 eine positive Bewertung. Folglich springt die Steuerung zu Schritt S195.
In Schritt S195 wird der Blockdatensatz für den Block mit der Num­ mer fünf im Endblock-Datenbereich 76v gespeichert. Auf Schritt S195 folgt Schritt S197, um zu bewerten, ob ein Block der Fläche E übrigbleibt, der noch nicht in die Stickreihenfolge für die Fläche E eingereiht worden ist, indem geprüft wird, ob mit Ausnahme der Blöcke, deren Blockdaten im Verzweigungsblock-Datenbereich 76n oder Endblock-Datenbereich 76v gespeichert worden sind, ein Block bleibt, für den der entsprechende Stickreihenfolgeindikator 76k nicht auf eins gesetzt worden ist. Da für die Blöcke mit den Num­ mern neun, zehn, elf und zwölf keine entsprechenden Stickreihen­ folgeindikatoren 76k auf eins gesetzt worden sind, erfolgt in Schritt S197 eine positive Bewertung und die Steuerung schreitet zu Schritt S198 fort, um den Verschiebungsindikator 76q für den Block mit der Nummer fünf auf eins zu setzen. Auf Schritt S198 folgt Schritt S199, um die Blockdatensätze, die Verzweigungsblock- Datenbereich 76n gespeichert sind, in der Reihenfolge ihrer Spei­ cherung, beginnend mit dem Datensatz für den Block Nummer sieben, der auf den Verbindungsblock mit der Nummer acht folgt, der zum Zählwert eins des Zählers 76o gehört, und endend mit dem letzten Blockdatensatz für den Block mit der Nummer fünf, zu löschen. Auf Schritt S199 folgt Schritt S201, um die Blockprüfungsindikatoren 761 für die Seiten 4-29, 3-30 und 2-31, die der Zweig umfaßt, zu dem der abschließende Block gehört, auf Null zurück zu setzen. An­ schließend wird in Schritt S203 der Endblock-Datenbereich 76v ge­ löscht und in Schritt S204 wird der Datensatz für den Block mit der Nummer acht, der dem Zählwert eins des Zählers 76o zugeordnet ist, vom Verzweigungsblock-Datenbereich 76n gelesen.
Auf Schritt S204 folgen die Schritte S205 und S206, um einen der ungeprüften benachbarten Blöcke des Verbindungsblockes mit der Nummer neun anzugeben und den Blockdatensatz für den angegebenen Block vom Blockdatenbereich 76e zu lesen. In Schritt wird der un­ geprüfte benachbarte Block, für den sich der entsprechende Ver­ schiebungsindikator 76q im Zustand eins befindet, auf den letzten der ungeprüften benachbarten Blöcke verschoben. Während die be­ nachbarten Blöcke des Blockes mit der Nummer acht die Blöcke mit den Nummern 15, eins, sieben und neun darstellen, befinden sich die Blockprüfungsindikatoren 761 für die Seiten 29-22 und 4-13 je­ weils im Zustand eins und der Verschiebungsindikator 76q befindet sich für den Block mit der Nummer sieben im Zustand eins. Daher wird der Block mit der Nummer neun angegeben. Der Blockdatensatz für den Block mit der Nummer neun wird vom Blockdatenbereich 76e gelesen. Auf Schritt S206 folgt Schritt S207, um den Blockprü­ fungsindikator 761 für die Seite 13-2, die den Verbindungsblock vom Block mit der Nummer neun trennt, zu setzen. Auf Schritt S207 folgt Schritt S208, um den Zählwert des Zählers 76o auf eins zu setzen.
Anschließend werden für die Blöcke mit den Nummern neun und zehn die Schritte S129, S141, S143, S157, S158, S137 und S139 ausge­ führt, so daß die Blockdatensätze für diese Blöcke im Verzwei­ gungsblock-Datenbereich 76n gespeichert werden. Dann wird in Schritt S137 der Blockdatensatz für den Block mit der Nummer zwölf als ungeprüfter benachbarter Block des Blockes mit der Nummer elf angegeben. Da der Block mit der Nummer zwölf einen Endblock aber weder den Start- noch den abschließenden Block darstellt, erfolgt in Schritt S129 eine positive, in Schritt S131 eine negative und in Schritt S159 ebenfalls eine negative Bewertung. Folglich springt die Steuerung zu Schritt S161, um den Blockdatensatz für den Block mit der Nummer zwölf im Endblock-Datenbereich 76v zu speichern. Da sich in dieser Situation der Stichpfadindikator 76p im Zustand Null befindet und der gegenwärtige Zählwert des Zählers 76o gleich eins ist, folgen auf Schritt S161 die Schritte S162, S163, S164 und S165 bis S185, so daß der Positionsdatensatz, der die Zentralposition des Blockes mit der Nummer acht angibt, die Positionsdatensätze, die die Zentralpositionen der Blöcke mit den Nummern neun, zehn, elf und zwölf angeben, der Positionsdatensatz, der die Position mit der Nummer 17 als Endposition eines Stich­ pfades für den Zweig angibt, zu dem der Endblock mit der Nummer zwölf gehört, und die Blockdatensätze für die Blöcke mit den Num­ mern zwölf, elf, zehn und neun im Stickreihenfolge-Datenbereich 76g in der Reihenfolge der Beschreibung gespeichert werden.
Anschließend wird in Schritt S187 der Blockdatensatz für den Ver­ zweigungsblock mit der Nummer acht vom Verbindungsblock-Datenbe­ reich 76m gelesen, wobei der Blockdatensatz dem Zählwert eins des Zählers 76o zugeordnet ist. Auf Schritt S187 folgt Schritt S189, um die Zahl Y der ungeprüften benachbarten Blöcke des Verbindungs­ blockes zu bestimmen und die bestimmte Zahl Y zu speichern. Auf Schritt S189 folgt Schritt S191, um zu bewerten, ob die Zahl Y gleich eins ist oder nicht. Während der Verbindungsblock mit der Nummer acht vier benachbarte Blöcke, d. h., die Blöcke mit den Num­ mern 15, eins, neun und sieben aufweist, sind die Blöcke mit den Nummern 15, eins und neun geprüft worden, da die Blockprüfungsin­ dikatoren 761 für die Seiten 29-22, 4-13 und 13-22, die den Ver­ bindungsblock von den Blöcken mit den Nummern 15, eins bzw. neun abtrennen, jeweils gleich eins sind. Das bedeutet, daß der Block mit der Nummer sieben, für den sich der entsprechende Verschie­ bungsindikator 76q im Zustand eins befindet, der einzige unge­ prüfte benachbarte Block des Verbindungsblockes mit der Nummer acht ist. Daher ist die Zahl Y gleich eins. Entsprechend erfolgt in Schritt S191 eine positive Bewertung und die Steuerung springt zu Schritt S209.
In Schritt S209 wird der Blockdatensatz für den Block mit der Num­ mer acht im Stickreihenfolge-Datenbereich 76g gespeichert. Auf Schritt S209 folgt Schritt S210, um den Stickreihenfolgeindikator 76k für den Block mit der Nummer acht auf eins zu setzen. An­ schließend wird in Schritt S211 bewertet, ob der gegenwärtige Zählwert des Zählers 76o auf eins gesetzt ist. In dieser Situation erfolgt in Schritt S211 eine positive Bewertung und die Steuerung springt zu Schritt S219, um den Blockdatensatz für den ungeprüften benachbarten Block mit der Nummer sieben des Verbindungsblockes mit der Nummer acht vom Blockdatenbereich 76e zu lesen. Auf Schritt S219 folgt Schritt S220, um einen Blockprüfungsindikator 761 für die Seite 4-29, die den Verbindungsblock vom Block mit der Nummer sieben trennt, auf eins zu setzen. Anschließend wird in Schritt S221 der Zählwert des Zählers 76o auf Null zurückgesetzt und der Stichpfadindikator 76p auf Null gesetzt. Auf Schritt S222 folgt Schritt S223, um den Verbindungsblock-Datenbereich 76m zu löschen, und dann Schritt S225, um den Verzweigungsblock-Datenbe­ reich 76n zu löschen.
Anschließend werden Schritt S129 und die folgenden Schritte ausge­ führt. Da der gegenwärtige Zählwert des Zählers 76o gleich Null ist, werden in Schritt S145 die Blockdatensätze für die Blöcke mit den Nummern sieben und sechs im Stickreihenfolge-Datenbereich 76n in der Reihenfolge der Beschreibung gespeichert. Anschließend wird in Schritt S137 der Block mit der Nummer fünf als ungeprüfter be­ nachbarter Block des Blockes mit der Nummer sechs angegeben. Da der Block mit der Nummer fünf einen Endblock und gleichzeitig den abschließenden Block darstellt, erfolgt in Schritt S159 eine posi­ tive Bewertung und die Steuerung springt zu Schritt S159, um den Blockdatensatz für den Block mit der Nummer fünf im Endblock-Da­ tenbereich 76v zu speichern. Auf Schritt S195 folgt Schritt S197, um zu bewerten, ob Blöcke übrig bleiben, für die der entsprechende Stickreihenfolgeindikator 76k nicht auf eins gesetzt worden ist, d. h., ob Blöcke verbleiben, die noch nicht in die Stickreihenfolge für die Fläche E eingereiht worden sind. In dieser Situation er­ folgt in Schritt S197 eine negative Bewertung und die Steuerung schreitet zu Schritt S227 fort, um den Blockdatensatz für den Block mit der Nummer fünf vom Endblock-Datenbereich 76v zu lesen. Dann fährt die Steuerung mit Schritt S228 fort, um den gelesenen Satz von Blockdaten im Stickreihenfolge-Datenbereich 76g zu spei­ chern. Damit ist die Stickreihenfolge der Fläche E bestimmt. Die Stickreihenfolge der Fläche E besteht aus der Reihenfolge des Be­ stickens der Blöcke und den zwei zwischen die Stickreihenfolge der Blöcke geschalteten Verbindungs- oder Stichpfaden.
Anschließend wird in Schritt S39 der Fig. 4 ein Satz von Stichpo­ sitionsdaten auf der Basis der Blockdatensätze und der Sätze von Stichpfaddaten erzeugt, die im Stickreihenfolge-Datenbereich 76g gespeichert sind. Der Satz von erzeugten Stichpositionsdaten gibt die Stichpositionen an, bei denen die Näh-/Stickmaschine 8 Stiche bildet, um die jeweiligen Blöcke mit den gebildeten Stichen zu füllen, und bei denen entlang der Verbindungs- oder Stichpfade Stiche zum Verbinden des einen Blockes mit einem anderen Block, der dem einen Block in der Stickreihenfolge der Blöcke nachfolgt, mit einem kontinuierlichen Faden gebildet werden. Der Satz von Stichpositionsdaten wird im Stichpositions-Datenbereich 76h ge­ speichert.
Anschließend wird in Schritt S41 der Fig. 4 bewertet, ob der Zähl­ wert n des ersten Zählers nicht kleiner als die Zahl N ist. Er­ folgt in Schritt S41 eine negative Bewertung, so schreitet die Steuerung zu Schritt S43 fort, um den Zählwert n um eins zu erhö­ hen, und kehrt dann zu Schritt S23 zurück. Erfolgt demgegenüber in Schritt S41 eine positive Bewertung, so ist ein Zyklus der Routine der Fig. 4 beendet.
Gibt der Bediener über die Tastatur 82 eine Stickstartanweisung zum Besticken des Stoffwerkstückes mit dem chinesischen Zeichen " " ein, so stickt die Näh-/Stickmaschine das Zeichen, indem Sti­ che an den jeweiligen Stichpositionen entsprechend dem Satz von Stichpositionsdaten, die im Stichpositions-Datenbereich 76h ge­ speichert sind, gebildet werden.
Während die Operation des vorliegenden Systemes für die Erzeugung der Stichpositionsdaten für die Fläche E, die einen Teil des chi­ nesischen Zeichens " " darstellt, beschrieben worden ist, wird nun unter Bezugnahme auf die Fig. 10 und 38 die Datenerzeugung im Falle des chinesischen Zeichens " " beschrieben. Wie in Fig. 38 gezeigt ist, wird das Zeichen durch 36 Positionen dargestellt und besteht aus 17 Blöcken. Die Positionen mit den Nummern eins und neun werden als Start- bzw. Endpositionen zum Sticken des Zeichens angegeben.
Zu Beginn werden die Blockdatensätze für einen Block mit der Num­ mer eins (d. h., den Startblock) und einen Block mit der Nummer zwei vom Blockdatenbereich 76e eingelesen und im Stickreihenfolge­ Datenbereich 76g in der Reihenfolge der Beschreibung gespeichert. Anschließend wird ein Block mit der Nummer drei als ungeprüfter benachbarter Block des Blockes mit der Nummer zwei angegeben. Der Block mit der Nummer drei stellt einen Verbindungsblock dar und der Inhalt oder Zählwert des Zählers 76o wird um eins auf eins er­ höht. Das bedeutet, daß der Block mit der Nummer drei dem Zählwert eins des Zählers 76o zugeordnet wird. Der Block mit der Nummer drei weist vier benachbarte Blöcke auf, wobei die Blöcke mit den Nummern vier, elf und zwölf ungeprüfte benachbarte Blöcke darstel­ len. Es wird angenommen, daß zu Beginn der Block mit der Nummer vier, der dem Block mit der Nummer drei gegenüberliegt, zum Prüfen ausgewählt wird. In diesem Fall werden die Blockdatensätze für die Blöcke mit den Nummern vier und fünf im Verzweigungsblock-Datenbe­ reich 76n gespeichert. Dann wird ein Block mit der Nummer sechs als ungeprüfter benachbarter Block des Blockes mit der Nummer fünf angegeben. Der Block mit der Nummer sechs stellt nicht nur einen End-, sondern auch den abschließenden Block dar. In dieser Situa­ tion verbleiben jedoch Blöcke, für die die entsprechenden Stick­ reihenfolgeindikatoren 76k noch nicht auf eins gesetzt, d. h., noch nicht in die Stickreihenfolge des Zeichens eingefügt worden sind. Daher werden vom Verzweigungsblock-Datenbereich 76n alle Blockda­ tensätze vom ersten Verzweigungsblock bis zum letzten Verzwei­ gungsblock eliminiert. Mit anderen Worten werden der Blockdaten­ satz für den Block mit der Nummer vier, der dem Verbindungsblock, der zum Zählwert eins des Zählers 76o gehört, und der Blockdaten­ satz für den Block mit der Nummer fünf, der dem abschließenden Block vorangeht, eliminiert.
Es wird angenommen, daß als nächstes ein Block mit der Nummer zwölf als ungeprüfter benachbarter Block des Verbindungsblockes mit der Nummer drei angegeben wird. Da der Block mit der Nummer zwölf einen End-, nicht jedoch den abschließenden Block darstellt, werden Positionsdatensätze, die die Zentralpositionen der Blöcke mit den Nummern drei und zwölf angeben, ein Positionsdatensatz, der die Position mit der Nummer fünf als Endposition des Stich­ pfades für den Zweig, zu dem der Endblock gehört, angibt, und der Blockdatensatz für den Block mit der Nummer zwölf im Stickreihen­ folge-Datenbereich 76g in der Reihenfolge der Beschreibung abge­ speichert. Ferner wird ein Blockprüfungsindikator 76l für die Seite 3-6, die den Block mit der Nummer drei vom Block mit der Nummer zwölf abtrennt, auf eins gesetzt.
Anschließend wird ein Block mit der Nummer elf als ungeprüfter be­ nachbarter Block des Prüfungsblockes mit der Nummer drei angege­ ben, und es wird der Blockdatensatz für den Block mit der Nummer elf im Verzweigungsblock-Datenbereich 76n gespeichert. Dann wird ein Block mit der Nummer zehn als ungeprüfter benachbarter Block des Blockes mit der Nummer elf angegeben. Da der Block Nummer zehn einen Verbindungsblock darstellt, wird der Zählwert des Zählers 76o um eins auf zwei erhöht, und es wird der Blockdatensatz für den Block mit der Nummer zehn im Verbindungsblock-Datenbereich 76m derart gespeichert, daß der gespeicherte Blockdatensatz dem Zähl­ wert zwei des Zählers 76o zugeordnet ist. Ferner wird ein Block­ prüfungsindikator 76l für die Seite 34-13, die en Block mit der Nummer drei vom Block mit der Nummer elf abtrennt, auf eins ge­ setzt.
Der Block mit der Nummer zehn weist zwei ungeprüfte benachbarte Blöcke mit den Nummern neun und 13 auf. Es wird angenommen, daß zuerst der Block mit der Nummer neun ausgewählt wird. In diesem Fall werden die Blockdatensätze für die Blöcke mit den Nummern neun und acht im Verzweigungsblock-Datenbereich 76n abgespeichert. Anschließend wird ein Block mit der Nummer sieben als ungeprüfter benachbarter Block des Blockes mit der Nummer acht angegeben. Fer­ ner werden die Blockprüfungsindikatoren 761 für die Seiten 33-14, 32-25, 31-26 und 30-27, die die Blöcke elf, zehn, neun, acht und sieben voneinander trennen, jeweils auf eins gesetzt. Da der Block mit der Nummer sieben einen End-, nicht jedoch den abschließenden Block darstellt, erfolgt in Schritt S159 eine negative Bewertung, und in Schritt S161 werden die Blockdaten für den Block mit der Nummer sieben im Endblock-Datenbereich abgespeichert. In Schritt S162 befindet sich der Stichpfadindikator dann im Zustand Null. In dieser Situation erfolgt in Schritt S162 eine positive Bewertung und die Steuerung fährt mit Schritt S163 fort, um vom Verzwei­ gungsblock-Datenbereich 76n die Blockdatensätze für die Blöcke mit den Nummern drei, elf, zehn, neun, acht und sieben zu lesen. An­ schließend wird in Schritt S164 bewertet, ob der gegenwärtige Zählwert des Zählers 76o gleich eins ist. Da der gegenwärtige Zählwert gleich zwei ist, erfolgt in Schritt S164 eine negative Bewertung und die Steuerung springt zu Schritt S168, um den Stich­ pfadindikator 76p auf eins zu setzen, und dann zu Schritt S168a, um den oder die Blockprüfungsindikatoren 761 für die Seite oder Seiten auf Null zurückzusetzen, die eine Reihe von Blöcken abtren­ nen, an deren beiden Seiten der Verbindungsblock, der zum gegen­ wärtigen Zählwert zwei des Zählers 76o gehört, und der zu einem Zählwert, der um eins kleiner als der gegenwärtige Zählwert ist, gehörende Verbindungsblock ist. In diesem speziellen Fall werden die Blockprüfungsindikatoren 76l für die Seiten 34-13 und 33-14, die die Blöcke mit den Nummern drei, elf und zehn voneinander ab­ trennen, jeweils auf Null zurückgesetzt.
Anschließend wird in Schritt S168b ein Verschiebungsindikator 76q für den Block, der zwischen dem dem gegenwärtigen Zählwert des Zählers 76o zugeordneten Block und dem dem Zählwert, der um eins kleiner als der gegenwärtige Block ist, zugeordneten Block liegt, und der ein benachbarter Block des Blockes ist, dem der gegenwär­ tige Zählwert zugeordnet ist, auf eins gesetzt. In diesem speziel­ len Fall wird der Verschiebungsindikator 76q für den Block mit der Nummer elf auf eins gesetzt. Auf Schritt S168b folgt Schritt S165, um im Stickreihenfolge-Datenbereich 76g Positionsdatensätze, die die Zentralpositionen der Blöcke mit den Nummern drei, elf, zehn, neun, acht und sieben angeben, einen Satz von Positionsdaten, der eine Position mit der Nummer 28 als Endposition des Stichpfades für den Zweig, zu dem der Endblock mit der Nummer sieben gehört, und die Blockdatensätze für die Blöcke mit den Nummern sieben, acht und neun in der Reihenfolge der Beschreibung abzuspeichern. Ferner werden die Blockdatensätze für die Blöcke mit den Nummern neun und acht aus dem Verzweigungsblock-Datenbereich 76n und der Blockdatensatz für den Block mit der Nummer sieben aus dem End­ block-Datenbereich 76v eliminiert.
Der Block mit der Nummer zehn weist zwei ungeprüfte benachbarte Blöcke mit den Nummern 13 und elf auf, aber der Verschiebungsindi­ kator 76q für den Block mit der Nummer elf befindet sich im Zu­ stand eins. Daher wird in Schritt S93 der Blockdatensatz für den Block mit der Nummer dreizehn vom Blockdatenbereich 76e gelesen und im Verzweigungsblock-Datenbereich 76n gespeichert. Anschlie­ ßend werden die Blockdatensätze für die Blöcke mit den Nummern 14, 15 und 16 im Verzweigungsblock-Datenbereich 76n in der Reihenfolge der Beschreibung gespeichert, und es wird ein Block mit der Nummer 17 als ungeprüfter benachbarter Block des Blockes mit der Nummer 16 angegeben. Da der Block mit der Nummer 17 einen End-, aber nicht den abschließenden Block darstellt, wird der Blockdatensatz für den Block mit der Nummer 17 im Endblock-Datenbereich 76v ge­ speichert. Dann wird in Schritt S162 bewertet, ob der Stichpfadin­ dikator 76p im Zustand Null ist. Da in dieser Situation der Stich­ pfadindikator 76q im Zustand eins ist, erfolgt in Schritt S162 eine negative Bewertung und die Steuerung springt zu Schritt S170, um vom Verzweigungsblock-Datenbereich 76n alle Blockdatensätze der Blöcke zwischen dem ersten Verzweigungsblock und dem letzten Ver­ zweigungsblock (einschließlich) zu lesen. In diesem speziellen Fall werden die Blockdatensätze für den Block mit der Nummer zehn, der dem gegenwärtigen Zählwert des Zählers 76o zugeordnet ist, und die Blöcke mit den Nummern 13 bis 17 gelesen. Anschließend werden die Schritte S165 bis S177 ausgeführt, so daß die Positionsdaten­ sätze, die die Zentralpositionen der Blöcke mit den Nummern zehn, 13, 14, 15, 16 und 17 darstellen, ein Positionsdatensatz, der die Position mit der Nummer 20 als Endposition des Stichpfades für den Zweig, zu dem der Endblock mit der Nummer 17 gehört, darstellt, und die Blockdatensätze für die Blöcke mit den Nummern 17, 16, 15, 14 und 13 im Stickreihenfolge-Datenbereich 76g in der Reihenfolge der Beschreibung gespeichert werden. Ferner werden die Blockdaten­ sätze für die Blöcke mit den Nummern 13 bis 16 aus dem Verzwei­ gungsblock-Datenbereich 76n und die der Blockdatensatz für den Block mit der Nummer 17 aus dem Endblock-Datenbereich 76v elimi­ niert.
Anschließend wird in Schritt S191 beurteilt, ob die Zahl Y der un­ geprüften benachbarten Blöcke des Verbindungsblockes mit der Num­ mer zehn, der dem gegenwärtigen Zählwert zwei des Zählers 76o zu­ geordnet ist, gleich eins ist. Da der Block mit der Nummer zehn nur den einzigen ungeprüften benachbarten Block mit der Nummer elf besitzt, erfolgt in Schritt S191 eine positive Bewertung und die Steuerung schreitet zu Schritt S209 fort, um den Blockdatensatz für den Block mit der Nummer zehn im Stickreihenfolge-Datenbereich 76g zu speichern, und dann zu Schritt S210, um den Stickreihen­ folgeindikator 76k für den Block mit der Nummer zehn auf eins zu setzen.
Anschließend wird in Schritt S211 geprüft ob der gegenwärtige Zählwert des Zählers 76o gleich eins ist. Da in dieser Situation der gegenwärtige Zählwert gleich zwei ist, erfolgt in Schritt S211 eine negative Bewertung und die Steuerung springt zu Schritt S213, um vom Verzweigungsblock-Datenbereich 76n den Satz oder die Sätze von Blockdaten für den Block oder die Blöcke zu lesen, die sich zwischen dem Block, der dem gegenwärtigen Zählwert zwei des Zäh­ lers 76o zugeordnet ist, und dem Block, der einem um eins kleine­ ren Zählwert als der gegenwärtige Zählwert zugeordnet ist, befin­ den, in einer Reihenfolge zu lesen, die der Speicherungsreihen­ folge im Verzweigungsblock-Datenbereich 76n umgekehrt ist, d. h., in einer Weise, daß der zuletzt gespeicherte Satz zuerst ausgele­ sen wird. Auf Schritt S213 folgt Schritt S214, um diese Blockda­ tensätze im Stickreihenfolge-Datenbereich 76g in der Reihenfolge des Lesens aus dem Verzweigungsblock-Datenbereich 76n zu spei­ chern. In diesem speziellen Fall wird der Blockdatensatz für den Block mit der Nummer elf im Stickreihenfolge-Datenbereich 76g ge­ speichert. Ferner werden in Schritt S214 die Blockprüfungsindika­ toren 761 für diejenigen Seiten jeweils auf eins gesetzt, die die Reihe von Blöcken abtrennen, an deren beiden Enden sich der Block, der dem gegenwärtigen Zählwert zwei des Zählers 76o zugeordnet ist, und der Block, der einem um eins kleineren Zählwert als der gegenwärtige Zählwert zugeordnet ist, befinden. In diesem speziel­ len Fall werden die Blockprüfungsindikatoren 76l für die Seiten 34-13 und 33-14, die die Blöcke mit den Nummern drei, elf und zehn voneinander abtrennen, jeweils auf eins gesetzt. Auf Schritt S214 folgt Schritt S214a, um den Stickreihenfolgeindikator 76k für den Block mit der Nummer elf, dessen Blockdaten in Schritt S214 im Stickreihenfolge-Datenbereich 76g gespeichert worden sind, auf eins zu setzen. Anschließend wird in Schritt S215 der Blockdaten­ satz für den Verbindungsblock, der im Verbindungsblock-Datenbe­ reich 76m nach dem Blockdatensatz für den Verbindungsblock, der dem um eins kleineren Zählwert als der gegenwärtige Zählwert des Zählers 76o zugeordnet ist, gespeichert worden ist, aus dem ver­ bindungsblock-Datenbereich 76m eliminiert. In diesem speziellen Fall wird der Blockdatensatz für den Block mit der Nummer elf eli­ miniert. Auf Schritt S216 folgt Schritt S217, um den Zählwert des Zählers 76o um eins auf eins zu vermindern.
Anschließend wird in Schritt S187 der Blockdatensatz für den Block mit der Nummer drei, der dem gegenwärtigen Zählwert eins des Zäh­ lers 76o zugeordnet ist, aus dem Verbindungsblock-Datenbereich 76m gelesen. Auf Schritt S187 folgt Schritt S189, um zu bewerten, ob die Zahl Y der ungeprüften benachbarten Blöcke des gegenwärtigen Verbindungsblockes gleich eins ist. Da die Blockprüfungsindikato­ ren 761 für die Seiten 3-34, 3-6 und 34-13 jeweils auf eins ge­ setzt sind, weist der Block mit der Nummer drei nur den einzelnen ungeprüften benachbarten Block vier auf. Daher erfolgt in Schritt S191 eine positive Bewertung und die Steuerung springt zu Schritt S209, um den Blockdatensatz für den Block mit der Nummer drei im Stickreihenfolge-Datenbereich 76g zu speichern.
Dann wird in Schritt S211 bewertet, ob der gegenwärtige Zählwert des Zählers 76o gleich eins ist. Da dies der Fall ist, erfolgt in Schritt S211 eine positive Bewertung und die Steuerung springt zu Schritt S219, um aus dem Verbindungsblock-Datenbereich 76m den Blockdatensatz für den Block mit der Nummer drei auszulesen, der dem gegenwärtigen Zählwert des Zählers 76o zugeordnet ist, und dann zu Schritt S220, den Blockprüfungsindikator 761 für die Seite 3-6, die den Block mit der Nummer drei vom Block mit der Nummer vier abtrennt, auf eins zu setzen. Auf Schritt S220 folgt Schritt S221, um den Zählwert des Zählers 76o auf Null zurückzusetzen. Dann folgend die Schritte S223 und S225, um den Verbindungsblock- Datenbereich 76m bzw. den Verzweigungsblock-Datenbereich 76n zu löschen.
Anschließend wird in Schritt S137 der Block mit der Nummer vier als ungeprüfter benachbarter Block des Blockes mit der Nummer drei angegeben. Auf Schritt S137 folgt Schritt S139, um den Blockdaten­ satz für den Block mit der Nummer vier aus dem Blockdatenbereich 76e zu lesen. Dann werden die Schritte S129, S141 und S143 ausge­ führt. Da der gegenwärtige Zählwert des Zählers 76o gleich Null ist, erfolgt in Schritt S143 ein positive Bewertung und die Steue­ rung schreitet zu Schritt S145 fort, um den Blockdatensatz für den Block mit der Nummer vier im Stickreihenfolge-Datenbereich 76g zu speichern.
In Schritt S137 des nachfolgenden Zyklus′ wird der Block mit der Nummer fünf als ungeprüfter benachbarter Block des Blockes mit der Nummer vier bestimmt und der Blockdatensatz für den Block mit der Nummer fünf wird im Stickreihenfolge-Datenbereich 76g wie der Blockdatensatz für den Block mit der Nummer vier gespeichert. In Schritt S137 des nächsten Zyklus′ wird der Block mit der Nummer sechs als ungeprüfter benachbarter Block des Blockes mit der Num­ mer fünf angegebene. Da der Block mit der Nummer sechs sowohl einen End- als auch den abschließenden Block darstellt, erfolgt in Schritt S129 eine positive, in Schritt S131 eine negative und in Schritt S159 eine positive Bewertung. Daher schreitet die Steue­ rung zu Schritt S195 fort, um den Blockdatensatz für den Block mit der Nummer sechs im Endblock-Datenbereich 76v zu speichern. Auf Schritt S195 folgt Schritt S197, um zu bewerten, ob noch Blöcke verbleiben, die noch nicht in die Stickreihenfolge des Zeichens der Fig. 38 eingereiht sind. In dieser Situation sind alle Blöcke in die Stickreihenfolge eingereiht worden und es erfolgt in Schritt S197 eine negative Bewertung. Entsprechend springt die Steuerung zu den Schritten S227 und S229, um den Blockdatensatz für den Block mit der Nummer sechs im Stickreihenfolge-Datenbe­ reich 76n zu speichern. Damit ist die Erzeugung eines Satzes von Stichpositionsdaten zum Sticken des Zeichens " " beendet.
Wie sich aus der vorangegangenen Beschreibung ergibt, dienen beim vorliegenden Näh-/Stickmaschinensystem die Schritte S15, 03128 00070 552 001000280000000200012000285910301700040 0002004034157 00004 03009S17, S23, S29, S35 und der Rechner, der diese ausführt, als Einrichtung zum Unterteilen einer zu bestickenden Fläche in eine Mehrzahl von Sub­ flächen auf der Basis eines Satzes von Umrißdaten, die den Umriß der Fläche angeben. Die Schritte S82, S58, S522, S37, S39 und der Computer, der diese ausführt, dienen als Einrichtung zum Erzeugen eines Satzes von Stichpositionen entsprechenden Daten für die Näh-/ Stickmaschine 8 zum Bilden von Stichen und zum Füllen der Fläche mit den gebildeten Stichen.
Während in den Schritten S71, S51, S501 der beschriebenen Ausfüh­ rungsform die zwei am weitesten voneinander entfernten speziellen Positionen einer zu unterteilenden Fläche als Minimum- und Maxi­ mumpositionen der Fläche bestimmt werden, ist es auch möglich, die im zwei wesentlichen am weitesten oder ausreichend weit voneinan­ der entfernten speziellen Positionen als Minimum- und Maximumposi­ tionen zu bestimmen.
Während die Umrißdaten-Erzeugungseinrichtung des beschriebenen Sy­ stemes halbautomatisch ist, das erfordert, daß der Bediener spe­ zielle Positionen auf dem Umriß der zu bestickenden Fläche mittels des Lichtgriffels 86 auf dem Monitor 112 angibt, kann die Erzeu­ gungseinrichtung auch derart angepaßt werden, daß sie vollautoma­ tisch arbeitet, indem z. B. Positionen in regelmäßigen Abständen auf dem Umriß eines in Schritt S5 der Fig 4 erhaltenen Bildes als Kandidaten für die speziellen Positionen bestimmt werden. Jedes Paar von benachbarten zwei Kandidaten wird dann mit einem geraden Segment verbunden. Nun wird überprüft, ob der kleinere der zwei Winkel, die von jedem Paar benachbarter zwei Segmente definiert werden, kleiner als ein Referenzwert ist oder nicht. Erfolgt eine positive Bewertung, so wird der Kandidat, bei dem das jeweilige Paar zweier benachbarter Segmente miteinander verbunden ist, als spezielle Position akzeptiert. Der Referenzwert wird als Wert in der Nähe von 180 Grad gewählt. Ist der fragliche Winkel nahe 180 Grad, so bedeutet dies, daß das Paar benachbarter zwei Segmente ein im wesentlichen gerades Segment definiert und daher wird der Kandidat nicht als spezielle Position benötigt. Diese vollautoma­ tische Einrichtung benötigt keinerlei Hilfe vom Bediener, um die Umrißdaten zu erzeugen.
Während die vorliegende Erfindung in ihrer bevorzugten Ausfüh­ rungsform mit den entsprechenden Besonderheiten beschrieben worden ist, versteht sich von selbst, daß die vorliegende Erfindung in keiner Weise auf die Details der dargestellten Ausführungsform be­ schränkt ist, sondern kann mit verschiedenartigen Änderungen, Ver­ besserungen und Modifikationen realisiert werden, die für den Fachmann ersichtlich sind, ohne vom in den Patentansprüchen defi­ nierten Prinzip und Inhalt der Erfindung abzuweichen.

Claims (20)

1. Vorrichtung zum Erzeugen von Stichpositionen entsprechenden Da­ ten für eine Näh-/Stickmaschine zum Besticken einer vorbestimmten Fläche, indem Stiche an den entsprechenden Stichpositionen gebil­ det und die Fläche mit den gebildeten Stichen gefüllt wird, umfas­ send eine Unterteilungseinrichtung (S15, S17, S23, S29, S35) zum Unterteilen der Fläche (E) in eine Mehrzahl von Subflächen auf der Basis der Umrißdaten, die den Umriß der Fläche angeben, wobei die Umrißdaten Sätze von Positionsdaten enthalten, die jeweils eine entsprechende der Mehrzahl von speziellen Positionen (Xn, Yn) auf dem Umriß angeben, und eine Datenerzeugungseinrichtung (S82, S58, S522, S37, S39) zum Erzeugen von Sätzen von Subflächendaten, die jeweils den Umriß einer entsprechenden der Subflächen angeben, und zum Bestimmen der Reihenfolge des Bestickens der Subflächen auf der Basis der Sätze von Subflächendaten derart, daß der kontinu­ ierliche Faden nicht über die Stiche läuft, die die jeweilige Sub­ fläche füllen, wenn die Näh-/Stickmaschine (8) unter Verwendung der Sätze von Subflächendaten und der Reihenfolge des Bestickens der Subflächen Stiche mit einem kontinuierlichen Faden bildet und die jeweiligen Subflächen mit den gebildeten Stichen füllt, wobei die Datenerzeugungseinrichtung die Sätze von Subflächendaten und die Reihenfolge des Bestickens der Subflächen für die Erzeugung der den Stichpositionen entsprechenden Daten verwendet.
2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Datenerzeugungseinrichtung (S37, S165, S169, S171) einen Ver­ bindungspfad zum Verbinden einer ersten Position, die zu einer er­ sten der Subflächen gehört, und einer zweiten Position, die zu ei­ ner zweiten der Subflächen gehört, mit dem kontinuierlichen Faden, bestimmt, wobei wenigstens ein Teil des Verbindungspfades mit den Stichen bedeckt ist, die wenigstens die zweite Subfläche oder eine oder mehrere Subflächen füllen, die der zweiten Subfläche in der Reihenfolge des Bestickens der Subflächen nachfolgen.
3. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, daß die Datenerzeugungseinrichtung (S165, S169, S171) den Verbindungspfad derart bestimmt, daß dieser in seiner Gesamtheit von den Stichen bedeckt wird, die die Fläche füllen, und Verbindungspfaddaten, die den Verbindungspfad darstellen, als Teil der den Stichpositionen zugeordneten Daten erzeugt.
4. Vorrichtung nach Anspruch 3, gekennzeichnet durch eine Einrich­ tung (S115, S141) zum Bewerten auf der Basis der Sätze von Subflä­ chendaten, ob es für die Datenerzeugungsvorrichtung erforderlich ist, den Verbindungspfad derart zu bestimmen, daß der Verbindungs­ pfad in seiner Gesamtheit von den Stichen, die die jeweiligen Flä­ chen füllen, bedeckt ist.
5. Vorrichtung nach einem der Ansprüche 1 bis 4, dadurch gekenn­ zeichnet, daß die Datenerzeugungseinrichtung eine Einrichtung (S103) zum Angeben einer Start- und einer Endposition (PS, PE) in der Fläche, bei denen das Besticken beginnt bzw. endet, wobei die Datenerzeugungseinrichtung die Stickreihenfolge der Subflächen auf der Basis der Start- und Endpositionen bestimmt.
6. Vorrichtung nach einem der Ansprüche 1 bis 5, dadurch gekenn­ zeichnet, daß die Unterteilungseinrichtung (S15, S17, S29) eine Mehrzahl von Basispositionen auf dem Umriß der Fläche auf der Ba­ sis der Umrißdaten angibt und eine Mehrzahl von geraden Teilungs­ linien, die jeweils zwei entsprechende der Basispositionen durch­ laufen und sich innerhalb des Umrisses nicht kreuzen, bestimmt, wobei die Teilungslinien die Fläche in Subflächen unterteilt und die Basispositionen die speziellen Positionen umfassen.
7. Vorrichtung nach Anspruch 6, dadurch gekennzeichnet, daß die Unterteilungseinrichtung ein Polygon (E) als Fläche in eine Mehr­ zahl von Subpolygone als Subflächen unterteilt, wobei die spe­ ziellen Positionen aus Vertizes des Polygones bestehen und die Ba­ sispositionen die Vertizes umfassen.
8. Vorrichtung nach Anspruch 6 oder 7, dadurch gekennzeichnet, daß die Unterteilungseinrichtung (S15) eine Bestimmungseinrichtung (S71, S72) zum Bestimmen der zwei am weitesten oder nahezu am wei­ testen voneinander entfernten Positionen der speziellen Positionen des Umrisses der Fläche als Minimum- und Maximumpositionen (PMIN, PMAX) der Fläche, und zum Bestimmen der Richtung einer geraden Li­ nie durch die Minimum- und Maximumpositionen als Longitudinalrich­ tung der Fläche, eine Deformationspositions-Ermittlungseinrichtung (S77) zum Drehen des Umrisses in einem X-Y-Koordinatensystem, so daß die Longitudinalrichtung parallel zur X- oder Y-Achse des X-Y- Koordinatensystemes wird, und zum aufeinanderfolgenden Prüfen der speziellen Positionen in der Reihenfolge ihrer Anordnung auf dem Umriß auf eine Deformationsposition, indem bewertet wird, ob das Vorzeichen eines Wertes, der durch Subtraktion eines Wertes bezüg­ lich der einen Achse der gegenwärtig überprüften Position von demjenigen der nachfolgenden speziellen Position, die als nächstes überprüft wird, erhalten wird, gleich demjenigen eines Wertes ist, der durch Subtraktion eines Wertes bezüglich der einen Achse des vorangehenden speziellen Position, die gerade geprüft worden ist, von demjenigen der gegenwärtig überprüften speziellen Position er­ halten wird, wobei die Deformationspositions-Ermittlungseinrich­ tung die gegenwärtig geprüfte Position als Deformationsposition bestimmt, falls eine negative Bewertung erfolgt, und eine Deforma­ tionsrichtungs-Ermittlungseinrichtung (S78) zum Bewerten, ob die Deformationsposition eine nach außen deformierende Position dar­ stellt oder nicht, wobei die Deformationsrichtung-Bewer­ tungseinrichtung für den Fall, daß die Deformationspositions-Er­ mittlungseinrichtung die speziellen Positionen auf dem Umriß im Uhrzeigersinn prüft, die Deformationsposition als nach außen de­ formierende Position bestimmt, falls die der Deformationsposition nachfolgende spezielle Position in Blickrichtung eines Vektors, der bei der vorangehenden speziellen Position beginnt und bei der Deformationsposition endet, auf deren linken Seite liegt, und für den Fall, daß die Deformationspositions-Ermittlungseinrichtung die speziellen Positionen auf dem Umriß entgegen dem Uhrzeigersinn prüft, die Deformationsposition als nach außen deformierende Posi­ tion bestimmt, falls die der Deformationsposition nachfolgende spezielle Position in Blickrichtung des Vektors auf deren rechten Seite liegt, umfaßt, wobei die Unterteilungseinrichtung mittels der Teilungslinien die Fläche (E) in unterteilte Flächen (E1, E2, E3, E4) als Subflächen unterteilt, so daß jede der unterteilten Flächen keine nach außen deformierende Position aufweist.
9. Vorrichtung nach einem der Ansprüche 6 bis 8, dadurch gekenn­ zeichnet, daß die Unterteilungseinrichtung (S17) eine Bestimmungs­ einrichtung (S51) zum Bestimmen der zwei am weitesten oder nahezu am weitesten voneinander entfernten Positionen der speziellen Po­ sitionen des Umrisses der Fläche als Minimum- und Maximumpositio­ nen der Fläche, und eine Bewertungseinrichtung (S56, S64) zum Be­ werten, ob sich alle Segmente, die durch Verbinden der jeweiligen zwei entferntesten Positionen und der jeweiligen anderen speziel­ len Positionen auf dem Umriß erhalten werden, innerhalb des Umris­ ses befinden, umfaßt, wobei die Unterteilungseinrichtung mittels der Teilungslinien die Fläche in unterteilte Flächen (E11, E12, E21, E22, E23, E24, E31, E32, E4) als Subflächen unterteilt, so daß die Bewertungseinrichtung eine positive Bewertung für jede der unterteilten Flächen abgibt.
10. Vorrichtung nach einem der Ansprüche 6 bis 9, dadurch gekenn­ zeichnet, daß die Unterteilungseinrichtung (S29) eine Bestimmungs­ einrichtung (S501, S502) zum Bestimmen der zwei am weitesten oder nahezu am weitesten voneinander entfernten Positionen der speziel­ len Positionen des Umrisses der Fläche (H) als Maximum- und Mini­ mumpositionen der Fläche, und zum Bestimmen der Richtung einer ge­ raden Linie durch die Maximum- und Minimumpositionen als Longitu­ dinalrichtung der Fläche, wobei der Umriß aus einem Paar von Be­ reichen besteht, die einander bezüglich der Maximum- und Minimum­ positionen gegenüberliegen, eine Definitionseinrichtung (S504) zum Vergleichen der Zahl von speziellen Positionen auf einem der ein­ ander gegenüberliegenden Bereiche des Umrisses mit der Zahl der speziellen Positionen auf dem anderen Bereich, wobei als erster Bereich des Umrisses derjenige (PMINPnPMAX) bestimmt wird, der die kleinere Zahl von speziellen Positionen umfaßt, und zum Definieren einer Mehrzahl von geraden ersten Hilfslinien (PnDn), die senk­ recht zur Longitudinalrichtung sind und jeweils eine entsprechende (Pn) der speziellen Positionen des ersten Bereiches des Umrisses durchlaufen und den anderen (PMINDnPMAX) der einander gegenüber­ liegenden Bereiche als zweiten Bereich des Umrisses kreuzen, wobei die ersten Hilfslinien die Fläche und den Umriß in eine Mehrzahl von ersten Blöcken (Pn-1Dn-1DnPn) bzw. eine Mehrzahl von ersten Segmenten (Pn-1Pn, Dn-1Dn) unterteilt, wobei jeder erste Block von entsprechenden zwei (Pn-1Dn-1, PnDn) der ersten Hilfslinien, die einander gegenüberliegen, und entsprechenden zwei (Pn-1Pn, Dn-1Dn) der ersten Segmente, die einander gegenüberliegen, eingeschlossen wird, und eine erste Modifizierungseinrichtung (S507-S521) zum Modifizieren des jeweiligen ersten Blockes, indem als Unterteilungsbasisposition eine der speziellen Positionen des zweiten Bereiches des Umrisses ausgewählt wird, die mit der spe­ ziellen Position, die zur jeweiligen der einander gegenüberliegen­ den zwei ersten Hilfslinien des jeweiligen ersten Blockes gehört, zusammenwirkt, um anstelle der jeweiligen ersten Hilfslinie eine entsprechende der Unterteilungslinien zu definieren, die die zuge­ hörige spezielle Position des ersten Bereiches des Umrisses und die Unterteilungsbasisposition des zweiten Bereiches des Umrisses durchläuft, umfaßt, wobei die Subflächen aus den jeweiligen modi­ fizierten ersten Blöcken, die aus den ersten Blöcken resultieren, bestehen, und wobei die modifizierten ersten Blöcke zwei dreiec­ kige Blöcke umfassen, zu denen die Minimum- bzw. Maximumpositionen gehören, wobei jeder der dreieckigen Blöcke von einem Dreieck ap­ proximiert wird, das von drei speziellen Positionen definiert ist.
11. Vorrichtung nach Anspruch 10, dadurch gekennzeichnet, daß die Unterteilungseinrichtung eine zweite Modifizierungseinrichtung (S35) zum Umwandeln des jeweiligen dreieckigen Blockes in einen viereckige Block, der von einem durch vier spezielle Positionen definierten Viereck approximiert wird, umfaßt.
12. Vorrichtung nach Anspruch 10 oder 11, dadurch gekennzeichnet, daß die Unterteilungseinrichtung eine Einrichtung (S516) zum Defi­ nieren einer Mehrzahl von geraden zweiten Hilfslinien (DmPR, Dm+1PF), die senkrecht zur Longitudinalrichtung sind und jeweils eine entsprechende (PR, PF) der speziellen Positionen auf dem zweiten Bereich des Umrisses durchlaufen, wobei die zweiten Hilfs­ linien mit den ersten Hilfslinien zusammenwirken, um die Fläche und den Umriß in eine Mehrzahl von zweiten Blöcken (DmPRDnPn) bzw. eine Mehrzahl von zweiten Segmenten (DmPn, PRDn) zu unterteilen, wobei jeder der zweiten Blöcke von zwei entsprechenden (DmPR, PnDn) der ersten und zweiten Hilfslinien, die einander gegenüber­ liegen, und von zwei entsprechenden (DmPn, PRDn) der zweiten Seg­ mente, die einander gegenüberliegen, eingeschlossen wird, eine Einrichtung (S516) zum Bestimmen eines ersten Vektors, der an ei­ nem (Dm) der einander gegenüberliegenden Enden von einem (DmPn) der einander gegenüberliegenden zwei zweiten Segmenten eines jeden der zweiten Blöcke beginnt und am anderen Ende (Pn) des einen zweiten Segmentes endet, eines zweiten Vektors, der an einem (PR) der einander gegenüberliegenden Enden des anderen (PRDn) zweiten Segmentes beginnt, das dem einen Ende des einen zweiten Segmentes gegenüberliegt, und am anderen Ende (Dn) des anderen zweiten Seg­ mentes endet, das dem anderen Ende des einen zweiten Segmentes ge­ genüberliegt, und eines dritten Vektors, der an einer Position auf einer (DmPR) der einander gegenüberliegenden zwei Hilfslinien ei­ nes jeden zweiten Blockes beginnt, sich in Richtung eines Vektors, der durch Addition des ersten und zweiten Vektors erhalten wird, erstreckt, und an einer Position auf der anderen (PnDn) der einan­ der gegenüberliegenden zwei Hilfslinie endet, wobei die Endposi­ tion auf jeder der ersten und zweiten Hilfslinien, bei denen der drite Vektor für einen (DmPRDnPn) der zwei zweiten Blöcke auf beiden Seiten der jeweiligen Hilfslinie endet, gleichzeitig als Startposition auf der jeweiligen Hilfslinie dient, bei der der dritte Vektor für den anderen zweiten Block (PnDnPFDm+1) beginnt, wobei die Minimumposition entweder als Start oder Ende sowohl für den ersten als auch den zweiten Vektor des zweiten Blockes, zu dem die Minimumposition gehört, und gleichzeitig als Start- oder End­ position für den zweiten Block, zu dem die Minimumposition gehört, dient, während die Maximumposition entweder als Ende oder Start sowohl für den ersten als auch zweiten Vektor des zweiten Blockes, zu dem die Minimumposition gehört, und gleichzeitig entweder als End- oder Startposition für den zweiten Block, zu dem die Maximum­ position gehört, dient, eine Einrichtung (S516) zum Bestimmen ei­ nes vierten Vektors für jede der ersten Hilfslinien durch Addition der dritten Vektoren für die zwei Blöcke auf beiden Seiten der je­ weiligen ersten Hilfslinie, und eine Einrichtung (S516) zum Defi­ nieren einer geraden Referenzlinie (LREF), die die spezielle Posi­ tion (Pn) durchläuft, die der jeweiligen ersten Hilfslinie zuge­ ordnet ist, und die senkrecht zum vierten Vektor ist, umfaßt.
13. Vorrichtung nach Anspruch 12, dadurch gekennzeichnet, daß die Unterteilungseinrichtung eine Einrichtung (S508, S509) zum Bestim­ men einer Kreuzung (Dn) zwischen der jeweiligen ersten Hilfslinie und dem zweiten Bereich des Umrisses, und zum Bestimmen von zwei (PR, PF) der speziellen Positionen des zweiten Bereiches, die der Kreuzung auf beiden Seiten benachbart sind, als vorangehende bzw. nachfolgende spezielle Position der speziellen Position (Pn), die zu der jeweiligen ersten Hilfslinie gehört, und eine Einrichtung (S517, S518) zum Vergleichen eines ersten Winkels (RR) zwischen der Referenzlinie und einer ersten geraden Linie (PnPR) durch die vorherige spezielle Position und die zugehörige spezielle Position mit einem zweiten Winkel (RF) zwischen der Referenzlinie und einer zweiten geraden Linie (PnPF) durch die nachfolgende spezielle Po­ sition und die zugehörige spezielle Position, umfaßt, wobei die Unterteilungseinrichtung als Unterteilungsbasisposition eine der vorherigen oder nachfolgenden speziellen Positionen bestimmt, je nachdem welche zu einem kleineren der ersten und zweiten Winkel führt, und wobei jeder modifizierte erste Block durch den Umriß und die bezüglich der einander gegenüberliegenden zwei Hilfslinien des jeweiligen ersten Blockes bestimmten Unterteilungslinien defi­ niert ist.
14. Vorrichtung nach Anspruch 13, dadurch gekennzeichnet, daß die Unterteilungseinrichtung eine erste Bewertungseinrichtung (S510, S512, S514) zum Bewerten, ob sich die vorangehende spezielle Posi­ tion zwischen der Kreuzung und einer Kreuzung (Dn-1) des zweiten Bereiches des Umrisses mit der ersten Hilfslinie, die zu einer (Pn-1) der zwei speziellen Positionen des ersten Bereiches gehört, die der zu der jeweiligen ersten Hilfslinie gehörenden speziellen Position (Pn) auf beiden Seiten benachbart sind, befindet, und eine zweite Bewertungseinrichtung (S510, S512, S514) zum Bewerten, ob sich die nachfolgende spezielle Position zwischen der Kreuzung und einer Kreuzung (Dn+1) zwischen dem zweiten Bereich und der er­ sten Hilfslinie, die zur anderen (Pn+1) der zwei speziellen Posi­ tionen gehört, befindet, umfaßt, wobei die Unterteilungseinrich­ tung als Unterteilungsbasisposition den Mittelpunkt (D′n) eines geraden Segmentes bestimmt, das die vorangehende und die nachfol­ gende spezielle Position verbindet, falls sowohl die erste als auch die zweite Bewertungseinrichtung zu negativen Bewertungen kommen, die Unterteilungseinrichtung als Unterteilungsbasisposi­ tion die vorangehende spezielle Position bestimmt, falls die erste Bewertungseinrichtung zu einer positiven und die zweite Bewertungseinrichtung zu einer negativen Bewertung gelangt, die Unterteilungseinrichtung die nachfolgende spezielle Position als Unterteilungsbasisposition bestimmt, falls die erste Bewer­ tungseinrichtung zu einer negativen und die zweite Bewertungsein­ richtung zu einer positiven Bewertung kommt, und die Untertei­ lungseinrichtung die Unterteilungsbasisposition durch Verwendung des Vergleichsergebnisses der Einrichtung zum Vergleichen der er­ sten und zweiten Winkel bestimmt, falls sowohl die erste als auch die zweite Bewertungseinrichtung zu einer positiven Bewertung ge­ langen.
15. Vorrichtung nach Anspruch 14, dadurch gekennzeichnet, daß die Unterteilungseinrichtung eine Einrichtung (S521) umfaßt zum Ange­ ben von einer oder mehreren Positionen (P11, P10, P9, P8) auf dem zweiten Bereich des Umrisses, für die die Unterteilungsbasisposi­ tion oder -positionen nicht bestimmt worden sind, und zum Bestim­ men der Unterteilungsbasisposition bzw. -positionen (D11, D10, D9, D8) auf dem ersten Bereich des Umrisses für diese eine oder mehre­ ren speziellen Positionen, wobei die Unterteilungseinrichtung die Fläche in viereckige Blöcke als modifizierte erste Blöcke mit Aus­ nahme der zwei dreieckigen Blöcke, zu denen die Minimum- bzw. Ma­ ximumposition gehört, unterteilt, so daß die modifizierten ersten Blöcke ein Feld in der Fläche bilden.
16. Vorrichtung nach Anspruch 15, dadurch gekennzeichnet, daß die Datenerzeugungseinrichtung eine erste Speichereinrichtung (76c, 76d, 76e) zum Speichern von Sätzen von Blockdaten, die den Umriß eines entsprechenden der modifizierten ersten Blöcke angeben, als Sätze von Subflächendaten, eine zweite Speichereinrichtung (76g) zum Speichern der Sätze von Blockdaten in der Reihenfolge des Be­ stickens der modifizierten ersten Blöcke, eine Einrichtung (S103) zum Angeben einer Start- und einer Endposition (PS, PE) auf dem Umriß der Fläche, bei denen das Besticken beginnt bzw. endet, eine Prüfeinrichtung (S113, S115, S129, S141, S131, S159) zum Prüfen der Sätze von Blockdaten, die in der ersten Speichereinrichtung gespeichert sind, auf einen Start- und einen abschließenden Block, die zwei der modifizierten ersten Blöcke darstellen, zu denen die Start- bzw. Endposition gehören, auf einen Endblock, der nur eine Teilungslinie mit nur einem der modifizierten ersten Blöcke teilt, der hierzu benachbart ist, und auf einen Verbindungsblock, der drei oder mehr der Teilungslinien mit drei oder mehr der modifi­ zierten ersten Blöcke teilt, die benachbart zu diesem sind, und eine Reihenfolgebestimmungseinrichtung (S133, S145, S165, S169, S171, S173, S177, S209, S214) zum Speichern des Satzes oder der Sätze von Blockdaten für den Startblock und, falls vorhanden, den Block oder die Blöcke zwischen dem Startblock und dem Verbindungs­ block, in der zweiten Speichereinrichtung, falls die modifizierten ersten Blöcke den Verbindungsblock umfassen, in einer ersten Rei­ henfolge der Anordnung des Blockes oder der Blöcke vom Startblock in Richtung des Verbindungsblockes, umfaßt, wobei die Reihenfolge­ bestimmungseinrichtung die Sätze von Blockdaten für den Verbin­ dungsblock, alle dem Verbindungsblock benachbarten Blöcke, mit Ausnahme des benachbarten Blockes, dessen Blockdaten in der zwei­ ten Speichereinrichtung gespeichert worden sind, und, falls vor­ handen, den Block oder die Blöcke, die zu einem Zweig gehören, der sich von dem einen benachbarten Block aus erstreckt, um den End­ block zu finden, der am Ende des Zweiges liegt, in einer zweiten Reihenfolge der Anordnung des Blockes oder der Blöcke vom Verbin­ dungsblock in Richtung des Endblockes prüft, für den Fall, daß der Endblock nicht der abschließende Block ist, den Verbindungspfad derart bestimmt, daß dieser in der zweiten Reihenfolge Positionen durchläuft, die jeweils zum Verbindungsblock als auch dem oder den Blöcken des Zweiges gehören, und einen Satz von Verbindungspfadda­ ten, die den Verbindungspfad angeben, in der zweiten Speicherein­ richtung speichert, wobei die Reihenfolgebestimmungseinrichtung nach dem Satz der Verbindungspfaddaten in der zweiten Speicherein­ richtung den Satz oder die Sätze von Blockdaten für den Endblock und, falls vorhanden, den Block oder die Blöcke zwischen dem End­ block und dem Verbindungsblock, in einer dritten Reihenfolge der Anordnung des Blockes oder der Blöcke vom Endblock in Richtung des Verbindungsblockes speichert, wobei die Reihenfolgebestimmungsein­ richtung ferner, falls der Endblock gleich dem abschließenden Block ist, in der zweiten Speichereinrichtung die Sätze von Block­ daten für den Verbindungsblock, den abschließenden Block und, falls vorhanden, den Block oder die Blöcke zwischen dem Verbin­ dungsblock und dem abschließenden Block in einer vierten Reihen­ folge der Anordnung der Blöcke vom Verbindungsblock zum abschlie­ ßenden Block speichert.
17. Vorrichtung nach Anspruch 16, dadurch gekennzeichnet, daß die Datenerzeugungseinrichtung (S39) auf der Basis der Sätze von Blockdaten und dem Satz von Verbindungspfaddaten, die in der zwei­ ten Speichereinrichtung gespeichert sind, Stichpositionsdaten er­ zeugt, die Stichpositionen darstellen, die die Näh-/Stickmaschine (8) mit dem kontinuierlichen Faden verbindet, um Stiche zu bilden und die jeweiligen Subflächen mit den gebildeten Stichen zu fül­ len, und um einen oder mehrere Stiche entlang des Verbindungs­ pfades zu bilden, um zwei der modifizierten ersten Blöcke zu ver­ binden, wobei die Stichpositionsdaten als den Stichpositionen ent­ sprechende Daten wirken.
18. Vorrichtung nach einem der Ansprüche 1 bis 17, gekennzeichnet durch eine Bildleseeinrichtung (84, S1) zum Lesen eines Bildes der Fläche und eine Umrißdaten-Erzeugungseinrichtung (86, 110, 112, S3, S5, S7, S9, S11, S13) zum Erzeugen der Umrißdaten aus dem ge­ lesenen Bild der Fläche.
19. Vorrichtung nach Anspruch 18, gekennzeichnet durch eine Anzei­ geeinrichtung (112) zum Anzeigen des Umrisses des von der Bildle­ seeinrichtung gelesenen Bildes, und eine manuell betreibbare Anga­ beeinrichtung (86) zum Angeben einer Mehrzahl von Positionen auf dem Umriß des gelesenen Bildes als spezielle Positionen, wobei die Umrißdaten-Erzeugungseinrichtung die Umrißdaten derart erzeugt, daß diese aus den angegebenen Positionen bestehen.
20. Vorrichtung nach Anspruch 18 oder 19, gekennzeichnet durch eine Angabeeinrichtung zum Angeben einer Mehrzahl von Positionen in regelmäßigen Abständen auf dem Umriß des gelesenen Bildes als Kandidaten für die speziellen Positionen und zum Verbinden der je­ weiligen Paare von benachbarten zwei Kandidaten mit einem geraden Segment, und eine Bewertungseinrichtung zum Bewerten, ob der klei­ nere der zwei Winkel, die von jedem Paar zweier benachbarter gerader Segmente definiert werden, kleiner als ein Referenzwert ist, wobei die Umrißdaten-Erzeugungseinrichtung für den Fall, daß die Bewertungseinrichtung eine positive Bewertung abgibt, denjeni­ gen Kandidaten als eine der speziellen Positionen annimmt, bei dem das jeweilige Paar von benachbarten zwei Segmenten miteinander verbunden ist.
DE4034157A 1989-10-26 1990-10-26 Stickdaten-erzeugungsvorrichtung Withdrawn DE4034157A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1279381A JP2626091B2 (ja) 1989-10-26 1989-10-26 刺繍ミシンのデータ処理装置

Publications (1)

Publication Number Publication Date
DE4034157A1 true DE4034157A1 (de) 1991-05-02

Family

ID=17610350

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4034157A Withdrawn DE4034157A1 (de) 1989-10-26 1990-10-26 Stickdaten-erzeugungsvorrichtung

Country Status (4)

Country Link
US (1) US5191536A (de)
JP (1) JP2626091B2 (de)
AU (1) AU639031B2 (de)
DE (1) DE4034157A1 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2861481B2 (ja) * 1991-05-15 1999-02-24 ブラザー工業株式会社 刺繍針落ちデータ作成装置
JPH0557071A (ja) * 1991-08-31 1993-03-09 Brother Ind Ltd 電子制御式ミシン用外部メモリ
JP3072679B2 (ja) * 1992-07-20 2000-07-31 ブラザー工業株式会社 刺繍データ作成装置
JPH0686881A (ja) * 1992-09-07 1994-03-29 Brother Ind Ltd 刺繍模様作成装置
JP3811191B2 (ja) * 1993-06-14 2006-08-16 ブラザー工業株式会社 刺繍データの作成方法及びその装置並びにその刺繍データに基づいて形成された刺繍模様
US5430658A (en) * 1993-10-04 1995-07-04 Pulse Microsystems, Ltd. Method for creating self-generating embroidery pattern
JPH0844848A (ja) * 1994-07-28 1996-02-16 Brother Ind Ltd 画像処理装置及び刺繍データ作成装置
US5740056A (en) * 1994-10-11 1998-04-14 Brother Kogyo Kabushiki Kaisha Method and device for producing embroidery data for a household sewing machine
US9200397B2 (en) 1998-08-17 2015-12-01 Cimpress Schweiz Gmbh Automatically generating embroidery designs
US6836695B1 (en) * 1998-08-17 2004-12-28 Soft Sight Inc. Automatically generating embroidery designs from a scanned image
US6167823B1 (en) 1999-07-21 2001-01-02 Buzz Tools, Inc. Method and system for computer aided embroidery
US6584921B2 (en) 2000-07-18 2003-07-01 Buzz Tools, Inc. Method and system for modification embroidery stitch data and design
JP2007020644A (ja) * 2005-07-12 2007-02-01 Brother Ind Ltd 刺繍データ処理装置及びプログラム
US8095232B2 (en) 2005-11-02 2012-01-10 Vistaprint Technologies Limited Printer driver systems and methods for automatic generation of embroidery designs
JP2008012175A (ja) * 2006-07-07 2008-01-24 Brother Ind Ltd ミシン及びミシン操作プログラム
SE531543C2 (sv) * 2007-08-21 2009-05-12 Vsm Group Ab Sömnadsordning för grundelement vid brodering
JP4811509B2 (ja) * 2009-09-03 2011-11-09 ブラザー工業株式会社 ミシン
JP2013070876A (ja) * 2011-09-28 2013-04-22 Brother Ind Ltd ミシン
JP2013070875A (ja) * 2011-09-28 2013-04-22 Brother Ind Ltd ミシン及び刺繍枠
JP2013070874A (ja) 2011-09-28 2013-04-22 Brother Ind Ltd 刺繍枠
JP2013158491A (ja) 2012-02-06 2013-08-19 Brother Ind Ltd カットデータ作成装置、カットデータ作成プログラム、及びミシン
JP2015048537A (ja) * 2013-08-29 2015-03-16 ブラザー工業株式会社 ミシン

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2073913B (en) * 1980-03-05 1984-09-05 Brother Ind Ltd Automatic sewing machine
JPS6282994A (ja) * 1985-10-04 1987-04-16 ジューキ株式会社 刺繍機の制御装置
US4943906A (en) * 1987-07-14 1990-07-24 Tokai Kogyo Mishin Kabushiki Kaisha Data setting device for an embroidering machine
JP2523346B2 (ja) * 1988-02-26 1996-08-07 蛇の目ミシン工業株式会社 コンピュ―タ刺繍機用刺繍デ―タ自動作成装置

Also Published As

Publication number Publication date
AU6552690A (en) 1991-05-02
US5191536A (en) 1993-03-02
AU639031B2 (en) 1993-07-15
JPH03140187A (ja) 1991-06-14
JP2626091B2 (ja) 1997-07-02

Similar Documents

Publication Publication Date Title
DE4034157A1 (de) Stickdaten-erzeugungsvorrichtung
DE3851046T2 (de) Verfahren zum Füllen von Polygonen.
DE3639554C2 (de) Verfahren zum Verarbeiten von Stichdaten mit einer automatischen Nähmaschine
DE3338765C2 (de) Schaltungsanordnung zur Darstellung von veränderbaren Gebilden
DE19514363C2 (de) Verfahren und Vorrichtung zum Zuschneiden eines Schneidegutes wie Textilien, Leder, technische Geräte oder dgl.
DE3722444C2 (de) Verfahren und Vorrichtung zum Erzeugen von Entwurfsmusterdaten
DE3852237T2 (de) Verfahren zur eingabe der profildaten.
DE19749781A1 (de) Musternähmaschine
DE4022973C2 (de) Verfahren zum Erzeugen von Nadelpositionsdaten und Stickmusterdatenprozessor
DE3243313C2 (de)
DE4100534C1 (de)
DE4014594A1 (de) Cad/cam-einrichtung
DE19509884A1 (de) Verfahren zum Ausrichten von Zuschnittsegmenten
DE4020463C2 (de) Verfahren zum Erzeugen von Nadelpositiondsaten und einen Stickmusterdatenprozessor dafür
DE4033325C2 (de) Verfahren zum Erzeugen von Stichpositionen entsprechenden Daten und Verfahren zum Besticken einer Fläche sowie Vorrichtung für das erstgenante Verfahren
DE3855225T2 (de) Datenbanksystem für Bildkomposition
DE4032486A1 (de) Stickdaten-erzeugungsvorrichtung
DE4105089A1 (de) Stickereidatenverarbeitungseinrichtung
DE4002031C2 (de) Verfahren und Vorrichtung zum Erstellen von Nähdaten für eine Nähmaschine
DE4032502A1 (de) Stickdaten-erzeugungsvorrichtung
DE3820566C2 (de) Verfahren zum Ermitteln einer Bewegungsbahn eines Bearbeitungswerkzeugs einer von einer numerischen Steuervorrichtung gesteuerten Werkzeugmaschine
DE4034692A1 (de) Stickdaten-verarbeitungsvorrichtung
DE4139203A1 (de) Naehdatenverarbeitungseinrichtung
DE4223306C2 (de) Verfahren zum Bilden eines Stichmusters Verfahren zur Erzeugung von Stickdaten Stickdatenverarbeitungssystem
DE4226219C2 (de) Musterdatenverarbeitungsvorrichtung für eine Nähmaschine

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee