DE10135992A1 - Method for approximately reproducing the surface of a workpiece from CAD data in a multiple milling process, involves breaking down first approximation of the shape into smaller parts which are milled accordingly - Google Patents

Method for approximately reproducing the surface of a workpiece from CAD data in a multiple milling process, involves breaking down first approximation of the shape into smaller parts which are milled accordingly

Info

Publication number
DE10135992A1
DE10135992A1 DE10135992A DE10135992A DE10135992A1 DE 10135992 A1 DE10135992 A1 DE 10135992A1 DE 10135992 A DE10135992 A DE 10135992A DE 10135992 A DE10135992 A DE 10135992A DE 10135992 A1 DE10135992 A1 DE 10135992A1
Authority
DE
Germany
Prior art keywords
milling
points
edge
data points
triangles
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
DE10135992A
Other languages
German (de)
Inventor
Leif Kobbelt
Wolfgang Papiernik
Christof Sinn
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE10135992A priority Critical patent/DE10135992A1/en
Priority to EP01993905A priority patent/EP1334468B1/en
Priority to US10/415,973 priority patent/US6901310B2/en
Priority to US10/416,746 priority patent/US7062353B2/en
Priority to DE50109239T priority patent/DE50109239D1/en
Priority to CNB018219861A priority patent/CN1318929C/en
Priority to PCT/DE2001/004150 priority patent/WO2002037198A2/en
Priority to EP01992913A priority patent/EP1352299A2/en
Priority to PCT/DE2001/004149 priority patent/WO2002039380A2/en
Publication of DE10135992A1 publication Critical patent/DE10135992A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4069Simulating machining process on screen
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32352Modular modeling, decompose large system in smaller systems to simulate
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32354Divide, analyse process into subprocesses, until elementary unit operations
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45058Grinding, polishing robot
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Approximate reproduction of the surface of a workpiece by construction of its contours in a simple manner. According to the method in a first step the body is approximated as a whole. The starting body is then subdivided into a number of partial volumes, so that for reproduction of the workpiece in a second approximation step the partial volumes are selected for which a step involving an analytical reproduction of the milling volume which stretches from the filling cutter along a cover milling path is established. Independent claims are included for use of the method for multiple milling of a workpiece, especially for five milling steps, to a system for reproduction of a workpiece surface, a computer program and a computer for running the program.

Description

Die Erfindung betrifft ein Verfahren und ein System zur Rekonstruktion einer Fläche anhand von mehrdimensionalen Datenpunkten, insbesondere 3D-Datenpunkten, sowie ein Compu­ terprogrammprodukt zur Durchführung des Verfahrens sowie einen mit dem Computerprogrammprodukt programmierten Rechner.The invention relates to a method and a system for Reconstruction of a surface based on multi-dimensional Data points, in particular 3D data points, and a compu program program for performing the method and a computer programmed with the computer program product.

Ein derartiges Verfahren findet beispielsweise Anwendung bei einer Rekonstruktion oder Simulation einer Fläche oder einer Struktur, z. B. einer Oberfläche von einem mittels einer Fräsmaschine zu bearbeitenden Werkstücks. Dazu wird das zu bearbeitende Werkstück üblicherweise mittels eines sogenann­ ten CAD-Systems (CAD = computer aided design system) model­ liert. Zur Überprüfung wird dabei eine das Werkstück reprä­ sentierende Kontur anhand von Fräspunkten oder Fräsbahnen visualisiert. Eine derartige lediglich die Oberfläche erfas­ sende Visualisierung ist bezüglich eines komplexen, insbeson­ dere Hinterschnittkonturen aufweisenden Werkstücks unzuläng­ lich und ungenau. Eine Beurteilung der Werkstückkontur ist auf diese Art und Weise nur unzureichend möglich. Insbeson­ dere ist eine Rekonstruktion von dreidimensionalen Flächen nicht ermöglicht.Such a method is used for example in a reconstruction or simulation of a surface or a Structure, e.g. B. a surface of one by means of a Milling machine to be machined workpiece. That becomes too machining workpiece usually by means of a so-called CAD systems (CAD = computer aided design system) model liert. To check this, the workpiece is represented sent contour based on milling points or milling tracks visualized. Such only grasped the surface sending visualization is regarding a complex, in particular the undercut contours of the workpiece are inadequate and inaccurate. An assessment of the workpiece contour is insufficiently possible in this way. In particular another is a reconstruction of three-dimensional surfaces not allowed.

Der Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren zur Rekonstruktion einer Fläche anzugeben, welches in beson­ ders einfacher Art und Weise eine mehrdimensionale Flächen­ rückführung ermöglicht.The invention is therefore based on the object of a method for the reconstruction of an area, which in particular a simple way a multidimensional surface feedback enabled.

Diese Aufgabe wird durch die in den Ansprüchen 1, 8, 9 und 10 angegebenen Merkmale gelöst. Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.This object is achieved by the in claims 1, 8, 9 and 10 specified features solved. Advantageous further developments of Invention are specified in the subclaims.

Die Erfindung geht von der Überlegung aus, dass bei einem Verfahren zur Rekonstruktion oder Simulation einer Fläche, insbesondere eines Werkstücks, Datenpunkte generiert werden, welche die Fläche beschreiben. Dabei sollte die Flächenrekon­ struktion ohne geometrische Informationen anhand von Nachbar­ schaftsbeziehungen der Datenpunkte ermöglicht sein. Dazu wird die Struktur bevorzugt anhand von in einer chronologischen Reihenfolge vorliegenden 3D-Datenpunkten derart beschrieben, dass diese anhand einer Linearinterpolation bearbeitet werden, wobei chronologisch direkt benachbarte 3D- Datenpunkten unverändert bleiben. Als Ausgabe wird vorteilhafterweise ein Flächennetz, insbesondere ein Dreiecksnetz, generiert, das die gegebenen Datenpunkte vernetzt und ursprüngliche Kanten von polygonalen Bahnen als Netzkanten umfasst. Dieses Verfahren wird bevorzugt als "Meshing" bezeichnet, da einzelne Datenpunkte als Masche zu einem Netz gesponnen oder vernetzt werden. Hierdurch ist sichergestellt, dass anhand eines derart gebildeten Netzes, bevorzugt eines Dreiecksnetzes, eine möglichst genaue Flächenkontur nachgebildet wird. Insbesondere ist gewährleistet, dass eine dem Körper oder der Struktur zugrundeliegende Topologie berücksichtigt wird.The invention is based on the consideration that in one Methods for the reconstruction or simulation of a surface,  especially of a workpiece, data points are generated, which describe the area. The area recon structure without geometric information based on neighbor business relationships of the data points. This will the structure is preferred based on a chronological Order of 3D data points described in such a way that this is processed using linear interpolation chronologically directly adjacent 3D Data points remain unchanged. As an issue advantageously an area network, in particular a Triangular network that generates the given data points meshed and original edges of polygonal paths as Mesh edges includes. This method is preferred as "Meshing" refers to individual data points as a mesh spun or networked. This is ensures that on the basis of a network formed in this way, preferably a triangular network, as accurate as possible Surface contour is simulated. In particular is ensures that the body or structure underlying topology is taken into account.

Je nach Art und Aufbau der Struktur oder des Körpers, insbe­ sondere bei einem sehr komplexen Körper, welcher eine sehr geringe Schrittweite zwischen benachbarten Datenpunkten auf­ weist, kommt es zur Generierung einer Vielzahl von Netzen oder Teilnetzen. Zur Vereinfachung und Reduktion der Komple­ xität werden zweckmäßigerweise Datenpunkte, welche weniger als eine vorgegebene Schrittweite voneinander entfernt sind, zu einem Netzdatenpunkt zusammengefasst, wobei eine vorgeb­ bare Approximationstoleranz berücksichtigt wird. Daraus resultierende, sogenannte degenerierte Dreiecke werden ermit­ telt und entfernt, wodurch sich in besonders einfacher Art und Weise die Netzkomplexität verringert. Dieses Verfahren wird bevorzugt als "Rasterizing" bezeichnet, da mittels einer Quantisierung von Schrittweiten eine Rasterung erfolgt. Depending on the type and structure of the structure or body, esp especially with a very complex body, which is a very small increment between neighboring data points points, a large number of networks are generated or subnetworks. To simplify and reduce the whole Xity expediently become data points, which less are separated from each other by a predetermined step size, combined into a network data point, with a predetermined approximation tolerance is taken into account. Out of it resulting, so-called degenerate triangles are determined telt and removed, which is particularly easy and reduces network complexity. This method is preferably referred to as "rasterizing" because by means of a A step is carried out to quantize increments.  

Zur Beschreibung eines sehr komplexen Körpers wird vorteil­ hafterweise eine Vielzahl von Netzen anhand von Netzdaten­ punkten derart miteinander verknüpft, dass Randpolygone unverändert bleiben. Hierdurch ist sichergestellt, dass die Kontur des Körpers, insbesondere dessen Randpunkte, bei der Rekonstruktion oder Simulation unverändert bleiben. Dieses Verfahren wird bevorzugt als "Fusion" bezeichnet, da mittels der Verknüpfung von Netzdatenpunkten Teilflächen des Körpers anhand von zusammengefügten Netzen miteinander verknüpft werden. Die "Fusion" erlaubt somit beispielsweise ein Zusam­ menfügen von flächig zurückgeführten Teilen des Werkstücks. Dies ist beispielsweise erforderlich, wenn durch Vorhanden­ sein von Nichtkonturverfahrwegen, z. B. Zustellwege, das Werkstück bzw. die 3D-Daten des Werkstücks in einzelne Bear­ beitungsteile zerfallen.To describe a very complex body is advantageous a large number of networks based on network data score linked together in such a way that edge polygons remain unchanged. This ensures that the Contour of the body, especially its edge points, at the Reconstruction or simulation remain unchanged. This The method is preferably referred to as "fusion" because by means of the connection of network data points to partial areas of the body linked together using merged networks will. The "fusion" thus allows, for example, a get-together menue of flat returned parts of the workpiece. This is necessary, for example, if available be of non-contour travel paths, e.g. B. delivery routes, the Workpiece or the 3D data of the workpiece in individual bear processing parts disintegrate.

Je nach Art und Funktion des jeweiligen Rückführungsverfah­ rens einer Fläche können die hier beschriebenen Verfahren - "Meshing", "Rasterizing" oder "Fusion" - als eigenständige Verfahren und somit unabhängig voneinander ausgeführt werden. Dies ist insbesondere abhängig von der Art der Eingangsdaten und/oder von dem Grad der zu erreichenden Vernetzung. Für eine möglichst genaue und realitätsnahe Rekonstruktion einer Fläche werden die drei Verfahren stufenweise ausgeführt, wobei mit jedem Verfahrensschritt bedarfsweise die bereitge­ stellten Daten vervollständigt oder ausgedient werden können.Depending on the type and function of the respective repatriation procedure The methods described here can be "Meshing", "Rasterizing" or "Fusion" - as a standalone Procedure and thus to be carried out independently of one another. This is particularly dependent on the type of input data and / or the degree of networking to be achieved. For the most accurate and realistic reconstruction possible The three procedures are carried out in stages, with the required as required with each process step provided data can be completed or disused.

Bevorzugt wird eines der vorhergehenden Verfahren zur Rekonstruktion einer durch Fräsbahnen gebildeten Kontur eines Werkstücks verwendet. Dabei wird anhand der 3D-Datenpunkte zweckmäßigerweise eine Fräsbahn definiert und die Oberfläche eines gefrästen Werkstücks approximiert. Vorzugsweise ist dazu ein System zur Visualisierung und/oder Transformation eines Datensatzes vorgesehen, welches Mittel zur Rekonstruk­ tion einer Fläche des Körpers umfasst. Beispielsweise ist als System ein CAD-System, z. B. eine programmierbare Rechnerein­ heit, zur Modellierung des Werkstücks vorgesehen. Das CAD- System insbesondere dessen CAD/CAM-Schnittstelle, stellt dabei ein Computerprogrammprodukt bereit, z. B. ein sogenann­ tes NC-Programm (nc = numerical control = numerisch gesteu­ ert).One of the preceding methods is preferred for Reconstruction of a contour formed by milling tracks Workpiece used. It is based on the 3D data points expediently defines a milling path and the surface approximated a milled workpiece. Preferably plus a system for visualization and / or transformation a data record is provided, which means for reconstruction tion of a surface of the body. For example, as System a CAD system, e.g. A programmable computer unit, intended for modeling the workpiece. The CAD  System especially its CAD / CAM interface a computer program product ready, e.g. B. a so-called tes NC program (nc = numerical control = numerical control ert).

Eine mittels des CAD-System ausgeführte CAD-Modellierung des Werkstücks führt zu NC-Teileprogrammen, d. h. zu 3D-Daten­ punkten, welche als Fräsvorschrift des Werkzeugmittelpunkts fungieren. Die Fräsvorschriften liegen dabei typischerweise mäanderförmig bzw. zirkulär vor. Des Weiteren wird bei der CAD-Modellierung ein NC-Teilprogramm generiert, das einer Steuerung mit unterschiedlichen NC-Steuerungskomponenten, z. B. Kompressor, Interpolator, zugeführt wird. Die Visualisierung wird vorteilhafterweise flächig ausgeführt, damit Unzulänglichkeiten der Kontur besser ermittelt werden können. Wird beispielsweise ein nulldimensionaler Fräser, z. B. ein Punktfräser, vorausgesetzt, ergibt sich die Werkstückkontur in diesem Fall als flächig zurückgeführte Fräsermittelpunktbahn. Bereits anhand dieser lässt sich auf Unzulänglichkeiten in der zu fräsenden Werkstückkontur schließen.A CAD modeling of the Workpiece leads to NC part programs, i. H. to 3D data score, which is the milling specification of the tool center act. The milling instructions are typically there meandering or circular. Furthermore, at CAD modeling generates an NC part program that one Control with different NC control components, e.g. B. compressor, interpolator is supplied. The Visualization is advantageously carried out over a large area, so that imperfections of the contour can be better determined can. For example, if a zero-dimensional milling cutter, e.g. B. a point mill, provided that results in In this case, the workpiece contour is returned as a flat surface Router center path. Already on the basis of this Inadequacies in the workpiece contour to be milled shut down.

Die Erfindung löst hierbei eine auftretende Flächenrückfüh­ rungsproblematik in besonders einfacher Art und Weise. Dazu werden anhand des ermittelten Dreiecksnetzes die Fräspunkte interpoliert, welche als Datenpunkte auf dem Flächennetz lie­ gen. Darüber hinaus wird bis auf Randbereiche die Erhaltung der Fräsbahn sichergestellt, d. h. es werden keine Dreiecke auf nicht gegenüberliegenden Fräsbahnen erzeugt. Hierdurch ist sichergestellt, dass bei einer mittels der Interpolation aus­ geführten Optimierung des Dreiecksnetzes die Fläche, insbe­ sondere deren Kanten, weitgehend treu nachgebildet werden. Eine auszeichnende Charaktereigenschaft des Verfahrens ist, dass keine Einschränkung bezüglich der Werkstücktopologie ge­ macht werden müssen. Es sind daher auch Hinterschnittkonturen mittels des Verfahrens zurückführbar. The invention solves any surface return that occurs problem in a particularly simple manner. To the milling points are based on the triangular network determined interpolated, which lay as data points on the surface network In addition, except for marginal areas, the conservation the milling path ensured, d. H. there will be no triangles generated on milling paths not opposite. This is ensured that at one by means of interpolation guided optimization of the triangular network the area, esp especially their edges are largely faithfully reproduced. A distinctive characteristic of the process is that there is no restriction regarding the workpiece topology must be made. Therefore, they are also undercut contours traceable by the method.  

Die mit der Erfindung erzielten Vorteile bestehen insbeson­ dere darin, dass eine Flächenrückführung ermöglicht ist, bei welcher die Erhaltung von Kanten, wie der einer Fräsbahn, ge­ währleistet ist. Hierdurch ist eine möglichst gute Kontur­ treue bei der Nachbildung von Oberflächen eines Körpers gege­ ben. Insbesondere wird die Körpertopologie hinreichend berücksichtigt, so dass beispielsweise Hinterschnittkonturen eines Fräswerkstücks zurückführbar sind.The advantages achieved with the invention are in particular the fact that a return of the surface is made possible which preserves edges, such as a milling track, ge is guaranteed. This is the best possible contour faithful to the reproduction of surfaces of a body ben. In particular, the body topology becomes sufficient taken into account so that, for example, undercut contours of a milling workpiece are traceable.

Nachfolgend werden Ausführungsbeispiele der Erfindung anhand der Figuren näher erläutert. Es zeigen:Exemplary embodiments of the invention are described below of the figures explained in more detail. Show it:

Fig. 1A bis 1C eine schematische Darstellung von ver­ schiedenen Fräsbahnkonfigurationen, Figs. 1A to 1C is a schematic representation of different ver Fräsbahnkonfigurationen,

Fig. 2A bis 2C eine schematische Darstellung einer mit­ tels Netztechnik rekonstruierten polygonen Fläche, Figs. 2A to 2C is a schematic representation of a reconstructed by means of network technology polygonal surface,

Fig. 3A bis 3B eine schematische Darstellung von direk­ ten Nachbarbahnen mit Durchstoßpunkten, FIGS. 3A-3B is a schematic illustration of direct th neighboring webs with penetration points,

Fig. 4A bis 4B eine schematische Darstellung einer par­ tiell rekonstruierten Fläche und einer bereinigten Fläche, FIGS. 4A-4B is a schematic representation of a par tially reconstructed surface and an underlying surface,

Fig. 5 eine schematische Darstellung einer nicht-monotonen Indexfolge von Verknüp­ fungspunkten und somit einer inkonsisten­ ten Vernetzung, Fig. 5 levy points a schematic representation of a non-monotonous sequence of index Verknüp an inconsistent and thus a ten crosslinking,

Fig. 6A bis 6B eine schematische Darstellung einer teil- bzw. gesamtvernetzten Fläche, FIGS. 6A-6B is a schematic representation of a partial or total cross-linked surface,

Fig. 7A bis 7B eine schematische Darstellung einer Flä­ che mit geometrischen Artefakten bzw. einer um die Artefakte bereinigten Flä­ che, FIGS. 7A-7B is a schematic representation of a FLAE surface with geometric artifacts and a net of artifacts FLAE che,

Fig. 8 eine schematische Darstellung einer Flä­ che mit benachbarten Dreiecken eines Net­ zes, Fig. 8 is a schematic representation of a FLAE che with adjacent triangles of a Net zes,

Fig. 9A bis 9D eine schematische Darstellung von ver­ netzten Flächen mit unterschiedlichen Ap­ proximationstoleranzen, und Fig. 9A to 9D is a schematic representation of ver networked surfaces with different Ap approximation tolerances, and

Fig. 10A bis 10C eine schematische Darstellung von benach­ barten Teilnetzen und deren Vernetzung miteinander. FIG. 10A to 10C is a schematic representation of Benach disclosed sub-networks and their interconnection with each other.

Einander entsprechende Teile sind in allen Figuren mit den gleichen Bezugszeichen versehen.Corresponding parts are in all figures with the provided with the same reference numerals.

Die Erfindung wird beispielhaft anhand eines Algorithmus zur Flächenrekonstruktion eines mittels einer Fräsmaschine zu bearbeitenden Werkstücks beschrieben. Der Algorithmus oder das Verfahren ist darüber hinaus auch zur Rekonstruktion von verschiedenen Flächen geeignet.The invention is exemplified using an algorithm for Surface reconstruction using a milling machine machining workpiece described. The algorithm or the method is also for the reconstruction of suitable for different surfaces.

Bei der Rekonstruktion der Oberfläche des zu fräsenden Werk­ stücks werden als Datenpunkte, insbesondere 3D-Datenpunkte, diskrete Fräsbahndaten vorgegeben. Zur anschließenden Bear­ beitung des Werkstücks werden die Datenpunkte mittels eines NC-Programms chronologisch an die Fräsmaschine übergeben. Mit anderen Worten: Als Datenpunkte werden eine Folge von Punkt­ koordinaten oder Fräsbahndaten, die die Anfahrpositionen eines Fräskopfes in chronologischer Reihenfolge darstellen, vorgegeben. Als Ausgabe wird mittels des Verfahrens ein Drei­ ecksnetz generiert, das die gegebenen Datenpunkte vernetzt und die ursprünglichen Kanten der polygonalen Fräsbahn als Teilmenge der Netzkanten umfasst. Außer der Nachbarschaftsbe­ ziehung aufeinanderfolgender Fräsbahnpunkte sind keine weite­ ren Eingaben, insbesondere geometrischen Zusatzinformationen, erforderlich.When reconstructing the surface of the work to be milled pieces are used as data points, in particular 3D data points, Discrete milling path data specified. To the subsequent Bear The workpiece is processed using a data point Chronologically transfer the NC program to the milling machine. With in other words: as data points become a sequence of points coordinates or milling track data that show the approach positions represent a milling head in chronological order, given. The process uses the procedure to output a three corner network that networks the given data points and the original edges of the polygonal milling track as Subset of the network edges includes. Except for the neighborhood area Drawing successive milling path points is no distance inputs, in particular additional geometric information, required.

Das Verfahren wird vorteilhafterweise anhand von flächengeo­ metrischen Heuristiken, z. B. Existenz einer Tangentialebene, optimiert. Bevorzugt wird das Verfahren in drei voneinander unabhängigen Phasen unterteilt, die im Folgenden näher erläu­ tert werden. Die Erläuterungen konzentrieren sich auf die grundlegenden Algorithmen. Dabei können die drei Phasen eigenständig oder nacheinander als ein Gesamtverfahren ausge­ führt werden.The method is advantageously based on area metric heuristics, e.g. B. existence of a tangential plane, optimized. The method is preferred in three from each other independent phases, which are explained in more detail below be tert. The explanations focus on the  basic algorithms. The three phases independently or in succession as an overall process leads.

Phase 1: "Meshing"Phase 1: "Meshing"

Das eigentliche Meshing verbindet zur Rekonstruktion der Flä­ che die Datenpunkte oder Fräsbahndaten durch Vernetzen von Zwischenräumen zwischen benachbarten Fräsbahnen. Das Resultat ist ein Dreiecksnetz, wobei die Dreiecke jeweils als Tripel von Punktindizes gegeben sind.The actual meshing connects to the reconstruction of the area che the data points or milling path data by networking Spaces between neighboring milling tracks. The result is a triangular network, the triangles each as a triple are given by point indices.

Bei benachbarten Fräsbahnen unterscheidet man grundsätzlich zwischen Spiral-Konfigurationen und Mäander-Konfigurationen. Bei der Spiral-Konfiguration haben beide Fräsbahnen denselben Durchlaufsinn, bei der Mäander-Konfiguration sind sie entge­ gengesetzt orientiert. Andere Konfigurationen von Fräsbahnen in räumlicher Nähe können beim Wechsel der Fräs-Hauptrichtung auftreten, diese werden dabei nicht wie benachbarte Fräsbah­ nen behandelt. Daraus resultierende Lücken in der rekonstru­ ierten Fläche können in einer nachfolgenden Phase, z. B. in der "Fusionsphase", geschlossen werden. Die verschiedenen Konfigurationen für benachbarte Fräsbahnen sind beispielhaft in den Fig. 1A bis 1C dargestellt. Für die Vernetzung wer­ den bevorzugt Plausibilitätsannahmen über die Geometrie von Fräsbahnen und Flächen berücksichtigt. Hierzu gehören vor allem Annahmen über den Verlauf benachbarter Fräsbahnen, z. B. Quasi-Parallelität, die deren Identifikation erleichtern. Je nach Vorgabe ist eine derartige einfache Vernetzung der Oberfläche ausreichend zu deren Rekonstruktion.In the case of neighboring milling paths, a basic distinction is made between spiral configurations and meander configurations. In the spiral configuration, both milling paths have the same direction of travel, in the meander configuration they are oriented in opposite directions. Other configurations of milling tracks in close proximity can occur when changing the main milling direction, these are not treated like neighboring milling tracks. Resulting gaps in the reconstructed area can in a subsequent phase, for. B. in the "fusion phase". The various configurations for adjacent milling paths are shown by way of example in FIGS. 1A to 1C. For networking, the plausibility assumptions about the geometry of milling tracks and surfaces are preferred. This includes, above all, assumptions about the course of neighboring milling paths, e.g. B. Quasi-parallelism, which facilitate their identification. Depending on the requirements, such simple networking of the surface is sufficient for its reconstruction.

Phase 2: "Rasterizing"Phase 2: "Rasterizing"

Alternativ oder zusätzlich kann das in der Meshing-Phase ge­ nerierte Netz durch das sogenannte "Rasterizing" bearbeitet werden, wodurch sich eine Reduktion der Datenkomplexität und somit eine erleichterte weitere Verarbeitbarkeit ergibt. Ins­ besondere bei aufwendigeren NC-Programmen oder sehr geringen Schrittweiten entlang der Fräsbahn können die in der Meshing- Phase rekonstruierten Netze sehr komplex werden. Um weiterhin eine einfache und schnelle Verarbeitung der Daten mit einem Computerprogrammprodukt zu ermöglichen, ist die Netzkomplexi­ tät zu verringern, wobei der visuelle Eindruck der Fläche weitgehend erhalten bleiben soll. Hierzu werden die Daten­ punkte, d. h. die Fräsbahnpunkte, die um weniger als eine vor­ gegebene Schrittweite 6 voneinander entfernt sind, zu einem einzigen Netzdatenpunkt zusammengefasst. Durch Entfernen hieraus resultierender degenerierter Dreiecke verringert sich die Netzkomplexität. Ein durch die Reduktion verursachter Approximationsfehler kann durch die Größe des Rasters abgeschätzt und als Approximationstoleranz berücksichtigt werden.Alternatively or additionally, this can be done in the meshing phase generated network processed by the so-called "rasterizing" which results in a reduction in data complexity and thus facilitates further processability. Ins especially with more complex NC programs or very small ones Increments along the milling path can be  Phase reconstructed networks become very complex. To continue easy and fast processing of the data with one Enabling computer program products is the network complex decrease, taking the visual impression of the area should be largely preserved. For this, the data points, d. H. the milling path points by less than one before given step size 6 are apart from each other, to one summarized single network data point. By removing the resulting degenerate triangles are reduced the network complexity. A caused by the reduction Approximation errors can be caused by the size of the grid estimated and considered as an approximation tolerance will.

Phase 3: "Fusion"Phase 3: "Fusion"

Alternativ oder zusätzlich kann das in der Meshing- und/oder Rasterizing-Phase generierte Netz durch die sogenannte "Fusion" bearbeitet werden, wodurch sich eine nochmals ver­ besserte Rekonstruktion der Fläche ergibt. Bei der Verarbei­ tung realer Daten kann beispielsweise ein einzelnes NC-Pro­ gramm durch Ab- und wieder Aufsetzen des Fräskopfes in meh­ rere Teilprogramme zerfallen. Außerdem verbleiben nach der Meshing-Phase unter Umständen Lücken in der rekonstruierten Fläche, die durch Wechsel der Fräs-Hauptrichtung verursacht werden. In der Fusionsphase werden diese Teilnetze bevorzugt zu einer Gesamtfläche verbunden. Da es sich bei den Teilnet­ zen um aus Fräsbahnen rekonstruierte Flächen handelt, verrin­ gert sich die Anzahl der möglichen geometrischen Konfigura­ tionen dahingehend, dass betreffende Randpolygone eindeutig zugeordnet werden können.Alternatively or additionally, this can be done in the meshing and / or Rasterizing phase generated by the so-called network "Fusion" can be edited, whereby another ver better reconstruction of the surface results. During processing For example, a single NC-Pro can process real data grams by removing and replacing the milling head in several other subroutines disintegrate. Also remain after the Meshing phase may have gaps in the reconstructed Surface caused by changing the main milling direction will. These subnetworks are preferred in the fusion phase connected to a total area. Since it is in the subnet zen are surfaces reconstructed from milling tracks, reduce the number of possible geometrical configurations tion in that the boundary polygons in question are unique can be assigned.

Beispielhaft ist in der Fig. 2A die Rekonstruktion einer polygonalen Fläche aus vorgegebenen Datenpunkten, den Fräs­ bahndaten, dargestellt. Fig. 2B zeigt die eigentliche Ver­ netzung der Fräsbahnen mittels der Generierung von Dreiecks­ netzen anhand vom Meshing ohne Fusion von Teilnetzen. Die Fig. 2C zeigt die Fusion mehrerer Teilnetze unter Beibehal­ tung von Randpunkte repräsentierenden Netzdaten.The reconstruction of a polygonal surface from predetermined data points, the milling path data, is shown as an example in FIG. 2A. Fig. 2B shows the actual Ver networking of milling paths by means of the generation of the triangle based networks by meshing without fusion of subnetworks. Fig. 2C shows the fusion of several sub-networks under Beibehal tung representative of boundary points of network data.

Die wesentliche Aufgabe in der Meshing-Phase nach Fig. 2B besteht darin, dass jeder Kante der polygonalen Fräsbahn die entsprechenden Datenpunkte auf den benachbarten Fräsbahnen zu zuordnen sind. Die Vernetzung ist vollständig, wenn jeder Kante der polygonalen Fräsbahn mindestens zwei Dreiecke zuge­ ordnet sind, beispielsweise jeweils eines für die Verbindung zur linken und zur rechten Nachbarbahn. Diese Art der Vernet­ zung stellt sicher, dass die Kanten der originalen Fräsbahn nach Fig. 2A in der Triangulierung enthalten sind. Zusätzli­ che Dreiecke würden die Flächentopologie zerstören. Der Algo­ rithmus beginnt dabei mit einer Such-Phase, in der initiale Nachbarschaften bestimmt und anhand von Verbindungen erstellt werden. Die initialen Verbindungen werden durch verschiedene Heuristiken zur Verbesserung der Flächenqualität modifiziert. In diesem Zusammenhang werden bevorzugt Heuristiken verwen­ det, da über das Verhalten der Fläche zwischen den Fräsbahnen keine exakten Aussagen möglich sind. Aus den ermittelten Ver­ bindungen zwischen den Fräsbahnen wird anschließend ein topo­ logisch konsistentes Netz nach Fig. 2B generiert. Nachge­ schaltete Optimierungen, wie beispielsweise dem Rasterizing oder der Fusion, an der Netzstruktur erhöhen die geometrische Glätte der rekonstruierten Fläche und schließen kleinere Lücken an den Wendepunkten der Fräsbahnen, siehe beispielhaft Fig. 2C.The essential task in the meshing phase according to FIG. 2B is that each edge of the polygonal milling path has to be assigned the corresponding data points on the neighboring milling paths. The networking is complete if at least two triangles are assigned to each edge of the polygonal milling path, for example one for the connection to the left and the right neighboring path. This type of cross-linking ensures that the edges of the original milling path according to FIG. 2A are included in the triangulation. Additional triangles would destroy the surface topology. The algorithm starts with a search phase in which initial neighborhoods are determined and created using connections. The initial connections are modified by various heuristics to improve the surface quality. Heuristics are preferably used in this context, since no exact statements can be made about the behavior of the surface between the milling tracks. A topologically logically consistent network according to FIG. 2B is then generated from the determined connections between the milling tracks. Subsequent optimizations, such as rasterizing or fusion, on the network structure increase the geometric smoothness of the reconstructed surface and close smaller gaps at the turning points of the milling paths, see for example FIG. 2C.

Ein Dreiecknetz ist weitgehend vollständig definiert, wenn zu jedem Dreieck oder Datenpunkt (auch Vertex genannt) eine kom­ plette Liste seiner direkten Nachbarn ermittelt ist. Da die vorgegebenen oder ermittelten Punktdaten oder Datenpunkte Pi eine polygonale Fräsbahn repräsentieren, ist a priori für jeden Datenpunkt Pi bekannt, dass der Datenpunkt Pi-1 und der Datenpunkt Pi+1 benachbart sind. Dies resultiert aus der For­ derung, dass die Kanten der Fräsbahn eine Teilmenge der Netz­ kanten im rekonstruierten Dreiecksnetz bilden sollen. Zur vollständigen Flächenrekonstruktion wird die Nachbar­ schaftsinformation vorteilhafterweise orthogonal zur Fräs­ bahntangente rekonstruiert. Hierzu werden bevorzugt für jede Kante PiPi+1 mindestens zwei Dreiecke erzeugt. Am Rand des Werkstücks, d. h. für die erste und die letzte Fräsbahn und deren Umkehrpunkte, wird jeweils mindestens ein Dreieck pro Fräsbahnkante bestimmt. Für eine Kante PiPi+1 wird ein Drei­ eck durch einen dritten Punkt Pj auf einer benachbarten Fräs­ bahn eindeutig bestimmt. Um die Performanz des Algorithmus zu optimieren und die Entstehung von topologischen Inkonsisten­ zen zu vermeiden, wird nur ein Dreieck pro Kante durch Nach­ barschaftssuche bestimmt. Das zweite Dreieck wird zweckmäßi­ gerweise in der eigentlichen Vernetzungsphase durch Rück­ wärtsverknüpfung ermittelt.A triangular network is largely fully defined if too each triangle or data point (also called vertex) a com complete list of its direct neighbors is determined. Since the predetermined or determined point data or data points Pi representing a polygonal milling path is a priori for each data point Pi knows that the data point Pi-1 and the Data point Pi + 1 are adjacent. This results from the For change that the edges of the milling path are a subset of the mesh should form edges in the reconstructed triangular network. To  full surface reconstruction becomes the neighbor shank information advantageously orthogonal to the milling path tangent reconstructed. This is preferred for everyone PiPi + 1 edge creates at least two triangles. On the edge of the Workpiece, d. H. for the first and the last milling path and their reversal points, at least one triangle per Milling path edge determined. For an edge PiPi + 1 becomes a three corner through a third point Pj on an adjacent mill course clearly determined. To improve the performance of the algorithm optimize and the emergence of topological inconsistencies To avoid zen, there is only one triangle per edge through Nach looking for a partnership. The second triangle is useful in some cases in the actual networking phase through return linkage determined.

Vorzugsweise wird die Kante PiPi+1 als Tangente der zu rekon­ struierenden Fläche verwendet. Des Weiteren wird eine Mittelebene Ei, die durch einen Punkt Mi = 1/2 (Pi + Pi+1) geht und senkrecht zur betrachteten Kante steht, bestimmt. Die Menge aller Durchstoßpunkte anderer Fräsbahnkanten PjPj+1 durch die Mittelebene Ei entspricht einer diskreten Schnittkontur der zu rekonstruierenden Fläche. Das durch die Mittelebene Ei definierte Polygon ergibt die orthogonale Tangentenrichtung. Für die Generierung der Nachbarschaftsrelation werden die am nähest gelegenen Durchstoßpunkte ermittelt und mit der Kante PiPi+1 assoziiert. Pro Fräsbahnkante wird ein Dreieck durch Nachbarschaftssuche bestimmt, beispielsweise durch Aufwärts- oder Abwärtssuche i"up-stream" oder "down-stream"). D. h. die Punkte Pj werden mit j < i oder j < i + 1 bestimmt.The edge PiPi + 1 is preferably to be reconstructed as the tangent of the structuring surface. Furthermore, a Middle plane egg defined by a point Mi = 1/2 (Pi + Pi + 1) goes and is perpendicular to the edge under consideration. The set of all penetration points of other milling path edges PjPj + 1 through the central plane egg corresponds to a discrete Cut contour of the surface to be reconstructed. That through the Center plane egg defined polygon gives the orthogonal Tangent direction. For the generation of the Neighborhood relations are the closest Puncture points determined and with the PiPi + 1 edge associated. A triangle is formed through per milling path edge Neighborhood search determined, for example by upward or downward search i "up-stream" or "down-stream"). That is, the Points Pj are determined with j <i or j <i + 1.

Da jede einzelne Fräsbahn aus einer einzigen zusammenhängen­ den Komponente besteht, ergibt sich zwangsläufig eine starke Kohärenz zwischen räumlicher Nachbarschaft und einem Index- Offset |j - i|. Hierdurch kann der Suchraum für die Nachbar­ schaftsbestimmung eingeschränkt werden. Beispielsweise ist es ausreichend, innerhalb eines vorgegebenen Fensters Pi+2, . . ., Pi+r nach dem nähest gelegenen Durchstoßpunkt zu suchen. Alle weiteren Durchstoßpunkte beschreiben weiter ent­ fernte Fräsbahnen und werden nicht berücksichtigt. Die Größe r des Fensters hängt davon ab, wie viele Punkte P1 maximal auf derselben Fräsbahn liegen. Beispielsweise ist ein Maximum s vorgegeben. Für die Spiralkonfiguration mit Spiralbahnen nach Fig. 1A wird die Größe r mit r < s vorgegeben. Bei der Mäander-Konfiguration mit sogenannten Ackerfurchen nach Fig. 1B wird die Größe r mit r < 2s vorgegeben. Zusätzlich können weitere Informationen bei der Bestimmung der Größe r berück­ sichtigt werden. Generell kann eine Verringerung der Größe r die Gesamtlaufzeit erheblich beschleunigen; eine Erhöhung der Größe r macht das Verfahren sicherer, insbesondere bei NC- Programmen mit extrem kleiner Schrittweite.Since each individual milling path consists of a single connected component, there is inevitably a strong coherence between the spatial neighborhood and an index offset | j - i |. As a result, the search space for the neighborhood determination can be restricted. For example, it is sufficient to use Pi + 2,. . ., Pi + r to search for the closest puncture point. All other penetration points describe distant milling paths and are not taken into account. The size r of the window depends on the maximum number of points P1 lying on the same milling path. For example, a maximum s is specified. For the spiral configuration with spiral paths according to FIG. 1A, the size r is specified with r <s. In the meander configuration with so-called furrows according to FIG. 1B, the size r is specified with r <2s. In addition, further information can be taken into account when determining the size r. In general, reducing the size r can significantly accelerate the overall runtime; increasing the size r makes the process safer, especially for NC programs with extremely small increments.

Eine weitere Problematik besteht bei der Nachbarschaftssuche durch Berechnung der Durchstoßpunkte durch die Mittelebene Ei. Zunächst kann bei starker Variation der Flächennormale dieselbe Fräsbahn die Mittelebene Ei erneut schneiden. Zum anderen kann es bei großen Schrittweiten und relativ kleinen Krümmungsradien dazu kommen, dass ein Durchstoßpunkt mit wei­ ter entfernten Fräsbahnen geometrisch näher zur Ausgangskante PiPi+1 liegt als die Durchstoßpunkte der direkten Nachbarbah­ nen, siehe beispielsweise Fig. 3A und 3B. Zur Vermeidung derartiger "Phasenverschiebungen" wird eine relative Feature­ größe λ vorgegeben. Der Wert der relativen Featuregröße λ setzt die Größe der lokal kleinsten Geometrieeigenschaften ins Verhältnis zum lokal größten Abstand zwischen benachbar­ ten Fräsbahnen. Mit anderen Worten: Wenn der lokal größte Abstand zweier benachbarter Fräsbahnen ρ beträgt, dann sind in der Umgebung keine Krümmungsradien kleiner als λ × ρ er­ laubt. Dies gilt sowohl in Richtung der Fräsbahn als auch in der orthogonalen Tangentenrichtung. Als Wert der relativen Featuregröße λ wird bevorzugt der empirisch ermittelte und evaluierte Wert λ = 2 verwendet. Ein deutlich kleinerer Wert kann zu fehlerhaften Nachbarschaften bei Fräsbahnen mit gro­ ßen Schrittweiten und kleinen Radien führen, z. B. bei zer­ klüfteten Würfelkanten. Ein deutlich größerer Wert kann dazu führen, dass Kanten entlang derselben Fräsbahn verknüpft wer­ den, wenn sehr kleine Krümmungsradien in Richtung der Fräs­ bahn auftreten.Another problem is the neighborhood search by calculating the penetration points through the central plane Ei. First, if the surface normal varies greatly, the same milling path can cut the central plane egg again. On the other hand, with large step sizes and relatively small radii of curvature, it may happen that a piercing point with milling paths further away is geometrically closer to the starting edge PiPi + 1 than the piercing points of the direct neighboring channels, see for example FIGS. 3A and 3B. To avoid such “phase shifts”, a relative feature size λ is specified. The value of the relative feature size λ sets the size of the locally smallest geometry properties in relation to the locally largest distance between adjacent milling paths. In other words: If the locally greatest distance between two adjacent milling paths is ρ, then there are no radii of curvature in the area smaller than λ × ρ. This applies both in the direction of the milling path and in the orthogonal tangent direction. The empirically determined and evaluated value λ = 2 is preferably used as the value of the relative feature size λ. A significantly smaller value can lead to incorrect neighborhoods in milling paths with large increments and small radii, e.g. B. with zer fissured cube edges. A significantly larger value can result in edges being linked along the same milling path if very small radii of curvature occur in the direction of the milling path.

Nachdem auf die beschriebene Art und Weise für jede Kante PiPi+1 eine Verknüpfung, d. h. ein Datenpunkt Pj der benach­ barten Bahn, ermittelt ist, werden die initialen Verbindungen bereinigt, indem alle Verknüpfungen, die zu extrem langen Dreiecken führen, eliminiert werden. Als Datenpunkt Pj wird insbesondere ein Endpunkt einer Kante PjPj+1, die die Mitte­ lebene Ei durchstößt, bestimmt. Hierdurch ist der Algorithmus robust gegen eine sub-optimale Wahl der relativen Feature­ größe λ.After in the manner described for each edge PiPi + 1 a link, d. H. a data point Pj the neighboring beard path, the initial connections are determined cleaned up by all links that are too long Triangles, be eliminated. As the data point Pj especially an end point of an edge PjPj + 1 that is the center live egg pierces, determined. This is the algorithm robust against a sub-optimal choice of relative feature size λ.

Die initialen Verknüpfungen werden anhand der Durchstoßpunkte einer Kante mit der Mittelebene Ei bestimmt. In manchen Fällen - vor allen bei hoher Flächensteilheit in orthogonaler Tangentenrichtung zur Fräsbahn - kann der bereits gefundene Verknüpfungspunkt noch verbessert werden. Die Suche aus dem ersten Schritt liefert für jede Kante PiPi+1 einen nahe gele­ genen Punkt Pj auf der z. B. down-stream benachbarten Fräs­ bahn. Dieser muss jedoch nicht unbedingt auch der naheste Punkt Pj auf dieser Bahn sein. In einer zweiten Phase wird daher die gewonnene Verknüpfungsinformation modifiziert, so dass jeder Kante PiPi+1 genau der Punkt Pj auf der benachbar­ ten Bahn zugewiesen wird, der den geringsten Euklidischen Abstand zum Kantenmittelpunkt Mi hat. Durch diese Nachbesse­ rung können auch evtl. noch vorhandene fehlerhafte Verbindun­ gen innerhalb derselben Fräsbahn eliminiert werden. Beispiel­ haft ist in den Fig. 4A und 4B die Verbesserung der initialen Verbindungen durch Vermeidung von inkonsistenten Vernetzungen dargestellt. Die verbesserten Verbindungen erge­ ben sich durch lokale Gradientensuche.The initial links are determined on the basis of the intersection points of an edge with the central plane Ei. In some cases - especially with a steep surface in the orthogonal tangent direction to the milling path - the link point already found can be improved. The search from the first step provides for each edge PiPi + 1 an obvious point Pj on the z. B. down-stream adjacent milling track. However, this does not necessarily have to be the closest point Pj on this path. In a second phase, the link information obtained is therefore modified so that each edge PiPi + 1 is assigned exactly the point Pj on the adjacent path that has the smallest Euclidean distance from the edge center Mi. This repair can also eliminate any faulty connections that may still be present within the same milling path. The improvement of the initial compounds is by way of example in FIGS. 4A and 4B by avoiding inconsistent crosslinks. The improved connections result from local gradient searches.

Zur Vermeidung von fehlerhaften Verbindungen wird zweckmäßi­ gerweise eine Konsistenzprüfung durchgeführt. Hierzu werden die entlang einer Fräsbahn und seiner Nachbarbahnen entweder aufsteigend bzw. absteigend nummerierten Datenpunkte dahinge­ hend geprüft, dass für aufeinander folgende Fräsbahnkanten die Indizes ihrer Verknüpfungspunkte ebenfalls eine auf- oder absteigende monotone Folge bilden. Mittels der Konsistenzprü­ fung werden nicht-monotone Index-Sequenzen bei den Verknüp­ fungspunkte eliminiert. Des Weiteren werden nicht-monotone Index-Sequenzen an Umkehrpunkten einer mäanderartigen Fräs­ bahnkante ggf. als korrekt berücksichtigt. Werden diese Ver­ knüpfungspunkte versehentlich eliminiert, können daraus resultierende Lücken in der Fläche in einer späterer Phase, z. B. durch Fusion, wieder geschlossen werden.To avoid faulty connections, it is advisable sometimes carried out a consistency check. To do this  that along a milling track and its neighboring tracks either numbered data points in ascending or descending order checked that for successive milling path edges the indices of their tie points also open up or down form descending monotonous sequence. Using the consistency check non-monotonous index sequences in the linkage elimination points. Furthermore, non-monotonous Index sequences at reversal points of a meandering milling web edge may be considered correct. Will these ver tie points accidentally eliminated, can result resulting gaps in the area in a later phase, e.g. B. be closed again by fusion.

Nach Abschluss der Konsistenzprüfung ist jeder Kante PiPi+1 entweder ein Verbindungspunkt Pk(i) mit k(i) < i für down­ stream zugeordnet, oder es konnte kein entsprechender Punkt auf der benachbarten Fräsbahn gefunden werden. Die Fig. 4A und 4B zeigen ein Beispiel für eine bereits partiell rekon­ struierte Flächengeometrie. Für die Vernetzung werden darüber hinaus die up-stream orientierten Dreiecke für jede Kante bestimmt. Dabei wird hierfür zweckmäßigerweise derselbe Algo­ rithmus verwendet wie für die down-stream Verknüpfung. Bevor­ zugt wird aus Effizienzgründen ein die topologische Konsi­ stenz des resultierenden Dreiecksnetzes berücksichtigender Algorithmus verwendet, wie er beispielhaft in den Fig. 5 und 6A, 6B dargestellt ist. Die Fig. 5 zeigt eine nicht­ monotone Indexfolge der Verknüpfungspunkte [j + 2; k + 1; j] zu drei aufeinanderfolgenden Fräsbahnkanten PiPi+1, Pi+1Pi+2 und Pi+2Pi+3 und somit ein Beispiel für eine inkonsistente Vernetzung. Beispielsweise sind die Datenpunkte Pk(i) und Pk(i+1) die gefundener. Verbindungspunkte für die direkt auf­ einander folgenden Fräsbahnkanten PiPi+1 und Pi+1Pi+2. Diese Information ist hinreichend, um für die gesamte Teilsequenz des Fräspolygons zwischen den Datenpunkten Pk(i) und Pk(i+1) die "Vorwärts"-Verknüpfung (= up-stream Verbindung) zu bestim­ men. Beispielhaft ist dies in der Fig. 6A dargestellt. Die Fig. 6A und 6B stellen die in den ersten Phasen rekonstru­ ierte mittels der "Vorwärts"-Verknüpfung erzielte Teilvernet­ zung bzw. die mittels der "Rückwärts"-Verknüpfung erzielte gesamte Vernetzung dar.After completing the consistency check, each PiPi + 1 edge is either assigned a connection point Pk (i) with k (i) <i for down stream, or no corresponding point could be found on the adjacent milling path. FIGS. 4A and 4B show an example of an already partially rekon struierte surface geometry. The up-stream oriented triangles are also determined for each edge for the networking. For this purpose, the same algorithm is expediently used as for the down-stream link. For reasons of efficiency, an algorithm which takes into account the topological consistency of the resulting triangular network is preferably used, as is illustrated by way of example in FIGS. 5 and 6A, 6B. FIG. 5 shows a non-monotonous index sequence of the tie points [j + 2; k + 1; j] to three successive milling path edges PiPi + 1, Pi + 1Pi + 2 and Pi + 2Pi + 3 and thus an example of inconsistent networking. For example, the data points Pk (i) and Pk (i + 1) are the ones found. Connection points for the PiPi + 1 and Pi + 1Pi + 2 milling track edges immediately following one another. This information is sufficient to determine the "forward" link (= up-stream connection) for the entire partial sequence of the milling polygon between the data points Pk (i) and Pk (i + 1). This is shown by way of example in FIG. 6A. FIGS. 6A and 6B illustrate the rekonstru ated in the first stages by means of the "forward" operation achieved Teilvernet wetting or represent the means of the "reverse" operation achieved entire crosslinking.

Mittels einer derartigen zweistufigen Vernetzung ist der wesentliche Teil der Flächengeometrie rekonstruiert. Undefi­ nierte Bereiche verbleiben jedoch typischerweise in der Umge­ bung der Umkehrpunkte einer mäanderförmigen oder Ackerfur­ chen-Fräsbahn. Dies resultiert zum einen daraus, dass für die Mittelebene Ei der Übergangskante zwischen benachbarten Fräs­ bahnen keine sinnvollen Durchstoßpunkte ermittelt werden kön­ nen. Zum anderen können bereits gefundene Verbindungspunkte während der Konsistenzprüfung fälschlicherweise eliminiert werden, da das Monotonitätskriterium nicht erfüllt ist. Die Problemkonfiguration mit den nicht vernetzen Umkehrschleifen wird detektiert, indem durch den Test k(i)-i < µ zunächst das Vorhandensein einer Umkehrschleife ermittelt wird (mit µ = globale Konstante). Falls das Sub-Polygon Pi+1, . . ., Pk(i)-1 tatsächlich nicht vernetzt ist, wird ein Fächer zusätzlicher Dreiecke, auch TriangleFan genannt, generiert. Nachdem die Umkehrschleifen verarbeitet sind, zeigt sich, dass noch immer Lücken auftreten können. Diese erscheinen typischerweise als Kerben im Randpolygon der bisher rekonstruierten polyedri­ schen Fläche. Durch einfaches Bestimmen der Innenwinkel für das Randpolygon können diese Kerben identifiziert werden und durch Ergänzen eines weiteren Dreiecks eliminiert werden. Hierzu wird ein entsprechender Schwellwert durch eine weitere Konstante definiert.By means of such a two-stage networking, the reconstructed essential part of the surface geometry. Undefi nated areas typically remain in the area Exercise the reversal points of a meandering or arable chen milling track. On the one hand, this results from the fact that for the Middle plane egg of the transition edge between neighboring milling no sensible puncture points can be determined nen. On the other hand, connection points that have already been found can be found erroneously eliminated during the consistency check because the monotonicity criterion is not met. The Problem configuration with the non-networked reversing loops is detected by the test k (i) -i <µ first of all Presence of a reversing loop is determined (with µ = global constant). If the sub-polygon Pi + 1,. . ., Pk (i) -1 is actually not networked, a subject becomes additional Triangles, also called TriangleFan, are generated. after the Reverse loops are processed, that still shows Gaps can occur. These typically appear as Notches in the edge polygon of the previously reconstructed polyedri surface. By simply determining the inside angle for the edge polygon these notches can be identified and can be eliminated by adding another triangle. For this purpose, a corresponding threshold value is set by another Constant defined.

Mit anderen Worten: Es wird zunächst eine grobe Netzstruktur aufgebaut, die sämtliche Nachbarschaftsbeziehungen der ein­ zelnen Dreiecksfacetten umfasst. Mit dieser Information ist es möglich, alle Dreiecke, die einen bestimmten Netzknoten enthalten, zu ermitteln. Insbesondere lassen sich über die Nachbarschaftsrelation auch Randkanten und Randknoten des bisher rekonstruierten Netzes finden. Der Innenwinkel eines Randknotens wird als eine Summe aller angrenzenden Dreiecksinnenwinkel bestimmt.In other words, it will initially be a rough network structure built up all the neighborhood relationships of the one includes triangular facets. With this information is it is possible to have all the triangles that make up a particular node included to determine. In particular, the Neighborhood relation also edge edges and edge nodes of the find previously reconstructed network. The inside angle of a  Edge node is considered a sum of all adjacent Triangle inner angle determined.

Die vollständig vernetzte Fläche ist nach den ersten Verar­ beitungsphasen zwar topologisch konsistent, die rekonstru­ ierte stückweise lineare Geometrie kann aber noch immer geo­ metrische Artefakte enthalten. Diese treten verstärkt an tat­ sächlichen Knicken in der Originalgeometrie auf, wie sie bei­ spielhaft in der Fig. 7A dargestellt ist. Zur Behebung die­ ser Artefakte werden betreffende Verknüpfungen aus den ersten Phasen revidiert, d. h. die Vernetzung zwischen den Fräsbahnen werden gegebenenfalls modifiziert. Durch eine derartige Nachoptimierung der Vernetzung können geometrische Artefakte an scharfen Kanten der zu rekonstruierenden Fläche reduziert werden. Eine derartig bereinigte Fläche ist in Fig. 7B dar­ gestellt.The completely networked surface is topologically consistent after the first processing phases, but the reconstructed piecewise linear geometry can still contain geometric artifacts. These occur increasingly at factual kinks in the original geometry, as is shown in a playful manner in FIG. 7A. To eliminate these artifacts, the relevant links from the first phases are revised, ie the networking between the milling paths is modified if necessary. Such post-optimization of the meshing can reduce geometric artifacts on sharp edges of the surface to be reconstructed. Such a cleaned area is shown in Fig. 7B.

Hierbei wird jede Netzkante, die zwei Punkte auf benachbarten Fräsbahnen verbindet, als Diagonale eines Vierecks bestimmt, das durch die beiden an die Kante angrenzenden Dreiecke defi­ niert wird. Dabei wird mittels einer sogenannten "Edge-Swap"- Operation eine Kante durch die entsprechende Gegendiagonale in diesem Viereck ersetzt. D. h. beispielsweise seien Δ(A, B, C) und Δ(D, C, B) zwei benachbarte Dreiecke, dann ersetzt die "Edge-Swap"-Operation diese beiden Dreiecke durch Δ(A, B, D) bzw. Δ(D, C, A). Mittels der "Edge-Swap"-Operation wird die Geometrie der polygonalen Fläche verändert, ohne dabei die Netztopologie zu beeinflussen. Hierdurch ist eine besonders einfache Nachoptimierung gegeben.Here, each mesh edge that has two points on adjacent ones Milling tracks connect, determined as the diagonal of a square, defi by the two triangles adjacent to the edge is renated. This is done using a so-called "edge swap" - Operation an edge through the corresponding diagonal replaced in this square. I.e. for example let Δ (A, B, C) and Δ (D, C, B) two adjacent triangles, then replaced the "edge swap" operation these two triangles by Δ (A, B, D) or Δ (D, C, A). By means of the "edge swap" operation the geometry of the polygonal surface is changed without to influence the network topology. This is one given particularly simple re-optimization.

In der Fig. 8 sind beispielsweise zwei benachbarte Dreiecke 1 und 2 sowie deren weiteren Nachbardreiecke 3, 4, 5 und 6 dargestellt. Ein gutes Kriterium zur Bewertung der Qualität einer polygonalen Fläche ist der maximale Winkel zwischen den Normalenvektoren benachbarter Dreiecke. Bevorzugt wird ein maximaler Normalenwinkel zwischen Ti und Tj mit (i,j) ∈ {(1,3), (1,4), (2,5), (2,6)} als Qualitätsmaß für die Kante zwi­ schen den Dreiecken 1 und 2 verwendet. Alternativ oder zusätzlich wird die resultierende Qualität nach der "Edge- Swap"-Operation bestimmt. Hat sich die Qualität verbessert, d. h. ist der maximale Normalenwinkel kleiner geworden, wird die "Edge-Swap"-Operation ausgeführt, anderenfalls wird die ursprüngliche Konfiguration beibehalten. Mit anderen Worten: es wird eine sogenannte "Greedy"-Optimierung ausgeführt, indem nacheinander alle Kanten getestet und gegebenenfalls ersetzt werden. Je nach Vorgabe des Optimierungsgrades können mehrere Durchläufe ausgeführt werden.In FIG. 8, for example, two adjacent triangles 1 and 2 and the other neighboring triangles 3, 4, 5 and 6. A good criterion for evaluating the quality of a polygonal surface is the maximum angle between the normal vectors of neighboring triangles. A maximum normal angle between Ti and Tj with (i, j) ∈ {(1,3), (1,4), (2,5), (2,6)} is preferred as a quality measure for the edge between the triangles 1 and 2 used. Alternatively or additionally, the resulting quality is determined after the "edge swap" operation. If the quality has improved, ie the maximum normal angle has become smaller, the "edge swap" operation is carried out, otherwise the original configuration is retained. In other words, a so-called "greedy" optimization is carried out by successively testing all the edges and possibly replacing them. Depending on the specification of the degree of optimization, several runs can be carried out.

Zur Reduktion der Netzkomplexität bei großen Datensätzen wird zweckmäßigerweise eine grobe Approximation der Originaldaten ausgeführt, wobei eine vorgegebene Approximationstoleranz eingehalten wird. Da die reduzierten Netzdaten insbesondere der Visualisierung dienen sollen, wird eine besonders einfa­ che und effiziente Reduktionsmethode verwendet. Bevorzugt wird ein sogenannter "Vertex-Clustering"-Algorithmus (= Zusammenfassen oder Gruppieren von Netzdatenpunkten) verwen­ det. Die Implementierung des Algorithmus kann beliebige Drei­ ecksnetze verarbeiten und ist nicht auf die Ausgaben des Ver­ netzungsalgorithmus (= "Meshing") beschränkt.To reduce network complexity for large data sets expediently a rough approximation of the original data executed, with a predetermined approximation tolerance is observed. Because the reduced network data in particular should serve the visualization, a particularly simple che and efficient reduction method used. Prefers a so-called "vertex clustering" algorithm (= Summarize or group network data points) det. The implementation of the algorithm can be any three process corner networks and is not on the expenses of Ver wetting algorithm (= "meshing") limited.

Beispielsweise ist ein Dreiecksnetz durch eine Menge von Punkten Pi und eine Menge von Dreiecken Ti = [i1, i2, i3] gegeben. Die Indizes i1, i2 und i3 stellen hierbei Referenzen für die Datenpunktliste (= chronologische Reihenfolge vorlie­ gender Datenpunkte, 3D-Datenpunkte) dar und definieren die drei Eckpunkte des Dreiecks Ti. Bei der "Vertex-Clustering"- Methode werden die Punkte Pi zu räumlichen Clustern oder Gruppen zusammengefasst, d. h. Punkte in räumlicher Nähe werden durch einen einzelnen Repräsentanten oder Datenpunkt ersetzt. Hierdurch kann ein Teil der Dreiecke degeneriert werden, wenn mindestens zwei seiner Eckpunkte demselben Cluster oder derselben Gruppe (im weiteren Cluster genannt) zugeordnet werden. Diese degenerierten Dreiecke werden eliminiert und die verbleibenden Dreiecke bilden das resultierende Netz mit reduzierter Komplexität. Die verschiedenen "Vertex-Clustering"-Techniken unterscheiden sich im wesentlichen in der Definition der Cluster und in der Auswahl des Repräsentanten für jeden Cluster. Die einfachste Cluster-Struktur ergibt sich aus einem uniformen Raumraster, in das die Punkte Pi einsortiert werden. Bevorzugt wird eine Rastergröße ε vorgegeben. Hierdurch ist sichergestellt, dass das Reduktionsverfahren eine Approximationstoleranz von √3ε aufweist, da dies die maximal mögliche Entfernung zweier Punkte in demselben Cluster ist. Im Computerprogrammprodukt wird die Rastergröße ε als Programmparameter vor- und ggf. an andere NC-Programmteile übergeben.For example, a triangle network is divided by a set of Points Pi and a set of triangles Ti = [i1, i2, i3] given. The indices i1, i2 and i3 represent references for the data point list (= chronological order available gender data points, 3D data points) and define the three corner points of the triangle Ti. At the "Vertex Clustering" - Method Pi become spatial clusters or points Groups grouped together, d. H. Points in close proximity are represented by a single representative or data point replaced. This can cause part of the triangles to degenerate if at least two of its corner points are the same Cluster or the same group (hereinafter referred to as cluster) be assigned. These are degenerate triangles eliminated and the remaining triangles form that  resulting network with reduced complexity. The differentiate between different "vertex clustering" techniques essentially in the definition of the cluster and in the Selection of the representative for each cluster. The easiest Cluster structure results from a uniform spatial grid, into which the points Pi are sorted. One is preferred Grid size ε specified. This ensures that the reduction method has an approximation tolerance of √3ε has, since this is the maximum possible distance of two Points in the same cluster. In the computer program product the grid size ε is preconfigured and possibly on as a program parameter transfer other NC program parts.

Bei der Auswahl des Clusterrepräsentanten können mehrere Alternativen implementiert und ausgetestet werden. Ein mögli­ cher Ansatz, den Mittelpunkt jeder Rasterzelle als Repräsen­ tanten zu wählen, führt zu inakzeptablen Ergebnissen, da die resultierende Fläche extreme Oszillationen der Flächennorma­ len aufweist. Ersetzt man den Mittelpunkt der Rasterzelle durch den Schwerpunkt aller Punkte im jeweiligen Cluster, verbessert sich die Flächenqualität, springende Normalenvek­ toren sind aber möglich. Eine wesentliche Verbesserung ergibt sich, wenn man nicht einfach den Schwerpunkt eines Clusters verwendet, sondern denjenigen Cluster-Punkt, der dem Schwer­ punkt am nächsten liegt. Hierdurch ist sichergestellt, dass die Punkte im reduzierten Netz stets eine Teilmenge der Ori­ ginalpunkte bilden. Hierbei ist jedoch zu berücksichtigen, dass bei diesen einfachen Mittelwert-Strategien die Position des Repräsentanten von der Verteilung der Clusterpunkte abhängt. D. h. bei variierender Größe der Dreiecke im Netz wird der Repräsentant in Richtung der höheren Punktdichte verschoben, obwohl viele kleine Dreiecke unter Umständen keine höhere geometrische Signifikanz haben als wenige große. Dieser Effekt wird vorzugsweise anhand von sogenannten Feh­ ler-Quadriken reduziert oder behoben. When selecting the cluster representative, several can Alternatives are implemented and tested. A possible approach, the center of each grid cell as a representation Choosing aunts will lead to unacceptable results because the resulting surface extreme oscillations of the surface normal len has. If you replace the center of the grid cell by the focus of all points in the respective cluster, the surface quality improves, jumping normal vector but goals are possible. A significant improvement results yourself if you don't just focus on a cluster used, but the cluster point that is the heavy closest point. This ensures that the points in the reduced network are always a subset of the Ori form final points. However, it must be taken into account that with these simple mean strategies, the position of the representative of the distribution of the cluster points depends. I.e. with varying sizes of the triangles in the network becomes the representative towards the higher point density moved, although many small triangles may be have no higher geometric significance than a few large ones. This effect is preferably based on so-called Feh Reduced or fixed quadrics.  

Eine Fehler-Quadrik ist eine quadratische Approximation des tatsächlichen Abstandes eines beliebigen Punktes von der ori­ ginalen Fläche und repräsentiert die Approximationstoleranz. Dabei wird ein Dreieck Ti mit Normalenvektor ni vorgegeben, wobei ein in der Nähe gelegener Punkt x von Ti den quadrati­ schen Abstand (nT i x - nT i ai)2 aufweist, wobei ai ein beliebi­ ger Eckpunkt des Dreiecks T1 ist. Des Weiteren wird z. B. eine Fehler-Quadrik für jeden Vertex in einem Dreiecksnetz vorgegeben, indem die quadratischen Abstandsfunktionen für alle angrenzenden Dreiecke aufsummiert werden. Liegen bspw. alle angrenzenden Dreiecke in einer Ebene, kann der gemeinsame Punkt innerhalb dieser Ebene verschoben werden, ohne dass sich die Flächengeometrie verändert. Liegt der Punkt auf einer Kante, d. h. alle angrenzenden Dreiecke liegen in zwei verschiedenen Ebenen, so ist eine Verschiebung des Punktes entlang dieser Kante ohne geometrischen Fehler möglich. Im allgemeinen Fall nicht-komplanarer Dreiecke kann der Punkt nicht ohne Verfälschung der Geometrie verschoben werden, aber die Fehler-Quadrik erlaubt zumindest eine Quantisierung des Fehlers in Abhängigkeit von der Verschiebungsrichtung. In den Fig. 9A bis 9D sind verschiedenen Dreiecksnetze mit unterschiedlicher Approximationstoleranz dargestellt. Um die Komplexität der resultierenden Dreiecknetze regulieren zu können, wird eine "Vertex-Clustering"-Technik eingesetzt. Von der Fig. 9A (links oben) nach der Fig. 9D (rechts unten) beträgt die Approximationstoleranz 0 mm, 1 mm, 2 mm bzw. 4 mm.An error quadric is a quadratic approximation of the actual distance of any point from the original surface and represents the approximation tolerance. A triangle Ti with a normal vector ni is specified, a nearby point x of Ti having the square distance (n T i x - n T i a i ) 2 , where a i is an arbitrary corner point of the triangle T1 . Furthermore, e.g. For example, an error quadric is given for each vertex in a triangular network by adding up the quadratic distance functions for all adjacent triangles. If, for example, all of the adjacent triangles lie in one plane, the common point can be moved within this plane without the surface geometry changing. If the point lies on an edge, ie all adjacent triangles lie in two different planes, the point can be moved along this edge without geometric errors. In the general case of non-coplanar triangles, the point cannot be shifted without distorting the geometry, but the error quadric allows at least a quantization of the error depending on the direction of displacement. In FIGS. 9A to 9D different triangle networks are shown with different approximation tolerance. In order to be able to regulate the complexity of the resulting triangular networks, a "vertex clustering" technique is used. From FIG. 9A (top left) after FIG. 9D (bottom right), the approximation tolerance is 0 mm, 1 mm, 2 mm and 4 mm.

Für die Netzreduktion wird die Technik der Fehler-Quadriken verwendet, indem die quadratischen Abstände für alle Dreiecke eines Clusters aufsummiert werden und so eine Quadrik für jeden Cluster ermittelt wird. Im allgemeinen wird diese Quadrik keinen Punkt mehr umfassen, der keinen geometrischen Fehler verursacht, aber zumindest lässt sich ein Punkt finden für den der summierte quadratische Abstand minimal wird ("optimaler Punkt"). Hieraus ergeben sich zwei alternative Definitionen für den Clusterrepräsentanten. Zum einen kann der Clusterpunkt ausgewählt werden, für den die Fehler- Quadrik den geringsten Wert annimmt. Zum anderen kann der Clusterpunkt gewählt werden, der den geringsten Abstand vom optimalen Punkt hat. Dies ist die bevorzugte Ausführungsform.The technique of error quadrics is used for network reduction used by the square distances for all triangles of a cluster are summed up and so a quadric for every cluster is determined. Generally this will Quadric no longer include a point that is not a geometric one Causes errors, but at least one point can be found for which the summed quadratic distance becomes minimal ("optimal point"). This gives rise to two alternatives Definitions for the cluster representative. For one, can  the cluster point for which the error Quadrik takes the lowest value. On the other hand, the Cluster point that is the smallest distance from the optimal point. This is the preferred embodiment.

Die Fusion mehrerer Teilnetze wird ähnlich zur eigentlichen Vernetzungsstrategie wie beim Meshing ausgeführt. Dabei wird der Verknüpfungsalgorithmus nicht auf benachbarte Fräsbahnen angewendet, sondern auf die Randpolygone der einzelnen Teil­ stücke. Genau wie bei den Fräsbahnen wird davon ausgegangen, dass benachbarte Polygone im wesentlichen parallel verlaufen, wodurch die Anzahl zu berücksichtigender Spezialfälle redu­ ziert wird. Durch Protokollieren der Dreiecksnachbarschaften beim Einlesen der Datenpunkte werden zunächst alle Randkanten identifiziert. Dieses sind genau die Kanten, die einem einzi­ gen Dreieck zugeordnet sind. Zum Schließen der Lücken zwi­ schen den Teilnetzen werden gegenüberliegende Randkanten bestimmt und miteinander verbunden. Für die Suche nach gegen­ überliegenden Kanten wird ein maximaler Abstand δ vorgegeben (im Computerprogrammprodukt wird der maximale Abstand als Argument übergeben). Durch eine derartige Begrenzung ist sichergestellt, dass die äußeren Ränder der rekonstruierten Fläche nicht verbunden werden, sondern offen bleiben. Die Bestimmung des einer Randkante zuzuordnenden Verknüpfungs­ punkts wird im wesentlichen wie beim eigentlichen Vernetzung­ salgorithmus durch Bestimmen des nächstliegenden Durchstoß­ punktes ausgeführt. Zu berücksichtigen ist dabei, dass die vereinfachte Rückwärtsverknüpfung nicht mehr benutzt werden kann, da keine Annahmen über die Indizierung der Randpolygone gemacht werden können. Aus diesem Grund werden einzelne Ver­ knüpfungspunkte ermittelt und Kanten direkt miteinander ver­ bunden, wodurch zwei Dreiecke pro Zuordnungsschritt generiert werden. Die bei einer Verknüpfung entstehenden neuen Kanten werden selbst wieder als Randkanten behandelt. Die Fig. 10A bis 10C stellen zwischen benachbarten Teilnetzen geschlossene Lücke dar, indem "gegenüberliegende" Kanten mit­ einander verbunden werden. The fusion of several subnetworks is carried out similarly to the actual networking strategy as for meshing. The linking algorithm is not applied to neighboring milling paths, but to the edge polygons of the individual sections. Just as with the milling tracks, it is assumed that neighboring polygons run essentially parallel, which reduces the number of special cases to be taken into account. By logging the triangular neighborhoods when reading in the data points, all edge edges are identified first. These are exactly the edges that are assigned to a single triangle. In order to close the gaps between the subnetworks, opposite edge edges are determined and connected to one another. A maximum distance δ is specified for the search for opposite edges (the maximum distance is passed as an argument in the computer program product). Such a limitation ensures that the outer edges of the reconstructed surface are not connected, but remain open. The determination of the connection point to be assigned to a peripheral edge is carried out essentially as in the actual networking algorithm by determining the closest penetration point. It must be taken into account that the simplified backward link can no longer be used, since no assumptions can be made about the indexing of the boundary polygons. For this reason, individual linking points are determined and edges are directly connected to each other, which generates two triangles per assignment step. The new edges created during a link are themselves treated as edge edges. FIGS. 10A to 10C represent between adjacent subnets closed space by "opposite" edge are connected with each other.

Im Folgenden wird das Computerprogrammprodukt anhand von Kom­ mandozeilenargumente sowie deren Benutzung in einzelnen NC- Programme beschrieben. Da die jeweiligen Algorithmen automa­ tisch arbeiten, ist keine Benutzerinteraktion notwendig.In the following, the computer program product based on com command line arguments and their use in individual NC Programs described. Since the respective algorithms automa no user interaction is required.

Das beispielsweise mit "mesh.c" bezeichnete Programm liest über die Standardeingabe ein Punkte-File ein, führt die Ver­ netzung durch und schreibt das Resultat wieder als ASCII File auf die Standardausgabe gemäß:
The program called "mesh.c", for example, reads in a points file via standard input, carries out the networking and writes the result back to the standard output as an ASCII file in accordance with:

mesh <IN_PTS <OUT_TRI (1)mesh <IN_PTS <OUT_TRI (1)

Die Parameter und Konstanten für den Algorithmus sind auf empirisch ermittelte Default-Werte eingestellt, können aber im Kopf der Source-Code Datei verändert werden. Zur Erhöhung der Flexibilität können die verschiedenen Phasen des Algo­ rithmus einzeln durch die entsprechenden #defines zu- oder abgeschaltet werden, falls bestimmte Optimierungen für spezi­ elle Datensätze nicht erwünscht sind gemäß:
The parameters and constants for the algorithm are set to empirically determined default values, but can be changed in the header of the source code file. To increase flexibility, the various phases of the algorithm can be switched on or off individually by the corresponding #defines if certain optimizations for specific data records are not desired in accordance with:

#define REMOVE_ABOVE_MEDIAN /**/ (2)
#define ADJUST_TO_CLOSEST /**/
#define DELETE_NON_MONOTONIC /**/
/* #define REMOVE_LONGER_THAN_MAX_EDGE /**/
#define CONNECT_BACKWARDS /**/
#define PROCESS_U_LOOPS /**/
#define FILL_GAPS /**/
#define SWAP_EDGES /**/
#define REMOVE_ABOVE_MEDIAN / ** / (2)
#define ADJUST_TO_CLOSEST / ** /
#define DELETE_NON_MONOTONIC / ** /
/ * #define REMOVE_LONGER_THAN_MAX_EDGE / ** /
#define CONNECT_BACKWARDS / ** /
#define PROCESS_U_LOOPS / ** /
#define FILL_GAPS / ** /
#define SWAP_EDGES / ** /

Ein weiteres mit "raster.c" bezeichnetes Programm ist eine Implementierung des Vertex-Clustering-Algorithmus. Über die #defines lassen sich verschiedene Varianten des Algorithmus einstellen gemäß:
Another program called "raster.c" is an implementation of the vertex clustering algorithm. Different variants of the algorithm can be set via the #defines according to:

/* #define FIND_SVD_POINT /**/ (3)
/* #define FIND_MINIMAL_QUADRIC_ERROR /**/
#define FIND_CLOSEST_TO_CENTER_OF_GRAVITY /**/
#define BAD_RASTER_DEBUG /**/
/ * #define FIND_SVD_POINT / ** / (3)
/ * #define FIND_MINIMAL_QUADRIC_ERROR / ** /
#define FIND_CLOSEST_TO_CENTER_OF_GRAVITY / ** /
#define BAD_RASTER_DEBUG / ** /

In der Grundversion wird der Rasterrepräsentant durch Mittel­ wertbildung bestimmt. Die resultierenden Netze zeigen betref­ fende Treppenartefakte. Eine etwas verfeinerte Methode wird durch
In the basic version, the grid representative is determined by averaging. The resulting networks show relevant stair artifacts. A somewhat more refined method is through

/* #define FIND_SVD_POINT /**/ (4)
#define FIND_MINIMAL_QUADRIC_ERROR /**/
/* #define FIND_CLOSEST_TO_CENTER_OF_GRAVITY /**/
/* #define BAD_RASTER_DEBUG /**/
/ * #define FIND_SVD_POINT / ** / (4)
#define FIND_MINIMAL_QUADRIC_ERROR / ** /
/ * #define FIND_CLOSEST_TO_CENTER_OF_GRAVITY / ** /
/ * #define BAD_RASTER_DEBUG / ** /

eingestellt. Hierbei wird die originale Oberfläche wesentlich besser approximiert. Die Variante
set. Here, the original surface is approximated much better. The variant

#define FIND_SVD_POINT /**/ (5)
/* #define FIND_MINIMAL_QUADRIC_ERROR /**/
/* #define FIND_CLOSEST_TO_CENTER_OF_GRAVITY /**/
/* #define BAD_RASTER_DEBUG /**/
#define FIND_SVD_POINT / ** / (5)
/ * #define FIND_MINIMAL_QUADRIC_ERROR / ** /
/ * #define FIND_CLOSEST_TO_CENTER_OF_GRAVITY / ** /
/ * #define BAD_RASTER_DEBUG / ** /

schließlich liefert die besten Ergebnisse. Das Programm wird gemäß
finally gives the best results. The program is carried out according to

raster IN_PTS IN_TRI EPS OUT_PTS OUT_TRI (6)
raster IN_PTS IN_TRI EPS OUT_PTS OUT_TRI (6)

aufgerufen. Dabei ist raster.exe der Name des compilierten Programms, IN_PTS ist der Name einer Punkte-Datei und IN_TRI ist der Name einer Dreiecks-Indices-Datei (wie sie von MESH.EXE erzeugt wird). EPS ist ein float-Wert, der die maxi­ mal zulässige Approximationstoleranz angibt. Die Ausgabe wird entsprechend in den Dateien OUT_PTS und OUT_TRI gespeichert.called. Where raster.exe is the name of the compiled Program, IN_PTS is the name of a points file and IN_TRI is the name of a triangle index file (as used by MESH.EXE is generated). EPS is a float value that the maxi times allowable approximation tolerance. The edition will saved accordingly in the files OUT_PTS and OUT_TRI.

Die Bedienung eines mit "join.c" bezeichneten Programms ist folgendermaßen:
The operation of a program called "join.c" is as follows:

join IN_PTS IN_TRI EPSILON <OUT_TRI (7)join IN_PTS IN_TRI EPSILON <OUT_TRI (7)

Dabei ist IN_PTS eine Liste von Punkten, IN_TRI eine Drei­ ecksliste und EPSILON eine float-Zahl, die die maximale Größe einer zu schließenden Lücke angibt. Der Wert EPSILON ist not­ wendig, damit nicht gegenüberliegende Ränder verbunden wer­ den. Dabei wird vorab ermittelt, wie breit die zu erwartenden Lücken sind. Als Ausgabe wird eine neue Dreiecksliste erzeugt, die die alten sowie die neu erzeugten Dreiecke enthält. Falls mehrere getrennt vernetzte Meshes verbunden werden sollen, müssen sie zunächst in ein gemeinsames Mesh mit mehreren Zusammenhangskomponenten konvertiert werden, auf dem dann das JOIN-Programm die Lücken schließt. Dabei sind zwei Punktlisten P1 mit n1 Datenpunkten und P2 mit n2 Daten­ punkten vorgegeben. T1 ist die Liste von Dreiecken bzgl. P1 und T2 bzgl. P2. (P1, T1) sowie (P2, T2) bilden also zwei getrennte Netze. Die beiden Punktlisten vereinigt man einfach über: P = [P1; P2]. Bei der Vereinigung der beiden Dreiecksli­ sten müssen noch die Indizes in T2 angepasst werden, d. h. T = [T1; T2 + n1] wobei n1 die Länge der Punktliste P1 ist.IN_PTS is a list of points, IN_TRI is a three corner list and EPSILON a float number that is the maximum size indicates a gap to be closed. The EPSILON value is not necessary agile, so that not opposite edges are connected the. It is determined in advance how wide the expected Gaps are. The output is a new triangle list which generates the old as well as the newly created triangles contains. If several separately meshed meshes are connected they have to be in a common mesh  with multiple related components are converted to which the JOIN program then closes the gaps. Are two point lists P1 with n1 data points and P2 with n2 data points given. T1 is the list of triangles related to P1 and T2 regarding P2. (P1, T1) and (P2, T2) form two separate networks. You simply combine the two point lists about: P = [P1; P2]. When merging the two triangles Most of the time, the indices in T2 have to be adjusted. H. T = [T1; T2 + n1] where n1 is the length of the point list P1.

Zusammenfassend werden erfindungsgemäß für eine besonders einfache und schnelle sowie mehrdimensionale Flächenrück­ führung bei einem Verfahren zur Rekonstruktion einer Fläche einer mit in einer chronologischen Reihenfolge vorliegenden 3D-Datenpunkten beschriebenen Struktur 3D-Datenpunkte anhand einer Linearinterpolation derart bearbeitet, dass chronologisch direkt benachbarte 3D-Datenpunkte unverändert bleiben.In summary, according to the invention for a particular simple, fast and multidimensional surface backing guidance in a method of reconstructing a surface one with in a chronological order 3D data points described structure using 3D data points a linear interpolation processed such that chronologically directly adjacent 3D data points unchanged stay.

Claims (10)

1. Verfahren zur Rekonstruktion einer Fläche einer mit in einer chronologischen Reihenfolge vorliegenden 3D-Datenpunk­ ten beschriebenen Struktur, wobei die 3D-Datenpunkte anhand einer Linearinterpolation derart bearbeitet werden, dass chronologisch direkt benachbarte 3D-Datenpunkte unverändert bleiben.1. Method of reconstructing a surface with an in a 3D data point in chronological order structure described, using the 3D data points a linear interpolation are processed in such a way that chronologically directly adjacent 3D data points unchanged stay. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass 3D-Datenpunkte, welche weniger als eine vorgegebene Schrittweite voneinander entfernt sind, zu einem Netzdatenpunkt unter Berücksichtigung einer vorgebbaren Approximationstoleranz zusammengefasst werden.2. The method according to claim 1, characterized, that 3D data points that are less than a given Increments are apart from one another Network data point taking into account a specifiable Approximation tolerance can be summarized. 3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass eine Anzahl von Netzen anhand von Netzdatenpunkte derart miteinander verknüpft werden, dass Randpunkte oder Randpolygone durch die Verknüpfung unverändert bleiben.3. The method according to claim 2, characterized, that a number of networks based on network data points such be linked together that edge points or Edge polygons remain unchanged due to the link. 4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass anhand der 3D-Datenpunkte eine Fräsbahn bestimmt und die Oberfläche eines gefrästen Werkstücks approximiert wird.4. The method according to any one of the preceding claims, characterized, that a milling path is determined based on the 3D data points and the Surface of a milled workpiece is approximated. 5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die 3D-Datenpunkte derart miteinander verbunden werden, dass Zwischenräume zwischen benachbarten Fräsbahnen vernetzt werden.5. The method according to any one of the preceding claims, characterized, that the 3D data points are connected to each other in such a way that gaps between adjacent milling paths are networked will. 6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass einer Kante einer polygonalen Fräsbahn zur Vernetzung der Zwischenräume mindestens zwei Dreiecke zugeordnet werden. 6. The method according to claim 5, characterized, that an edge of a polygonal milling track for networking at least two triangles are assigned to the spaces.   7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass die Dreiecke der Fräsbahn derart zugeordnet werden, dass jeweils eines der Dreiecke die Fräsbahn mit einer der benachbarten Fräsbahnen verbindet.7. The method according to claim 6, characterized, that the triangles are assigned to the milling path in such a way that one of the triangles each with one of the connects neighboring milling paths. 8. System zur Visualisierung und/oder zur Transformation eines Datensatzes mit Mitteln zur Durchführung eines Verfah­ rens nach einem der vorhergehenden Ansprüche.8. System for visualization and / or for transformation a data record with means for carrying out a procedure rens according to one of the preceding claims. 9. Computerprogrammprodukt zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 7.9. Computer program product for performing a method according to one of claims 1 to 7. 10. Mit einem Computerprogrammprodukt nach Anspruch 9 pro­ grammierter Rechner.10. With a computer program product according to claim 9 pro grammed calculator.
DE10135992A 2000-11-06 2001-07-24 Method for approximately reproducing the surface of a workpiece from CAD data in a multiple milling process, involves breaking down first approximation of the shape into smaller parts which are milled accordingly Withdrawn DE10135992A1 (en)

Priority Applications (9)

Application Number Priority Date Filing Date Title
DE10135992A DE10135992A1 (en) 2000-11-13 2001-07-24 Method for approximately reproducing the surface of a workpiece from CAD data in a multiple milling process, involves breaking down first approximation of the shape into smaller parts which are milled accordingly
EP01993905A EP1334468B1 (en) 2000-11-13 2001-11-05 Method and system for reconstructing a surface
US10/415,973 US6901310B2 (en) 2000-11-06 2001-11-05 Method and system for approximately reproducing the surface of a workpiece
US10/416,746 US7062353B2 (en) 2000-11-13 2001-11-05 Method and system for reconstructing a surface
DE50109239T DE50109239D1 (en) 2000-11-13 2001-11-05 METHOD AND SYSTEM FOR RECONSTRUCTING A SURFACE
CNB018219861A CN1318929C (en) 2000-11-13 2001-11-05 Method and system for reconstructing surface
PCT/DE2001/004150 WO2002037198A2 (en) 2000-11-06 2001-11-05 Method and system for approximately reproducing the surface of a workpiece
EP01992913A EP1352299A2 (en) 2000-11-06 2001-11-05 Method and system for approximately reproducing the surface of a workpiece
PCT/DE2001/004149 WO2002039380A2 (en) 2000-11-13 2001-11-05 Method and system for reconstructing a surface

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10056143 2000-11-13
DE10135992A DE10135992A1 (en) 2000-11-13 2001-07-24 Method for approximately reproducing the surface of a workpiece from CAD data in a multiple milling process, involves breaking down first approximation of the shape into smaller parts which are milled accordingly

Publications (1)

Publication Number Publication Date
DE10135992A1 true DE10135992A1 (en) 2002-07-25

Family

ID=7663091

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10135992A Withdrawn DE10135992A1 (en) 2000-11-06 2001-07-24 Method for approximately reproducing the surface of a workpiece from CAD data in a multiple milling process, involves breaking down first approximation of the shape into smaller parts which are milled accordingly

Country Status (1)

Country Link
DE (1) DE10135992A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014009523B3 (en) * 2014-06-25 2015-11-19 ModuleWorks GmbH Method for milling a workpiece with undercuts

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014009523B3 (en) * 2014-06-25 2015-11-19 ModuleWorks GmbH Method for milling a workpiece with undercuts

Similar Documents

Publication Publication Date Title
DE69711812T2 (en) Three-dimensional processing method and recording medium with stored program for three-dimensional processing control
DE112016005969T5 (en) Toolpath correction device and toolpath correction method
EP1334468B1 (en) Method and system for reconstructing a surface
DE69027402T2 (en) Method and device for controlling robots and the like for using hierarchically organized &#34;bubble data&#34; which are arranged along a central axis
DE102015015093B4 (en) Robot programming device for instructing a robot for machining
DE102007021711A1 (en) Original design units approximating method for use in computer-aided draft system, involves providing collection of three dimensional -sampling data, and segmenting lattice model with segmenting device in lattice area
EP2952990B1 (en) Optimized control of a chip-producing working machine
DE69018200T2 (en) Absolute hollowing-out for computer-aided control of the path of a cutting tool.
DE102015120118B4 (en) Machine tool with a tool path curve generating device
DE10025583A1 (en) Integrated circuit cell layout optimisation method has initial cell layout automatically modified after optimisation of component dimensions
DE69202323T2 (en) Process for three-dimensional machining.
EP3770792A1 (en) Method and device for creating models and evaluating strength of welding seams between mechanical components
DE69625484T2 (en) Improved object model creation
DE112020000656T5 (en) Machining program converting apparatus, numerical control, machining program converting method and machine learning apparatus
WO2006029882A2 (en) Method for searching for a similar construction model
DE69314688T2 (en) Numerical control device and method for controlling the movement of a tool
DE112019007889T5 (en) MACHINING PROGRAM CONVERSION DEVICE, NUMERICAL CONTROL DEVICE AND MACHINING PROGRAM CONVERSION METHOD
DE102014015278B4 (en) Machining curve generation device and associated machining curve generation method
EP3901713B1 (en) Method and device for operating a technical system with optimal model
DE112018007741T5 (en) MACHINE LEARNING DEVICE, DEVICE FOR GENERATING PROGRAMS FOR NUMERICALLY CONTROLLED MACHINING AND MACHINE LEARNING PROCEDURES
DE10135992A1 (en) Method for approximately reproducing the surface of a workpiece from CAD data in a multiple milling process, involves breaking down first approximation of the shape into smaller parts which are milled accordingly
DE102021105772B4 (en) Interference determination apparatus and method
EP4137899A1 (en) Method for determining a machining path and method for machining a workpiece by means of a multi-axis machining device
EP4224353A1 (en) Method for creating a virtual model of a component, computer system, computer program product
EP1516234A2 (en) Information generation system for product formation

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8125 Change of the main classification

Ipc: G06T 17/40

8130 Withdrawal