DE102021124009A1 - Verfahren zum Erzeugen eines dreidimensionalen Modells eines Objektes zum Steuern eines 3D-Druckers - Google Patents

Verfahren zum Erzeugen eines dreidimensionalen Modells eines Objektes zum Steuern eines 3D-Druckers Download PDF

Info

Publication number
DE102021124009A1
DE102021124009A1 DE102021124009.3A DE102021124009A DE102021124009A1 DE 102021124009 A1 DE102021124009 A1 DE 102021124009A1 DE 102021124009 A DE102021124009 A DE 102021124009A DE 102021124009 A1 DE102021124009 A1 DE 102021124009A1
Authority
DE
Germany
Prior art keywords
distance
voxel
predetermined
nodes
tree structure
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.)
Pending
Application number
DE102021124009.3A
Other languages
English (en)
Inventor
Michael Gallo
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.)
HYPERFORGE HOLDINGS PTE LTD., SG
Original Assignee
Hyperganic Group GmbH
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 Hyperganic Group GmbH filed Critical Hyperganic Group GmbH
Priority to DE102021124009.3A priority Critical patent/DE102021124009A1/de
Priority to EP22786335.4A priority patent/EP4205085A1/de
Priority to PCT/EP2022/075648 priority patent/WO2023041646A1/de
Publication of DE102021124009A1 publication Critical patent/DE102021124009A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y50/00Data acquisition or data processing for additive manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Manufacturing & Machinery (AREA)
  • Materials Engineering (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

Bereitgestellt wird ein Verfahren zum Erzeugen eines 3D-Modells eines physischen Objektes zur Steuerung eines 3D-Druckers mittels aus dem erzeugten 3D-Modell abgeleiteten Steueranweisungen zum Drucken des Objektes in dem 3D-Drucker, wobei eine Oberflächenrepräsentation des physischen Objektes in ein das 3D-Modell repräsentierendes Voxel-Modell umgewandelt wird.

Description

  • Gebiet der Erfindung
  • Die Erfindung betrifft ein Verfahren zum Erzeugen eines 3D-Modells eines physischen Objektes. Mittels aus dem erzeugten 3D-Modell abgeleiteten Steueranweisungen kann ein 3D-Drucker gesteuert werden, um das Objekt in dem 3D-Drucker zu drucken.
  • Hintergrund der Erfindung
  • Im Bereich des 3D-Drucks ist es bekannt, physische Objekte (d.h. in einem 3D-Drucker zu druckende Objekte) durch virtuelle 3D-Modelle zu repräsentieren. Beispielsweise ist es bekannt, die Oberfläche eines physischen Objektes in dem 3D-Modell anhand einer Anzahl von Dreiecken zu beschreiben - eine solche Art der Objektrepräsentation wird auch als Oberflächentriangulation bezeichnet. Eine alternative Art ein physisches Objekt mittels eines 3D-Modells zu repräsentieren, ist die Verwendung von Kurven, die die Oberflächen des physischen Objektes im 3D-Modell beschreiben, etwa Bezier-Kurven. Aus den 3D-Modellen können Druckdaten abgeleitet werden, die von dem 3D-Drucker interpretierbar sind, um das Objekt zu drucken.
  • Die genannten Arten der Objektrepräsentation eignen sich zwar, um in einer computergestützten Designanwendung möglichst realistische 3D-Modelle zu erzeugen. Nachteilig hierbei ist allerdings, dass beispielsweise Transformationen, die auf das 3D-Modell angewandt werden müssen, sehr rechenintensiv sind. Komplexe Operationen, etwa eine Simulation einer Deformation eines 3D-Modells aufgrund auf das 3D-Modell einwirkender äußerer Kräfte, sind noch rechenintensiver und können in vielen Fällen nur dann effizient durchgeführt werden, wenn ausreichend viel Arbeitsspeicher und Rechenleistung zur Verfügung stehen.
  • Ein weiterer Nachteil der genannten Objektrepräsentationen besteht darin, dass mit den 3D-Modellen nur die Oberfläche selbst beschrieben wird, nicht aber das innerhalb der Oberfläche liegende Volumen des Objektes. Dieser Nachteil hat zur Folge, dass innenliegende Volumenbereiche, die beispielsweise mit einem anderen Material gedruckt werden sollen, als unabhängige 3D-Modelle beschrieben werden müssen. Dasselbe gilt für Oberflächenbereiche, die zwar mit dem gleichen Material wie die übrigen Oberflächenbereiche aber mit einer anderen Farbe gedruckt werden sollen - hier muss jeder Oberflächenbereich, der eine andere Farbe ausweist als die benachbarten Oberflächenbereiche, in einem separaten 3D-Modell beschrieben werden. Für den Druck müssen dieses separaten 3D-Modelle zusammengeführt werden.
  • Aufgabe der Erfindung
  • Aufgabe der vorliegenden Erfindung ist daher, ein Verfahren zum Erzeugen eines 3D-Modells eines physischen Objektes (d.h. eines in einem 3D-Drucker zu druckenden Objektes) bereitzustellen, welches die vorstehend genannten Nachteile vermeidet und eine einfachere und flexiblere Manipulation des 3D-Modells ermöglicht.
  • Erfindungsgemäß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 Verfahren zum Erzeugen eines 3D-Modells eines physischen Objektes (d.h. ein in einem 3D-Drucker zu druckendes Objekt) zur Steuerung eines 3D-Druckers mittels aus dem erzeugten 3D-Modell abgeleiteten Steueranweisungen zum Drucken des Objektes in dem 3D-Drucker, wobei eine Oberflächenrepräsentation des physischen Objektes in ein das 3D-Modell repräsentierendes Voxel-Modell umgewandelt wird, wobei
    • - die Oberflächenrepräsentation in eine Anzahl von Volumenbereichen unterteilt wird, wobei jeder Volumenbereich durch eine erste Baumstruktur repräsentiert wird, wobei die erste Baumstruktur
      • - zumindest einen Wurzelknoten umfasst, und
      • - eine vorbestimmte maximale erste Anzahl von Hierarchieebenen aufweist und jedem Knoten einer Hierarchieebene eine vorbestimmte zweite Anzahl von Unterknoten zuordenbar sind, wobei
        • - der Wurzelknoten den Volumenbereich repräsentiert,
        • - die Unterknoten des Wurzelknotens Teilvolumenbereiche des durch den Wurzelknoten repräsentierten Volumenbereichs repräsentieren,
        • - die Unterknoten eines Unterknotens Teilvolumenbereiche des durch den jeweiligen Unterknoten repräsentierten Teilvolumenbereichs repräsentieren, und
        • - der Volumenbereich und die Teilvolumenbereiche jeweils ein Voxel des Voxel-Modells repräsentieren,
    • - jedem Voxel ein Abstandsattribut zugeordnet ist, in dem der Abstand des jeweiligen Voxels zur Oberfläche des Objektes speicherbar ist,
    wobei beim Erzeugen des das 3D-Modell repräsentierenden Voxel-Modells für jedes Voxel ein minimaler Abstand zur Oberfläche des Objektes ermittelt wird, wobei
    • - für jedes Voxel, dessen betragsmäßiger minimale Abstand unterhalb eines vorbestimmten Schwellenwertes liegt, der Abstand in dem Abstandsattribut gespeichert wird,
    • - für jedes Voxel, dessen betragsmäßiger minimaler Abstand oberhalb des vorbestimmten Schwellenwertes liegt, ein vorbestimmter Abstand in dem Abstandsattribut gespeichert wird, und
    • - für jeden Teilvolumenbereich der Abstand und / oder der vorbestimmte Abstand der jeweiligen Voxel nur dann gespeichert wird, wenn er (d.h. der Abstand bzw. der vorbestimmte Abstand) zusätzlich ein vorbestimmtes Speicherkriterium erfüllt, und
    wobei
    • - aus der ersten Baumstruktur und den in der ersten Baumstruktur gespeicherten Voxeln die Steueranweisungen zur Steuerung des 3D-Druckers abgeleitet werden, wobei die Steueranweisungen Informationen darüber umfassen, an welchen Bereichen in einem Druckraum des 3D-Druckers ein Druckmaterial zum Objekt gehört, wobei diese Bereiche durch jene Voxel bestimmt werden, zu denen ein Abstand in dem Abstandsattribut gespeichert ist, und
    • - die Steueranweisungen zur Übertragung an den 3D-Drucker bereitgestellt werden.
  • Im einer besonderen Ausprägung des erfindungsgemäßen Verfahrens kann die Anzahl von Volumenbereichen eins sein, d.h. mit dem einen Volumenbereich kann das gesamte Volumen des zu druckenden Objektes (also das gesamte zu druckende Objekt) beschrieben werden.
  • Bei größeren zu druckenden Objekten oder bei Objekten, die mit einer besonders hohen Auflösung (z.B. wegen einer besonders hohen Detailgenauigkeit) gedruckt werden müssen, kann es aber vorteilhaft sein, die Oberflächenrepräsentation des zu druckenden Objektes in mehrere Volumenbereiche zu unterteilen. Ein wesentlicher Vorteil besteht hierbei darin, dass die einzelnen Volumenbereiche parallel verarbeitet werden können, was sich insbesondere auf die Verarbeitungsgeschwindigkeit positiv auswirkt - Operationen, die auf dem Voxel-Modell angewandt werden, können so besonders performant durchgeführt werden.
  • Mit Hilfe der ersten Baumstruktur wird der Volumenbereich in eine Anzahl von Voxel (die Teilvolumenbereiche) unterteilt. Ein Voxel beschreibt hierbei einen quaderförmigen Ausschnitt des Volumenbereiches. In einer besonderen Ausgestaltung der Erfindung können die Voxel würfelförmig sein. Ein Voxel kann wiederum in eine Anzahl von Voxel (Teilvolumenbereiche der Teilvolumenbereiche) unterteilt sein.
  • Mit der Anzahl der Hierarchieebenen kann vorteilhafterweise die Granularität bzw. die Auflösung des Voxel-Modells „gesteuert“ werden. Das bedeutet, dass bei einem durch den Wurzelknoten definierten konstanten Volumenbereich die Auflösung des Volumens mit zunehmender Anzahl der Hierarchieebenen zunimmt. Da jedes Voxel einen bestimmten Speicherbedarf aufweist (um die Informationen des Voxels zu speichern), kann mit Hilfe der Hierarchieebenen der Speicherbedarf für das gesamte Voxel-Modell ebenfalls „gesteuert“ werden. Eine weitere Möglichkeit, den Speicherbedarf für ein Voxel-Modell zu steuern, wird weiter unten erläutert.
  • Der in dem Abstandsattribut gespeicherte Abstand gibt an, dass das jeweilige Voxel zur Oberfläche des zu druckenden Objektes gehört. Der in dem Abstandsattribut gespeicherte vorbestimmte Abstand gibt an, dass das jeweilige Voxel nicht zur Oberfläche des zu druckenden Objektes gehört.
  • Der gespeicherte Abstand kann hierbei der minimale Abstand sein.
  • Das Speichern des Abstandes (bzw. des minimalen Abstandes) und des vorbestimmten Abstandes in dem Abstandsattribut hat den Vorteil, dass bei einer Manipulation des Voxel-Modells nur jene Voxel verarbeitet werden müssen, die zur Oberfläche gehören. Die Voxel, die nicht zur Oberfläche gehören, können bei der Verarbeitung unberücksichtigt bleiben, was die Performance der Verarbeitung erheblich verbessern kann. Ein Beispiel für eine solche Manipulation wäre etwa das Erzeugen einer Textur (beispielsweise einer dreidimensionalen Textur) an bzw. auf der Oberfläche des zu druckenden Objektes.
  • Werden für Voxel eines Teilvolumenbereichs der Abstand (bzw. der minimale Abstand) und / oder der vorbestimmte Abstand nur dann gespeichert, wenn sie (d.h. der Abstand bzw. der vorbestimmte Abstand) ein vorbestimmtes Speicherkriterium erfüllen, kann einerseits der Speicherbedarf für ein Voxel-Modell erheblich gesenkt werden. Andererseits kann auch die Performance der Verarbeitung noch weiter verbessert werden. Weisen beispielsweise alle Voxel eines Teilvolumenbereichs den selben vorbestimmten Abstand zur Oberfläche auf, dann kann auf das Speichern des vorbestimmten Abstandes in dem jeweiligen Abstandsattribut verzichtet werden - der vorbestimmte Abstand zur Oberfläche kann dann bei Bedarf in jenem Voxel gespeichert werden, der diesen Teilvolumenbereich repräsentiert (d.h. in dem in der Hierarchie höher bzw. darüber liegenden Voxel). Bei der Verarbeitung des Voxel-Modells muss dann nur mehr dieses darüber liegende Voxel verarbeitet werden.
  • In einer Ausgestaltung der Erfindung kann es vorteilhat sein, wenn
    • - die vorbestimmte maximale Anzahl von Hierarchieebenen drei ist, sodass die erste Baumstruktur maximal drei Hierarchieebenen aufweist, wobei der Wurzelknoten die erste Hierarchieebene ist,
    • - die vorbestimmte Anzahl von Unterknoten 4096 ist, sodass jedem Knoten einer Hierarchieebene, mit Ausnahme der untersten Hierarchieebene, 4096 Unterknoten zuordenbar sind,
    • - die Knoten der zweiten Hierarchieebene 4096 erste Teilvolumenbereiche des Volumenbereichs repräsentieren,
    • - die Knoten der dritten Hierarchieebene jeweils 4096 zweite Teilvolumenbereiche des jeweiligen ersten Teilvolumenbereichs repräsentieren.
  • Jedem Knoten einer Hierarchieebene, mit Ausnahme der untersten Hierarchieebene, sind vorzugsweise 16 x 16 x 16 Unterknoten (16 Unterknoten in jedes Raumdimension x, y, z) zugeordnet. Alternativ können aber auch 32 x 32 x 4 Unterknoten (oder andere 4096 Unterknoten ergebende Kombinationen) zugordnet sein. Vorteilhaft ist hierbei, dass damit auch bei lediglich drei Hierarchieebenen eine hohe Auflösung des Gesamtvolumens bzw. der jeweiligen Volumenbereiche erreicht wird.
  • Versuche haben gezeigt, dass die ersten Baumstrukturen, die jeweils einen Volumenbereich repräsentieren, ungefähr die gleiche Anzahl an Knoten (auf der zweiten und dritten Hierarchieebene) aufweisen (wenn nicht alle Knoten gemäß der unten genannten Speicherkriterien gespeichert werden), sodass für die Bearbeitung bzw. Berechnung der Anzahl von Volumenbereichen die ersten Baumstrukturen jeweils einem anderen Prozessorkern zugeordnet werden und gleichzeitig gewährleistet ist, dass alle Prozessorkerne ungefähr nach der gleichen Zeit die Berechnungen abgeschlossen haben. Damit können alle Prozessorkerne optimal ausgenutzt werden. Sind mehr erste Baumstrukturen zu verarbeiten als Prozessorkerne vorhanden sind, kann zudem vermieden werden, dass die Prozessorkerne ungleichmäßig ausgelastet sind.
  • 4096 Unterknoten können bei 2 Byte pro Unterknoten in 8 kB Arbeitsspeicher (RAM) untergebracht werden. Es hat sich gezeigt, dass 4096 Unterknoten eine weitgehend optimale Ausnutzung des Arbeitsspeichers gewährleisten, also von dem 8 kB großen Arbeitsspeicher im Schnitt am wenigsten ungenutzt bleibt im Vergleich zu anderen Werten für die Anzahl von Unterknoten.
  • Es kann aber auch Vorteilhaft sein, wenn die Anzahl der ersten Teilvolumenbereiche und die Anzahl der zweiten Teilvolumenbereiche verschieden sind. Beispielsweise kann die zweite Hierarchieebene 8 erste Teilvolumenbereiche aufweisen und die dritte Hierarchieebene kann für jeden ersten Teilvolumenbereich jeweils 4096 zweite Teilvolumenbereiche aufweisen. Damit lässt sich ein 3D-Modell auf der zweiten Hierarchieebene mit einer relativ groben Auflösung beschreiben, während es sich auf der dritten Hierarchieebene mit einer hohen Auflösung beschreiben lässt.
  • In einer noch weiteren Ausgestaltung kann es vorteilhaft sein, wenn zumindest einigen Knoten der zweiten Hierarchieebene unterschiedlich viele Unterknoten (der dritten Hierarchieebene) zugeordnet werden. Beispielsweise können einigen Konten der zweiten Hierarchieebene jeweils 4096 Unterknoten zugeordnet werden, während den anderen Konten der zweiten Hierarchieebene beispielsweise jeweils 8, 64 oder 512 Unterknoten zugeordnet werden können. Damit können verschiedene Volumenbereiche des 3D-Modells mit unterschiedlicher räumlicher Auflösung repräsentiert werden.
  • Die vorgenannten Varianten hinsichtlich der Anzahl der jeweiligen Unterknoten können auch kombiniert werden.
  • Das vorbestimmte Speicherkriterium kann ausgewählt werden aus der Gruppe von Speicherkriterien zumindest umfassend
    • - der minimale Abstand des Voxels ist verschieden von den minimalen Abständen der übrigen Voxel des jeweiligen Teilvolumenbereiches (dann wird der Abstand und / oder der vorbestimmte Abstand für jedes Voxel des Teilvolumenbereichs gespeichert),
    • - die Differenz zwischen dem Voxel mit dem kleinsten minimalen Abstand und dem Voxel mit dem größten minimalen Abstand des jeweiligen Teilvolumenbereiches liegt oberhalb eines vorbestimmten zweiten Schwellenwertes (auch dann wird der Abstand und / oder der vorbestimmte Abstand für jedes Voxel des Teilvolumenbereichs gespeichert).
  • Sind die minimalen Abstände der Voxels eines Teilvolumenbereiches verschieden voneinander und liegt die Differenz des Voxels mit dem kleinsten minimalen Abstand und dem Voxel mit dem größten minimalen Abstand unterhalb des eines vorbestimmten zweiten Schwellenwertes, dann kann auf das Speichern des Abstandes und / oder des vorbestimmten Abstandes in den Voxeln des Teilvolumenbereiches verzichtet werden. In diesem Fall kann in dem darüber liegenden Voxel (d.h. in dem dazugehörigen Voxel auf der darüber liegenden Hierarchieebene) ein gemeinsamer Abstand (z.B. ein Mittelwert der Abstände) bzw. der vorbestimmte Abstand gespeichert werden. Insbesondere für zusammenhängende große außerhalb bzw. innerhalb der Oberfläche des 3D-Modells liegende Volumenbereiche kann dies zu einer erheblichen Reduzierung des Speicherbedarf und der benötigten Rechenleistung führen.
  • Der zweite Schwellenwert kann der Druckauflösung des 3D-Druckers, vorzugsweise maximal der halben Druckauflösung des 3D-Druckers entsprechen. Damit kann der Speicherbedarf zum Speichern des 3D-Modells vorzugsweise dynamisch an die Druckauflösung verschiedener 3D-Drucker angepasst werden.
  • Vorteilhaft kann es sein, wenn der vorbestimmte Abstand einen vorbestimmten ersten Abstand (d+∞) und einen vorbestimmten zweiten Abstand (d-∞) umfasst, wobei
    • - für Voxel, die außerhalb der Oberfläche des Objektes liegen, der vorbestimmten erste Abstand (d+∞) (der vorbestimmte erste Abstand ist für alle außerhalb der Oberfläche liegenden Voxel vorzugsweise identisch), und
    • - für Voxel, die innerhalb der Oberfläche des Objektes liegen, der vorbestimmten zweite Abstand (d-∞) (der vorbestimmte zweite Abstand ist für alle innerhalb der Oberfläche liegenden Voxel vorzugsweise identisch)
    in dem Abstandsattribut gespeichert wird. Ein Voxel liegt dann außerhalb bzw. innerhalb der Oberfläche des Objektes wenn es einen bestimmten Abstand zu Oberfläche aufweist.
  • Vorteilhaft ist es, wenn in dem Wurzelknoten die Position der ersten Baumstruktur im dreidimensionalen Raum bezogen auf das das 3D-Modell repräsentierende Voxel-Modell gespeichert wird. Mit der Position werden die Lage und die Ausrichtung des Voxel-Modells im dreidimensionalen Raum gespeichert. Bei bekannter größer der Voxel der Teilvolumenbereiche bzw. bei bekannter Auflösung der Teilvolumenbereiche und bei bekannter Größe der Teilvolumenbereiche kann anhand der im Wurzelknoten gespeicherten Position für jedes Voxel die Position im dreidimensionalen Raum ermittelt werden, ohne dass für die Voxel die jeweilige Position gespeichert werden muss.
  • In einer Ausgestaltung der Erfindung kann jedem Voxel ein weiteres Attribut zuordenbar sein, wobei in dem weiteren Attribut eine Eigenschaft des jeweiligen Voxels gespeichert wird.
  • Die Eigenschaft kann ausgewählt werden aus der Gruppe zumindest umfassend Farbe, Material, und Kombinationen hiervon, wobei die Eigenschaften nicht auf die hier genannten Eigenschaften beschränkt sind.
  • Es hat sich als vorteilhaft erwiesen, wenn das weitere Attribut in einer zweiten Baumstruktur gespeichert wird, wobei die zweite Baumstruktur und die erste Baumstruktur denselben Volumenbereich repräsentieren.
  • Die Anzahl der Hierarchieebenen der ersten Baumstruktur und die Anzahl der Hierarchieebenen der zweiten Baumstruktur können hierbei identisch sein. Jedem Knoten einer Hierarchieebene der zweiten Baumstruktur ist eine vorbestimmte dritte Anzahl von Unterknoten zuordenbar.
  • Die vorbestimmte dritte Anzahl von Unterknoten kann verschieden zur vorbestimmten zweiten Anzahl von Unterknoten (der ersten Baumstruktur) ist.
  • Das Vorsehen einer weiteren Baumstruktur für ein weiteres Attribut hat den Vorteil, dass Eigenschaft der Voxel eines 3D-Modells in unterschiedlichen Auflösungen gespeichert werden können, was einen optimierten Speicherbedarf ermöglicht. Besteht ein zu druckendes Objekt beispielsweise nur aus zwei Materialien, wobei große zusammenhängende Volumenbereiche aus dem gleichen Material bestehen, kann diese Eigenschaft mit geringem Speicherbedarf effizient gespeichert werden (in der zweiten Baumstruktur mit geringer Auflösung). Die Abstände der Voxel zur Oberfläche desselben zu druckenden Objektes können hingegen in der ersten Baumstruktur mit hoher Auflösung gespeichert werden.
  • Das Vorsehen einer weiteren Baumstruktur bietet auch hinsichtlich Verarbeitungseffizienz erhebliche Vorteile. Einerseits können bei auf ein 3D-Modell angewandte Transformationen die Baumstrukturen parallel verarbeitet werden. Andererseits können die Berechnungsoperationen minimiert werden, wenn jede Baumstruktur die für die jeweilige Eigenschaft der Voxel optimale Auflösung aufweist.
  • Die Steueranweisungen können Informationen zu dem in dem weiteren Attribut gespeicherten Eigenschaften umfassen.
  • Die Gruppe der Speicherkriterien kann ferner umfassen, dass der Attributswert des weiteren Attributs verschieden ist von den Attributswerten des weiteren Attributs der übrigen Voxel des jeweiligen Teilvolumenbereiches. Damit können auch die weiteren Baumstrukturen hinsichtlich ihres Speicherbedarfs optimiert werden.
  • Figurenliste
  • 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:
    • 1 ein System zum Erzeugen eines ein 3D-Modell repräsentierendes Voxel-Modells;
    • 2 ein Beispiel eines Voxel-Models mit einer dazugehörigen Baumstruktur;
    • 3 eine beispielhafte Ebene eines Voxel-Models zur Verdeutlichung der Speicherung der Abstandsattribute; und
    • 4 den zum Beispiel gemäß 3 dazugehörigen Ausschnitt einer Baumstruktur.
  • Detaillierte Beschreibung der Erfindung
  • 1 zeigt ein Beispiel eines Systems zum Erzeugen eines ein 3D-Modell repräsentierendes Voxel-Modells.
  • Das System besteht hier aus einer Datenverarbeitungseinrichtung und einem 3D-Drucker. Die Datenverarbeitungseinrichtung erzeugt Steueranweisungen und übergibt diese an den 3D-Drucker. 3D-Drucker sind aus dem Stand der Technik allgemein bekannt. Mit Hilfe der Steueranweisungen wird der 3D-Drucker veranlasst ein (physisches) Objekt zu drucken, d.h. herzustellen. Die Steueranweisungen werden von der Datenverarbeitungseinrichtung in Abhängigkeit von dem jeweils verwendeten 3D-Drucker erzeugt.
  • Von der Datenverarbeitungseinrichtung sind in 1 nur die für das erfindungsgemäße Verfahren notwendigen Komponenten gezeigt, nämlich eine Speichereinrichtung, die hier als Arbeitsspeicher ausgeführt ist, und ein oder mehrere Prozessoren. Unter dem Begriff „mehrere Prozessoren“ ist hier auch ein Prozessor mit mehreren Prozessorkernen zu verstehen.
  • Wegen der vorteilhaften Ausgestaltung des Voxel-Modells, wie es weiter unten näher beschrieben wird, kann das erfindungsgemäße Verfahren aber auch auf einem Prozessor mit nur einem Prozessorkern effizient ausgeführt werden. Mehrere Prozessoren und/oder Prozessoren mit mehreren Prozessorkernen sind jedoch hinsichtlich der parallelen Verarbeitung von Vorteil, etwa wenn auf das 3D-Modell, das durch eine oder mehrere Baumstrukturen repräsentiert wird, Transformationen oder andere das 3D-Modell modifizierende Operationen ausgeführt werden müssen. Mehrere Baumstrukturen können so parallel verarbeitet werden.
  • Im Arbeitsspeicher werden die das 3D-Modell repräsentierenden Baumstrukturen gespeichert.
  • Das erfindungsgemäße Voxel-Modell bzw. die das Voxel-Modell speichernden Baumstrukturen sind so ausgestaltet, dass einerseits ein effizientes Speichern des Voxel-Modells und andererseits ein effizientes Bearbeiten des Voxel-Modells gewährleistet werden. Wie weiter unten näher ausgeführt wird, muss nicht jedes Voxel des Voxel-Modells gespeichert werden, was zu einer erheblichen Reduktion der zu speichernden Daten und damit einhergehend zu einer erheblich performanteren Berechnung von auf das Voxel-Modell auszuführenden Operationen führt.
  • 2 zeigt ein Beispiel eines erfindungsgemäßen Voxel-Modells mit einer dazugehörigen Baumstruktur.
  • Das Voxel-Modell umfasst einen Volumenbereich VB, der hier einen würfelförmigen Raum beschreibt, in dem das 3D-Modell angeordnet ist (bzw. in dem das zu druckende Objekt modelliert wird).
  • Bei größeren zu druckenden Objekten können auch mehrere Volumenbereiche VB vorgesehen sein, die jeweils einen Teil des 3D-Modells umfassen. Dies hat den technischen Vorteil, dass die mehreren Volumenbereiche parallel verarbeitet werden können, etwa wenn Operationen, z.B. Transformationen, auf dem 3D-Modell ausgeführt werden.
  • Der Volumenbereich VB wird mit Hilfe einer Baumstruktur beschrieben bzw. in einer Baumstruktur gespeichert, wobei ein Wurzelknoten WK der Baumstruktur den Volumenbereich VB als solches repräsentiert. Die Baumstruktur weist mehrere Hierarchieebenen HE1, HE2, HE3 auf, wobei der Wurzelknoten die oberste bzw. die erste Hierarchieebenen HE1 repräsentiert.
  • In dem Wurzelknoten können die Position (etwa die 3D-Koordinaten) und gegebenenfalls die räumliche Ausrichtung und die räumliche Ausdehnung des Volumenbereiches VB gespeichert werden. Basierend auf diesen Daten kann die Position der Voxel in den darunter liegenden Hierarchieebenen HE2, HE3 berechnet werden, sodass in den Voxeln der darunter liegenden Hierarchieebenen ihre jeweilige Position nicht gespeichert werden muss.
  • In einer vorteilhaften Ausgestaltung der Erfindung weist das Voxel-Modell bzw. die dazugehörige Baumstruktur drei Hierarchieebenen auf.
  • Der Volumenbereich VB weist eine Anzahl erster Teilvolumenbereiche TVB1 auf, wobei jeder Teilvolumenbereich TVB1 ein Voxel der zweiten Hierarchieebne HE2 repräsentiert. In 2 sind der besseren Übersicht halber 8 Teilvolumenbereiche TVB1 gezeigt. Besonders vorteilhaft ist es aber, wenn der Volumenbereich VB 4096 Teilvolumenbereiche TVB1 aufweist, wobei in jede Richtung 16 Teilvolumenbereiche vorgesehen sind (also 16 x 16 x 16 Teilvolumenbereiche).
  • Jeder Teilvolumenbereich TVB1 wird in der Baumstruktur durch einen Knoten der zweiten Hierarchieebene HE2 repräsentiert. Bei den Knoten der zweiten Hierarchieebene HE2 handelt es sich um Sohnknoten des Wurzelknotens WK. Sind in der zweiten Hierarchieebene des Voxel-Modells 4096 Teilvolumenbereiche TVB1 vorgesehen, dann weist die Baumstruktur in der zweiten Hierarchieebene ebenfalls 4096 Knoten auf.
  • Jeder Teilvolumenbereich TVB1 der zweiten Hierarchieebene kann eine Anzahl zweiter Teilvolumenbereiche TVB2 aufweisen, wobei jeder Teilvolumenbereich TVB2 ein Voxel der dritten Hierarchieebne HE3 repräsentiert. Jeder Teilvolumenbereich TVB2 wird in der Baumstruktur durch einen Knoten der dritten Hierarchieebene HE3 repräsentiert. Bei den Knoten der dritten Hierarchieebene HE3 handelt es sich um Sohnknoten des jeweiligen Knotens der zweiten Hierarchieebene.
  • Gemäß einer vorteilhaften Ausgestaltung der Erfindung muss nicht jeder Teilvolumenbereich TVB 1 der zweiten Hierarchieebene in Teilvolumenbereiche TVB2 auf der dritten Hierarchieebene unterteilt werden, wie sich aus der nachfolgenden Beschreibung ergibt.
  • Bei dem in 2 gezeigten Beispiel ist nur der mit der Ziffer 2 gekennzeichnete Teilvolumenbereich TVB1 der zweiten Hierarchieebene in Teilvolumenbereiche TVB2 der dritten Hierarchieebene unterteilt. In 2 sind der besseren Übersicht halber für den mit der Ziffer 2 gekennzeichneten Teilvolumenbereich 8 Teilvolumenbereiche TVB2 in der dritten Hierarchieebene HE3 gezeigt. Besonders vorteilhaft ist es aber, wenn die Teilvolumenbereiche TVB1 jeweils 4096 Teilvolumenbereiche TVB2 aufweisen, wobei in jede Richtung 16 Teilvolumenbereiche vorgesehen sind (also 16 x 16 x 16 Teilvolumenbereiche).
  • Sind in der dritten Hierarchieebene HE3 des Voxel-Modells für einen Teilvolumenbereich TVB1 der zweiten Hierarchieebene 4096 Teilvolumenbereiche TVB2 der dritten Hierarchieebene vorgesehen, dann weist die Baumstruktur in der dritten Hierarchieebene HE3 zu diesem Teilvolumenbereich ebenfalls 4096 Knoten auf.
  • Sofern alle Teilvolumenbereiche TVB 1 der zweiten Hierarchieebene 4096 Teilvolumenbereiche TVB2 der dritten Hierarchieebene aufweisen, dann weist die dritte Hierarchieebene ca. 16 Millionen Teilvolumenbereiche TVB2 auf (d.h. 4096 x 4096 Teilvolumenbereiche). Der gesamte Volumenbereich VB, in dem das 3D-Modell modelliert wird, kann demnach in etwa 16 Millionen Teilvolumenbereiche TVB2 unterteilt werden.
  • Für die meisten praktischen Anwendungen ist diese Auflösung des Volumenbereiches VB in der Regel ausreichend. Sofern eine größere Detailgenauigkeit beim ausgedruckten Objekt gewünscht ist, kann die räumliche Ausdehnung des Volumenbereichs VB reduziert werden, was zu kleineren Voxeln auf der zweiten und dritten Hierarchieebene führt. Gegebenenfalls muss ein Teil des 3D-Modells mittels weitere Volumenbereiche beschrieben werden.
  • Erfindungsgemäß ist es vorgesehen, dass jedem Voxel ein Abstandsattribut zugeordnet ist, in dem der Abstand des jeweiligen Voxels zur Oberfläche des Objektes, d.h. zur Oberfläche des 3D-Modells speicherbar ist. Der Wert des Abstandsattributs wird in dem jeweiligen den Knoten der Baumstruktur gespeichert.
  • Sind in den Knoten auf der dritten Hierarchieebene HE3 Abstandswerte gespeichert, muss in den dazugehörigen Knoten der zweiten Hierarchieebene HE2 kein Abstandswert gespeichert werden.
  • Weisen hingegen alle Voxel eines Teilvolumenbereichs TVB2 in der dritten Hierarchieebene HE3 denselben Abstand zur Oberfläche des 3D-Modells auf, kann auf das Speichern des Abstandes in den entsprechenden Knoten der Baumstruktur verzichtet werden - hier ist es ausreichend, den Abstand lediglich in dem dazugehörigen Knoten der zweiten Hierarchieebene HE2 zu speichern. Die entsprechenden Konten in der dritten Hierarchieebene HE3 können leer bleiben und müssen nicht gespeichert werden - dies kann einerseits zu einer erheblichen Reduktion des Speicherbedarfs führen, andererseits können Operationen auf der Baumstruktur erheblich beschleunigt werden. Ein konkretes Beispiel hierzu wird unten mit Bezug auf 3 beschrieben.
  • Bei dem in 2 gezeigten Beispiel des Voxel-Modells befindet sind das 3D-Modell vollständig in dem mit der Ziffer 2 gekennzeichneten Voxel der zweiten Hierarchieeben HE2. Die übrigen Voxel der zweiten Hierarchieeben HE2 befinden sich demnach alle außerhalb des 3D-Modells und gehören somit nicht zum 3D-Modell. Entsprechend ist es vorteilhaft, die Abstandswerte nur für jene Voxel der dritten Hierarchieeben HE3 in der Baumstruktur (in den Sohnknoten, die zu dem mit der Ziffer 2 gekennzeichneten Knoten der zweiten Hierarchieebene HE2 gehören) zu speichern, die zu dem mit der Ziffer 2 gekennzeichneten Voxel der zweiten Hierarchieeben HE2 gehören. Für alle übrigen Knoten der zweiten Hierarchieebene HE2 kann auf das Speichern von Sohnknoten (Knoten der dritten Hierarchieebene HE3) verzichtet werden. Bei dem in 2 gezeigten Beispiel mit jeweils maximal 8 Knoten in der dritten Hierarchieebene HE3 müssen anstelle von 64 Knoten lediglich 8 Knoten der dritten Hierarchieebene HE3 gespeichert werden.
  • Insgesamt erhält man auf diese Weise eine speicheroptimierte Baumstruktur, mit der sich das 3D-Objekt dennoch präzise modellieren lässt. Die Vorteile dieser Baumstruktur machen sich insbesondere bei 3D-Modellen bemerkbar, bei denen der Volumenbereich VB Teilvolumenbereiche TVB1 aufweist, die nicht zum 3D-Modell gehören - je mehr solcher Teilvolumenbereiche TVB1 vorhanden sind, umso geringer ist der Speicherbedarf für das Speichern der gesamten Baumstruktur.
  • Es kann vorgesehen sein, dass für die Voxel des 3D-Modells zusätzlich zu den Abstandswerten weitere Attribute gespeichert werden müssen, beispielsweise ein Attribut, das die Farbe der Voxel und/oder das Material, mit dem das Voxel gedruckt werden soll, angibt.
  • Erfindungsgemäß werden die Werte der zusätzlichen Attribute in einer separaten Baumstruktur gespeichert, wobei es vorteilhaft ist, wenn für jedes Attribut eine separate Baumstruktur vorgesehen wird. Jede weitere Baumstruktur weist die gleiche Anzahl von Hierarchieebenen auf, wie die Baumstruktur, in der Abstandsattribute gespeichert werden. Alle Baumstrukturen repräsentieren hierbei denselben Volumenbereich.
  • Das Speichern der Attributswerte der weiteren Attribute in den Knoten der jeweiligen Baumstruktur erfolgt in analoger Weise wie vorstehend mit Bezug auf das Abstandsattribut erläutert. Insbesondere kann auf das Speichern von Attributswerten in der dritten Hierarchieebene HE3 verzichtet werden, wenn die zu einem Teilvolumenbereich TVB1 gehörenden Voxel alle denselben Attributswert (z.B. dieselbe Farbe oder dasselbe Material) aufweisen - es ist dann ausreichend, wenn der entsprechende Attributswert n dem dazugehörigen Knoten der zweiten Hierarchieebene HE2 gespeichert wird.
  • Das Speichern von unterschiedlichen Attributen in getrennten Baumstrukturen hat den Vorteil, dass das 3D-Modell hinsichtlich eines Attributs unabhängig von den anderen Attributen verarbeitet werden kann. Ein weiterer wesentlicher Vorteil liegt darin, dass die Baumstruktur für jedes Attribut speicheroptimiert erzeugt werden kann - weisen beispielweise die Voxel eines Teilvolumenbereichs TVB2 verschiedene Abstandswerte aber identische Farbwerte auf, dann werden die Abstandswerte in den Knoten der dritten Hierarchieebene HE3 gespeichert und der Farbewert kann in dem dazugehörigen Knoten der zweiten Hierarchieebene HE2 gespeichert werden, auf das Speichern der Farbwerte in den Knoten der dritten Hierarchieebene HE3 kann verzichtet werden.
  • 3 zeigt eine beispielhafte Ebene eines Voxel-Modells (Schnitt durch das Voxel-Modell) zur Verdeutlichung der Speicherung der Abstandsattribute und 4 zeigt den zum Beispiel gemäß 3 dazugehörigen Ausschnitt einer Baumstruktur.
  • Das dem 3 und 4 zugrundeliegende Voxel-Modell weist 64 Voxel in der zweiten Hierarchieebene (4 Voxel in jeder Dimension) und für jedes Voxel der zweiten Hierarchieebene jeweils 64 Voxel in der dritten Hierarchieebene (4 Voxel in jeder Dimension) auf.
  • Die hier gezeigte Ebene umfasst einen Ausschnitt eines 3D-Modells, das einen entsprechenden Ausschnitt des zu druckenden Objektes repräsentiert.
  • Die hier gezeigte Ebene des Voxel-Modells umfasst 16 Voxel V1 bis V16 in der zweiten Hierarchieebene HE2. Entsprechend weist die Baumstruktur auch 16 Knoten K1 bis K16 in der zweiten Hierarchieebene auf. Die übrigen Knoten der zweiten Hierarchieebene sind in 4 nicht gezeigt.
  • Die Voxel V6, V7, V10 und V11 umfassen den Ausschnitt des 3D-Modells. Diese Voxel weisen jeweils 16 Voxel in der dritten Hierarchieebene auf, wobei in diesem Beispiel davon ausgegangen wird, dass die jeweiligen Voxel in der dritten Hierarchieebene zumindest teilweise verschiedene Abstände zur Oberfläche des 3D-Modells aufweisen. Dementsprechend weist die Baumstruktur zu den entsprechenden Knoten K6, K7, K10 und K11 jeweils 16 Unterknoten auf der dritten Hierarchieebene auf, die die Voxel in der dritten Hierarchieebene repräsentieren. In 4 sind für den Knoten K6 alle 16 Unterknoten 1 bis 16 der dritten Hierarchieebene gezeigt, während aus Gründen der Übersichtlichkeit für die Knoten K7, K10 und K11 jeweils nur die Unterknoten 1 und 16 der dritten Hierarchieebene gezeigt sind. In den Unterknoten 1 bis 16 des Knotens K6 wird der jeweilige Abstand zur Oberfläche des 3D-Modells gespeichert, sodass in den Unterknoten 1, 2, 5, 6, 9, 10, 13 und 14 der Wert +∞ (= das jeweilige Voxel liegt außerhalb des 3D-Modells) gespeichert wird, in den Unterknoten 8, 12 und 16 der Wert -∞ (= das jeweilige Voxel liegt innerhalb der Oberfläche des 3D-Modells) gespeichert wird, und in den Unterknoten 3, 4, 7, 11 und 15 der konkrete Abstandswert (hier beispielhaft der Wert 0) gespeichert wird. Für die Unterknoten der Knoten K7, K10 und K11 wird analog verfahren.
  • Die übrigen Voxel V1 bis V5, V8, V9, und V12 bis V16 liegen vollständig außerhalb der Oberfläche des 3D-Modell. Erfindungsgemäß weisen daher die Voxel V1 bis V5, V8, V9, und V12 bis V16 der zweiten Hierarchieebene keine Voxel in der dritten Hierarchieebene auf, sodass auf entsprechende Knoten in der dritten Hierarchieebene der Baumstruktur verzichtet werden kann. In den dazugehörigen Knoten K1 bis K5, K8, K9, und K12 bis K16 der zweiten Hierarchieebene der Baumstruktur wird daher der Abstandswert +∞ (= vorbestimmten erste Abstand) gespeichert, wobei +∞ angibt, dass das entsprechende Voxel der zweiten Hierarchieebene außerhalb des 3D-Modells liegt und damit nicht zum zu druckenden Objekt gehört.
  • Wie aus diesem Beispiel hervorgeht, müssen für die hier gezeigte Ebene des Voxel-Modells lediglich zu den Knoten K6, K7, K10 und K11 jeweils 16 Unterknoten (insgesamt also 64 Knoten der Hierarchieebene HE3) in der Baumstruktur gespeichert werden. Für die übrigen Knoten K1 bis K5, K8, K9, und K12 bis K16 kann auf die jeweils 16 Unterknoten (insgesamt 192 Knoten der Hierarchieebene HE3) verzichtet werden.
  • Basierend auf dem Voxel-Modell bzw. basierend auf der Baumstruktur werden die Steueranweisungen zur Steuerung des 3D-Druckers abgeleitet bzw. erzeugt. In einer Ausgestaltung der Erfindung werden hierbei für jede Ebene des Voxel-Modells Ebenes entsprechende Steueranweisungen erzeugt, wobei die Steueranweisungen angeben, welches Voxel zum zu druckenden Objekt gehört. Hierzu können die in der Baumstruktur gespeicherten Abstandswerte verwendet werden - ist der Abstandswert verschieden von ±∞ gehört das entsprechende Voxel zum zu druckenden Objekt.
  • Vorteilhaft ist es hierbei, wenn zunächst die zweite Hierarchieebene der Baumstruktur verarbeitet wird:
    • - ist in einem Knoten der zweiten Hierarchieebene ein Abstandswert gespeichert, wird davon ausgegangen, dass auch sämtliche Unterknoten dieses Knotens diesen Abstandswert aufweisen (auch wenn diese Unterknoten in der Baumstruktur nicht gespeichert sind). Erfindungsgemäß werden dann für diese in der Baumstruktur nicht gespeicherten Knoten entsprechende Steueranweisungen erzeugt. Eine Iteration über die Unterknoten wird so vermieden.
    ist in einem Knoten der zweiten Hierarchieebene kein Abstandswert gespeichert, müssen diese in den dazugehörigen Unterknoten gespeichert sein. Basierend auf den in den Unterknoten gespeicherten Abstandwerten werden dann entsprechende Steueranweisungen generiert.
  • Die Steueranweisungen können in der Datenverarbeitungseinrichtung zur Übertragung an den 3D-Drucker gespeichert werden.

Claims (13)

  1. Computer-implementiertes Verfahren zum Erzeugen eines 3D-Modells eines physischen Objektes zur Steuerung eines 3D-Druckers mittels aus dem erzeugten 3D-Modell abgeleiteten Steueranweisungen zum Drucken des Objektes in dem 3D-Drucker, wobei eine Oberflächenrepräsentation des physischen Objektes in ein das 3D-Modell repräsentierendes Voxel-Modell (VM) umgewandelt wird, wobei - die Oberflächenrepräsentation in eine Anzahl von Volumenbereichen (VB) unterteilt wird, wobei jeder Volumenbereich durch eine erste Baumstruktur (B) repräsentiert wird, wobei die erste Baumstruktur (B) - zumindest einen Wurzelknoten (WK) umfasst, und - eine vorbestimmte maximale erste Anzahl von Hierarchieebenen aufweist und jedem Knoten (WK, IK) einer Hierarchieebene eine vorbestimmte zweite Anzahl von Unterknoten (IK, BK) zuordenbar sind, wobei - der Wurzelknoten (WK) den Volumenbereich (VB) repräsentiert, - die Unterknoten (IK) des Wurzelknotens (WK) Teilvolumenbereiche (TVB1) des durch den Wurzelknoten (WK) repräsentierten Volumenbereichs repräsentieren, - die Unterknoten (IK, BK) eines Unterknotens (IK) Teilvolumenbereiche (TVB2) des durch den jeweiligen Unterknoten (IK) repräsentierten Teilvolumenbereichs repräsentieren, und - der Volumenbereich (VB) und die Teilvolumenbereiche (TVB1, TVB2) jeweils ein Voxel (VX) des Voxel-Modells (VM) repräsentieren, - jedem Voxel (VX) ein Abstandsattribut zugeordnet ist, in dem der Abstand des jeweiligen Voxels (VX) zur Oberfläche des Objektes speicherbar ist, wobei beim Erzeugen des das 3D-Modell repräsentierenden Voxel-Modells (VM) für jedes Voxel (VX) ein minimaler Abstand (dMIN) zur Oberfläche des Objektes ermittelt wird, wobei - für jedes Voxel (VX), dessen betragsmäßiger minimale Abstand (dMIN) unterhalb eines vorbestimmten Schwellenwertes (dMAX) liegt, ein Abstand (d) in dem Abstandsattribut gespeichert wird, - für jedes Voxel (VX), dessen betragsmäßiger minimaler Abstand (dMIN) oberhalb des vorbestimmten Schwellenwertes (dMAX) liegt, ein vorbestimmter Abstand (d±∞) in dem Abstandsattribut gespeichert wird, und - für jeden Teilvolumenbereich (TVB1, TVB2) der Abstand (d) und / oder der vorbestimmte Abstand (d±∞) der jeweiligen Voxel (VX) nur dann gespeichert wird, wenn er zusätzlich ein vorbestimmtes Speicherkriterium erfüllt, und wobei - aus der ersten Baumstruktur (B) und den in der ersten Baumstruktur (B) gespeicherten Voxeln (VX) die Steueranweisungen zur Steuerung des 3D-Druckers abgeleitet werden, wobei die Steueranweisungen Informationen darüber umfassen, an welchen Bereichen in einem Druckraum des 3D-Druckers ein Druckmaterial zum Objekt gehört, wobei diese Bereiche durch jene Voxel bestimmt werden, zu denen ein Abstand (d) in dem Abstandsattribut gespeichert ist, und - die Steueranweisungen zur Übertragung an den 3D-Drucker bereitgestellt werden.
  2. Verfahren nach Anspruch 1, wobei - die vorbestimmte maximale Anzahl von Hierarchieebenen drei ist, sodass die erste Baumstruktur (B) maximal drei Hierarchieebenen aufweist, wobei der Wurzelknoten (WK) die erste Hierarchieebene ist, - die vorbestimmte Anzahl von Unterknoten 4096 ist, sodass jedem Knoten (WK, IK) einer Hierarchieebene, mit Ausnahme der untersten Hierarchieebene, 4096 Unterknoten (IK, BK) zuordenbar sind, - die Knoten (IK) der zweiten Hierarchieebene 4096 erste Teilvolumenbereiche (TVB1) des Volumenbereichs (VB) repräsentieren, - die Knoten (BK) der dritten Hierarchieebene jeweils 4096 zweite Teilvolumenbereiche (TVB2) des jeweiligen ersten Teilvolumenbereichs (TVB1) repräsentieren.
  3. Verfahren nach Anspruch 1, wobei das vorbestimmte Speicherkriterium ausgewählt wird aus der Gruppe von Speicherkriterien zumindest umfassend - der minimale Abstand (d) des Voxels ist verschieden von den minimalen Abständen der übrigen Voxel des jeweiligen Teilvolumenbereiches (TVB1, TVB2), - die Differenz zwischen dem Voxel mit dem kleinsten minimalen Abstand (d) und dem Voxel mit dem größten minimalen Abstand (d) des jeweiligen Teilvolumenbereiches (TVB1, TVB2) liegt oberhalb eines vorbestimmten zweiten Schwellenwertes (dMAX2).
  4. Verfahren nach dem vorhergehenden Anspruch, wobei der zweiten Schwellenwert (dMAX2) der Druckauflösung des 3D-Druckers, vorzugsweise maximal der halben Druckauflösung des 3D-Druckers entspricht.
  5. Verfahren nach Anspruch 1, wobei der vorbestimmte Abstand (d±∞) einen vorbestimmten ersten Abstand (d+∞) und einen vorbestimmten zweiten Abstand (d-∞) umfasst, wobei - für Voxel, die außerhalb der Oberfläche des Objektes liegen, der vorbestimmten erste Abstand (d+∞), und - für Voxel, die innerhalb der Oberfläche des Objektes liegen, der vorbestimmten zweite Abstand (d-∞) in dem Abstandsattribut gespeichert wird.
  6. Verfahren nach Anspruch 1, wobei in dem Wurzelknoten (WK) die Position der ersten Baumstruktur (B) im dreidimensionalen Raum bezogen auf das das 3D-Modell repräsentierende Voxel-Modell (VM) gespeichert wird.
  7. Verfahren nach Anspruch 1, wobei jedem Voxel (VX) ein weiteres Attribut zuordenbar ist, wobei in dem weiteren Attribut eine Eigenschaft des jeweiligen Voxels gespeichert wird.
  8. Verfahren nach Anspruch 7, wobei die Eigenschaft ausgewählt wird aus der Gruppe zumindest umfassend Farbe, Material, und Kombinationen hiervon.
  9. Verfahren nach einem der vorhergehenden Ansprüche 7 und 8, wobei das weitere Attribut in einer zweiten Baumstruktur (B2) gespeichert wird, wobei die zweite Baumstruktur (B2) und die erste Baumstruktur (B) denselben Volumenbereich repräsentieren.
  10. Verfahren nach Anspruch 9, wobei die Anzahl der Hierarchieebenen der ersten Baumstruktur (B) und die Anzahl der Hierarchieebenen der zweiten Baumstruktur (B2) identisch sind und wobei jedem Knoten (WK, IK) einer Hierarchieebene der zweiten Baumstruktur (B2) eine vorbestimmte dritte Anzahl von Unterknoten (IK, BK) zuordenbar sind.
  11. Verfahren nach Anspruch 10, wobei die vorbestimmte dritte Anzahl von Unterknoten verschieden zur vorbestimmten zweiten Anzahl von Unterknoten ist.
  12. Verfahren nach einem der vorhergehenden Ansprüche 7 bis 11, wobei die Steueranweisungen Informationen zu den in dem weiteren Attribut gespeicherten Eigenschaft umfassen.
  13. Verfahren nach Anspruch 7, wobei die Gruppe der Speicherkriterien ferner umfasst - der Attributswert des weiteren Attributs ist verschieden von den Attributswerten des weiteren Attributs der übrigen Voxel des jeweiligen Teilvolumenbereiches (TVB1, TVB2).
DE102021124009.3A 2021-09-16 2021-09-16 Verfahren zum Erzeugen eines dreidimensionalen Modells eines Objektes zum Steuern eines 3D-Druckers Pending DE102021124009A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102021124009.3A DE102021124009A1 (de) 2021-09-16 2021-09-16 Verfahren zum Erzeugen eines dreidimensionalen Modells eines Objektes zum Steuern eines 3D-Druckers
EP22786335.4A EP4205085A1 (de) 2021-09-16 2022-09-15 Verfahren zum erzeugen eines dreidimensionalen modells eines objektes zum steuern eines 3d-druckers
PCT/EP2022/075648 WO2023041646A1 (de) 2021-09-16 2022-09-15 Verfahren zum erzeugen eines dreidimensionalen modells eines objektes zum steuern eines 3d-druckers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021124009.3A DE102021124009A1 (de) 2021-09-16 2021-09-16 Verfahren zum Erzeugen eines dreidimensionalen Modells eines Objektes zum Steuern eines 3D-Druckers

Publications (1)

Publication Number Publication Date
DE102021124009A1 true DE102021124009A1 (de) 2023-03-16

Family

ID=83688938

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021124009.3A Pending DE102021124009A1 (de) 2021-09-16 2021-09-16 Verfahren zum Erzeugen eines dreidimensionalen Modells eines Objektes zum Steuern eines 3D-Druckers

Country Status (3)

Country Link
EP (1) EP4205085A1 (de)
DE (1) DE102021124009A1 (de)
WO (1) WO2023041646A1 (de)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140368504A1 (en) * 2013-06-12 2014-12-18 Microsoft Corporation Scalable volumetric 3d reconstruction
US10678217B2 (en) * 2015-04-20 2020-06-09 Hewlett-Packard Development Company, L.P. Creating a voxel representation of a three dimensional (3-D) object
WO2017203528A1 (en) * 2016-05-24 2017-11-30 Technion Research & Development Foundation Limited Systems and methods for generating volumetric models
EP3483755B1 (de) * 2017-11-09 2022-07-13 Dassault Systèmes Generative fertigung eines 3d-teils

Also Published As

Publication number Publication date
EP4205085A1 (de) 2023-07-05
WO2023041646A1 (de) 2023-03-23

Similar Documents

Publication Publication Date Title
DE102008034519B4 (de) Aufgeteilte Datenstruktur, und Verfahren zum Laden einer Partikel-basierten Simulation unter Verwendung der aufgeteilten Datenstruktur in GPU, usw.
EP1532586A2 (de) Verfahren und vorrichtung zur erzeugung einer zweidimensionalen abbildung einer dreidimensionalen struktur
DE10151987A1 (de) Vorbereiten der Auswahl von Steuergrößen für eine zeitlich und räumlich einzustellende Dosisverteilung eines Strahlengerätes
DE102005010169A1 (de) Aktives Polyeder für 3D-Bildsegmentierung
DE112007002225T5 (de) Erstellen und Codieren von Glyphen
DE4341304A1 (de) Verfahren und Vorrichtung zur Verwendung eines Videopuffers
DE2218839C3 (de) Einrichtung zur Zuteilung von Speicheradressen zu einer Gruppe von Datenelementen
DE102014006549B4 (de) Technik zur Verarbeitung einer Zeichenfolge zur graphischen Darstellung an einer Mensch-Maschine-Schnittstelle
AT525294A1 (de) Verfahren zum Erzeugen einer hierarchischen Datenstruktur, hierarchische Datenstruktur sowie Verfahren zum Streamen von dreidimensionalen Objekten
DE112010005294T5 (de) Bildanzeigevorrichtung
EP1386287A2 (de) Bildverarbeitungsverfahren
DE102021124009A1 (de) Verfahren zum Erzeugen eines dreidimensionalen Modells eines Objektes zum Steuern eines 3D-Druckers
DE102018217114A1 (de) Verfahren und Anordnung zur Speicherbedarfsermittlung, um mittels einer Grafikprozessoreinheit auf FEM-Knotennetzen basierte Simulationen durchzuführen
DE10120615A1 (de) Dynamische Speicherverwaltung für Objekte unterschiedlicher Größe
WO2023279125A1 (de) Verfahren zum erstellen von simulationszellen für kontinuumsmechanische simulationen eines objekts
DE102007020060A1 (de) Verteilte Berechnung von Bildern volumetrischer Objekte mittels Ray Casting
DE102021124013B4 (de) Computer-implementiertes Verfahren zum Erstellen eines zweiten Voxel-Modells aus einem ersten Voxel-Modell
DE102021129012A1 (de) Verfahren zum Erzeugen eines 3D-Modells mit innenliegenden Strukturen
DE102021124017B3 (de) Verfahren zum Erzeugen einer volumetrischen Textur für ein 3D-Modell eines physischen Objekts
WO2023222294A1 (de) Verfahren zum erzeugen eines 3d-modells mittels einer punktwolke
WO2023102583A1 (de) Verfahren zur additiven fertigung eines werkstücks
WO2003046772A2 (de) Konstruktionsverfahren und cad-system
EP4315088A1 (de) Verfahren und system zum bereitstellen von daten
DE102020213597A1 (de) Verfahren zur Maskierung, Computerprogramm, Speichermedium und elektronische Steuereinheit
DE102021109661A1 (de) Verfahren zur geometrischen Darstellung einer Fahrzeugfläche eines Fahrzeugs zur Kollisionserkennung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: HYPERFORGE HOLDINGS PTE LTD., SG

Free format text: FORMER OWNER: HYPERGANIC GROUP GMBH, 80799 MUENCHEN, DE

R016 Response to examination communication