-
Gebiet der Erfindung
-
Die Erfindung betrifft ein Verfahren zum Erzeugen eines digitalen Modells eines 3D-Objekts für einen nachfolgenden Druck mittels eines 3D-Druckers.
-
Hintergrund der Erfindung
-
Im Bereich des 3D-Drucks ist es hinlänglich bekannt, ein zu druckendes 3D-Objekt mittels eines virtuellen 3D-Modells bzw. digitalen Modells zu repräsentieren. Üblicherweise erfolgt die Modellierung durch die Beschreibung der Oberfläche des 3D-Objekts. Hierfür werden beispielsweise die Diskretisierung (Triangulation), Parametrisierung (Bezier-Kurven) oder Interpolation (Polynom-Interpolation) verwendet.
-
Bekannt ist ebenfalls, dass 3D-Objekte ein Innenvolumen aufweisen. Bei der Modellierung der Oberfläche das Innenvolumen eines 3D-Objekts implizit mit modelliert. Damit lassen sich massive 3D-Objekte modellieren und drucken. Ähnlich wie die Modellierung der Oberfläche können auch innenliegende Strukturen modelliert werden. Bei der Modellierung einer Struktur in einem Teilbereich des Innenvolumens müssen hierbei allerdings immer auch alle bereits modellierten Strukturen im restlichen Innenvolumen berücksichtigt werden, was einen erheblichen Rechenaufwand zur Folge hat. Dasselbe gilt auch, wenn innenliegende Strukturen angepasst oder geändert werden müssen.
-
Aufgabe der Erfindung
-
Aufgabe der vorliegenden Erfindung ist daher, ein Verfahren bereitzustellen, mit dem 3D-Objekte, die eine innenliegende Struktur aufweisen sollen, einfacher und insbesondere effizienter erzeugt werden können.
-
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 zur Erzeugung eines digitalen Modells eines 3D-Objekts für einen nachfolgenden Druck mittels eines 3D-Druckers. Das 3D-Objekt weist ein Innenvolumen auf, wobei das Innenvolumen von einer Oberfläche begrenzt wird.
-
Nach dem Verfahren wird ein erstes Voxel-Modell erzeugt. Das erste Voxel-Modell repräsentiert das 3D-Objekt mittels einer Anzahl von Voxeln. Hierbei repräsentieren eine erste Anzahl von Voxeln das Innenvolumen und eine zweite Anzahl von Voxeln die Oberfläche des Innenvolumens. Die erste Anzahl von Voxeln und die zweite Anzahl von Voxeln bilden zusammen die Anzahl von Voxeln. Die Anzahl von Voxeln wird in einer ersten Baumstruktur gespeichert.
-
Für einen vorbestimmten Ausschnitt des Innenvolumens wird eine Struktur festgelegt. Mittels der Struktur wird einer Anzahl von Volumenbereichen des Ausschnitts eine Eigenschaft zugeordnet.
-
Die den Volumenbereichen des Ausschnitts zugeordneten Eigenschaften werden als Attributswert der zu den Volumenbereichen des Ausschnitts korrespondierenden Voxeln in der ersten Baumstruktur gespeichert.
-
Die Struktur kann eine oder mehrere Komponenten, insbesondere geometrische Körper, umfassen.
-
Das Festlegen der Struktur kann ein Berechnen der Struktur gemäß einer Berechnungsvorschrift umfassen.
-
Das erfindungsgemäße Verfahren hat den Vorteil, dass die innenliegende Struktur des 3D-Objekts, die insbesondere durch geometrische Körper definiert werden kann, jeweils auf einzelnen vorbestimmten Ausschnitten des Innenvolumens berechnet werden kann. Bei der Berechnung der Struktur muss demnach nicht mehr das gesamte Innenvolumen des 3D-Objekts berücksichtigt werden. Bereits dadurch kann die Laufzeit zur Berechnung der innenliegenden Struktur erheblich reduziert.
-
Die Verteilung der Strukturberechnung auf einzelne vorbestimmte Ausschnitte des Innenvolumens wird vorteilhaft dadurch ermöglicht, dass das 3D-Objekt und dessen Innenvolumen mittels einer Anzahl von Voxeln repräsentiert ist, die in der ersten Baumstruktur gespeichert werden.
-
Ferner hat die Voxelisierung (überführen des Volumens in diskrete Voxel) gemäß dem erfindungsgemäßen Verfahren den Vorteil, dass die Änderung an einer Struktur eines vorbestimmten Ausschnitts des Innenvolumens keine Auswirkung auf andere Ausschnitte des Innenvolumens hat. Vielmehr kann die Struktur in dem betroffenen Ausschnitt des Innenvolumens separat berechnet werden (und gegebenenfalls mittels logischer Operatoren mit dem bestehenden Voxel-Modell vereint werden). Komplexe und zeitaufwändige Neuberechnungen des kompletten digitalen Modells des 3D-Objekts werden dadurch effektiv vermieden.
-
Die Baumstruktur repräsentiert das Volumen des digitalen Modells. Hierzu wird durch die Baumstruktur das Volumen in eine Anzahl von Voxeln unterteilt. Hierbei beschreibt ein Voxel einen quaderförmigen Teilvolumenbereich. In einer besonderen Ausgestaltung der Baumstruktur können die Voxel würfelförmig sein. Ein Voxel kann wiederum in eine Anzahl Voxeln unterteilt sein. Hierdurch entstehen Hierarchieebenen in der Baumstruktur.
-
Mit einer Anzahl der Hierarchieebenen kann die räumliche Auflösung des Voxel-Modells eingestellt werden. Vorteilhafterweise weist die Baumstruktur maximal drei Hierarchieebenen auf. Die erste Hierarchieebene ist ein Wurzelknoten. Dem Wurzelknoten ist in einer zweiten Hierarchieebene eine vorbestimmte Anzahl von Unterknoten zugeordnet. Den Unterknoten der zweiten Hierarchieebene ist ebenfalls eine vorbestimmte Anzahl von Unterknoten der dritten Hierarchieebene zugeordnet. Es hat sich als vorteilhaft erwiesen, wenn die vorbestimmte Anzahl von Unterknoten jeweils 4096 ist.
-
In dem Wurzelknoten kann die Position der Baumstruktur im dreidimensionalen Raum bezogen auf das Voxel-Modell, welches das digitale Modell repräsentiert, gespeichert werden. Mit der Position werden die Lage und die Ausrichtung des Voxel-Modells im dreidimensionalen Raum gespeichert. Somit kann für die Anzahl der Voxel auf der zweiten Hierarchieebene und der dritten Hierarchieebene jeweils die Position im dreidimensionalen Raum ermittelt werden, ohne dass für die Voxel die jeweilige Position gespeichert werden muss.
-
Jedes Voxel des Voxel-Modells weist ein Attribut auf. In dem Attribut kann die mittels der Struktur dem jeweiligen Voxel zugeordnete Eigenschaft als Attributswert gespeichert werden. Beispielsweise kann die Eigenschaft ein Abstand zur Oberfläche der Struktur sein. Je nach konkreter Ausprägung des Abstandswertes kann dieser angeben, ob ein innenliegendes Voxel zum 3D-Objekt gehört oder nicht.
-
Die den Volumenbereichen des Ausschnitts zugeordneten Eigenschaften werden als Attributswert der zu den Volumenbereichen des Ausschnitts korrespondierenden Voxeln in der ersten Baumstruktur gespeichert.
-
Vorteilhaft ist es, wenn die Berechnungsvorschrift zumindest eine implizite Funktion umfasst.
-
Mittels der impliziten Funktion kann in dem Ausschnitt des Innenvolumens die Eigenschaft, etwa eine Zugehörigkeit der korrespondierenden Voxeln zur Struktur, ermittelt werden. Die Zugehörigkeit gibt an, welche Voxel des Ausschnitts Teil der Struktur sind und welche Voxel nicht zur Struktur gehören.
-
Die Verwendung einer impliziten Funktion hat sich als besonders vorteilhaft herausgestellt. Es können aber auch andere Funktionen als Berechnungsvorschrift verwendet werden, insbesondere Kombinationen verschiedener impliziter Funktionen.
-
Eine implizite Funktion definiert eine geometrische Form im dreidimensionalen Raum als Funktion der Raumkoordinaten. Somit kann für jeden Punkt im Volumen des digitalen Modells des 3D-Objekts ein Abstand zu der durch eine implizite Funktion definierte geometrische Form ermittelt werden. Durch eine Kombination von mehreren impliziten Funktionen kann auf diese Weise ein Innenvolumen des 3D-Objekts in dem digitalen Modell strukturiert werden.
-
Ein besonderer Vorteil der erfindungsgemäßen Berechnungsvorschriften (z.B. implizite Funktionen) ergibt sich in Kombination mit dem Speichern der mittels der Berechnungsvorschriften ermittelten Attributswerte in den korrespondierenden Voxeln der Baumstruktur. Denn dadurch wird vermieden dass für jede Berechnungsvorschrift das gesamte Volumen des 3D-Modells ausgewertet werden muss. Ohne Verwendung der Voxel, die in der Baumstruktur gespeichert werden, muss für jede Berechnungsfunktion jeweils für jeden Punkt des Innenvolumens geprüft werden, ob der jeweilige Punkt zum Objekt der Berechnungsfunktion gehört oder nicht. Deshalb ist es auch nicht möglich, mehrere Berechnungsfunktionen parallel zu verarbeiten - dieses müssen zwangsläufig sequentiell verarbeitet werden.
-
Nach einem Aspekt der Erfindung wird der vorbestimmte Ausschnitt des Innenvolumens so gewählt, dass in dem ausgewählten Ausschnitt die Struktur durch die implizite Funktion vollständig modelliert ist. Somit kann das Innenvolumen des 3D-Objekts beispielsweise durch eine Kombination von Kopien desjenigen Ausschnitts, in welchem die Struktur modelliert ist, erzeugt werden, d.h. ohne weitere Berechnungen von impliziten Funktionen.
-
Weiterhin vorteilhaft ist es, wenn eine Mehrzahl von impliziten Funktionen so gewählt wird, dass mit jeder impliziten Funktion einem Volumenbereich der Anzahl von Volumenbereichen des Ausschnitts die Eigenschaft zugeordnet wird.
-
Besonders vorteilhaft ist es, wenn die Volumenbereiche disjunkte Volumenbereiche sind, die jeweils mittels einer impliziten Funktion als Teil der Struktur berechnet werden.
-
Nach einem vorteilhaften Aspekt der Erfindung ist die Eigenschaft ausgewählt aus der Gruppe zumindest umfassend
- - die Volumenbereiche des Ausschnitts sind Volumenbereiche, die nicht zum 3D-Objekt gehören, so dass die Volumenbereiche des Ausschnitts, die zum Objekt gehören, eine gitterförmige Struktur bilden,
- - Materialeigenschaften,
- - das für den 3D-Druck zu verwendende Material, und
- - Kombinationen hiervon.
-
Somit kann mittels zumindest einer impliziten Funktion eine gitterförmige Struktur im Volumenbereich des Ausschnitts definiert werden. Alternativ können durch die impliziten Funktionen auch Hohlräume des Ausschnitts des Innenvolumens definiert werden, die im Wesentlichen ebenfalls eine Gitterstruktur bilden.
-
Die Eigenschaften, die dem Volumenbereich des Ausschnitts, insbesondere dessen korrespondierenden Voxeln, zugeordnet sind, können Informationen verschiedenster Art umfassen. Beispielsweise kann die Eigenschaft eine Information über die Zugehörigkeit des Volumenbereichs bzw. Voxels zum Innenvolumen des 3D-Objekts enthalten. Weitere Eigenschaften können die Farbe, das Material oder eine physikalische Eigenschaft sein.
-
Vorteilhafterweise weisen die Volumenbereiche des Ausschnitts, die nicht zum 3D-Objekt gehören, und die Volumenbereiche des Ausschnitts, die zum 3D-Objekt gehören, eine gemeinsame Grenzfläche auf. Als Attributswert des jeweiligen Voxels ist ein Abstand des Voxels zur Grenzfläche als Eigenschaft gespeichert.
-
Der in einem Abstandsattribut des Voxels gespeicherte Abstand gibt an, dass das jeweilige Voxel zur Oberfläche des Innenvolumens gehört bzw. wie weit das jeweilige Voxel von der Oberfläche des Innenvolumens des zu druckenden 3D-Objektes entfernt ist. Vorteilhafterweise ist der gespeicherte Abstand der minimale Abstand, insbesondere lotrechte Abstand, des Voxels zur Oberfläche des Innenvolumens. In dem Abstandsattribut kann auch ein vorbestimmter Abstand gespeichert werden. Der gespeicherte vorbestimmte Abstand gibt an, dass das jeweilige Voxel nicht zur Oberfläche des Innenvolumens des zu druckenden Objektes gehört bzw. weit von der Oberfläche des Innenvolumens entfernt ist.
-
In einer vorteilhaften Ausgestaltung des Verfahrens werden aus den zu den Volumenbereichen des Ausschnitts korrespondierenden Voxeln in der ersten Baumstruktur gespeicherten Attributswerten Steueranweisungen für den 3D-Drucker abgeleitet.
-
Nach einem vorteilhaften Aspekt der Erfindung wird ein zweites Voxel-Modell erzeugt, wobei das zweite Voxel-Modell in einer zweiten Baumstruktur gespeichert wird. Das erste Voxel-Modell und das zweite Voxel-Modell können einen identischen räumlichen Ursprung aufweisen. Die Struktur (S) wird in dem zweiten Voxel-Modell berechnet. In einem Vereinigungsschritt werden das erste Voxel-Modell und das zweite Voxel-Modell mittels zumindest einem logischen Operator vereinigt.
-
Es hat sich darüber hinaus als vorteilhaft erwiesen, wenn das erste Voxel-Modell eine erste räumliche Auflösung aufweist und das zweite Voxel-Modell eine zweite räumliche Auflösung aufweist, wobei sich die erste räumliche Auflösung und die zweite räumliche Auflösung zumindest ausschnittsweise unterscheiden.
-
Vorzugsweise weist das zweite Voxel-Modell in einem Volumen, das zu dem vorbestimmten Ausschnitt des Innenvolumens korrespondiert, eine dritte räumliche Auflösung auf. Die dritte räumliche Auflösung kann feiner oder gröber als die zweite räumliche Auflösung sein. Somit kann insbesondere die Struktur S in einem Volumenbereich mit einer auf die Struktur optimierten räumlichen Auflösung berechnet werden.
-
Um eine unterschiedliche räumliche Auflösung zu erreichen, können zumindest einigen Knoten der zweiten Hierarchieebene unterschiedlich viele Unterknoten (der dritten Hierarchieebene) zugeordnet werden.
-
Aufgrund der Verwendung von Voxel-Modellen kann eine Überlagerung bzw. Kombination von Strukturen zur Erzeugung des digitalen Modells äußerst effizient gestaltet werden. Beispielsweise können Voxel-Modelle von Strukturen in Baumstrukturen mit unterschiedlicher räumlicher Auflösung gespeichert werden und zu dem digitalen Modell vereinigt werden. Je nach der von einer Struktur zugeordneten Eigenschaft kann die räumliche Auflösung der Baumstruktur variieren. Während die Eigenschaft, die die Zugehörigkeit eines Voxels zu dem 3D-Objekt kodiert, üblicherweise eine möglichst präzise räumliche Auflösung erfordert, kann die Eigenschaft, die etwa ein Druckmaterial kodiert, mit einer gröberen räumlichen Auflösung als zweite Struktur in der dritten Baumstruktur (Ergebnis-Baumstruktur) gespeichert werden. Durch den Vereinigungsschritt wird nämlich nur denjenigen Voxeln des ersten Voxel-Modells, die dem 3D-Objekt angehören, das entsprechende Druckmaterial nach der zweiten Struktur zugeordnet.
-
Vorteilhafterweise wird in dem erfindungsgemäßen Verfahren eine Mehrzahl von Strukturen parallel berechnet.
-
Die parallele Berechnung der Mehrzahl von Strukturen kann etwa auf einer Mehrzahl von Prozessoren und/oder einer Mehrzahl von Prozessorkernen eines Prozessors erfolgen.
-
Die parallele Berechnung der Mehrzahl von Strukturen ist deshalb möglich, da das digitale Modell des 3D-Objekts als Voxel-Modell repräsentiert wird und die Strukturen jeweils auf einzelnen, voneinander unabhängigen Volumenbereichen berechnet werden können und die Berechnung für einen Volumenbereich keinen Einfluss auf die Berechnungen in anderen Volumenbereichen hat. Erst in einem nachgelagerten Vereinigungsschritt werden die Strukturen zusammengeführt bzw. vereinigt, wodurch das digitale Modell erzeugt wird. Somit kann jeder Volumenbereich auf einem unterschiedlichen Prozessorkern bzw. Prozessor verarbeitet werden. Das erfindungsgemäße Verfahren ist demnach hochgradig parallelisierbar. Dadurch kann bei entsprechender Skalierung der Prozessoren bzw. der Prozessorkernen die Laufzeit des Verfahrens erheblich reduziert werden.
-
Figurenliste
-
Weitere Einzelheiten und Merkmale des erfindungsgemäßen Verfahrens ergeben sich aus der nachfolgenden Beschreibung in Verbindung mit der Zeichnung. Es zeigt:
- 1 ein Ablaufdiagramm für eine erste Ausgestaltung des erfindungsgemäßen Verfahrens;
- 2 ein Ablaufdiagramm für eine zweite Ausgestaltung des erfindungsgemäßen Verfahrens;
- 3 ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens nach der zweiten Ausgestaltung;
- 4a ein digitales Modell eines Innenvolumens mit einer kubischen Gitterstruktur, wobei das digitale Modell mittels des erfindungsgemäßen Verfahrens erzeugt wurde;
- 4b ein digitales Modell eines Innenvolumens mit einer sich graduell verändernden Gitterstruktur, wobei das digitale Modell mittels des erfindungsgemäßen Verfahrens erzeugt wurde;
- 5 ein digitales Modell eines Innenvolumens mit einer zweiten Struktur, wobei das digitale Modell mittels des erfindungsgemäßen Verfahrens erzeugt wurde;
- 6a ein digitales Modell eines Innenvolumens mit einer dritten Struktur, wobei das digitale Modell mittels des erfindungsgemäßen Verfahrens erzeugt wurde;
- 6b ein digitales Modell eines Innenvolumens mit der dritten Struktur, wobei die dritte Struktur entlang einer Richtung durch das Innenvolumen graduell dichter wird;
- 7 ein digitales Modell eines Innenvolumens mit einer vierten Struktur, wobei das digitale Modell mittels des erfindungsgemäßen Verfahrens erzeugt wurde;
- 8 ein digitales Modell eines Innenvolumens mit einer blumenartigen Gitterstruktur, wobei das digitale Modell mittels des erfindungsgemäßen Verfahrens erzeugt wurde;
- 9 ein digitales Modell eines Innenvolumens mit einer primitiven Schwarz'schen Gitterstruktur, wobei das digitale Modell mittels des erfindungsgemäßen Verfahrens erzeugt wurde;
- 10 ein digitales Modell eines Innenvolumens mit einer siebten Struktur, wobei das digitale Modell mittels des erfindungsgemäßen Verfahrens erzeugt wurde;
- 11a ein digitales Modell eines Innenvolumens mit einer Gyroid-Struktur, wobei das digitale Modell mittels des erfindungsgemäßen Verfahrens erzeugt wurde;
- 11b ein digitales Modell eines Innenvolumens mit einer Gyroid-Struktur, wobei sich die Gyroid-Struktur entlang einer Richtung des digitalen Modells verdichtet;
- 12a ein digitales Modell eines Innenvolumens mit einer Voronoi Struktur mit offenen Zellen, wobei das digitale Modell mittels des erfindungsgemäßen Verfahrens erzeugt wurde;
- 12b ein digitales Modell eines Innenvolumens mit einer Voronoi Struktur mit geschlossenen Zellen, wobei das digitale Modell mittels des erfindungsgemäßen Verfahrens erzeugt wurde;
- 13 eine Visualisierung zum Vergleich der Laufzeit zur Erzeugung eines digitalen Modells eines 3D-Objekts mit zehntausend Strukturen zwischen einem Verfahren nach dem Stand der Technik und dem erfindungsgemäßen Verfahren als Funktion der Anzahl der parallelen Prozessoren.
-
Detaillierte Beschreibung der Erfindung
-
1 zeigt den Ablauf einer ersten Ausführungsform des erfindungsgemäßen Verfahrens.
-
Das erfindungsgemäße Verfahren dient der Erzeugung eines digitalen Modells eines 3D-Objekts, wobei das 3D-Objekt ein Innenvolumen aufweist. Das 3D-Objekt kann anhand des digitalen Modells mittels eines 3D-Druckers zu einem physischen Objekt gedruckt werden. Das Innenvolumen des 3D-Objekts weist eine Oberfläche O auf.
-
In einem ersten Schritt 100 des Verfahrens wird ein erstes Voxel-Modell erzeugt. Das erste Voxel-Modell VM repräsentiert das 3D-Objekt mittels einer Anzahl von Voxeln. Hierbei repräsentieren die Anzahl von Voxeln auch das Innenvolumen I und dessen Oberfläche O des 3D-Objekts. Die Anzahl von Voxeln VX wird in einer ersten Baumstruktur gespeichert.
-
In einem zweiten Schritt 200 des Verfahrens wird eine Struktur für einen vorbestimmten Ausschnitt des Innenvolumens I berechnet. Hierbei wird mittels der Struktur S einer Anzahl von Volumenbereichen des Ausschnitts A eine Eigenschaft zugeordnet. Die Eigenschaft kann etwa eine Information über die Zugehörigkeit des Volumenbereichs zum Innenvolumen des 3D-Objekts umfassen. Die Eigenschaft kann beispielsweise auch Informationen über die Farbe, das Material oder eine physikalische Eigenschaft des Volumenbereichs umfassen.
-
Zur Berechnung der Struktur S wird eine Berechnungsvorschrift verwendet, die in einer Ausgestaltung der Erfindung eine implizite Funktion oder mehrere implizite Funktionen umfassen kann. Ebenso kann die Strukturberechnung durch Anwendung einer Maske bzw. Vorlage, etwa aus einem vorbestimmten Formenschatz, erfolgen. Im Folgenden werden Ausführungsformen des erfindungsgemäßen Verfahrens beschrieben, die auf der Verwendung von impliziten Funktionen beruhen, was jedoch lediglich der Veranschaulichung dient.
-
Mittels impliziter Funktionen können geometrische Strukturen im dreidimensionalen Raum definiert werden. Einfache Beispiele sind etwa eine Kugelfunktion, eine Zylinderfunktion, oder eine Torus-Funktion. Eine Auswertung der impliziten Funktion über einen Volumenbereich liefert eine Grenzfläche bzw. Oberfläche der (geometrischen) Struktur in dem Volumenbereich.
-
Die Berechnung bzw. Auswertung der impliziten Funktion kann durch eine Iteration über einen Volumenbereich des vorbestimmten Ausschnitts A erfolgen. Hierbei kann die implizite Funktion iterativ für jedes Voxel des Volumenbereichs ausgewertet werden. Auf diese Weise wird für jedes Voxel des Volumenbereichs ein Abstand zu der Struktur bzw. dem geometrischen Körper der Struktur ermittelt. Somit kann für jedes Voxel des Volumenbereichs ermittelt werden, ob es sich innerhalb der Struktur, außerhalb der Struktur, oder an der Oberfläche O der Struktur befindet. Basierend hierauf kann dem Volumenbereich die Eigenschaft zugeordnet werden.
-
Die Struktur kann auch aus einer Kombination aus einer Mehrzahl von impliziten Funktionen berechnet werden. Somit lassen sich durch eine Verknüpfung von verschiedenen impliziten Funktionen auch komplexe geometrische Körper als Struktur realisieren.
-
In einem dritten Schritt 300 des Verfahrens werden die zugeordneten Eigenschaften in den korrespondierenden Voxeln des Volumenbereichs des vorbestimmten Ausschnitts in der ersten Baumstruktur gespeichert. Hierzu weisen die Voxel des Voxel-Modells ein Attribut auf. Die zugeordneten Eigenschaften können als Attributswert der zu den Volumenbereichen des Ausschnitts A korrespondierenden Voxeln gespeichert werden.
-
Ein besonderer Vorteil des erfindungsgemäßen Verfahren liegt darin, dass sich aus der Auswertung einer Struktur S, insbesondere unter Verwendung einer impliziten Funktion, auf einem Voxel-Modell VM ein Vorteil bei der Erzeugung eines digitalen Modells eines 3D-Objekts ergibt. Die Strukturen des Innenvolumens I sind typischerweise klein im Vergleich zum 3D-Objekt und können sich regelmäßig oder unregelmäßig in dem Innenvolumen des 3D-Objekts wiederholen. Somit kann eine solche Struktur auch auf einem kleinen Volumenbereich des 3D-Objekts, also einem Teilvolumenbereich, ausgewertet werden, insbesondere sofern die vollständige Oberfläche O der Struktur in dem Teilvolumenbereich enthalten ist. Zur Berechnung einer Struktur, insbesondere mittels einer impliziten Funktion, muss also jeweils nur ein Teil des Volumens des digitalen Modells ausgewertet werden. Bei den eingangs genannten Verfahren muss hingegen das gesamte Oberflächenmodell des digitalen Modells aktualisiert werden. Vorteilhaft ist zudem, dass die Laufzeit des erfindungsgemäßen Verfahrens zur Berechnung einer Struktur nicht mit der Größe des 3D-Objekts, sondern lediglich mit der Größe des Teilvolumenbereichs des digitalen Modells skaliert.
-
Die erste Ausführungsform des erfindungsgemäßen Verfahrens nach 1 ist insbesondere für die Erzeugung von periodischen Strukturen für das Innenvolumen des 3D-Objekts geeignet. In der Praxis kann die Programmierung einer periodischen Struktur oftmals erheblich vereinfacht werden, etwa unter Ausnutzung von Symmetrien. Somit kann eine periodische Struktur auf den Volumenbereichen eines einzigen Voxel-Modells VM effizient ausgewertet werden. Sogar eine parallele Berechnung der Volumenbereiche des Voxel-Modells ist möglich. Die parallele Berechnung kann insbesondere dann vorteilhaft durchgeführt werden, wenn sich die geometrischen Körper der Strukturen nicht überschneiden und die Volumenbereiche disjunkt sind.
-
2 zeigt den Ablauf einer zweiten Ausführungsform des erfindungsgemäßen Verfahrens.
-
Nach der zweiten Ausgestaltung des erfindungsgemäßen Verfahrens wird in dem ersten Schritt 100 sowohl ein erstes Voxel-Modell als auch ein zweites Voxel-Modell erzeugt. Während das erste Voxel-Modell das 3D-Objekt mittels einer Anzahl von Voxeln repräsentiert, dient das zweite Voxel-Modell der Erzeugung der Struktur S für einen vorbestimmten Ausschnitt des Innenvolumens I des 3D-Objekts. Das zweite Voxel-Modell weist eine Anzahl von Voxeln auf, die in einer zweiten Baumstruktur gespeichert werden.
-
Der Ursprung des zweiten Voxel-Modells ist identisch zum Ursprung des ersten Voxel-Modells. Der Ursprung des zweiten Voxel-Modells kann aber auch verschieden zum Ursprung des ersten Voxel-Modells sein, wobei dann die beiden Ursprünge in Beziehung zueinander gesetzt werden. Mittels einfacher Skalaroperationen können die Voxel des zweiten Voxel-Modells in das Koordinatensystem des ersten Voxel-Models abgebildet werden. Vorteilhaft ist hierbei, dass Struktur in dem zweiten Voxel-Modell vollkommen unabhängig von dem ersten Voxel-Modell berechnet werden kann. Erst beim Kombinieren (Vereinigen) der Voxel-Modelle müssen die Voxel des zweiten Voxel-Modells in das Koordinatensystem des ersten Voxel-Models abgebildet werden.
-
Weiterhin kann das zweite Voxel-Modell eine zum ersten Voxel-Modell identische räumliche Auflösung und Ausdehnung aufweisen. Ebenso kann sich die räumliche Auflösung des zweiten Voxel-Modells zumindest teilweise von der räumlichen Auflösung des ersten Voxel-Modells unterscheiden. Vorzugsweise sind die Ausdehnung und die räumliche Auflösung des zweiten Voxel-Modells an die Oberfläche O des Innenvolumens I angepasst.
-
In dem zweiten Schritt 200 des Verfahrens wird eine Struktur S für einen vorbestimmten Ausschnitt des Innenvolumens I berechnet. Die Berechnung der Struktur erfolgt vorzugsweise nur in dem zweiten Voxel-Modell. Hierbei wird mittels der Struktur S einer Anzahl von Volumenbereichen des Ausschnitts A eine Eigenschaft zugeordnet. Die Eigenschaft entspricht der Eigenschaft aus dem ersten Ausführungsbeispiel (1).
-
Nach einem Aspekt der Erfindung kann dieselbe Struktur im ersten Voxel-Modell und im zweiten Voxel-Modell berechnet werden. Den jeweils korrespondierenden Voxeln können hierbei mittels der Struktur in dem ersten Voxel-Modell und in dem zweiten Voxel-Modell unterschiedliche Eigenschaften zugeordnet werden.
-
Zur Berechnung der Struktur S in dem zweiten Voxel-Modell kann auch zumindest eine implizite Funktion verwendet werden. Das Vorgehen zur Berechnung der Struktur S in dem zweiten Voxel-Modell kann analog zur Berechnung der Struktur in einem Volumenbereich des ersten Voxel-Modells nach der ersten Ausgestaltung der Erfindung (1) erfolgen.
-
In dem dritten Schritt 300 des Verfahrens werden die zugeordneten Eigenschaften in den korrespondierenden Voxeln des zweiten Voxel-Modells in der zweiten Baumstruktur gespeichert. Hierbei weisen die Voxel des zweiten Voxel-Modells ein Attribut auf. Die zugeordneten Eigenschaften können als Attributswert der Voxel im zweiten Voxel-Modell gespeichert werden. Die zweite Baumstruktur speichert somit die Struktur, die in dem Innenvolumen des ersten Voxel-Modells erzeugt werden soll.
-
In einem vierten Schritt 400 des Verfahrens werden das erste Voxel-Modell und das zweite Voxel-Modell kombiniert (vereinigt). Hierzu können die Voxel des ersten Voxel-Modells und des zweiten Voxel-Modells mittels eines logischen Operators verknüpft werden. Ebenso kann die Anzahl der Voxel des zweiten Voxel-Modells mittels eines logischen Operators in einen vorbestimmten Volumenbereich des ersten Voxel-Modells eingefügt werden. Insbesondere kann die Anzahl von Voxeln des zweiten Voxel-Modells mittels des Boolean Operators mit zu dem vorbestimmten Volumenbereich des ersten Voxel-Modells korrespondierenden Voxeln vereinigt werden. Die Vereinigung der beiden Voxel-Modelle kann in linearer Zeit erfolgen.
-
Durch Wiederholungen der Schritte 100 bis 400 kann das digitale Modell des 3D-Objekts erzeugt werden.
-
Das Erzeugen der innenliegenden Struktur S in einem zweiten Voxel-Modell hat den Vorteil, dass das zweite Voxel-Modell eine an die Struktur angepasste räumliche Auflösung aufweisen kann. Dies ermöglicht eine hochaufgelöste und dennoch effiziente Berechnung der innenliegenden Struktur S in dem zweiten Voxel-Modell.
-
Durch das Auslagern der Berechnung der innenliegenden Struktur auf ein zweites Voxel-Modell kann die Erzeugung des digitalen Modells zudem auf einfache Weise parallelisiert werden. Die Schritte 100 bis 300 können unabhängig voneinander auf mehreren Instanzen des zweiten Voxel-Modells parallel durchgeführt werden. Hierzu können mehrere zweite Voxel-Modelle auf mehreren Prozessoren und/oder einer Mehrzahl von Prozessorkernen verteilt erzeugt und bearbeitet werden. Das ist insbesondere dann vorteilhaft, wenn für die zweiten Voxel-Modelle jeweils verschiedene Funktionen zum Berechnen der Struktur verwendet werden. Somit kann die Laufzeit zur Erzeugung eines digitalen Modells des 3D-Objekts erheblich reduziert werden. Die mehreren zweiten Voxel-Modelle können zudem parallel mit dem ersten Voxel-Modell kombiniert bzw. vereinigt werden. Ferner kann auch ein zweites Voxel-Modell parallel mehrfach mit dem ersten Voxel-Modell kombiniert werden, beispielsweise in unterschiedlichen räumlichen Positionen des ersten Voxel-Modells integriert werden.
-
3 zeigt ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens nach der zweiten Ausführungsform.
-
Gezeigt ist in der linken Spalte der 3 eine Schnittebene durch ein erstes Voxel-Modell. Das erste Voxel-Modell repräsentiert ein 3D-Objekt. In der gezeigten Schnittebene hat das 3D-Objekt die Form eines „D“.
-
Das erste Voxel-Modell ist in einer ersten Baumstruktur gespeichert. Die Baumstruktur ist oberhalb der gezeigten Schnittebene dargestellt. Die erste Baumstruktur weist einen Wurzelknoten W auf, der die erste Hierarchieebene repräsentiert. In einer zweiten Hierarchieebene weist die erste Baumstruktur 512 Unterknoten auf. Jedem Unterknoten der zweiten Hierarchieebene sind jeweils 512 weitere Unterknoten. auf einer dritten Hierarchieebene zugeordnet Auf der dritten Hierarchieebene beträgt die räumliche Auflösung des ersten Voxel-Modells demnach 8x8x8 Voxel. Von der Schnittebene des ersten Voxel-Modells ist demnach eine 4x4 Voxel umfassender Ausschnitt dargestellt. Durch die räumliche Auflösung des ersten Voxel-Modells erscheint das „D“ in der ersten Schnittebene im Wesentlichen als quadratischer Rahmen.
-
In der mittleren Spalte der 3 ist ein zweites Voxel-Modell dargestellt. In dem zweiten Voxel-Modell wurden vier kapselförmige Strukturen mit wechselnder räumlicher Ausrichtung berechnet. In dem vorliegenden Ausführungsbeispiel definiert eine kapselförmige Struktur einen (kapselförmigen) Hohlraum im Innenvolumen I des 3D-Objekts.
-
Das zweite Voxel-Modell ist in einer zweiten Baumstruktur gespeichert. Die zweite Baumstruktur ist oberhalb der gezeigten Schnittebene durch das zweite Voxel-Modell dargestellt. Die zweite Baumstruktur weist einen Wurzelknoten W als erste Hierarchieebene auf. Der Wurzelknoten umfasst 4096 Unterknoten auf einer zweiten Hierarchieebene. Jeder Unterknoten der zweiten Hierarchieebene weist wiederum 4096 Unterknoten auf einer dritten Hierarchieebene auf. Die räumliche Auflösung des zweiten Voxel-Modells ist demnach 8-mal so fein wie die räumliche Auflösung des ersten Voxel-Modells.
-
In der gezeigten Schnittebene des zweiten Voxel-Modells sind die zu der berechneten kapselförmigen Struktur korrespondierenden Voxel schräg schraffiert gekennzeichnet.
-
In der rechten Spalte der 3 ist das resultierende Voxel-Modell nach dem vierten Schritt 400 bzw. Vereinigungsschritt des erfindungsgemäßen Verfahrens gezeigt. Im Zuge der Kombination des ersten Voxel-Modells mit dem zweiten Voxel-Modell wurde die erste räumliche Auflösung (des ersten Voxel-Modells) auf die zweite räumliche Auflösung (des zweiten Voxel-Modells) angepasst. Somit entspricht in diesem Fall die räumliche Auflösung des resultierenden Voxel-Modells der zweiten räumlichen Auflösung. Dementsprechend korrespondiert die Ausgestaltung der Baumstruktur, in welcher das resultierende Voxel-Modell gespeichert ist, zur Ausgestaltung der zweiten Baumstruktur.
-
Bei der Verknüpfung des ersten Voxel-Modells mit dem zweiten Voxel-Modell kann das zweite Voxel-Modell in das erste Voxel-Modell aufgenommen werden. Hierzu ist gegebenenfalls die erste räumliche Auflösung und/oder die zweite räumliche Auflösung anzupassen. Ebenso kann das erste Voxel-Modell in das zweite Voxel-Modell aufgenommen werden. Weiterhin ist es möglich, dass aus dem ersten Voxel-Modell und dem zweiten Voxel-Modell ein resultierendes, drittes Voxel-Modell erzeugt wird.
-
Vorzugsweise weisen das erste Voxel-Modell und das zweite Voxel-Modell die gleiche räumliche Ausdehnung auf. Das bedeutet, dass das erste Voxel-Modell und das zweite Voxel-Modell den gleichen Volumenbereich beschreiben.
-
Alternativ kann das zweite Voxel-Modell auch eine an die zu berechnende Struktur angepasste Ausdehnung aufweisen. Indem das erste Voxel-Modell und das zweite Voxel-Modell denselben räumlichen Ursprung aufweisen kann etwa ein zweites Voxel-Modell mit einer kleineren Ausdehnung mit einem vorbestimmten Volumenbereich des ersten Voxel-Modells verknüpft werden.
-
Nach einem Aspekt der Erfindung weisen in dem zweiten Voxel-Modell diejenigen Volumenbereiche eine dritte räumliche Auflösung auf, in denen die Struktur S zu berechnen ist. Andere Volumenbereiche des zweiten Voxel-Modells können demnach die zweite räumliche Auflösung aufweisen. Vorteilhafterweise ist die dritte räumliche Auflösung feiner als die zweite räumliche Auflösung. In der zweiten Baumstruktur können ausgewählte Unterknoten der zweiten Hierarchieebene demnach weniger oder mehr Unterknoten in der dritten Hierarchieebene aufweisen. Auf diese Weise können Voxel-Modelle effizient in der Baumstruktur abgespeichert werden.
-
In der rechten Spalte der 3 ist eine Schnittebene des Voxel-Modells dargestellt, das aus der Verknüpfung des ersten Voxel-Modells mit dem zweiten Voxel-Modell resultiert. In dem quadratischen Rahmen aus dem ersten Voxel-Modell sind entsprechend Hohlräume auf Basis des zweiten Voxel-Modells als Fehlstellen gekennzeichnet.
-
Aus dem resultierenden Voxel-Modell können Steueranweisungen für einen 3D-Drucker zum Drucken des 3D-Objekts abgeleitet werden.
-
4a zeigt ein digitales Modell eines Innenvolumens mit einer kubischen Gitterstruktur.
-
Aufgrund der hohen Symmetrie der kubischen Gitterstruktur kann der in 4a gezeigte Ausschnitt des digitalen Modells direkt in einem einzigen Voxel-Modell erzeugt werden. Die Gitterstruktur des Innenvolumens I setzt sich aus drei zylindrischen Strukturen zusammen. Die drei zylindrischen Strukturen sind entlang dreier orthogonal zueinander stehenden Raumrichtungen ausgerichtet. Die zylindrischen Strukturen können etwa mittels einer impliziten Funktion berechnet werden. Das in 4a gezeigte Voxel-Modell der kubischen Gitterstruktur weist eine derart feine räumliche Auflösung auf, dass die Oberfläche O des Innenvolumens I, also der Gitterstruktur, glatt erscheint.
-
4b zeigt ein digitales Modell eines Innenvolumens mit einer sich graduell verändernden Gitterstruktur.
-
Im Unterschied zur Gitterstruktur der 4a verändert sich der Zylinderradius der zylindrischen Strukturen entlang einer vorgegebenen Richtung. Der Übergang von einem kleinen Zylinderradius an dem einen Ende des Innenvolumens zu einem weiten Zylinderradius am anderen Ende des Innenvolumens I ist fließend. Auch in diesem Fall können die zylindrischen Strukturen mittels impliziter Funktionen berechnet werden.
-
5 zeigt ein digitales Modell eines Innenvolumens mit einer zweiten Struktur.
-
Das in 5 gezeigte digitale Modell eines Innenvolumens I ist ebenfalls durch ein Voxel-Modell repräsentiert. Gezeigt ist eine Gitterstruktur, die zwar weniger symmetrisch ist als die kubische Gitterstruktur der 4a, und dennoch sich periodisch über den gezeigten Volumenbereich erstreckt. Deshalb bietet es sich auch für diese zweite Struktur an, die Strukturberechnung direkt in einem einzigen Voxel-Modell auszuführen. Die zweite Struktur kann beispielsweise durch eine implizite Funktion bzw. eine Kombination von impliziten Funktionen berechnet werden.
-
6a zeigt ein digitales Modell eines Innenvolumens mit einer dritten Struktur.
-
Auch die dritte Struktur ist eine regelmäßige Struktur in dem gezeigten Volumenbereich des 3D-Objekts. Somit kann die dritte Struktur ebenfalls direkt in einem Voxel-Modell erzeugt und gespeichert werden. Die dritte Struktur umfasst eine Mehrzahl von Zylindern, die in vorbestimmter Art und Weise ausgerichtet und verknüpft sind. Die Zylinder lassen sich etwa durch implizite Funktionen definieren und berechnen.
-
6b zeigt ein digitales Modell eines Innenvolumens mit der dritten Struktur, wobei die dritte Struktur entlang einer Richtung durch das Innenvolumen graduell dichter wird.
-
Entsprechend dem Ausführungsbeispiel der 4b nimmt der Radius der Zylinder entlang einer vorbestimmten Richtung durch den gezeigten Volumenbereich zu.
-
Der Übergang von Zylindern mit einem relativ kleinen Radius auf der einen Seite des Volumenbereichs zu Zylindern mit einem relativ weiten Radius auf der anderen Seite des Volumenbereichs ist fließend.
-
7 zeigt ein digitales Modell eines Innenvolumens mit einer vierten Struktur.
-
Die vierte Struktur weist ebenfalls zylinderförmige Strukturen auf. Ferner weist die vierte Struktur wellenförmige Strukturen auf, wobei die wellenförmigen Strukturen zumindest abschnittsweise zylinderförmig sind. Auch die vierte Struktur kann mittels zumindest einer impliziten Funktion auf einem Volumenbereich berechnet werden.
-
8 zeigt ein digitales Modell eines Innenvolumens mit einer blumenartigen Gitterstruktur.
-
Auch die in 8 gezeigte Gitterstruktur kann mittels einer impliziten Funktion direkt in einem Voxel-Modell berechnet werden.
-
9 zeigt ein digitales Modell eines Innenvolumens mit einer primitiven Schwarz'schen Gitterstruktur.
-
Die primitive Schwarz'sche Gitterstruktur ist eine hochsymmetrische und daher in dem Volumenbereich regelmäßig angeordnete Gitterstruktur. Die Struktur kann etwa mittels einer impliziten Funktion definiert werden.
-
10 zeigt ein digitales Modell eines Innenvolumens mit einer Lidinoid-Struktur.
-
Die Lidinoid-Struktur weist eine dreifache Periodizität auf. Somit ist es vorteilhaft, die siebte Struktur direkt in einem Voxel-Modell, etwa mittels einer impliziten Funktion, zu berechnen und zu speichern.
-
11a zeigt ein digitales Modell eines Innenvolumens I mit einer Gyroid-Struktur, welche ebenfalls eine dreifache Periodizität aufweist. Die Gyroid-Struktur der 11 a ist eng verwandt mit der Lidinoid-Struktur der 10.
-
11b zeigt ein digitales Modell eines Innenvolumens mit einer Gyroid-Struktur, die sich entlang einer Richtung des digitalen Modells verdichtet.
-
Der Übergang von einem Ende der Gyroid-Struktur mit einer niedrigen Dichte zu dem anderen Ende der Gyroid-Struktur mit einer höheren Dichte ist dabei fließend. Auch die Gyroid-Struktur mit einer entlang sich einer Richtung verändernden Dichte kann mittels zumindest einer impliziten Funktion berechnet werden.
-
12a zeigt ein digitales Modell eines Innenvolumens mit einer Voronoi-Struktur mit offenen Zellen.
-
Anders als die zuvor gezeigten Strukturen ist die Voronoi-Struktur unregelmäßig bzw. ohne ausgewiesene Periodizität. Die Voronoi-Struktur wird ausgehend von einer Anzahl von Startpunkten gebildet. Hierbei kann die Voronoi-Struktur etwa mittels einer impliziten Funktion berechnet werden. Typischerweise entstehen hierbei offene Zellen, die in dieser Form jedoch als Innenvolumen eines 3D-Objekten kaum umsetzbar sind.
-
12b zeigt ein digitales Modell eines Innenvolumens mit einer Voronoi-Struktur mit offenen Zellen.
-
Aufgrund der Voxelisierung des digitalen Modells lassen sich die offenen Zellen einer Voronoi-Struktur (wie in 12 a gezeigt) jedoch effizient zu einer Struktur mit geschlossenen Zellen umwandeln, und damit zur Gestaltung eines Innenvolumens I eines 3D-Objekts vorsehen.
-
13 visualisiert einen Vergleich der Laufzeit zur Erzeugung eines digitalen Modells eines 3D-Objekts mit zehntausend innenliegenden Strukturen. Verglichen sind ein Verfahren nach dem Stand der Technik (ohne Voxel-Modell) und das erfindungsgemäße Verfahren.
-
Entlang der Y-Achse sind die Laufzeiten der Verfahren als Funktionen der Anzahl der Prozessorkerne bzw. der Prozessoren zur Berechnung von 10000 Strukturen aufgetragen.
-
Bereits bei Ausführung der Verfahren auf nur einem Prozessor, also ohne Parallelisierung, ist das erfindungsgemäße Verfahren erheblich effizienter als ein Verfahren aus dem Stand der Technik. Dies liegt daran, dass die 10000 Strukturen im Stand der Technik durch 10000 Auswertungen über das gesamte Volumen des 3D-Modells berechnet werden müssen. Nach dem erfindungsgemäßen Verfahren reicht es jedoch, die 10000 Strukturen in vorbestimmten Volumenbereichen zu berechnen, die jeweils auf die Größe einer Struktur angepasst sind. Der Laufzeitunterschied folgt daher aus dem Unterschied zwischen der Größe einer Struktur und der Größe des 3D-Objekts, welcher üblicherweise mehrere Größenordnungen umfasst.
-
Die vorbekannten Verfahren aus dem Stand der Technik sind nicht parallelisierbar, da nicht ausgeschlossen werden kann, dass sich Strukturen S im Innenvolumen I überlagern. Das erfindungsgemäße Verfahren, gekennzeichnet mit HG, ist dagegen massiv parallelisierbar. Dementsprechend nimmt die Laufzeit mit zunehmender Anzahl von Prozessoren bzw. Prozessorkernen, gekennzeichnet durch runde Symbole, ab. Die Parallelisierung des erfindungsgemäßen Verfahrens ist deshalb möglich, da die Strukturen ausgelagert in jeweils einem zweiten Voxel-Modell berechnet werden können. Mehrere Strukturen können dabei parallel in mehreren zweiten Voxel-Modellen berechnet werden. Mittels logischer Operatoren ist eine Vereinigung von zweiten Voxel-Modellen und dem das 3D-Objket repräsentierende erste Voxel-Modell effizient möglich.
-
Zusammenfassend resultieren der technische Vorteil des erfindungsgemäßen Verfahrens insbesondere aus der Voxelisierung des digitalen Modells in Kombination mit der Erkenntnis, die innenliegende Struktur auf Volumenbereichen eines Ausschnitts des Innenvolumens separat und unabhängig von anderen Ausschnitten des Innenvolumens zu berechnen, wobei das separate und unabhängige Berechnen der Strukturen erst durch Verwendung der vorstehen beschriebenen Voxel-Modell möglich wird. Das Unterteilen des Innenvolumens in eine Mehrzahl von vorbestimmten Volumenbereichen, der Berechnung der Strukturen darin, und das anschließende Verknüpfen dieser berechneten Strukturen ist aufgrund der Voxelisierung des digitalen Modells überhaupt erst möglich. Gleiches gilt für die Parallelisierung der Erzeugung eines digitalen Modells für ein 3D-Obj ekt und die damit verbundene Reduzierung der Laufzeit. Damit kann die zur Verfügung stehen Rechenleistung optimal ausgenutzt werden - Prozessoren bzw. Rechnerkerne können parallel genutzt werden.
-
Für komplexe Innenstrukturen ist es sogar möglich, dass diese auf einer anderen Datenverarbeitungseinrichtung berechnet werden. So kann etwa das erste Voxel-Modell lokal auf einem Computer erzeugt werden, die Innenstrukturen des ersten Voxel-Modells und das zweite Voxel-Modell selbst können etwa in einer Cloud-Umgebung berechnet bzw. erzeugt werden. Das zweite Voxel-Modell kann an den lokalen Computer übertragen werden und dort mit dem ersten Voxel-Modell kombiniert werden.