Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR GENERATING A 3D MODEL BY MEANS OF A SCATTER PLOT
Document Type and Number:
WIPO Patent Application WO/2023/222294
Kind Code:
A1
Abstract:
The invention relates to a method for generating a 3D model of a physical object, the 3D model being represented by a voxel model. The method is characterised in that: a) a 2D grid is generated, with 2D texture coordinates and 3D spatial coordinates of the 3D model being assigned to each corner point of a grid unit; b) a centre point is, optionally recursively, calculated for each grid unit; c) 2D texture coordinates and 3D spatial coordinates are assigned to each centre point; and d) the voxels of the voxel model which have a minimum distance from the centre points of less than a predetermined distance are determined.

Inventors:
GALLO MICHAEL (IT)
Application Number:
PCT/EP2023/058148
Publication Date:
November 23, 2023
Filing Date:
March 29, 2023
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HYPERGANIC GROUP GMBH (DE)
International Classes:
G06T17/00; B33Y50/00
Foreign References:
US11027493B22021-06-08
Other References:
SHUHUA LAI ET AL: "Voxelization of Free-Form Solids Represented by Catmull-Clark Subdivision Surfaces", 2006, GEOMETRIC MODELING AND PROCESSING - GMP 2006 LECTURE NOTES IN COMPUTER SCIENCE;;LNCS, SPRINGER, BERLIN, DE, PAGE(S) 595 - 601, ISBN: 978-3-540-36711-6, XP019037680
BERNHARD MATHIAS ET AL: "Volumetric modelling for 3D printed architecture", ADVANCES IN ARCHITECTURAL GEOMETRY 2018, 25 September 2018 (2018-09-25), pages 392 - 415, XP055848997, ISBN: 978-3-903015-13-5
Attorney, Agent or Firm:
2S-IP SCHRAMM SCHNEIDER BERTAGNOLL PATENT- UND RECHTSANWÄLTE PART MBB (DE)
Download PDF:
Claims:
Ansprüche Computer-implementiertes Verfahren zum Erzeugen eines 3D-Modells zumindest eines Ausschnitts eines physischen Objekts, wobei

- das 3D-Modell durch ein Voxel-Modell (10) repräsentiert wird,

- das Voxel-Modell (10) eine Anzahl von Voxeln (11) aufweist, wobei jedem Voxel (11) ein Ab Standsattribut zugeordnet ist, und wobei a) ein 2D-Raster (20) erzeugt wird, wobei das 2D-Raster (20) eine Anzahl von Rastereinheiten (21) aufweist, wobei jede Rastereinheit (21) eine Anzahl von Eckpunkten (22) umfasst, wobei jedem Eckpunkt (22) 2D-Tex- turkoordinaten und 3D-Raumkoordinaten des 3D-Modells zugeordnet werden, wobei die 2D-Texturkoordinaten auf die 3D-Raumkoordinaten zumindest eines Oberflächenabschnittes (30) des 3D-Modells abgebildet werden, b) für jede Rastereinheit (21) ein Abstand zwischen den 3D-Raumkoordina- ten jeweils zweier benachbarter Eckpunkte (22) berechnet wird, wobei

- die jeweilige Rastereinheit (21) in mindestens zwei Unterrastereinheiten (21) unterteilt wird falls zumindest ein berechneter Abstand größer ist als ein vorbestimmter Grenzwert, wobei für jede Unterrastereinheit (21) der Schritt b) ausgeführt wird, oder

- für die jeweilige Rastereinheit (21) ein Mittelpunkt (23) berechnet wird, falls alle berechneten Abstände kleiner oder gleich dem vorbestimmten Grenzwert sind, c) jedem Mittelpunkt (23) 2D-Texturkoordinaten und 3D-Raumkoordinaten zugeordnet werden, wobei die 2D-Texturkoordinaten auf die 3D-Raumko- ordinaten des zumindest einen Oberflächenabschnittes (30) abgebildet werden, und d) diejenigen Voxel (11) des Voxel-Modells (10) ermittelt werden, deren minimaler Abstand zu den Mittelpunkten (23) kleiner ist als ein vorbestimmter Abstand, wobei der minimale Abstand in dem Ab Standsattribut des jeweiligen Voxels (11) gespeichert wird. Verfahren nach dem vorhergehenden Anspruch, wobei die Rastereinheiten (21) rechteckig, insbesondere quadratisch, sind. Verfahren nach einem der vorhergehenden Ansprüche, wobei im Schritt b) beim Berechnen des Mittelpunkts (23) für die jeweilige Rastereinheit (21) zusätzlich ein Normalenvektor (24) für den Mittelpunkt (23) ermittelt wird und dem Mittelpunkt (23) zugeordnet wird, wobei der Normalenvektor (24) senkrecht zum zumindest einen Oberflächenabschnitt (30) steht. Verfahren nach dem vorhergehenden Anspruch, wobei im Schritt d) den jeweiligen ermittelten Voxeln (11) auf Basis des Normalenvektors (24) der entsprechenden Mittelpunkte (23) eine Information darüber zugeordnet wird, ob sich das jeweilige Voxel (11) außerhalb oder innerhalb des zumindest einen Ausschnitts des physischen Objekts befindet. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Mittelpunkte (23) den zumindest einen Ausschnitt des physischen Modells repräsentieren und einer Anzeigeeinrichtung zur Visualisierung des zumindest einen Ausschnitts des physischen Modells bereitgestellt werden. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Anzahl der Rastereinheiten (21) im Schritt a) auf Basis des zumindest einen Oberflächenabschnitts (30) festgelegt wird. Verfahren nach einem der vorhergehenden Ansprüche, wobei der minimale Ab stand zu den Mittelpunkten (21) mittels einer Interpolation von zwei oder mehr Mittelpunkten (21) gebildet wird. Verfahren nach einem der vorhergehenden Ansprüche, wobei der zumindest eine Oberflächenabschnitt (30) durch ein parametrisches Oberflächenmodell repräsentiert wird. Verfahren nach einem der vorhergehenden Ansprüche, wobei der zumindest eine Oberflächenabschnitt (30) eine geschlossene Oberfläche des physischen Objekts bildet. Verfahren nach einem der vorhergehenden Ansprüche, wobei aus dem erzeugten 3D-Modell Steueran Weisungen zum Drucken des physischen Objekts in einem 3D-Drucker abgeleitet werden, wobei die Steueran Weisungen Informationen darüber umfassen, an welchen Bereichen in einem Druckraum des 3D-Druckers ein Druckmaterial zum physischen Objekts gehört, wobei diese Bereiche durch jene Voxel (11) bestimmt werden, zu denen der minimale Abstand in dem Ab Standattribut gespeichert ist, und wobei die Steueran Weisungen zur Übertragung an den 3D-Drucker bereitgestellt werden.

Description:
Verfahren zum Erzeugen eines 3D-Modells mittels einer Punktwolke

Gebiet der Erfindung

Die Erfindung betrifft ein Verfahren zum Erzeugen eines digitalen Modells eines physischen Objekts für einen nachfolgenden Druck des physischen Objekts mittels eines 3D-Druckers.

Hintergrund der Erfindung

Im Bereich des 3D-Drucks ist es bekannt, ein zu druckendes 3D-Objekt mittels eines virtuellen 3D-Modells bzw. digitalen Modells zu repräsentieren. Hierzu wird üblicherweise die Oberfläche des 3D-Objekts mittels eines mathematischen Modells modelliert. So kann die Oberfläche des zu druckenden 3D-Objekts etwa durch eine Anzahl von regulären Flächen bereitgestellt werden, wobei die regulären Flächen mittels einer Parametrisierung erzeugt werden.

Bekannt ist ebenso, aus zusammengesetzten regulären Flächen ein 3D-Modell des 3D-Objekts zu erzeugen, um aus dem 3D-Modell Steueran Weisungen zur Steuerung des 3D-Druckers abzuleiten. Hierzu wird üblicherweise aus den regulären Flächen, etwa mittels einer Diskretisierung, ein Polygonnetz (Dreiecksnetz) erzeugt.

Eine derartige Repräsentation der Oberfläche des zu druckenden Objekts eignet sich zwar, um in einer computer-gestützten Designanwendung möglichst realistische 3D-Modelle zu erzeugen. Nachteilig hierbei ist jedoch, dass beispielsweise Transformationen, die zur Gestaltung des 3D-Objekts und/oder zur Ableitung von Steueran Weisungen auf das 3D-Modell angewendet werden müssen, sehr rechenintensiv sind. Zudem können die Transformationen, insbesondere aufgrund der Diskretisierung, zu Artefakten fuhren, wodurch in der Oberfläche des 3D-Objekts abschnittsweise unerwünschte Löcher entstehen können.

Ein weiterer Nachteil einer derartigen Objektrepräsentation besteht darin, dass das resultierende 3D-Modell lediglich die Oberfläche als solche beschreibt, nicht aber das innerhalb der Oberfläche liegende Volumen des zu druckenden 3D-Objekts. Dadurch ist es aufwendig und komplex, das innenliegende Volumen in Bereiche mit unterschiedlichen Materialeigenschaften (Art des Materials, Farbe, physikalische Eigenschaften, usw.) zu strukturieren. Denn jeder Volumenabschnitt, der etwa mit einem anderen Material gedruckt werden soll, ist als eigenständiges 3D-Modell zu beschreiben. Für den 3D-Druck sind diese eigenständigen bzw. separaten 3D- Modelle zusammenzuführen, wobei insbesondere Unregelmäßigkeiten an den Grenzflächen der separaten 3D-Modelle entstehen können.

Aufgabe der Erfindung

Aufgabe der vorliegenden Erfindung ist daher, ein Verfahren zum Erzeugen eines 3D-Modells zumindest eines Ausschnitts eines physischen Objekts bereitzustellen, welches die vorstehend genannten Nachteile zumindest teilweise vermeidet und gleichzeitig eine einfachere und flexiblere Manipulation des 3D-Modells ermöglicht.

Erfmdungsgemäße Lösung Die Aufgabe wird durch ein Verfahren mit den Merkmalen nach dem unabhängigen Patentanspruch gelöst. Vorteilhafte Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen angegeben.

Bereitgestellt wird demnach ein Computer-implementiertes Verfahren zum Erzeugen eines 3D-Modells zumindest eines Ausschnitts eines physischen Objekts, wobei das 3D-Modell durch ein Voxel-Modell repräsentiert wird, wobei das Voxel-Modell eine Anzahl von Voxeln aufweist, wobei jedem Voxel ein Ab Standsattribut zugeordnet ist, wobei a) ein 2D-Raster erzeugt wird, wobei das 2D-Raster eine Anzahl von Rastereinheiten aufweist, wobei jede Rastereinheit eine Anzahl von Eckpunkten umfasst, wobei jedem Eckpunkt 2D-Texturkoordinaten und 3D-Raumkoordinaten des 3D-Modells zugeordnet werden, wobei die 2D-Texturkoordinaten auf die 3D-Raumkoordinaten zumindest eines Oberflächenabschnittes des 3D-Mo- dells abgebildet werden, b) für jede Rastereinheit ein Abstand zwischen den 3D-Raumkoordinaten jeweils zweier benachbarter Eckpunkte berechnet wird, wobei die jeweilige Rastereinheit in mindestens zwei Unterrastereinheiten unterteilt wird falls zumindest ein berechneter Abstand größer ist als ein vorbestimmter Grenzwert, wobei für jede Unterrastereinheit der Schritt b) ausgeführt wird, oder für die jeweilige Rastereinheit ein Mittelpunkt berechnet wird, falls alle berechneten Abstände kleiner oder gleich dem vorbestimmten Grenzwert sind, c) jedem Mittelpunkt 2D-Texturkoordinaten und 3D-Raumkoordinaten zugeordnet werden, wobei die 2D-Texturkoordinaten auf die 3D-Raumkoordinaten des zumindest einen Oberflächenabschnittes abgebildet werden, und d) diejenigen Voxel des Voxel-Modells ermittelt werden, deren minimaler Abstand zu den Mittelpunkten kleiner ist als ein vorbestimmter Abstand, wobei der minimale Abstand in dem Ab Standsattribut des jeweiligen Voxels gespeichert wird.

In dem Schritt b) wird für den Fall, dass für eine Rastereinheit zumindest ein berechneter Abstand größer ist als der vorbestimmte Grenzwert, diese Rastereinheit in Unterrastereinheiten unterteilt und für jede Unterrastereinheit wird der Schritt b) ausgeführt. Eine Rastereinheit wird also solange rekursiv in Unterrastereinheiten unterteilt, bis alle berechneten Abstände der jeweiligen Unterrastereinheit kleiner oder gleich dem vorbestimmten Grenzwert sind.

Der Vorteil des erfindungsgemäßen Verfahrens besteht darin, dass die berechneten Mittelpunkte auf der Oberfläche des 3D-Modells des physischen Objekts eine derart dichte Punktwolke bilden, dass alle diejenigen Voxel des Voxel-Modells, die innerhalb eines vorbestimmten Abstands von der Oberfläche des Objekts lokalisiert sind, sehr effizient und einfach identifiziert werden können. Ein weiterer technischer Vorteil ist, dass hierbei unerwünschte Artefakte, etwa "Löcher" in der Oberfläche, vermieden werden. Hierzu kann beispielsweise mittels einer vorgegebenen Reihenfolge durch das Voxel-Modell iteriert werden. Dabei wird für jedes besuchte Voxel überprüft, ob es in der Nähe der Oberfläche des 3D-Objekts lokalisiert ist. Durch eine entsprechende Wahl des vorbestimmten Grenzwertes kann sichergestellt werden, dass die Mittelpunkte auf der Oberfläche des 3D-Objekts beispielsweise nicht weiter voneinander beabstandet sind als zwei diagonal gegenüberliegende Eckpunkte eines Voxels des Voxel-Modells. Dadurch ist gewährleistet, dass zu jedem identifizierten bzw. gefundenen Voxel zumindest ein weiteres benachbartes Voxel innerhalb des vorbestimmten Abstands von der Oberfläche gefunden wird, das ebenfalls zur Oberfläche gehört. Somit kann das Voxel-Modell eine geschlossene Oberfläche des physischen Objekts, d.h. ohne Löcher oder Fehlstellen, repräsentieren. Dies wird durch eine hohe, zumindest abschnittsweise homogene, Dichte der Punktwolke erreicht. Zu den benachbarten Voxel eines gefundenen Voxels zählen alle diejenigen Voxel, die das gefundene Voxel einhüllen. Damit sind nicht nur die direkt, also über die Seiten des gefundenen Voxels, benachbarten Voxel umfasst, sondern auch jene Voxel, die über die Kanten und Ecken des gefundenen Voxels benachbart sind. So ist in einem dreidimensionalen Voxel-Modell ein Voxel, falls es nicht grenzflächig lokalisiert ist, von 26 Voxeln eingehüllt.

Somit ermöglicht das erfindungsgemäße Verfahren, eine Schnittmenge zwischen den Mittelpunkten und Voxeln des Voxel-Modells effizient zu ermitteln. Aufgrund der erfindungsgemäßen Verteilung der Mittelpunkte (Punktwolke), die sich aus der erfindungsgemäßen Unterteilung des 2D-Rasters in Raster- bzw. Unterrastereinheiten ergibt, kann für jedes besuchte Voxel die Suche nach berechneten Mittelpunkten auf einen kleinen, vorbestimmten Bereich um das Voxel begrenzt werden, wodurch die Laufzeit für das Ermitteln von Voxel, die sich auf der Oberfläche des Objektes befinden, um Größenordnungen reduziert wird. Dadurch kann mittels eines einzigen vorbestimmten Suchkriteriums ermittelt werden, ob ein Voxel im Nahbereich der Oberfläche des 3D-Objekts lokalisiert ist, oder nicht. Darüber hinaus muss in der Regel nicht einmal jedes Voxel des Voxel-Modells besucht werden, um die Schnittmenge vollständig zu ermitteln.

Die Punktwolke repräsentiert also die Oberfläche des physischen Objekts und bildet damit ein Zwischenprodukt bei der Erzeugung des Voxel-Modells. Für diejenigen Voxel, die nahe der Oberfläche des physischen Objekts lokalisiert sind, kann mit Hilfe der 3D-Raumkoordinaten der Mittelpunkte jeweils ein minimaler Abstand zur Oberfläche ermittelt werden und im Ab Standsattribut des jeweiligen Voxels gespeichert werden. Im Ab Standsattribut derjenigen Voxel, die weiter als ein vorbestimmter Abstand von der Oberfläche entfernt sind, wird dagegen ein vorbestimmter Abstandswert, etwa +co oder -co, gespeichert. Dadurch kann auch zwischen einem Innenvolumen des 3D-Objekts und einem Volumen außerhalb des 3D-Objekts unterschieden werden. Im Vergleich zu der erfindungsgemäß erzeugten Punktwolke ist eine Punktwolke, wie sie etwa vom Scannen eines 3D-Objekts bekannt ist, derart unregelmäßig, dass nicht jedes Voxel im Nahbereich der Oberfläche des 3D-Objekts auch in der Nähe eines konkreten Punktes der Punktwolke lokalisiert ist. Dadurch kann die Suche nach den Punkten der Punktwolke zur Ab Standsermittlung nicht auf einen kleinen Radius um die jeweiligen Voxel begrenzt werden. Vielmehr muss für jedes Voxel, für das innerhalb eines ersten Raumbereichs keine Punkte gefunden wurden, in einem zweiten, erweiterten Raumbereich erneut nach Punkten der Punktwolke gesucht werden. Nachteilig ist zudem, dass es Oberflächenbereiche geben kann, für die aufgrund der unregelmäßigen Verteilung der Punkte der Punktwolke gar keine Voxel im vorbestimmten Abstand von der Oberfläche ermittelt werden können. Allenfalls kann eine unregelmäßige Punktwolke für derartige Oberflächenbereiche interpoliert werden, wobei für die interpolierten Punkte und darüber ermittelte Voxel nicht gewährleistet werden kann, dass diese tatsächlich auf bzw. in der Nähe der Oberfläche des 3D-Objekts liegen.

Das erfindungsgemäße Verfahren hat darüber hinaus den Vorteil, dass eine explizite Definition des Oberflächenmodells nicht bekannt sein muss. Die Punktwolke wird vielmehr ausgehend von 2D-Texturkoordinaten erzeugt, wobei den jeweiligen 2D-Texturkoordinaten 3D-Raumkoordinaten zugeordnet werden. Diese Zuordnung kann beispielsweise mittels eines Verfahrens, das zu angefragten 2D-Texturkoor- dinaten entsprechende 3D-Raumkoordinaten auf der Oberfläche des 3D-Objekts zurückgibt, erfolgen. Hierzu können die 3D-Raumkoordinaten beispielsweise unter der Verwendung von regulären Flächen definiert und bereitgestellt werden. Somit ist das Verfahren vielseitig und für beliebig komplexe Oberflächenabschnitte bzw. Zusammensetzungen von Oberflächenabschnitten anwendbar.

Vorteilhafterweise sind die Rastereinheiten rechteckig, insbesondere quadratisch. Der Vorteil einer rechteckigen bzw. quadratischen Rastereinheit liegt darin, dass durch eine Unterteilung der Rastereinheit, beispielsweise in zwei oder vier flächengleiche Unterrasteinheiten, wieder rechteckige bzw. quadratische Unterrastereinheiten entstehen. Auf diese Weise ist eine rekursive Suche nach der erforderlichen Granularität des 2D-Rasters effizient möglich. Zu beachten ist, dass die erforderliche Granularität von der Beschaffenheit bzw. geometrischen Ausprägung der Oberfläche des 3D-Objekts abhängt. Denn die Entscheidung, ob eine Rastereinheit (weiter) unterteilt wird, hängt maßgeblich davon ab, wie weit die benachbarten Eckpunkte der Rastereinheit auf der Oberfläche des 3D-Objekts voneinander entfernt sind. Hierzu kann der Abstand zweier benachbarter Eckpunkte als euklidische Norm im dreidimensionalen Raum zwischen den jeweils zugeordneten 3D-Raum- koordinaten ermittelt werden.

In einer vorteilhaften Ausgestaltung des Verfahrens wird in Schritt b) beim Berechnen des Mittelpunkts für die jeweilige Rastereinheit zusätzlich ein Normalenvektor für den Mittelpunkt ermittelt und dem Mittelpunkt zugeordnet. Der Normalenvektor steht senkrecht zum zumindest einen Oberflächenabschnitt.

Weiter vorteilhaft ist es, wenn im Schritt d) den jeweiligen ermittelten Vox ein auf Basis des Normalenvektors der entsprechenden Mittelpunkte eine Information darüber zugeordnet wird, ob sich das jeweilige Voxel außerhalb oder innerhalb des zumindest einen Ausschnitts des physischen Objekts befindet.

Dadurch kann beispielsweise den Voxeln außerhalb eines vorbestimmten Abstands von der Oberfläche des physischen Objekts ein erster vorbestimmter Abstandswert, zum Beispiel +co, zugeordnet werden. Denjenigen Voxeln, die mittels des normalen Vektors als innerhalb des physischen Objekts lokalisiert werden, kann entsprechend ein zweiter vorbestimmter Ab standswert ins Ab Standsattribut gespeichert werden, etwa -co. Somit lässt sich der Zugriff auf die Bereiche innerhalb bzw. außerhalb der Oberfläche des physischen Objekts für nachfolgende Transformationen des digitalen Modells effizienter gestalten. Vorteilhafterweise werden die Mittelpunkte, welche zumindest einen Ausschnitt des physischen Modells repräsentieren, einer Anzeigeeinrichtung zur Visualisierung des zumindest einen Ausschnitts des physischen Modells bereitgestellt.

Unter der Verwendung der Normalenvektoren kann das digitale Modell des physischen Objekts realistisch auf einer Anzeigeeinrichtung dargestellt werden. Somit kann das 3D-Objekt ausschnittsweise und damit entwicklungsbegleitend bzw. iterativ visualisiert werden. Dies ist insbesondere für Entwickler von komplexen 3D- Objekten vorteilhaft, da diese sich während der Entwicklung den Fortschritt der Modellierung des 3D-Objekts jederzeit direkt anzeigen lassen können. Hierdurch kann die Vorstellungskraft einzelner Entwickler bei der Entwicklung von komplexen 3D-Objekten um ein Vielfaches verstärkt bzw. erweitert werden.

In einer Ausgestaltung des Verfahrens wird die Anzahl der Rastereinheiten in Schritt a) auf Basis des zumindest einen Oberflächenabschnitts festgelegt.

Es hat sich als vorteilhaft herausgestellt, mit einem 2D-Raster umfassend 64x64 Rastereinheiten in der (U, V)-Ebene zu starten. Abhängig von der Komplexität der Oberfläche des 3D-Obj ekts bietet es sich auch an, mit weniger oder mehr Rastereinheiten zu starten.

In einer Ausgestaltung des Verfahrens wird der minimale Abstand zu den Mittelpunkten mittels einer Interpolation von zwei oder mehr Mittelpunkten gebildet.

Hierzu kann eine geeignete Methode zur Wichtung einer inversen Distanz, etwa die modifizierte Shepard-Methode herangezogen werden. Somit kann aus den zumindest zwei Mittelpunkten, die in der Nähe eines Voxels liegen, ein interpolierter Mittelpunkt und ein dazugehöriger interpolierter Normalenvektor berechnet werden. Nach einem Aspekt der Erfindung wird der zumindest eine Oberflächenabschnitt durch ein parametrisches Oberflächenmodell repräsentiert.

Vorteilhafterweise bildet der zumindest eine Oberflächenabschnitt eine geschlossene Oberfläche des physischen Objekts.

Durch die geschlossene Oberfläche des physischen Objekts ist das gedruckte physische Objekt letztendlich "wasserdicht". Diese Eigenschaft der Oberfläche des physischen Objekts kann insbesondere dadurch sichergestellt werden, dass das 3D- Modell als Voxel-Modell repräsentiert wird, so dass bei den erforderlichen Transformationen des 3D-Modells keinerlei Artefakte bzw. Unregelmäßigkeiten in Bezug zur Oberfläche des physischen Objekts auftreten.

In einer vorteilhaften Ausgestaltung des Verfahrens werden aus dem erzeugten 3D- Modell Steueran Weisungen zum Drucken des physischen Objekts in einem 3D-Dru- cker abgeleitet. Die Steueran Weisungen umfassen Informationen darüber, an welchen Bereichen in einem Druckraum des 3D-Druckers ein Druckmaterial zum physischen Objekt gehört. Diese Bereiche werden durch jene Voxel bestimmt, zu denen der minimale Abstand in dem Ab Standsattribut gespeichert ist, und nicht ein vorbestimmter Abstandswert. Die Steueran Weisungen werden zur Übertragung an den 3D-Drucker bereitgestellt.

Kurzbeschreibung der Figuren

Weitere Einzelheiten und Merkmale des erfindungsgemäßen Verfahrens sowie konkrete, insbesondere vorteilhafte Ausgestaltungen des erfindungsgemäßen Verfahrens ergeben sich aus der nachfolgenden Beschreibung in Verbindung mit der Zeichnung. Es zeigt: Fig. 1 ein 2D-Raster von Texturkoordinaten nach einer Ausgestaltung des Verfahrens;

Fig. 2 ein Beispiel für einen durch eine Punktwolke repräsentierten Oberflächenabschnitt eines physischen Objekts in Schritt d) einer Ausgestaltung des erfindungsgemäßen Verfahrens;

Fig. 3 ein Beispiel für eine Interpolation der 3D-Raumkoordinaten und des Normalenvektors von drei Mittelpunkten gemäß einer Ausgestaltung der Erfindung;

Fig. 4 ein Ablaufdiagramm für eine Ausgestaltung des erfindungsgemäßen Verfahrens.

Detaillierte Beschreibung der Erfindung

Fig. 1 zeigt ein Beispiel eines 2D-Rasters von Texturkoordinaten nach einer Ausgestaltung des erfindungsgemäßen Verfahrens.

Die Voxelisierung eines digitalen Modells zumindest eines Ausschnitts eines physischen Objekts, also das Erstellen bzw. Erzeugen eines Voxel-Modells 10 zur Repräsentation des digitalen Modells, geht erfindungsgemäß von einem 2D-Raster 20 in der (U, V)-Ebene aus. Ein Beispiel für ein solches 2D-Raster 20 ist in Fig. 1 gezeigt.

In einer Ausgestaltung des Verfahrens umfasst das 2D-Raster 20 ursprünglich eine Anzahl von gleichflächigen Rastereinheiten 21, die die Fläche in der (U, V)-Ebene zwischen den Koordinaten 0 und 1 jeweils entlang der U-Richtung und der V-Rich- tung unterteilen. Im vorliegenden Beispiel sind die Rastereinheiten 21 quadratisch gewählt. Grundsätzlich können die Rastereinheiten 21 auch eine andere geometrische Flächenform aufweisen, wie etwa rechteckig, dreieckig, oder hexagonal. Jede Rastereinheit 21 des 2D-Rasters 20 umfasst eine Anzahl von Eckpunkten 22. Den Eckpunkten 22 sind einerseits 2D-Texturkoordinaten aus der (U, V)-Ebene und andererseits 3D-Raumkoordinaten zugeordnet. Die 3D-Raumkoordinaten eines Eckpunkts 22 entsprechen denjenigen Koordinaten im 3D-Modell, auf den der zugehörige Eckpunkt 22 auf die Oberfläche 30 des digitalen Modells aufgerollt wäre. Die Umwandlung von einzelnen 2D-Texturkoordinaten auf 3D-Raumkoordinaten kann beispielsweise durch einen Oberflächenkoordinatenautomaten ausgeführt werden.

In anderen Worten wird die Beziehung zwischen den 2D-Texturkoordinaten und den 3D-Raumkoordinaten dahingehend vorteilhaft ausgenutzt, dass ein regelmäßiges 2D-Raster 20 der (U, V)-Ebene einem regelmäßigen Abtasten der Oberfläche 30 des digitalen Modells entspricht. Zu beachten ist hierbei, dass in der Regel die benachbarten Eckpunkte 22 im 2D-Raster 20 im dreidimensionalen Raum des digitalen Modells unter Umständen ganz unterschiedliche (und eben keine regelmäßigen) Ab stände zueinander aufweisen.

Ausgehend von dem 2D-Raster 20 in der (U, V)-Ebene wird für jede Rastereinheit 21 ein Abstand zwischen den 3D-Raumkoordinaten jeweils zweier benachbarter Eckpunkte 22 berechnet. In dem Ausführungsbeispiel der Fig. 1 werden demnach für jede Rastereinheit 21 vier Abstandswerte berechnet. Hiernach wird eine Rastereinheit 21 in vier gleiche Unterrastereinheiten 21 unterteilt, falls zumindest ein Abstand der vier berechneten Abstände größer als ein vorbestimmter Grenzwert ist. Die Unterrastereinheit 21 und die Rastereinheit 21 unterscheiden sich demnach lediglich in ihrer Fläche im 2D-Raster 20. Ansonsten weisen sie die gleichen Merkmale auf.

Der vorbestimmte Grenzwert kann etwa durch die Distanz zwischen zwei diagonal gegenüberliegenden Eckpunkten eines Voxels 11, also die Länge der Voxel diagonalen, vorgegeben sein. Für jede der Unterrastereinheiten 21 kann dabei verfahren werden wie für die ursprüngliche Rastereinheit 21, aus der die vier Unterrastereinheiten 21 hervorgegangen sind. Das bedeutet, dass auch für die Eckpunkte 22 der Unterrastereinheiten 21 jeweils ein Abstand zweier benachbarter Eckpunkte 22 berechnet werden kann. Sollte für eine Unterrastereinheit 21 zumindest ein berechneter Abstand wiederum größer als der vorbestimmte Grenzwert sein, wird die betroffene Unterrastereinheit 21 in weitere Unterrastereinheiten 21 unterteilt. Somit kann das 2D-Raster 20 auf Basis der berechneten Abstände zwischen den Eckpunkten 22 auf der Oberfläche 30 des 3D-Modell des physischen Objekts rekursiv unterteilt werden.

In einer Ausgestaltung des Verfahrens kann die Rastereinheit 21, falls ein Abstand zwischen zwei Eckpunkten 22 größer als der vorbestimmte Grenzwert ist, auch entlang der U-Richtung oder der V-Richtung in jeweils zwei Unterrastereinheiten 21 halbiert werden. Dies kann insbesondere dann vorteilhaft sein, wenn der Abstand zwischen den Eckpunkten 22 in der U-Richtung (bzw. V-Richtung) wesentlich größer ist als der Abstand der zwei Eckpunkte 22 in der V-Richtung (bzw. U-Richtung). In diesem Fall entstehen aus einer Rastereinheit 21 nur zwei Unterrastereinheiten 21.

Sobald in einer Rastereinheit 21 bzw. einer Unterrastereinheit 21 alle Abstände zwischen den Eckpunkten 22 kleiner oder gleich dem vorbestimmten Grenzwert sind, wird für die jeweilige (Unter)Rastereinheit 21 ein Mittelpunkt 23 ermittelt (auch durch einen Doppelpfeil gekennzeichnet). Vorteilhafterweise wird für den Mittelpunkt 23 auch der Normalenvektor 24 aus den Normalenvektoren der Eckpunkte 22 ermittelt. Auch dem berechneten Mittelpunkt 23 sind neben den 2D-Texturko- ordinaten in der (U, V)-Ebene die 3D-Raumkoordinaten auf der Oberfläche 30 des 3D-Objekts im 3D-Modell zugeordnet.

Auf diese Weise wird in der (U, V)-Ebene für jede Rastereinheit 21 bzw. Unterrastereinheit 21 schlussendlich jeweils ein Mittelpunkt 23 berechnet. Die Menge der berechneten Mittelpunkte 23 bildet dabei eine Punktwolke. Sind den Mittelpunkten 23 die zugehörigen Normalenvektoren 24 zugeordnet, so handelt es sich um eine dichte gerichtete Punktwolke.

Die 3D-Raumkoordinaten der Mittelpunkte 23, also der Punktwolke, repräsentieren die Oberfläche 30 des physischen Objekts im digitalen Modell. Sofern den Mittelpunkten 23 der Normalenvektor 24 zugeordnet ist, kann die Punktwolke entsprechend realistisch als 3D-Modell visualisiert werden. Die Punktwolke für jeweils einen Ausschnitt des physischen Objekts kann daher Benutzer bei einer etappenweisen Entwicklung von komplexen physischen Objekten unterstützen. Hierzu kann jede erzeugte Punktwolke sowohl einzeln als auch in einer beliebigen Zusammensetzung im digitalen Modell dargestellt werden, wodurch das Vorstellungsvermögen des Benutzers erweitert werden kann.

Fig. 2 zeigt ein Beispiel für eine voxelisierte Punktwolke eines Oberflächenausschnitts nach dem erfindungsgemäßen Verfahren.

Die Punkte in Fig. 2 repräsentieren die berechneten Mittelpunkte 23 in einer zweidimensionalen Projektion der 3D-Raumkoordinaten und bilden eine Punktwolke, welche die Oberfläche 30 des 3D-Objekts beschreibt. Im vorliegenden Beispiel hat das 3D-Objekt in dem gezeigten Ausschnitt eine gewölbte Oberfläche 30, die durch die durchgezogene Linie gezeigt ist. Die Punkte 23 der Punktwolke haben auf der Oberfläche 30 des physischen Objekts jeweils den gleichen Abstand zueinander. Dies ist eine Eigenschaft, die unmittelbar aus einem gleichmäßig unterteilten 2D- Raster 20 in der (U, V)-Ebene folgt.

Gezeigt in Fig. 2 ist auch ein Ausschnitt des Voxel-Modells 10, und zwar durch die gestrichelt gezeichneten, quadratischen Kästchen, die die Voxel 11 darstellen. Aufgrund des rekursiven Verfahrens zur Unterteilung des 2D-Rasters 20 hat die resul- tierende Punktwolke die Eigenschaft, dass in jedem Voxel 11, welches die Oberfläche 30 des physischen Objekts im digitalen Modell schneidet, jeweils auch zumindest ein Punkt 23 der Punktwolke lokalisiert ist.

Diese Eigenschaft hat den großen technischen Vorteil, dass die Suche nach der Oberfläche 30 in dem Voxel-Modell 10 auf einen einzigen, kleinen Suchradius beschränkt werden kann. Der maximal erforderliche Suchradius entspricht dabei dem vorbestimmten Grenzwert bei der Erzeugung bzw. rekursiven Unterteilung des 2D- Rasters 20. So kann jedes Voxel 11, das keinen Punkt 23 der Punktwolke innerhalb des Suchradius findet, direkt als nicht zur Oberfläche 30 des 3D-Objekts gehörend gekennzeichnet werden. Das Ermitteln der zur Oberfläche 30 gehörenden Voxel 11 kann so besonders effizient durchgeführt werden.

Der Abstand zwischen einem Voxel 11 und der durch die Punktwolke repräsentierten Oberfläche 30 kann beispielsweise in Richtung der Normalenvektoren 24 der jeweiligen Punkte 23 ermittelt werden. Auf diese Weise kann der Normalenvektor 24 auch anzeigen, ob ein Voxel 11 innerhalb oder außerhalb des Volumens des 3D-Modells lokalisiert ist. Ist ein Voxel 11 innerhalb des Volumens des 3D-Mo- dells lokalisiert, ergibt sich beispielsweise aufgrund der Richtung des entsprechenden Normalenvektors 24 ein negativer Abstandswert. Für ein Voxel 11, das außerhalb des Volumens des 3D-Modell lokalisiert ist, ergibt sich dagegen ein positiver Ab standswert.

Denjenigen Voxeln 11, die weiter als ein vorbestimmter Abstand bzw. weiter als der Suchradius von der Punktwolke entfernt sind kann ein vorbestimmter Abstandswert, z.B. + co oder - co, zugeordnet werden.

Ist einer vorbestimmten Anzahl benachbarter Voxeln 11 jeweils der gleiche vorbestimmte Abstandswert zugeordnet, bietet es sich an, die entsprechenden Voxel 11 im Sinne einer Baumstruktur zu einem Knoten zusammenzufassen und nur dem Knoten den vorbestimmten Abstandswert zuzuordnen. Hierdurch kann einerseits schneller über gleichartige Bereiche des 3D-Modells prozessiert werden und andererseits Speicherbedarf eingespart werden.

Fig. 3 zeigt ein Beispiel für eine Interpolation der 3D-Raumkoordinaten und des Normalenvektors von drei Mittelpunkten gemäß einer Ausgestaltung der Erfindung.

Die drei ausgefüllt dargestellten Punkte in Fig. 3 sind Teil der Punktwolke in einem digitalen Modell. Diese Punkte wurden, wie vorstehend ausgeführt, als Mittelpunkte 23 von (Unter)Rastereinheiten 21 ermittelt und weisen jeweils einen Normalenvektor 24 auf. Die Normalenvektoren 24 sind durch Pfeile dargestellt.

Das Kreuz in Fig. 3 kennzeichnet die Position eines naheliegenden Voxels 11. Der minimale Abstand zwischen jedem dieser Mittelpunkte und dem gekennzeichneten Voxel 11 ist jeweils kleiner als der vorbestimmte Abstand in diesem Beispiel. Dennoch soll in das Ab Standsattribut des gekennzeichneten Voxels 11 nur ein Abstandswert gespeichert werden. Daher wird aus den drei Punkten 23 der Punktwolke ein gemittelter Punkt interpoliert. Der gemittelte Punkt ist in Fig. 3 als offener Punkt dargestellt und durch einen Doppelpfeil zusätzlich gekennzeichnet. Es hat sich hierbei herausgestellt, dass die Interpolation effizient mittels einer inversen Distanzwichtung ausgeführt werden kann. So können die 3D-Raumkoordinaten und auch der Normalenvektor des gemittelten Punktes etwa durch eine modifizierte Shepard-Methode ermittelt werden. Ebenso können andere geeignete Verfahren der inversen Distanzwichtung eingesetzt werden.

Aufgrund der hohen Dichte der Punktwolke, die mit dem erfmdungsgemäßen Verfahren erzeugt wird, spielt die Interpolation von mindestens zwei Punkten 23 bei der Bestimmung des minimalen Abstands zum jeweiligen Voxel 11 des Voxel-Mo- dells 10 in der Praxis eine große Rolle. Fig. 4 zeigt ein Ablaufdiagramm für eine Ausgestaltung des erfindungsgemäßen Verfahrens.

Das in Fig. 4 gezeigte Ablaufdiagramm fasst die wesentlichen Schritte des erfin- dungsgemäßen Verfahrens zusammen.

Das Verfahren beginnt, im Schritt a), mit der Erzeugung eines 2D-Rasters 20 in der (U, V)-Ebene.

Anschließend, im Schritt b), wird das 2D-Raster 20 rekursiv verfeinert bzw. unterteilt. Dabei werden die Mittelpunkte 23 der (Unter)Rastereinheiten 20 ermittelt. Ziel der Rekursion ist es, dass die auf die Oberfläche 30 des physischen Objekts im digitalen Modell abgebildeten Mittelpunkte 23 näher zueinander beabstandet sind als zwei gegenüberliegende Eckpunkte eines Voxels 11 (Voxel diagonale) des Voxel -Modells 10.

Die Mittelpunkte 23 bilden eine Punktwolke im digitalen Modell. Hierzu werden, im Schritt c), die Mittelpunkte 23 auf 3D-Raumkoordinaten des Oberflächenabschnitts 30 abgebildet.

Im Schritt d) werden ausgehend von der Punktwolke, also der Menge der ermittelten Mittelpunkte 23 im 3D-Modell, diejenigen Voxel 11 des Voxel-Modells 10 ermittelt, die höchstens einen vorbestimmten Abstand zu den 3D-Raumkoordinaten der Mittelpunkte 23 aufweisen. Gegebenenfalls sind hierbei mehrere in Betracht kommende Mittelpunkte 23 zu interpolieren.

Somit kann das Voxel-Modell 10 des digitalen Abbilds des physischen Objekts auch ohne einer expliziten Kenntnis der mathematischen Definition der Oberfläche 30 des physischen Objekts erzeugt werden. Es bedarf lediglich eines Verfahrens, das angefragten 2D-Texturkoordinaten die entsprechenden 3D-Raumkoordi- naten auf der Oberfläche 30 des 3D-0bjekts zuordnet und bereitstellt, das in der Praxis beispielsweise durch eine Softwareanwendung (etwa ein Service) bereitgestellt werden kann. Der Zwischenschritt über eine dichte, gerichtete Punktwolke hat sich deshalb als vorteilhaft herausgestellt, weil die Punktwolke effizient ermittelt werden kann und aufgrund ihrer Dichte eine effiziente Ermittlung der relevanten Voxel 11 im Nahbereich der Oberfläche 30 des 3D-0bjekts ermöglicht.