DE102020215766A1 - Additive Fertigung auf Basis von Feldern von versatzbedingten, vorzeichenbehafteten Abständen - Google Patents

Additive Fertigung auf Basis von Feldern von versatzbedingten, vorzeichenbehafteten Abständen Download PDF

Info

Publication number
DE102020215766A1
DE102020215766A1 DE102020215766.9A DE102020215766A DE102020215766A1 DE 102020215766 A1 DE102020215766 A1 DE 102020215766A1 DE 102020215766 A DE102020215766 A DE 102020215766A DE 102020215766 A1 DE102020215766 A1 DE 102020215766A1
Authority
DE
Germany
Prior art keywords
voxel
voxels
approximation
offset
additive manufacturing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102020215766.9A
Other languages
English (en)
Inventor
Alan Brunton
Lubna Abu Rmaileh
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.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
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 Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority to DE102020215766.9A priority Critical patent/DE102020215766A1/de
Priority to US17/547,055 priority patent/US20220187790A1/en
Priority to EP21213473.8A priority patent/EP4011602A1/de
Publication of DE102020215766A1 publication Critical patent/DE102020215766A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/30Auxiliary operations or equipment
    • B29C64/386Data acquisition or data processing for additive manufacturing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4097Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using design data to control NC machines, e.g. CAD/CAM
    • G05B19/4099Surface or curve machining, making 3D objects, e.g. desktop manufacturing
    • 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
    • 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
    • B33Y50/02Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/49Nc machine tool, till multiple
    • G05B2219/49007Making, forming 3-D object, model, surface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data

Landscapes

  • Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Chemical & Material Sciences (AREA)
  • Materials Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Optics & Photonics (AREA)

Abstract

Die Erfindung betrifft eine Rechenvorrichtung (10) und ein Verfahren für die Produktion eines Objekts (22) mit einer additiven Fertigungsvorrichtung (12), insbesondere mit einem 3D-Drucker, wobei die additive Fertigungsvorrichtung (12) einen Bauraum (18) aufweist, der in virtuelle (20) Voxel diskretisiert ist, wobei das Verfahren umfasst:- Empfangen einer auf Voxeln basierenden Näherung einer Oberfläche eines dreidimensionalen Objekts;- Bestimmen eines vorzeichenbehafteten Abstandswerts für jedes von zumindest einer Untermenge der Voxel (20), der einen Abstand zwischen den einzelnen Voxeln (20) und mindestens einem Punkt beschreibt, der von der auf Voxeln basierenden Näherung definiert wird;- Auswählen von Voxeln (20), an denen Material hinzugefügt werden soll, um das Objekt zu produzieren, wobei die Auswahl auf Basis der vorzeichenbehafteten Abstandswerte der Voxel (20) durchgeführt wird; wobei der vorzeichenbehaftete Abstandswert jedes Voxels (20) ferner auf Basis eines Versatzwerts bestimmt wird, der eine topographische Eigenschaft der auf Voxeln basierenden Näherung beschreibt.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren und eine Recheneinrichtung zur Fertigung von Objekten mittels additiver Fertigung.
  • Bei der additiven Fertigung wird ein Objekt typischerweise durch lokale Ablagerung und/oder lokale Verfestigung von Material produziert, das häufig in zu Anfang amorpher Form (d.h. als Flüssigkeit oder als Pulver) bereitgestellt wird. Additive Fertigung kann auch mit 3D-Druck bezeichnet werden. Die Erzeugung von lokal verfestigtem Material kann auch als Drucken des Materials an einem bestimmten Ort bezeichnet werden.
  • Vorrichtungen für die additive Fertigung weisen einen Bauraum (oder eine Baukammer) auf, in der das Objekt durch aufeinanderfolgendes Drucken von Objektlagen oder -schichten produziert wird. Die aufeinanderfolgenden Schichten oder Lagen werden aufeinander gestapelt und miteinander verbunden. Ein kleinstmögliches Volumen an druckbarem (d.h. lokal verfestigtem) Material enspricht typischerweise einem Voxel dieses Bauraums. Genauer kann ein Voxel als konvexes, typischerweise kubisches Volumen definiert werden, welches das kleinste adressierbare Volumen der Druckvorrichtung darstellt. In allgemein bekannter Weise wird der Bauraum vorzugsweise als gleichmäßiges dreidimensionales Gitter oder ebensolche Matrix von Voxeln, die entlang jeder Achse eines dreidimensionalen kartesischen Bezugskoordinatensystems verteilt (z.B. gestapelt) sind, diskretisiert bzw. weist eine derartige Gestalt auf. Die Zahl der Voxel pro Einheitsvolumen bestimmt eine Auflösung des 3D-Druckers, die umso höher ist, je kleiner die Voxel sind. Die Voxelgröße ist abhängig von den technischen Fähigkeiten jedes 3D-Druckers.
  • Ein grundlegendes Problem beim Drucken von Objekten ist die Auswahl solcher Voxel, die sich einer gewünschten Form eines Objekts exakt nähern. Der 3D-Drucker wird so gesteuert, dass er verfestigtes Material nur in oder an den ausgewählten Voxeln bereitstellt.
  • Für die Durchführung der Auswahl wird zu Anfang eine Beschreibung der dreidimensionalen Form des Objekts benötigt, üblicherweise eine Beschreibung der Oberfläche des Objekts. Diese Beschreibung stellt typischerweise eine Näherung (engl. approximation) einer wahren Oberfläche (d.h. eine Original- oder Musterfläche) eines originalen oder Musterobjekts dar, das gedruckt werden soll und/oder das durch Drucken repliziert werden soll.
  • Der Prozess des Transformierens dieser Beschreibung/Näherung in eine Auswahl von Voxeln zum 3D-Drucken kann auch als Voxelisierung bezeichnet werden. Eine Voxelisierung kann als erfolgreich betrachtet werden, wenn ein gewisser Grad an Exaktheit in Bezug auf die Wiedergabe der Form des Objekts erreicht wird und/oder wenn von den Voxeln eine physikalisch realisierbare (d.h. druckbare) Form definiert wird. Letzteres kann gleichbedeutend damit sein, dass die Voxel eine mannigfaltige Oberfläche definieren, die ein endliches Volumen umschließt.
  • Ob die Voxelisierung erfolgreich ist, hängt jedoch weitgehend von der Qualität der Näherung an die Form des Objekts ab, d.h. sie hängt weitgehend von der Qualität der eingegebenen Daten ab.
  • Typischerweise kann diese Näherung in Form einer Punktwolke oder eines Gitters, das aus zweidimensionalen geometrischen Elementen wie etwa Dreiecken besteht, bereitgestellt werden. Gitterelemente können lineare Elemente sein, die flach sind, oder Elemente höherer Ordnung, die gekrümmt sind. Die Ordnung kann in diesem Kontext eine Polynomordnung sein, und eine höhere Ordnung kann irgendeine Ordnung oberhalb von linear (z.B. quadratisch oder kubisch, aber typischerweise nicht höher) sein. Die Beschreibung kann z.B. aus einem 3D-Abtastprozess eines originalen Objekts oder Musterobjekts abgeleitet werden, das durch 3D-Drucken repliziert werden soll. Sie kann auch aus virtuellen dreidimensionalen Modellen (z.B. CAD-Modellen) abgeleitet werden, die ein Gitter bilden, wie dies von Standard-FEM-Algorithmen bekannt ist (Methode finiter Elemente).
  • Die Voxelisierung wird typischerweise durch Bestimmen von Überschneidungen und räumlichen Überlappungen zwischen den Primitiven der Näherung (z.B. ihren Punkten oder Polygonen) und den Voxeln durchgeführt, z.B. wenn die Näherung (virtuell) in das Bezugskoordinatensystem des Bauraums transformiert wird. Diese Transformation kann nach Belieben Skalierungen, Drehungen und Verschiebungen der Primitiven und ihrer Koordinaten beinhalten.
  • Häufig ist die Näherung jedoch durch eine Anzahl von Fehlerstellen (z.B. Löchern) gekennzeichnet, die zu einer unvollständigen Beschreibung der Oberfläche des Objekts führen. Punktprimitive, wie in den Elementen, die eine Punktwolke bilden, sind von Natur aus eine unvollständige Näherung der wahren Oberfläche, da sie nur eine Abtastung der Oberfläche darstellen, ohne Verbindungsinformationen anzugeben, durch welche die Oberfläche vervollständigt werden würde. Die Fähigkeit eines Voxelisierungsalgorithmus, solche Probleme zu bewältigen, kann seine Robustheit bestimmen. Auch wenn zahlreiche Methoden für die Verbesserung der Robustheit der Voxelisierung existieren, sind diese häufig auf sehr spezifische Arten von Fehlstellen gerichtet und erfordern sehr viel Computerspeicher und Verarbeitungszeit. Zum Beispiel sind diese Methoden häufig durch eine lokale Verfeinerung einer Tesselation gekennzeichnet, um eine Fehlstellen zu maskieren und/oder zu ersetzen, z.B. durch eine entsprechende lokale Gitterneubildung. Dies vergrößert den Speicherplatzbedarf und erfordert Verarbeitungszeit. Ein Beispiel findet sich z.B. in: S. Bischoff, D. Pavic, L. Kobbelt. 2005. Automatic restoration of polygonal models. ACM TOG 21, 4 (2005).
  • Ebenso können geometrische Merkmale, die durch die Näherung definiert oder in dieser enthalten sind, zumindest zum Teil kleiner sein als die verfügbare Voxelauflösung. In diesem Fall kann die Bestimmung, ob ein Voxel in Bezug auf ein Objekt (vorwiegend) innen oder außen liegt, erschwert sein, wobei eine unrichtige Bestimmung die Druckgenauigkeit erheblich verschlechtert.
  • Ein weiteres Problem entsteht, wenn Objekte innerhalb des Bauraums skaliert werden. Um einen gewünschten Grad an Genauigkeit aufrechtzuerhalten, ist es häufig notwendig, eine lokale Tesselation der Näherung an das Objekt (z.B. eines polygonalen Gitters) zu ändern, beispielsweise bei der Näherung an eine gekrümmte Oberfläche. Dies gilt insbesondere, wenn die Größe des Objekts gesteigert wird. Die Anpassung der Tesselation vergrößert jedoch den Speicherplatzbedarf und erfordert erhebliche Verarbeitungszeit.
  • Daher ist ein Ziel dieser Offenbarung, einen Voxelisierungsablauf bereitzustellen, der zumindest manche von den oben genannten Nachteilen begrenzt.
  • Dieses Ziel wird durch die Gegenstände der beigefügten unabhängigen Ansprüche erreicht. Vorteilhafte Ausführungsformen sind in den abhängigen Ansprüchen definiert. Jede der obigen Erläuterungen und/oder Definitionen kann ebenso auf die vorliegend offenbarte Lösung angewendet werden, wenn nichts anderes angegeben oder ersichtlich ist.
  • Im Allgemeinen schlägt die vorliegende Offenbarung eine neuartige Voxelisierungsmethode vor. Genauer werden Voxel auf Basis von Werten eines vorzeichenbehafteten Abstands der Voxel ausgewählt, wobei dieser Abstand vorzugsweise eine auf Voxeln basierende (vorläufige) Näherung der Oberfläche bezeichnet. Ferner sind vorzugsweise auch Versatzinformationen (engl. displacement information) enthalten, die einen Versatz zwischen der angenäherten Oberfläche und der wahren Oberfläche widerspiegeln. Alles in allem kann dies allgemein als Berechnung eines versatzbedingten, vorzeichenbehafteten Abstands, z.B. in Bezug auf die wahre Oberfläche, bezeichnet werden. Wenn dies für eine Anzahl oder sogar für jedes der Voxel des Bauraums (was hier beides möglich ist) durchgeführt wird, kann ein Feld von versatzbedingten, vorzeichenbehafteten Abständen bestimmt werden, das die Werte der (versatzbedingten) vorzeichenbehafteten Abstände der Voxel umfasst.
  • Statt die Näherung des Objekts lediglich direkt in Voxel umzuwandeln (z.B. durch Bestimmen räumlicher Überlappungen in einem gemeinsamen Koordinatensystem) und dies als endgültiges Voxelisierungsergebnis zu verwenden, wie dies im Stand der Technik häufig der Fall ist, kann das Feld von versatzbedingten, vorzeichenbehafteten Abständen (engl. displaced signed distance field) dieser Offenbarung verwendet werden, um eine robuste und exakte Voxelauswahl mit geringem Rechenaufwand durchzuführen, insbesondere bei der Skalierung von Druckgrößen. Dafür kann eine auf Voxeln basierende (anfängliche) Näherung generiert oder empfangen werden und kann verwendet werden, um das Feld von versatzbedingten, vorzeichenbehafteten Abständen zu berechnen.
  • Die Bestimmung des Feldes von versatzbedingten, vorzeichenbehafteten Abständen stellt eine Reihe von Vorteilen bereit und hilft dabei, existierende Nachteile, wie sie oben angegeben sind, zu überwinden. Zum Beispiel ermöglicht die vorliegende Lösung, Voxel bei der Auflösung der Fertigungsanlage direkt mit der Näherung des (wahren) Objekts in Beziehung zu setzen. Die ausgewählten Voxel können somit eine exakte, auf Voxeln basierende Darstellung der wahren Oberfläche darstellen, die für die Steuerung der additiven Fertigungsvorrichtung mit beschränkter weiterer Transformation der Darstellung oder ohne eine solche verwendet werden kann.
  • Ferner ist es mit der offenbarten Voxelisierungsmethode möglich, Näherungen, die eine grobe, elementare Näherung (z.B. eine dünnbesetzte Punktwolke oder ein grob tesselliertes polygonales Gitter oder eine spärliche, auf Voxeln basierende Näherung nach einer Vorverarbeitung) kombinieren, zusammen mit einer Versatzkarte (engl. displacement field)zu verwenden. Dies ist eine allgemein bekannte Methode zur Beschreibung dreidimensionaler Oberflächen mit geringem Rechen-, Speicher- und Übertragungsaufwand, von der bisher im Kontext der Voxelisierung nicht ausreichend Gebrauch gemacht wurde, insbesondere nicht ohne einen Zwischenschritt, der die Tesselation bis zu einem Punkt verfeinert, wo sie aus Polygonen in der Größenordnung eines Voxels besteht. Genauer kann die Versatzkarte eine topographische Textur- oder Höhenkarte der tatsächlichen Außenfläche definieren, der man sich unter Bezugnahme auf (oder ausgehend von) der elementaren (groben Näherung) annähert. Hierin kann diese Versatzkarte direkt verwendet werden, um mit beschränktem Rechenaufwand Voxel auszuwählen, die exakt der angenäherten Oberfläche ähneln.
  • Man beachte, dass die Möglichkeit der Verwendung eines grob tessellierten polygonalen Gitters und/oder einer spärlichen, auf Voxeln basierenden Näherung, während aufgrund der Einbeziehung der Versatzkarten immer noch exakte und glatte Oberflächen gedruckt werden können, den anfänglichen Näherungsablauf vereinfachen kann, z.B. im Vergleich zur Verwendung hoch-detaillierter polygoner Gitter von Beginn an.
  • Wenn ein Objekt und/oder seine Näherung zum Drucken skaliert wird/werden, erfordern die vorliegenden Voxelisierungsmethoden außerdem keine Verfeinerung der Tesselation oder Durchführung anderer umfassender Anpassungen der Näherung, um eine gewünschte Genauigkeit zu erreichen. Häufig können Versatzkarten mit einem Detaillierungsgrad abgeleitet werden, der ausreichend ist, um auf eine Bandbreite von Objektmaßstäben angewendet zu werden. Dies gilt insbesondere in dem Fall, dass die Versatzwerte der Karte in Bezug auf eine zugrundeliegende elementare Näherung definiert sind und/oder selbst skalierbar sind, d.h. nicht unbedingt absolute Versätze sind. Im Allgemeinen wurde gefunden, dass die Bestimmung von Feldern von versatzbedingten, vorzeichenbehafteten Abständen nach dem Skalieren üblicherweise weniger Rechenaufwand erfordert als die Anpassung oder Neudefinierung von Tesselationsgeometrien für die direkte Näherung an ein skaliertes Objekt (d.h. ganz ohne Einbeziehung von Versatzkarten).
  • Ferner hilft ein Feld von versatzbedingten, vorzeichenbehafteten Abständen dabei, die Robustheit zu verbessern. Zum Beispiel wurde gefunden, dass zum Kompensieren unvollständiger Näherungen eine Funktion (Vorzeichenfunktion), die ein Vorzeichen des Werts des vorzeichenbehafteten Abstands bestimmt, regularisiert oder geglättet werden kann. Die Funktion kann Werte eines definierten zusammenhängenden Bereichs, z.B. zwischen einem negativen und einem positiven Grenzwert (beispielsweise -1 und +1) ausgeben, wobei positiv und negativ Positionen angeben, die in Bezug auf die genäherte Oberfläche innen bzw. außen liegen. Bei Sprüngen oder Löchern innerhalb der Oberflächennäherungsdaten kann die Vorzeichenfunktion ähnliche Sprünge oder plötzliche Änderungen erfahren. Somit können solche plötzlichen Änderungen durch Regularisieren oder Glätten ihrer Werte geglättet werden, und die Auswirkung der Sprünge auf die Druckgenauigkeit kann verringert werden. Dies trägt dazu bei, in Regionen, wo der Näherung Daten fehlen, eine plausiblere Oberfläche zu erzeugen.
  • Die Regularisierung kann durch Filtern von Werten der Vorzeichenfunktion für Voxel in einer definierten Nachbarschaft zu einem Voxel, an dem der Sprung stattfindet, durchgeführt werden. Zum Beispiel kann ein Box-Filter oder Gauß-Filter verwendet werden. Vorzugsweise wird das Ausmaß (die Größe) der Nachbarschaft auf Basis des Abstands des Voxels zu der nächstgelegenen Oberfläche und/oder dem nächstgelegenen Punkt und/oder Voxel der Näherung bestimmt, um den Grad der Glättung zu maximieren, ohne dabei Vorzeicheninformationen von entgegengesetzten Seiten eines Teils der Näherungsoberfläche zu kombinieren. Alternative Arten der Regularisierung beinhalten die Durchführung der Vorzeichenfunktion, um partielle Differentialgleichungen (PDes) zu erfüllen, zum Beispiel einen Diffusionsprozess oder die Laplace- oder Poisson-Gleichungen. Eine auf PDEs basierende Regularisierung kann rechenmäßig aufwändiger sein als eine Filterung.
  • Eine Filterung der Vorzeichenfunktion verbessert die Robustheit mit einem beschränkten Rechenaufwand. Genauer kann eine Kompensierung von Sprüngen lediglich beschränkte und/oder bei steigenden Voxelzahlen höchstens linear steigende Verarbeitungszeiten erfordern. Dies ist anders als bei bekannten Oberflächenreparaturmethoden, die eine lokale Gitterneubildung verwenden, um Fehlstellen zu ersetzen oder zu überbrücken und die gar keine Notation von Feldern von versatzbedingten, vorzeichenbehafteten Abständen verwenden.
  • Darüber hinaus stellt die vorliegende Lösung effiziente Wege zur exakten Bestimmung von Versatzinformationen und/oder Versatzkarten bereit, z.B. wenn eine auf Primitiven basierende Näherung empfangen wird. Dies gilt vor allem für gekrümmte Primitive (d.h. solche höherer Ordnung) oder gekrümmte Polygone, wie etwa gekrümmte Dreiecke. Genauer wird hierin eine Möglichkeit zur Transformation von Oberflächennäherungen auf Basis solcher gekrümmter Elemente in eine kompaktere Notation auf Basis eines versatzbedingten, vorzeichenbehafteten Feldes offenbart, wobei diese Notation mit einem beliebigen der oben genannten Vorteile einhergeht.
  • Gemäß einem Aspekt wird ein Verfahren zur Produktion eines Objekts (z.B. eines Werkstücks) mit einer additiven Fertigungsvorrichtung, insbesondere mit einem 3D-Drucker, vorgeschlagen, wobei die additive Fertigungsvorrichtung einen Bauraum aufweist, der in virtuelle Voxel diskretisiert (anders ausgedrückt, unterteilt) ist, wobei das Verfahren umfasst:
    • - optional: Empfangen von Oberflächennäherungsdaten, die sich einer (z.B. wahren, originalen oder als Bezug dienenden) Oberfläche eines dreidimensionalen Objekts annähern, z.B. in Form einer auf Primitiven basierenden Näherung;
    • - Empfangen (vorzugsweise Generieren) einer auf Voxeln basierenden Näherung der (z.B. wahre, originale oder als Bezug dienende) Oberfläche eines dreidimensionalen Objekts, vorzugsweise auf Basis der Oberflächennäherungsdaten;
    • - Bestimmen eines vorzeichenbehafteten Abstandswerts für jedes von zumindest einer Untermenge von Voxeln, der einen Abstand zwischen den einzelnen Voxeln und mindestens einem Punkt beschreibt, der von der auf Voxeln basierenden Näherung definiert wird (z.B. dem Punkt der Oberflächennäherungsdaten, der dem Voxel am nächsten liegt);
    • - Auswählen von Voxeln, an denen Material hinzugefügt (z.B. gedruckt oder verfestigt) werden soll, um das Objekt zu produzieren, wobei die Auswahl auf Basis der vorzeichenbehafteten Abstandswerte der Voxel durchgeführt wird;
    wobei der vorzeichenbehaftete Abstandswert von jedem Voxel ferner auf Basis eines Versatzwerts bestimmt wird, der eine topographische (oder Höhen-) Eigenschaft der Daten (der Oberflächennäherung) beschreibt, z.B. durch Beschreiben eines Versatzes zwischen der Oberfläche des Objekts und ihrer Näherung durch die Oberflächennäherungsdaten, insbesondere an oder nahe an einem Punkt der auf Voxeln basierenden Näherung, der dem Voxel am nächsten liegt.
  • Demgemäß kann der vorzeichenbehaftete Abstandswert auch als versatzbedingter vorzeichenbehafteter Abstandswert bezeichnet werden. Der Begriff „vorzeichenbehaftet“ gibt an, dass vorzugsweise positive und negative Abstandswerte bestimmt werden können und dass der vorzeichenbehaftete Abstandswert durch ein entsprechendes Vorzeichen markiert ist.
  • Gemäß einem weiteren Aspekt eine Rechenvorrichtung zur Generierung von Fertigungsdaten (z.B. Druckdaten) für eine additive Fertigungsvorrichtung, insbesondere einen 3D-Drucker, wobei die additive Fertigungsvorrichtung einen Bauraum aufweist, der in virtuelle Voxel diskretisiert ist, wobei die Rechenvorrichtung ausgelegt ist:
    • - optional: zum Empfangen von Oberflächennäherungsdaten, die eine Näherung einer Oberfläche eines dreidimensionalen Objekts darstellen;
    • - Empfangen (vorzugsweise Generieren) einer auf Voxeln basierenden Näherung der (z.B. wahre, originale oder als Bezug dienende) Oberfläche eines dreidimensionalen Objekts, vorzugsweise auf Basis der Oberflächennäherungsdaten;
    • - Bestimmen eines vorzeichenbehafteten Abstandswerts für jedes von zumindest einer Untermenge von Voxeln, der einen Abstand zwischen den einzelnen Voxeln und mindestens einem Punkt beschreibt, der von der auf Voxeln basierenden Näherung definiert wird;
    • - Generieren von Fertigungsdaten durch Auswählen von Voxeln, an denen Material gedruckt werden soll, um das Objekt zu produzieren, wobei die Auswahl auf Basis der vorzeichenbehafteten Abstandswerte der Voxel durchgeführt wird;
    • - Ausgeben der Fertigungsdaten an den 3D-Drucker;
    wobei der vorzeichenbehaftete Abstandswert jedes Voxels ferner auf Basis eines Versatzwerts bestimmt wird, der eine topographische Eigenschaft der auf Voxeln basierenden Näherung beschreibt.
  • Die folgenden Ausführungsformen, Merkmale und Erörterungen betreffen gleichermaßen das Verfahren und die Rechenvorrichtung. Genauer kann die Rechenvorrichtung dafür ausgelegt sein, ein Verfahren nach einem der hierin offenbarten Ausführungsformen auszuführen, und kann alle weiteren Merkmale umfassen, die dafür notwendig sind. Dies kann sich hierin als Bezugnahme auf eine vorliegend offenbarte Lösung widerspiegeln, wobei die Lösung sowohl das Verfahren als auch die Rechenvorrichtung abdeckt.
  • Die Oberflächennäherungsdaten können als Teil der vorliegenden Lösung generiert werden (z.B. als eigener Verfahrensschritt und/oder durch die Rechenvorrichtung). Sie können z.B. in Form einer Punktwolke oder eines polygonalen Gitters bereitgestellt werden (wobei die Polygone z.B. flache oder gekrümmte Dreiecke sind). Die Oberflächennäherungsdaten können eine Versatzkarte enthalten, welche die Versatzwerte umfasst.
  • Die Oberflächennäherungsdaten können verwendet werden, um bei einer Voxelisierungsvorverarbeitung die auf Voxeln basierende Näherung zu generieren. Dies kann eine anfängliche oder grobe Näherung sein, die durch Durchführen der offenbarten Auswahl verfeinert wird. Somit kann man eine endgültige, auf Voxeln basierende Näherung erreichen, die für die Generierung der Fertigungsdaten verwendet wird.
  • Zur Bestimmung des vorzeichenbehafteten Abstandswerts einschließlich der Versatzinformationen kann ein Versatzwert eines in der auf Voxeln basierenden Näherung enthaltenen Punktes (z.B. eines Voxelzentrums) ausgewählt werden, der einem Voxel (genauer dessen Zentrum), für das der vorzeichenbehaftete Abstandswert bestimmt werden soll, am nächsten liegt. Dieser Versatzwert kann von dem vorzeichenbehafteten Abstand zwischen dem Voxel und z.B. einem diesem nächstgelegenen Punkt der auf Voxeln basierenden Näherung subtrahiert werden.
  • In einem Beispiel beinhalten oder definieren die Oberflächennäherungsdaten eine elementare Näherung, z.B. auf Basis einer zuvor erörterten groben Tesselation. Außerdem können Versatzwerte in den Oberflächennäherungsdaten enthalten oder von diesen ableitbar sein. Vorzugsweise ist die auf Voxeln basierende Näherung (an die Oberfläche) an sich spärlich oder elementar und z.B. mit Versatzwerten assoziiert, die gemäß irgendeinem hierin offenbarten Beispiel bereitgestellt oder bestimmt werden. Der Abstand eines Voxels kann in Bezug auf diese elementare (auf Voxeln basierende) Näherung bestimmt werden, und zur Bestimmung eines endgültigen (versatzbedingten) vorzeichenbehafteten Abstandswerts kann zusätzlich ein Versatzwert betrachtet werden.
  • Die Berechnung der Versatzwerte kann Teil der vorliegenden Lösung sein. Im Falle einer Punktwolke können beispielsweise lokale Oberflächen-Patches auf Basis von Koordinaten von Punkten in einer definierten Nachbarschaft berechnet werden. Eine solche Nachbarschaft kann durch eine festgelegte Anzahl von Punkten aus der Punktwolke definiert werden, welche die dem jeweiligen Punkt nächstgelegenen Punkte darstellen, oder die Nachbarschaft kann von allen anderen Punkten aus der Punktwolke innerhalb eines festgelegten Abstands zu dem jeweiligen Punkt definiert werden, oder sie kann eine Kombination daraus sein. Ein Versatzwert eines Punktes in der Nachbarschaft kann als Abstand zwischen dem Punkt und einem Oberflächen-Patch entlang eines Normalvektors des Oberflächen-Patch oder entlang des Normalvektors, der mit dem Punkt assoziiert ist, falls vorhanden, berechnet werden. Insbesondere für Punktwolken (aber nicht darauf beschränkt), kann eine Annahme von Eigenrauschen verwendet werden, um einen Versatz zu berechnen. Dieses Rauschen kann z.B. von einem Sensor bewirkt werden, der zur Erfassung der Punktwolke verwendet wird. Einem Voxel, das einen entsprechenden Punkt umfasst (z.B. einem Voxel der auf Voxeln basierenden Näherung), kann der Versatzwert des Punktes zugeordnet werden.
  • Für zweidimensionale Polygone, wie etwa flache Dreiecke, kann der Versatzwert auf Basis eines Abstands zwischen einem Voxelzentrum (z.B. der auf Voxeln basierenden Näherung) zu dessen nächstgelegenem Polygon oder, genauer, zu dem nächstgelegenen Punkt eines Polygons, von dem das Voxel geschnitten wird, bestimmt werden. Dies stellt eine Näherung dar, da die Polygone für den Zweck der Bestimmung des Versatzes so betrachtet werden, als würden sie die wahre Oberfläche darstellen. Man beachte, dass dies von der Bestimmung von Abständen wie sie hierin offenbart ist verschieden sein kann, da solche Abstände z.B. zwischen einem Voxel (insbesondere dessen Zentrum) und einem nächstgelegenen (Oberflächen-)Voxel (insbesondere dessen Zentrum), das die genäherte Oberfläche darstellt, bestimmt werden können.
  • Alles in allem kann sich Abstände (insbesondere im Kontext von Abstandswerten oder Abstandsfeldern) auf Abstände zwischen Voxeln beziehen, während sich Versätze auf einen Abstand zwischen einem Voxel, das die genäherte Oberfläche darstellt (d.h. das Teil der auf Voxeln basierenden Näherung ist), zu einem nächstgelegenen Punkt auf der wahren Oberfläche beziehen kann, wobei letztere z.B. mit der auf Primitiven basierenden Näherung des Objekts gleichgestellt ist.
  • Eine allgemeine Vorgehensweise zur Berechnung von Versatzwerten kann ebenso wie folgt zusammengefasst und/oder implementiert werden: Der Versatzwert kodiert vorzugsweise den Abstand vom Voxelzentrum zur wahren Oberfläche (oder einem geeigneten Modell oder einer geeigneten Näherung derselben) entlang der Richtung des Normalvektors, der z.B. durch das (mindestens eine) elementare Primitive (niederer Ordnung / flach), welches dieses Voxel schneidet, gegeben ist. Die wahre Oberfläche kann insbesondere durch eines der folgenden definiert werden:
    1. a) Das (mindestens eine) flache Polygon, von dem das Voxel geschnitten wird;
    2. b) Das (mindestens eine) Polygon höherer Ordnung, dessen (mindestens eine) flache Version (z.B. die hierin erörterten Äquivalente) das Voxel schneidet;
    3. c) für Punktprimitive eine vorab berechnete lokale Näherung, basierend auf anderen nahegelegenen Punkten, die einen Schätzwert für Rauschen in einem auf Sensoren basierenden Bestimmungsprozess widerspiegelt;
    4. d) Das Ergebnis von (a) oder (b), aber insbesondere (a), dahingehend modifiziert, dass ein Wert aus einem Versatzbild gesampelt und mit dem Normalvektor des elementaren Primitiven multipliziert wird, wobei ein Versatzbild gemäß bekannten Konventionen ein Grauwertbild ist, das eine Höhenkarte oder ein topographisches Bild in Bezug auf die von den Primitiven definierte Näherungsoberfläche darstellt, und als Eingabe mit der Punktwolke oder der Polygongitternäherung bereitgestellt wird;
    5. e) Das Ergebnis von (a) oder (b), aber insbesondere (a), dahingehend modifiziert, dass ein Versatz entlang des Normalvektors des elementaren Primitiven durch eine mathematische Funktion definiert wird, die auf den verfügbaren Größen, wie etwa Voxelposition, zufällig erzeugten Werten oder zusätzlich bereitgestellten Parametern, die spezifizieren, wie diese Werte zu kombinieren sind, basiert. Dies kann beschrieben werden als Generierung von Versatzmustern als Funktion von lokalen Oberflächeninformationen, um diese mit bestimmten Typen von Oberflächenerscheinungsbildern in Übereinstimmung zu bringen,
  • Für Polygone höherer Ordnung, z.B. gekrümmte, wie etwa gekrümmte Dreiecke, kann ein Versatz wie folgt berechnet werden: Ein lineares Polygon kann durch Verbinden der Scheitelpunkte des gekrümmten Polygons mit geraden Kanten definiert werden. Das resultierende Polygon kann ein flaches Äquivalent des gekrümmten sein. Im Anschluss daran kann der Versatz als Abstand zwischen diesem Äquivalent und dem gekrümmten Polygon bestimmt werden, vorzugsweise entlang eines Normalvektors des Äquivalents, das durch Bestimmen des Schnittpunkts zwischen dem gekrümmten Polygon und einer Linie, die an einem Punkt auf dem flachen Polygon beginnt und sich in der Richtung des Normalvektors erstreckt, berechnet werden kann. Einem Voxel, welches das flache Äquivalent enthält oder von diesem geschnitten wird, können die Versatzwerte zugeordnet werden, die für dieses Äquivalent berechnet werden (siehe auch b) oben). Ein vorzeichenbehafteter Abstand kann auf Basis eines Abstands zwischen Voxeln zu der auf Voxeln basierenden Näherung ebenso wie auf Basis der berechneten Versätze, die der auf Voxeln basierenden Näherung zugewiesen werden, bestimmt werden.
  • Alles im allem kann für Primitive höherer Ordnung eine zu Anfang empfangene Oberflächennäherung auf Basis von flachen Äquivalenten, die eine elementare Näherung bilden, und oben erörterten Versatzwerten (d.h. durch Berechnen eines Feldes von versatzbedingten, vorzeichenbehafteten Abständen) in eine Notation transformiert werden.
  • Alle anderen hierin erörterten Daten, Werte und Eigenschaften können sich auf ein definiertes (z.B. als Bezug dienendes oder globales) Koordinatensystem beziehen. Dieses Koordinatensystem kann in Bezug auf den Bauraum definiert werden, und die Diskretisierung der Voxel kann ebenfalls in Bezug auf das Koordinatensystem definiert werden. Auf allgemein bekannte Weise kann/können die Näherung und/oder das Objekt (z.B. ein virtuelles Modell desselben) gemäß vorgegebener Regeln und/oder auf Basis einer manuellen Eingabe (virtuell) in dem Bauraum angeordnet werden. Demgemäß können Koordinaten der Näherung in Bezug auf das Bezugskoordinatensystem definiert werden, d.h. die Oberflächennäherungsdaten können ebenfalls in dem Bezugskoordinatensystem zentriert oder definiert werden.
  • Die Oberflächennäherungsdaten können einen Punkt im Allgemeinen durch direktes Einbeziehen desselben und/oder seiner Koordinaten definieren. Sie können ihn auch indirekt definieren, z.B. durch Einbeziehen anderer Informationen oder Koordinaten, aus denen die Koordinate des Punktes berechnet werden können (z.B. eines zentralen Punktes eines Polygons, dessen Koordinaten auf Basis von gespeicherten Koordinaten der Scheitelpunkte des Polygons berechnet werden).
  • Ein Voxel kann im Allgemeinen von den Koordinaten seines zentralen Punktes dargestellt werden. Jeder Abstand oder jede andere räumliche Eigenschaft eines Voxels, die hierin erörtert wird, kann in Bezug auf das Zentrum definiert und/oder berechnet werden. Im Allgemeinen kann ein Voxel einen Raum definieren, der seinen zentralen Punkt und vorzugsweise einen kubischen Raum umgibt.
  • Vorzugsweise ist der mindestens eine Punkt der auf Voxeln basierenden Näherung, zu dem der Abstand bestimmt wird, der Punkt, der am nächsten an einem Voxel liegt (für das der vorzeichenbehaftete Abstand berechnet werden soll).
  • Die Auswahl von Voxeln kann der Generierung eines Datensatzes (insbesondere eines Satzes von Fertigungsdaten), der die Voxel, an denen Material hinzugefügt (z.B. gedruckt oder verfestigt) werden soll, umfasst oder definiert, äquivalent sein oder diese zur Folge haben. Dieser Datensatz kann die Basis der Steuerung der additiven Fertigungsvorrichtung sein, z.B. durch Definieren von Koordinaten, auf deren Basis Bewegungs- und/oder Drucksteuerungsbefehle generiert werden.
  • Demgemäß kann die vorliegende Lösung ferner das Generieren von Steuersignalen (oder, anders ausgedrückt, von Steuerbefehlen) umfassen, um die additive Fertigungsvorrichtung zu veranlassen, Material an den ausgewählten Voxeln zu drucken.
  • Im Allgemeinen kann der Voxelisierungsablauf (d.h. die Voxelauswahl) als Anfangsschritt der Herstellung von Fertigungsdaten ausgeführt werden. In einem Beispiel ist die hierin offenbarte Rechenvorrichtung separat und/oder unabhängig von der additiven Fertigungsvorrichtung konfiguriert oder designt und z.B. über einen kabelgebundenen oder kabellosen Kommunikationsweg mit dieser verbunden. Zum Beispiel kann die Rechenvorrichtung ein eigenständiger Personal Computer sein. Sie kann die generierten Fertigungsdaten an die additive Fertigungsvorrichtung und insbesondere an eine Steuereinheit derselben übertragen. Die Steuereinheit kann diese Daten verwenden, um Steuerbefehle für die Fertigungsvorrichtung zu generieren. Es ist jedoch ebenso möglich, die vorliegend offenbarte Rechenvorrichtung in die Fertigungsvorrichtung zu integrieren und/oder, dass die Rechenvorrichtung in einer Steuereinheit der Fertigungsvorrichtung enthalten ist.
  • In einer allgemein bevorzugten Weise können der Voxelisierungsablauf und/oder die Generierung von Fertigungsdaten zeitweise zumindest teilweise das Drucken des Objekts überlappen oder, anders ausgedrückt, gleichzeitig damit ausgeführt werden. Zum Beispiel kann der Bauraum in virtuelle Schichten unterteilt sein. Diese können entlang einer definierten Achse, z.B. des Bezugskoordinatensystems, insbesondere einer vertikalen oder z-Achse, gestapelt sein. Die Schichten können sich in einer Ebene erstrecken, die sich orthogonal zu der vertikalen oder z-Achse erstreckt (z.B. in einer x-y-Ebene). Jede Schicht kann eine definierte Längeneinheit und insbesondere genau ein Voxel entlang der z-Achse umfassen. Die Näherung der wahren Oberfläche und/oder die ausgewählten Voxel kann/können gleichermaßen mit Bezug auf solche Schichten definiert werden.
  • In einem Beispiel werden die Fertigungsdaten für jede Schicht oder für einen definierten Block von Schichten generiert. Zum Beispiel kann für eine definierte Zahl von Schichten (wobei diese Zahl nicht kleiner eins ist) jeder der hierin offenbarten Schritte durchgeführt werden, und die generierten Fertigungsdaten können an die additive Fertigungsvorrichtung übertragen werden, die vorzugsweise umgehend mit der Fertigung des Produkts beginnt. Im Anschluss daran kann eine nächste Zahl von Schichten (z.B. die nächsten entlang der z-Achse) verarbeitet werden, um zugehörige Fertigungsdaten für den schichtweisen Aufbau des Objekts zu generieren. Auf diese Weise können die Datenerzeugung und die Fertigung koordiniert und insbesondere zeitlich verschränkt werden, um Zeit zu sparen. Dies kann auch als kontinuierliche Übertragung bzw. Streaming der Fertigungsdaten an die additive Fertigungsvorrichtung bezeichnet werden. Die vorliegende Lösung ermöglicht diese kontinuierliche Übertragung, da jedes bzw. jede ihrer offenbarten Merkmale und Maßnahmen auf einzelne Schichten oder auf Blöcke von Schichten übertragen werden kann, ohne dafür auf eine vollständige Objektnäherung im Ganzen Bezug nehmen und/oder diese erst einmal verarbeiten zu müssen.
  • Die Versatzwerte können einen Versatz entlang einer definierten Achse und insbesondere entlang einer Normalen der (genäherten) Oberfläche, die von der auf Voxeln basierenden Näherung definiert wird, definieren. Demgemäß können sie eine Höhe oder einen Abstand entlang der Oberfläche senkrecht zu der Oberfläche, die von der auf Voxeln basierenden Näherung und insbesondere von ihrer Tesselationsgeometrie definiert wird, definieren, wobei letztere z.B. einer zuvor erörterten elementaren Näherung ähnelt.
  • In einem Beispiel wird der Versatzwert von einer Versatzkarte abgeleitet, die z.B. aus den Oberflächennäherungsdaten abgeleitet werden kann oder in diesen enthalten ist. Auf allgemein bekannte Weise definieren Versatzkarten eine topographische Textur- und/oder Höhenkarte in Bezug auf eine zugrundeliegende oder elementare Oberflächennäherung, wie etwa eine einfache Tesselationsgeometrie einer Näherung. Punkte, die von der Tesselationsgeometrie definiert werden, können (virtuell) gemäß Werten der Versatzkarte (insbesondere entlang der Senkrechten zur Oberfläche) verschoben und/oder versetzt werden, um der genäherten Oberfläche eine topographische Textur hinzuzufügen. In diesem Kontext gibt der Begriff „Karte“ an, dass die jeweiligen Versatzwerte für eine Anzahl von Punkten, die von der elementaren Oberflächennäherung definiert werden, gespeichert und somit kartiert werden .
  • Diese Art der Beschreibung eines topographischen Textur- oder Höhenprofils ermöglicht auch eine Modellierung von Krümmungen der Oberfläche, ohne dass diese Oberfläche und/oder die ihr zugrundeliegende elementare Oberflächennäherung in ähnlichem Maße gekrümmt sein muss/müssen. Dieses Ergebnis ist eine kompaktere Oberflächennäherung, die eine erhebliche Menge an Speicherplatz spart.
  • Wie oben gezeigt wurde, kann der Versatzwert auch aus der auf Voxeln basierenden Näherung und ihren Versätzen in Bezug auf eine auf Primitiven basierende Näherung abgeleitet werden. Diese Versätze können auch in einer Versatzkarte gespeichert werden und/oder können, z.B. als Teil einer Voxelisierungsvorverarbeitung, berechnet werden.
  • Im Allgemeinen hat sich gezeigt, dass die Verwendung einer Versatzkarte rechnerisch gesehen häufig effizienter ist (z.B. in Bezug auf den benötigten Speicher ebenso wie auf die Datenübertragung und -verarbeitung) als die Verwendung eines Abtastwerts einer feinen Tesselation und die Näherung einer topographischen Textur. Wie bereits angegeben ermöglicht dies in Bezug auf die additive Fertigung eine effizientere Datenverarbeitung, wenn ein zu druckendes Objekt skaliert wird.
  • Wenn ein Objekt beispielsweise vergrößert wird, während versucht wird, eine definierte Genauigkeit (die z.B. als Toleranzlevel definiert ist) einzuhalten, muss eine Näherung der Form des Objekts auf Basis der Tesselation deutlich verfeinert werden. In der Tat kann es sein, dass die Tesselation bei einer Vergrößerung auf nicht-lineare Weise verfeinert und z.B. ohne Weiteres vervierfacht werden muss. Dadurch wird die Datenmenge größer, die verarbeitet und gespeichert werden muss. Im Gegensatz dazu ist dadurch, dass eine Versatzkarte erstellt wird, eine entsprechende Datenzunahme typischerweise weniger umfassend, wodurch z.B. die kontinuierliche Übertragung von Fertigungsdaten schneller sein kann.
  • Gemäß einer weiteren Ausführungsform können solche Voxel ausgewählt werden, deren vorzeichenbehafteter Abstandswert angibt, dass das Voxel auf oder innerhalb des Objekts liegt (d.h. der wahren Oberfläche oder irgendwelcher Modellen oder vereinfachter Stellvertreter derselben, siehe a) bis e) oben). Typischerweise weist ein Voxel, das in Bezug auf die Oberfläche des Objekts innen liegt, ein negatives Vorzeichen auf, und wenn es auf der Oberfläche liegt, kann es einen Wert von null aufweisen.
  • Ferner können solche Voxel ausgewählt werden, die als zusätzliche Bedingung mindestens ein benachbartes Voxel aufweisen, dessen vorzeichenbehafteter Abstandswert angibt, dass das Voxel außerhalb des Objekts liegt (insbesondere bei einer Näherung durch die auf Primitiven basierende Näherung). Dies kann der Fall sein, wenn der Wert größer ist als null, d.h. ein positives Vorzeichen hat. Voxel können als Nachbarn betrachtet werden, wenn sie Teil einer definierten Nachbarschaft sind. Die Nachbarschaft kann ein vorzugsweise kubisches Volumen definieren, z.B. mit einem definierten Voxel in seinem Zentrum, und die Voxel, die in diesem Volumen enthalten sind, können Nachbarn dieses definierten Voxels sein. Die Nachbarschaft kann nur auf direkte Nachbarn beschränkt sein, die z.B. Flächen aufweisen, die an ein definiertes (z.B. zentrales) Voxel anstoßen. Dies kann als eine 6er-Nachbarschaft bezeichnet werden. Alternativ dazu kann z.B. eine 26er-Nachbarschaft verwendet werden, die Voxel enthält, die eine Ecke mit einem zentralen Voxel gemeinsam haben. Mehr Hintergrund zu Nachbarschaftsdefinitionen im Kontext der Voxelisierung ist zu finden in: D. Cohen-Or und A. Kaufman. 1995. Fundamentals of Surface Voxelization. Graphical Models and Image Processing 57, 6 (November 1995), 453-461.
  • Man beachte, dass Überlegungen in Bezug auf innenliegend (auf der inneren Seite) oder außenliegend (außerhalb) auf einer jeweiligen Definition einer Innenseite und einer Außenseite der Oberfläche basieren können. Vorzugsweise definiert die Oberfläche eine geschlossene Mannigfaltigkeit einer dreidimensionalen Form, z.B. als Folge der hierin offenbarten Voxelauswahlkriterien, für die Innen und Außen eindeutig bestimmt sind. Dies schließt nicht aus, dass die jeweilige Form nicht überall perfekt ist, wie hierin erörtert. Formaler ausgedrückt kann das in Bezug auf eine geschlossene Oberfläche Innenliegende als Untermenge des Euklidischen Raums mit einem endlichen Volumen definiert werden. Jede geschlossene, ausrichtbare, 2-faltige Oberfläche teilt einen dreidimensionalen Raum in unzusammenhängende Regionen, eine mit einem endlichen Volumen (innenliegend) und die andere mit einen unendlichen Volumen (außenliegend).
  • Wie oben angegeben, beinhaltet eine weitere Ausführungsform zumindest lokal (z.B. in Bezug auf eine definierte Nachbarschaft) das Filtern einer Vorzeichenfunktion, die das Vorzeichen des vorzeichenbehafteten Abstandswerts bestimmt. Die Filterung kann einen Glättungs- oder Mittelungseffekt bereitstellen, z.B. durch Anpassen lokaler Werte der Vorzeichenfunktion an benachbarte Werte oder, allgemein gesagt, durch Harmonisieren dieser Werte.
  • Im Allgemeinen kann die Vorzeichenfunktion auf jedes Voxel angewendet werden. Anders ausgedrückt kann jedem Voxel ein Wert zugeordnet werden, der durch die Vorzeichenfunktion berechnet wird, wobei der Wert einen lokalen Wert der Vorzeichenfunktion darstellt. Die Filterung kann auf Voxel angewendet werden, deren Vorzeichenfunktionswerte Ausreißer, z.B. im Vergleich mit einer definierten Nachbarschaft, darstellen.
  • Man beachte, dass die Filterung dadurch durchgeführt werden kann, dass man einen Wert des Feldes der vorzeichenbehafteten Abstände (das einen Abstand zu der auf Voxeln basierenden Näherung beschreibt) an dem Voxel, das gefiltert werden soll, berücksichtigt. Genauer kann ein Grad oder können Parameter der Filterung auf Basis dieses Wertes angepasst werden. Im Falle eines Box-Filters oder Durchschnittsfilters kann der Abstand des Voxels, dessen Vorzeichenwert gefiltert werden soll, zu der auf Voxeln basierenden Näherung verwendet werden, um die Breite des Box-Filters zu bestimmen. Genauer kann das Box-Filter durchschnittlich eine Anzahl von Nƒ Voxeln auf jeder Seite des Voxels, dessen Vorzeichenwert gefiltert werden soll, aufweisen, so dass Nƒ der größte ganzzahlige Wert ist, der, wenn er mit der Größe eines Voxels multipliziert wird, kleiner ist als der Abstand des Voxels zu der auf Voxeln basierenden Näherung. Man beachte, dass bei sukzessiver Verwendung dieser Methode entlang jeder Achse eindimensionale Box-Filter angewendet werden können, wobei das Ergebnis der Filterung entlang einer Achse die Eingabe für die Filterung entlang der nächsten Achse ist. Die Filterung kann in beliebiger Reihenfolge entlang der Achsen angewendet werden, beispielsweise entlang x, dann y, dann z.
  • Ebenso kann im Falle eines Gauß-Filters die Standardabweichung der Gaußschen Gewichtsfunktion auf einen Bruchteil des Abstands des Voxels zu der auf Voxeln basierenden Näherung eingestellt werden, zum Beispiel auf eine Hälfte oder ein Drittel dieses Abstands.
  • Gemäß einem Aspekt wird ein Vorzeichen für mindestens ein Voxel, das eine Mehrzahl von Primitiven enthält, die für die Näherung der Oberfläche verwendet werden, auf Basis einer Ausrichtung mindestens einer Fläche des Voxels in Bezug auf das Primitive bestimmt. Die Primitiven können Teil der Oberflächennäherungsdaten sein, d.h. der genäherten Oberfläche (oder Oberflächennäherung), die durch diese Daten oder Primitiven definiert wird. Das Voxel kann das Primitive als Ganzes enthalten und/oder kann eine Mehrzahl dieser Primitiven enthalten oder zumindest von ihnen geschnitten werden. Wie oben angegeben, kann dies der Fall sein, wenn die Näherung der Oberfläche des Objekts mit Sub-Voxel-Genauigkeit durchgeführt wird, mit einer jeweils detaillierten, auf Primitiven basierenden genäherten Oberfläche.
  • Die Vorzeichenbestimmung für ein jeweiliges Voxel beinhaltet vorzugsweise eine Bestimmung, ob das Voxel vorwiegend auf der Innenseite oder der Außenseite des (mindestens einen) Primitiven (und/oder der Oberflächenregion, zu der das (mindestens eine) Primitive gehört, liegt. Ob etwas in Bezug auf ein Primitives innen oder außen liegt, kann durch eine Richtung eines Normalvektors definiert werden. Im Falle von polygonen Primitiven kann letzterer z.B. aus einer normalisierten Scheitelpunktindexierung abgeleitet werden. Im Falle von Punktwolken kann jedem Punkt ein entsprechender Normalvektor gemäß einer Richtung einer Sensorachse zugeordnet werden, wenn der Punkt erfasst wird.
  • In einem Beispiel wird die Ausrichtung einer Voxelfläche in Bezug auf enthaltene Primitive auf Basis eines Gradienten eines Feldes von versetzten vorzeichenbehafteten Abständen eines Primitiven bestimmt (d.h. für welches das Primitive und insbesondere eine Ebene, die von ihm definiert wird, als Bezug dienen, und wo Abstände von Punkten im Raum in Bezug darauf bestimmt werden). Dieser Gradient kann auf vordefinierte Richtungen projiziert werden, z.B. die sechs Richtungen (positiv und negativ), die von dem Bezugskoordinatensystem definiert werden. Ein solcher Satz von Gradientenprojektionen kann für jedes Primitive durchgeführt werden, welches das Voxel schneidet.
  • Eine Summe von entsprechenden Gradienten kann für jedes Primitive für jede Fläche bestimmt werden. Ein Abstand des Primitiven zu vorzugsweise jeder Fläche kann berücksichtigt werden. Dafür kann eine Gewichtung angewendet werden. Eine solche Gewichtung kann vorzugsweise höher sein, wenn das Primitive näher an einer Voxelfläche liegt, und niedriger sein, wenn das Primitive weiter weg von einer Voxelfläche liegt. Um den Abstand eines Primitiven von einer Voxelfläche zu bestimmen, kann der geometrische Schwerpunkt des Schnittpunkts dieses Primitiven mit dem Voxel (anders ausgedrückt der Schwerpunkt der Restriktion oder Begrenzung des Primitiven auf das Voxel) verwendet werden.
  • Wie bereits angegeben kann eine Vorzeichenfunktion, welche das Vorzeichen des vorzeichenbehafteten Abstandswerts bestimmt, zumindest zum Teil gefiltert oder auf andere Weise normalisiert oder geglättet werden, um die Robustheit zu verbessern und das Drucken von glatten Oberflächen auch dann zu ermöglichen, wenn eine unvollständige Oberflächennäherung empfangen wird.
  • Ferner kann für eine Kompensierung einer Selbstüberschneidung, anders ausgedrückt einer Selbstüberlappung von Abschnitten der auf Voxeln basierenden Näherung eine Floodfill-Berechnung durchgeführt werden. Dies kann z.B. vor der Durchführung der Voxelauswahl an einer größeren Voxelnachbarschaft und/oder für eine Reihe von Schichten des Bauraums durchgeführt werden. Diese Berechnung kann bestimmen, welche Voxel an leeren Bereichen des Bauraums liegen, die z.B. das Objekt nicht enthalten. Danach können diejenigen ausgewählten Voxel verworfen werden, die einem selbstüberlappenden Abschnitt ähneln, z.B. da sie nicht an eine leere Region angrenzen und somit nicht auf einer Oberfläche liegen. Weitere Einzelheiten dazu werden in Verbindung mit der unten dargestellten Ausführungsform offenbart.
  • Ausführungsformen der vorliegend offenbarten Lösung werden im Folgenden unter Bezugnahme auf die beigefügten schematischen Figuren erörtert.
    • 1 ist eine Darstellung einer Rechenvorrichtung gemäß einer Ausführungsform der Erfindung, die Fertigung für einen 3D-Drucker generiert.
    • 2 ist ein Ablaufschema eines Verfahrens gemäß einer Ausführungsform der Erfindung, das von einer Rechenvorrichtung gemäß einer Ausführungsform der Erfindung ausgeführt wird.
    • 3 stellt eine Vorzeichenbestimmung mit Sub-Voxel-Genauigkeit dar.
  • 1 ist eine schematische Abbildung einer Rechenvorrichtung 10, z.B. in Form eines PC. Die Rechenvorrichtung 10 ist, z.B. über einen kabellosen Kommunikationsweg D, mit einer additiven Fertigungsvorrichtung in Form eines 3D-Druckers 12 verbunden. Der 3D-Drucker 12 kann allgemein gemäß bekannten Beispielen gestaltet sein.
  • Der 3D-Drucker 12 weist eine kinematische Einheit 14 auf, die nicht-dargestellte mechanische Bewegungsachsen zum Bewegen eines Druckkopfs 16 in einem und/oder in Bezug auf einen Bauraum 18 umfasst. Der Bauraum ist dreidimensional und mit einem kartesischen Bezugskoordinatensystem 21 assoziiert, dessen z-Achse einer vertikalen Raumachse entspricht. Eine andere Achse (y) erstreckt sich orthogonal zu der Ebene der 1. Diese 1 ähnelt daher einer Seitenansicht des 3D-Druckers 12.
  • Der Bauraum 18 ist in ein regelmäßiges Gitter von Voxeln 20 unterteilt, von denen nur einem ein entsprechendes Bezugszeichen zugeordnet ist. Man beachte, dass die Darstellung von 1 nur schematisch ist und dass die Voxelgröße vorzugsweise wesentlich geringer ist. Außerdem werden nur Voxel 20 von voller Größer definiert, auch wenn die Darstellung in der Nähe von Kanten des Bauraums 18 etwas anderes vermuten lassen könnte.
  • Ferner wird ein Objekt 22, das produziert werden soll und dem man sich zu Beginn durch eine auf Primitiven basierende Oberflächennäherung nähern soll, von einer gestrichelten Umrisslinie angegeben.
  • Unter Bezugnahme auf das Ablaufschema von 2 wird im Folgenden ein Betrieb des Systems von 1 und insbesondere die Generierung von Fertigungsdaten erörtert.
  • In einem ersten Schritt S1 wird ein erster Datensatz empfangen, der Oberflächennäherungsdaten umfasst. Die Oberflächennäherungsdaten stellen eine Beschreibung eines dreidimensionalen Objekts dar, das produziert (d.h. gedruckt) werden soll, oder enthalten eine solche. Genauer enthalten die Oberflächennäherungsdaten eine Beschreibung der dreidimensionalen Eigenschaften des Objekts und insbesondere seiner Oberfläche und Form. Diese Beschreibung ist eine auf Primitiven basierende Näherung an die tatsächliche wahre Oberfläche des Objekts und kann (insbesondere mathematisch und/oder digital) die wahre Oberfläche auf Basis von allgemein bekannten Methoden modellieren.
  • Zum Beispiel kann die auf Primitiven basierende Näherung eine Punktwolke enthalten, die z.B. auf Basis einer dreidimensionalen Abtastung einer Probe des Objekts (z.B. eines Originals oder Musterobjekts) generiert wird. Alternativ dazu kann die auf Primitiven basierende Näherung ein Gitter aus zumindest zweidimensionalen und/oder linearen geometrischen Elementen und insbesondere Polygonen, wie etwa Dreiecken, enthalten. Alles in allem können die Oberflächennäherungsdaten Primitive (vorzugsweise in Form der oben genannten Punkt oder Polygone) enthalten, die sich an die Oberfläche des Objekts annähern.
  • Die auf Primitiven basierende Näherung und genauer die Koordinaten ihrer Primitiven werden in einem Koordinatensystem definiert, auf das auch in folgenden Schritten Bezug genommen wird. Dieses Koordinatensystem kann als globales oder Bezugskoordinatensystem dienen und ist in der gegebenen Ausführungsform das Koordinatensystem 21 von 2. Koordinaten der Primitiven können nach jedem bekannten Prinzip in das Bezugskoordinatensystem 21 transformiert werden. Zum Beispiel kann die dreidimensionale Form, die von der auf Primitiven basierenden Näherung beschrieben wird, in einer virtuellen Darstellung des Bauraums 18 und somit in Bezug auf das Bezugskoordinatensystem 21 (virtuell) angeordnet (z.B. verschoben oder gedreht ) und/oder skaliert werden.
  • Wie oben angegeben, ist der Bauraum 18 in eine Reihe von regelmäßig angeordneten Voxeln 20 unterteilt (z.B. als regelmäßiges dreidimensionales Gitter oder als ebensolcher Stapel von Voxeln 20 angeordnet). Eine Position von jedem Voxel 20 wird von Koordinaten (z.B. von seinem zentralen Punkt) in dem Bezugskoordinatensystem 21 definiert. Die Größe der Voxel 20 wird durch eine Auflösung des 3D-Druckers 12 definiert und ähnelt vorzugsweise der kleinsten volumetrischen Einheit, der gemäß der 3D-Drucker 12 lokal drucken und/oder verfestigtes Material abscheiden oder produzieren kann.
  • In einem Schritt S2 wird ein vorbereitender Oberflächenvoxelisierungsprozess verwendet, um, bildlich gesprochen, die dreidimensionale, auf Primitiven basierende Oberflächennäherung in eine dreidimensionale Oberflächennäherung umzuwandeln, die auf Voxeln 20 basiert. Dafür können die Primitiven der auf Primitiven basierenden Oberflächennäherungsdaten mit räumlich vergleichbaren und/oder einander räumlich überlappenden Voxeln 20 assoziiert werden, und diese Voxel 20 können aus einer auf Voxeln basierenden Näherung an das Objekt 22 ausgewählt werden. Auf allgemein bekannte Weise kann diese auf Voxeln basierende Näherung zum Drucken des Objekts 22 verwendet werden, aber wird hierin durch Durchführen der nachstehend genannten Auswahl weiter verfeinert.
  • Genauer beinhaltet im Falle der auf Primitiven basierenden Oberflächennäherung, die eine Punktwolke umfasst, der vorbereitende Oberflächenvoxelisierungsprozess das Identifizieren derjenigen Voxel 20, welche die Punkte dieser Punktwolke enthalten (d.h. diese räumlich überlappen). In diesem Kontext kann jeder Punkt als infinitesimal definiert werden und/oder könnte nicht in mehr als einem Voxel 20 enthalten sein. In dem Fall, dass die Punkte mit bestimmten Eigenschaften assoziiert sind, wie etwa mit Farbe oder Material, kann die Eigenschaft eines Voxels 20 als Durchschnitt der Eigenschaften aller Punkte, die in dem Voxel 20 enthalten sind, bestimmt werden.
  • In dem Fall, dass die Primitiven Polygone sind, können diejenigen Voxel 20 identifiziert werden, die von einem Polygon geschnitten werden.
  • Infolgedessen wird eine Anzahl von Voxeln 20 (Oberflächenvoxeln) identifiziert, die sich der dreidimensionalen Oberfläche annähern, die von den Daten des Oberflächennäherungs-Datensatzes (d.h. von zu Anfang empfangenen Primitiven) beschrieben wird. Dies kann auch als auf Voxeln basierende Näherung S ˜
    Figure DE102020215766A1_0001
    an eine dreidimensionale Form bezeichnet werden, wobei S ˜
    Figure DE102020215766A1_0002
    die Oberflächenvoxel 20 bezeichnet, die von dem oben genannten vorbereitenden Oberflächenvoxelisierungsprozess, der auf den eingegebenen Primitiven basiert, generiert wird. Vorzugsweise werden für die weitere Verarbeitung nur diejenigen Voxel 20 gespeichert, die während des vorbereitenden Oberflächenvoxelisierungsprozesses identifiziert wurden.
  • Man beachte, dass in dem gegebenen Beispiel der Fokus im Allgemeinen auf einer exakten Oberflächennäherung und/oder einer exakten Beschreibung des Objekts 22 für Druckzwecke liegt. Das Innere des Objekts 22 ist hier nicht von Interesse, und jede bekannte Methode kann verwendet werden, um zu bestimmen, bis zu welchem Grad Strukturen darin gedruckt werden sollten (z.B. für Stütz- oder Stabilisierungszwecke).
  • Beginnend mit Schritt S3 und basierend auf der Voxelnäherung an die Oberfläche des Objekts wird ein Feld von versatzbedingten, vorzeichenbehafteten Abständen bestimmt. Auf allgemein bekannte Weise bedeutet die Bestimmung eines Abstandsfelds, dass für jeden Punkt in einem Bezugskoordinatensystem (wie 21) der Abstand zu einem definierten Bezug bestimmt wird. Hier ist dieser Bezug die auf Voxeln basierende Oberflächennäherung S ˜ ,
    Figure DE102020215766A1_0003
    und die betrachteten Punkte u sind die Zentren jedes anderen Voxels 20 des Aufbauraums 18. Durch Hinzufügen eines Vorzeichens zu dem Abstand wird definiert, auf welcher Seite des Objekts (innenliegend oder außenliegend) ein Voxel 20 positioniert ist.
  • Man beachte, dass eine wahre Oberfläche des Objekts, die als Bezug für die Vorzeichendefinition dient, implizit durch die unten stehende Gleichung (3) definiert wird. Diese wahre Oberfläche umfasst alle Voxel und/oder Punkte, für die diese Gleichung (3) null ergibt.
  • Der bestimmte Abstand zur Oberflächennäherung S ˜
    Figure DE102020215766A1_0004
    wird mit d̃(u) gekennzeichnet. Im vorliegenden Fall wird der kleinste Abstand betrachtet, d.h. der Abstand zwischen jedem Voxelzentrum u zu dem nächstgelegenen Punkt v, der in der auf Voxeln basierenden Oberflächennäherung S ˜
    Figure DE102020215766A1_0005
    enthalten ist, wobei v ein Zentrum des nächstgelegenen Oberflächenvoxels ist. Dies kann wie folgt ausgedrückt werden (Gleichung 1): d ˜ ( u ) = min v S ˜ u v 2
    Figure DE102020215766A1_0006
  • Wie oben angegeben, ist ein Ziel hierin die Bestimmung oder zumindest Näherung eines vorzeichenbehafteten Abstandswerts f(u), die außerdem berücksichtigt, ob ein Voxelzentrum u innerhalb der Oberfläche und somit des Objekts liegt (z.B. von dessen wahrer Oberfläche ∂S umgeben ist) oder außerhalb desselben liegt. Dies kann wie folgt ausgedrückt werden (Gleichung 2): ƒ ( u ) = s ( u ) d ˜ ( u ) ,
    Figure DE102020215766A1_0007
    wobei s : ℝ3 ↦[-1,1]
  • Man beachte, dass s(u) hierin als eine Vorzeichenfunktion bezeichnet werden kann. Sie hat vorzugsweise einen zusammenhängenden Wertebereich zwischen ihrem unteren negativen und oberen positiven Grenzwert, d.h. ist nicht auf diese Grenzwerte beschränkt. Dies ist z.B. günstig im Kontext einer Oberflächenreparatur durch Filtern, wie unten erörtert. Werte, die von den Grenzwerten verschieden sind, können z.B. dann erreicht werden, wenn ein Voxel in Bezug auf die Oberfläche versetzt ist, aber in einem Winkel zum nächstgelegenen Punkt auf der auf Voxeln basierenden genäherten Oberfläche S ˜ ,
    Figure DE102020215766A1_0008
    d.h. nicht direkt entlang des Normalvektors des nächstgelegenen Punktes, liegt. Falls der nächstgelegene Punkt z.B. mit u markiert ist, dann ist s(u) dem Cosinus des Winkels zwischen dem Vektor u - u und dem Normalvektor bei u. gleich.
  • Die vorliegende Ausführungsform berücksichtigt auch Versatzinformationen. Auf allgemein bekannte Weise können diese in Form einer Versatzkarte ⊔(u) bereitgestellt werden, wobei ϕ : S ˜ .
    Figure DE102020215766A1_0009
  • Die Versatzkarte Φ(u̅) drückt z.B. Abweichungen der auf Voxeln basierenden genäherten Oberfläche S ˜
    Figure DE102020215766A1_0010
    im Vergleich zu der wahren Oberfläche ∂S entlang der Oberfläche, die normal ist zu der auf Voxeln basierenden genäherten Oberfläche S ˜ ,
    Figure DE102020215766A1_0011
    aus. Im Allgemeinen beschreibt sie ein Höhenprofil oder eine topographische Textur der auf Voxeln basierenden genäherten Oberfläche S ˜ .
    Figure DE102020215766A1_0012
  • Ein Punkt u̅ ist ein Punkt, der von der auf Voxeln basierenden genäherten Oberfläche S ˜
    Figure DE102020215766A1_0013
    (und vorzugsweise einem Zentrum eines ihrer Voxel) definiert wird, der einem Voxelzentrum u, für das der vorzeichenbehaftete Abstand berechnet werden soll, am nächsten liegt.
  • Eine Versatzkarte kann auf allgemein bekannte Weise, z.B. durch Strahlverfolgung oder Strahlmarschieren, berechnet werden und/oder kann abgerufen werden, wenn die auf Primitiven basierende genäherte Oberfläche bestimmt wird. Alternative Möglichkeiten zur Berechnung von Versatzwerten auf Basis der Primitiven der auf Primitiven basierenden Oberflächennäherung sind oben erörtert, insbesondere in Bezug auf Primitive höherer Ordnung (z.B. gekrümmte).
  • Die oben markierte Funktion des anfänglichen vorzeichenbehafteten Abstands kann somit erweitert werden wie folgt (Gleichung 3): ƒ ( u ) = s ( u ) d ˜ ( u ) ϕ ( u ¯ )
    Figure DE102020215766A1_0014
    wobei u ¯ = arg min v S ˜ u v 2
    Figure DE102020215766A1_0015
    der zu einem gegebenen Voxelzentrum nächstgelegene Punkt auf S ˜
    Figure DE102020215766A1_0016
    ist.
  • Ein allgemeines Ziel ist es, später Voxel 20 auszuwählen, die sich dem zu druckenden Objekt 22 exakt nähern. Wie unten erörtert wird, schlägt die vorliegende Ausführungsform eine Auswahlregel vor, die auf den versatzbedingten, vorzeichenbehafteten Abständen f(u) der Voxelzentren u basiert. Demgemäß erhöht eine exakte Bestimmung des Vorzeichens s(u) die Wahrscheinlichkeit dafür, dass richtig ausgewählt wird.
  • Die Bestimmung eines Vorzeichens s für jedes Voxelzentrum u findet in Schritt S4 statt. Bisher war es schwierig, mit beschränktem Rechenaufwand mit sogenannten Sub-Voxel-Grenzwerten oder Sub-Voxel-Primitivenakkumulationen zurechtzukommen. Genauer ist die Vorzeichenbestimmung schwierig, wenn ein Voxel 20 eine Mehrzahl von Primitiven enthält. Eine solche Akkumulation von Primitiven in einem Voxel 20 kann auftreten, wenn die Größe des lokalen Merkmals der Oberflächennäherungsdaten und/oder der auf Primitiven basierenden Näherung in der Größenordnung der Voxelgröße oder darunter liegt. Dies kann eintreten, wenn geometrische Strukturen des Objekts 22 von zu geringer Größe sind, um mit der Druckauflösung aufgenommen werden zu können, wobei die Strukturen z.B. scharfe Kanten oder dünnwandige oder röhrenförmige Abschnitte eines Objekts 22 sind. Solche Strukturen werden wahrscheinlich mit geringer Genauigkeit gedruckt, wenn unrichtige Vorzeichen umgebender Voxel 20 bestimmt werden und die Auswahl von Voxeln auf ihrer Basis durchgeführt wird.
  • Eine theoretisch denkbare Methode wäre die Bestimmung der vorzeichenbehafteten Abstände f(u) bei höherer Auflösung auf Rechenebene. Auf diese Weise kann die Voxelgröße zumindest lokal so verringert werden, dass gleichzeitig weniger Primitive darin enthalten sind. Zum Drucken wäre aber erneut ein Downsampling der Voxel 20 nötig. Dies verlängert jedoch die Rechenzeit und verbessert wegen des Downsampling nicht unbedingt die Genauigkeit.
  • Demgemäß schlägt die vorliegende Ausführungsform eine andere Möglichkeit vor, wie das Problem der richtigen Vorzeichenbestimmung für Voxel 20, die viele Primitive enthalten, zu lösen ist. Im Allgemeinen wird dies durch Evaluieren der Ausrichtung von Flächen eines Voxels 20 in Bezug auf jedes darin enthaltene Primitive durchgeführt. Die Ausrichtung drückt aus, ob die Fläche einwärts oder auswärts von einem Primitiven (und/oder der Oberfläche, die von dem Primitiven genähert wird) liegt. Dafür können die Primitiven und genauer Gradienten der Felder von vorzeichenbehafteten Abständen, die von einzelnen Primitiven definiert werden, wie oben beschrieben, (virtuell und mathematisch) auf die Richtung projiziert werden, die von einer Linie von dem Voxelzentrum durch das Zentrum jeder Fläche (d.h.) Grenze eines Voxels 20 definiert wird.
  • Ferner wird vorzugsweise eine Gewichtung einbezogen, um relative Abstände zwischen den enthaltenen Primitiven und den Flächen zu berücksichtigen. Insgesamt wird eine Summe jeweils gewichteter Werte, welche die Ausrichtungen der einzelnen Voxelflächen in Bezug zu jedem enthaltenen Primitiven widerspiegeln, berechnet, um das Vorzeichen der angrenzenden Voxel entlang einer gegebenen Richtung ab dem Voxel zu bestimmen (d.h. zu berechnen, wie sich das Vorzeichen verhält, wenn das Voxel belassen wird und angrenzende Voxel eingebracht werden). Dies kann darstellen, ob ein Teil oder eine Region der Grenze eines Voxels eher einwärts oder auswärts in Bezug auf alle darin enthaltenen Primitiven liegt. Genauer kann dies helfen, eine zweideutige Vorzeichenbestimmung zu überwinden, wenn mehrere Primitive innerhalb eines Voxels in einander entgegengesetzten Richtungen ausgerichtet sind. Die gewichteten Summen der Gradienten, die hierin vorgeschlagen werden, ermöglichen im Gegenteil eine Aussage über das Vorzeichen von Punkten in unterschiedlichen Richtungen außerhalb dieses Voxels.
  • Eine geeignete Methode zur Implementierung des obigen basiert auf der Berechnung eines vorzeichenbehafteten Abstands für jedes Primitive in einem Voxel 20 und der Evaluierung seiner Änderung, wenn es sich z.B. entlang definierter Richtungen und Achsen ab einem Voxelzentrum u zu jeder Fläche eines Voxels 20 bewegt. Zum Beispiel kann in einem Fall eines Polygongitters als einfache, auf Primitiven basierende Näherung der Abstand von Punkten in Bezug auf eine Ebene jedes Polygons betrachtet werden.
  • Demgemäß werden Gradienten von Funktionen vorzeichenbehafteter Abstände ⊔⊔f(u) der Primitiven p in Bezug auf das Voxelzentrum u, wenn man sich von dem Zentrum entlang einer vorgegebenen Richtung UUbewegt, für jedes Primitive summiert und gewichtet wie oben angegeben, wobei np ein Normalvektor eines Primitiven ist, der einen Gradienten der Funktion vorzeichenbehafteter Abstände eines Primitiven ausdrückt (Gleichung 4): ω ƒ ( u ) = 1 p P w p ( u , ω ) p P n p T ω w p ( u , ω )
    Figure DE102020215766A1_0017
  • Vorzugsweise werden die Gewichte definiert durch (Gleichung 5): w p ( u , ω ) = a p ( u ) exp ( ( c p ( u ) T ω Δ ω / 2 ) 2 / σ 2 )
    Figure DE102020215766A1_0018
    wobei Δ ω = [ Δ x Δ y Δ z ] ω .
    Figure DE102020215766A1_0019
  • Der Ausdruck c p ( u ) T ω Δ ω / 2
    Figure DE102020215766A1_0020
    gibt den Abstand des Schwerpunkts cp(u) der Überschneidung des Primitiven p mit dem Voxel u von der Grenze des Voxels entlang der Richtung ω ab seinem Zentrum wieder.
  • Die Größen der obigen Gleichungen 4 und 5 sind in 3 dargestellt. Diese Figur zeigt einen schematischen Querschnitt eines Voxels 20, so dass vier seiner sechs Flächen abgebildet sind. An jeder Fläche ist eine Richtung ⊔⌷⌷⌷⊔angegeben. Das Voxel 20 wird von zwei Primitiven p1,2 mit Normalvektoren np1,2 bzw. Schwerpunkten cp1,2 geschnitten.
  • Für Modelle geschlossener Mannigfaltiger (d.h. modellierter und/oder genäherter Objektoberflächen) kann das Gesamtvorzeichen s somit wie folgt bestimmt und unter Betrachtung einer Mehrzahl von Richtungen □□für jedes Primitive bestimmt werden (Gleichung 6), s ( u ) = sign ( ( u u ¯ ) T i = 1 N ω ω i 1 + ( ( u u ¯ ) T ω i ) ω i ƒ ( u ¯ ) )
    Figure DE102020215766A1_0021
    wobei 1ℝ+eine Indikatorfunktion gleich 1 ist, wenn ihr Argument >0 ist, und ansonsten 0 ist. Ncobezeichnet die Zahl der Richtungen, entlang derer die Gradienten projiziert werden, wobei für das verfügbare 3D-Drucken die vorliegende Ausführungsform sechs Richtungen betrachtet (z.B. entlang der positiven und negativen Richtungen jeder Achse (x, y, z) des Bezugskoordinatensystems).
  • Genauer entsprechen ω1 und ω2 vorzugsweise der negativen und positiven x-Achse des Bezugskoordinatensystems (oder erstrecken sich parallel zu diesem), während ω3 und ω4 der positiven und der negativen y-Achse entsprechen und ω5 und ω6 der positiven und der negativen z-Achse entsprechen.
  • Die obigen Gleichungen ergeben s(u) = 1, wenn die Summe der Gradientenprojektionen δω f(u), für die der Winkel zwischen ωi und u - u̅ (siehe 3) < π/2 ist, größer oder gleich 0 ist, und ergeben ansonsten s(u) = -1.
  • Die Winkelbedingung ist eine andere Möglichkeit, um auszudrücken, dass das Skalar- (oder Punkt-)Produkt (u- u̅Ti größer ist als 0. Das bedeutet, dass für Voxel u, die in der +x-Richtung von u̅l liegen, die Gradienten für die +x-Fläche betrachtet werden. Dies gilt auf ähnliche Weise für die y- und z-Richtungen.
  • Man beachte, dass die Gradientenprojektion für +x, ∂ω2 ƒ, abhängig von den Primitiven p, die das Voxel 20 schneiden, negativ oder positiv sein kann.
  • Die Summierung über i produziert eine (unnormalisierte) Näherung des Normalvektors der Oberfläche, die in dem Voxel 20 enthalten ist, in der Richtung, die von dem Vektor (u - u̅) definiert wird. Nachdem diese Summierung berechnet wurde, wird das Punktprodukt mit dem Vektor (u - u̅) berechnet, und wenn das Ergebnis negativ ist, wird s(u) = -1 und ansonstend s(u) = 1 ausgegeben.
  • Wenn s(u) berechnet wird wie oben angegeben, und wenn der Abstand d und der Versatz Φ entsprechend irgendeinem der hierin offenbarten Aspekte bestimmt wird, kann ein Wert f(u) eines versatzbedingten, vorzeichenbehafteten Abstands für jedes Voxelzentrum u berechnet werden. Somit erhält man ein Feld von versatzbedingten, vorzeichenbehafteten Abständen für den voxeldiskretisierten Aufbauraum.
  • In einem optionalen Schritt S4, der in die Bestimmung des Feldes von versatzbedingten, vorzeichenbehafteten Abständen von Schritt S3 einbezogen werden kann und/oder der verwendet werden kann, um das Feld der versatzbedingten, vorzeichenbehafteten Abstände zu aktualisieren oder zu korrigieren, werden die Werte der Vorzeichenfunktion s(u) regularisiert oder, genauer, gefiltert. Wie bereits angegeben, kann dies die Vorzeichenfunktion glätten und Unterbrechungen vermeiden, die durch eine unvollständige auf Primitiven basierende Oberflächennäherung verursacht werden. Als Folge davon kann die auf Voxeln basierende Oberflächennäherung ebenso ein geringeres Risiko dafür haben, dass sie solche Unterbrechungen zeigt.
  • In einem optionalen Schritt S5 werden erste Teilmessungen durchgeführt werden, um selbstüberlappende Abschnitte der auf Voxeln basierenden Oberflächennäherung auszugleichen. In einem ersten Teilschritt wird an Voxeln 20, die durch die vorzeichenbehaftete (Versatz-) Abstandsfunktion als außerhalb der Oberfläche liegend definiert werden, eine Floodfill-Berechnung (kurz: Floodfill) durchgeführt. Im Allgemeinen identifiziert ein Floodfill alle Voxel 20, die zu einer angrenzenden Region gehören. Ob etwas angrenzend ist, wird unter Verwendung derselben Nachbarschaft definiert wie sie z.B. bei der Oberflächenextraktion verwendet wird, vorzugsweise entweder einer 6er-Nachbarschaft, einer 26er-Nachbarschaft oder einer 18er-Nachbarschaft. Im Folgenden wird der Prozess für eine 6er-Nachbarschaft beschrieben, aber die Beschreibung gilt ebenso gut für andere Arten von Nachbarschaften. Zwei Voxel 20 können so betrachtet werden, dass sie zu derselben zusammenhängenden Region gehören, wenn und nur wenn ein 6er-Verbindungsweg von äußeren Voxeln 20 vorhanden ist, die sie verbinden. Ein 6er-Verbindungsweg wird durch eine Folge von Schritten von einem Voxel 20 zu einem in seiner 6er-Nachbarschaft gebildet, wie allgemein bekannt. Regionen, die Voxel 20 an der Grenze des Aufbauraums 18 aufweisen, werden als außenliegende leere Regionen gekennzeichnet, während andere Regionen als innenliegende leere Regionen gekennzeichnet werden. Es ist möglich, das Floodfill nur an einer Untermenge von Voxeln 20 anzuwenden, insbesondere innerhalb eines beschränkten Bereichs entlang der x-, y- und z-Achse. Das Floodfill hört auf, wenn es die Grenze dieses Bereichs erreicht. Es ist möglich, mehrere Floodfills, möglichst parallel, an mehreren disjunkten, möglichst aneinander anstoßenden Bereichen von Voxeln durchzuführen.
  • In einem zweiten Teilschritt können Äquivalenzen zwischen Regionen, die in aneinander anstoßenden Bereichen von Voxeln 20 extrahiert werden, bestimmt werden. Genauer können zwei Regionen als äquivalent definiert werden, wenn sie zusammenhängen und daher als dieselbe zusammenhängende Region identifiziert worden wären, wenn die Floodfills nicht auf die entsprechenden Bereiche beschränkt worden wären. Zwei Regionen sind äquivalent, wenn ein Voxel 20 aus einer Region mindestens einen Nachbar in der anderen Region hat, und, durch Symmetrie der Nachbarschaft, vice versa. Die Regionenäquivalenz ist transitiv, was bedeutet, dass dann, wenn die Region A der Region B äquivalent ist und die Region B der Region C äquivalent ist, dann A äquivalent ist zu C und vice versa.
  • Wenn ferner eine Region als außenliegend gekennzeichnet ist, dann werden alle Regionen, die dieser Region äquivalent sind, ebenfalls als außenliegend gekennzeichnet.
  • Im Schritt S6 wird eine Voxelauswahl durchgeführt. Dies kann auch als auf Voxeln basierende Extraktion bezeichnet werden. Dafür werden solche Voxel 20 ausgewählt, deren vorzeichenbehafteter Versatz-Abstandswert gleich oder kleiner ist als ein vordefinierter Schwellenwert τ und die mindestens einen Voxelnachbarn haben, dessen vorzeichenbehafteter Versatz-Abstandswert größer ist als der Schwellenwert τ. Wie bereits angegeben, sind unterschiedliche Nachbarschaftsdefinitionen möglich, z.B. eine 6er-Nachbarschaft, eine 18er-Nachbarschaft oder eine 26er-Nachbarschaft. Vorzugsweise wird eine 6-fach separierende Nachbarschaft verwendet, was zu einer 6-fach separierenden Voxeloberfläche führt.
  • Es kann jeder Schwellenwert τ verwendet werden, was zu unterschiedlichen Erosionen oder Dilatationen der wahren Oberfläche führt. Um eine voxelpräzise Näherung der wahren Oberfläche zu extrahieren, ist ein Wert von τ=0 vorzuziehen. Im Fall einer auf selbstüberlappenden Voxeln basierenden Näherung S ˜
    Figure DE102020215766A1_0022
    kann es bevorzugt sein, einen etwas größeren Wert von τ in der Größenordnung der Größe eines einzelnen Voxels 20 zu verwenden, um die numerische Stabilität des Floodfill-Prozesses zu verbessern, was zu einer etwas dilatierten Oberfläche führt. In solchen Fällen ist es möglich, die Oberfläche in einem Nachbearbeitungsprozesses zu erodieren, um die äquivalente Oberfläche für τ=0 zu extrahieren.
  • Als allgemeiner Aspekt, der mit jeder der offenbarten Ausführungsformen kombiniert werden kann, kann es erstrebenswert sein, Attribute an den Oberflächenvoxeln 20 zu speichern. Zum Beispiel kann es im Falle einer 3D-Druckvorrichtung, die in der Lage ist, 3D in Farbe zu drucken, erstrebenswert sein, nach Farbinformationen auf der eingegebenen (z.B. auf Primitiven basierenden) Näherungsoberfläche zu suchen und diese mit den extrahierten Oberflächenvoxeln 20 zu speichern. Es kann auch erstrebenswert sein, den Anfangsversatzwert Φ, der verwendet wird, um das Feld von versatzbedingten, vorzeichenbehafteten Abständen zu berechnen, zu speichern, um eine weitere Manipulation der Oberfläche, wie etwa eine Beschichtung der Oberfläche mit einem bestimmten Material, wie etwa einem durchsichtigen Material, mit gleichmäßiger oder variierender Tiefe zu ermöglichen, insbesondere in dem Fall, dass die additive Fertigungsvorrichtung 12 dazu in der Lage ist. Andere Manipulationen sind ebenfalls möglich.
  • Ferner kann es als allgemeiner Aspekt, der mit einem beliebigen der offenbarten Aspekte kombiniert werden kann, erstrebenswert sein, die Werte des Feldes von (versatzbedingten) vorzeichenbehafteten Abständen benachbarter Voxel 20 zu untersuchen, um die (mindestens eine) präzise Stelle zwischen Voxelzentren u zu bestimmen, wo das Feld von (versatzbedingten) vorzeichenbehafteten Abständen dem vordefinierten Schwellenwert τ gleichwertig ist, und diesen mit den extrahierten Voxeln zu speichern. Somit können die resultierenden Oberflächenvoxel 20 (d.h. die ausgewählten Voxel) für die Berechnung eines Feldes von vorzeichenbehafteten Abständen mit Sub-Voxel-Genauigkeit verwendet werden. Es kann auch erstrebenswert sein, den Wert des Feldes der (versatzbedingten) vorzeichenbehafteten Abstände des Voxels 20 selbst zu speichern, was die Verwendung der extrahierten Oberflächenvoxel für die Berechnung eines anderen Iso-Niveaus des Feldes der (versatzbedingten) vorzeichenbehafteten Abstände als des einen, das für die Oberflächenextraktion verwendet wird, ermöglicht.
  • Im Falle von eingegebenen (auf Primitiven basierenden) Näherungen, die selbstüberlappend sind, ist es bevorzugt, mit jedem extrahierten Oberflächenvoxel 20 die angrenzenden leeren Regionen zu diesem Voxel 20 zu speichern, so dass die innenliegenden oder verborgenen Oberflächenvoxel 20 in einem anschließenden Verarbeitungsschritt entfernt werden können.
  • In einem optionalen Schritt S7 werden die Messungen abgeschlossen, die in dem optionalen Schritt S5 begonnen wurden. Genauer werden all in Schritt S6 extrahierten Oberflächenvoxel 20 überprüft, um zu bestimmen, an welche leeren Regionen sie angrenzen. Oberflächenvoxel 20, die an keine außenliegenden leeren Regionen angrenzen, werden als „innenliegende“ oder „verborgene“ Oberflächen verworfen. Man beachte, dass eine Kompensierung von Selbstüberlappungen, wie hierin beschrieben, für jede gegebene Zahl (z.B. für Blöcke) von Schichten durchgeführt werden kann, ohne dass der vollständige Bauraum 18 überprüft werden muss.
  • In einem Schritt S8 werden die ausgewählten Voxel 20 verwendet, um einen Fertigungsdatensatz zu definieren, der an eine additive Fertigungsvorrichtung 12 gesendet wird.
  • Man beachte, dass zumindest die obigen Schritte S3-S7 anschließend nur für Schichten des Objekts oder für jeweilige Blöcke von Schichten ausgeführt werden können. Wie oben erklärt wurde, ermöglicht dies ein Streamen von Fertigungsdaten an die additive Fertigungsvorrichtung 112, die umgehend mit dem Drucken des Objekts 22 beginnen kann (d.h. obwohl die Voxelselektion für das gesamte Objekt 22 noch nicht ausgeführt wurde). Es ermöglicht außerdem, dass jeweils nur eine geringe Anzahl von Schichten gleichzeitig in einem Speicher gespeichert werden müssen, was eine Skalierbarkeit für Vorrichtungen 12 mit großen Bauräumen 18 und hoher Auflösung ermöglicht.

Claims (11)

  1. Verfahren für die Produktion eines Objekts (22) mit einer additiven Fertigungsvorrichtung (12), insbesondere mit einem 3D-Drucker, wobei die additive Fertigungsvorrichtung (12) einen Bauraum (18) aufweist, der in virtuelle (20) Voxel diskretisiert ist, wobei das Verfahren umfasst: - Empfangen einer auf Voxeln basierenden Näherung einer Oberfläche eines dreidimensionalen Objekts; - Bestimmen eines vorzeichenbehafteten Abstandswerts für jedes von zumindest einer Untermenge der Voxel (20), der einen Abstand zwischen den einzelnen Voxeln (20) und mindestens einem Punkt beschreibt, der von der auf Voxeln basierenden Näherung definiert wird; - Auswählen von Voxeln (20), an denen Material hinzugefügt werden soll, um das Objekt zu produzieren, wobei die Auswahl auf Basis der vorzeichenbehafteten Abstandswerte der Voxel (20) durchgeführt wird; wobei der vorzeichenbehaftete Abstandswert jedes Voxels (20) ferner auf Basis eines Versatzwerts bestimmt wird, der eine topographische Eigenschaft der auf Voxeln basierenden Näherung beschreibt.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass es ferner umfasst: - Generieren von Steuersignalen, um die additive Fertigungsvorrichtung (12) zu veranlassen, Material an den ausgewählten Voxeln (20) zu drucken.
  3. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass der Versatzwert aus einer Versatzkarte abgeleitet wird, die aus der auf Voxeln basierenden Näherung ableitbar oder von dieser umfasst ist, und/oder aus Oberflächennäherungsdaten, auf deren Basis die auf Voxeln basierenden Näherung generiert wird, ableitbar oder von diesen umfasst ist.
  4. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass Oberflächennäherungsdaten für die Generierung der auf Voxeln basierenden Näherung bereitgestellt werden, wobei die Oberflächennäherungsdaten gekrümmte Vielecke umfassen, und der Versatzwert auf Basis eines Abstands zwischen einem gekrümmten Vieleck und einem nicht-gekrümmten Äquivalent desselben berechnet wird.
  5. Verfahren nach einem der vorangehenden Ansprüche, gekennzeichnet durch Auswählen solcher Voxel (20), deren vorzeichenbehafteter Abstandswert anzeigt, dass das Voxel auf oder innerhalb des Objekts liegt.
  6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass solche Voxel (20) ausgewählt werden, die als zusätzliche Bedingung mindestens ein benachbartes Voxel (20) aufweisen, dessen vorzeichenbehafteter Abstandswert anzeigt, dass das Voxel außerhalb des Objekts liegt.
  7. Verfahren nach einem der vorangehenden Ansprüche, gekennzeichnet durch die Bestimmung eines Vorzeichens für mindestens ein Voxel (20), das eine Mehrzahl von Primitiven enthält, die für die Näherung der Oberfläche verwendet werden, auf Basis einer Ausrichtung mindestens einer Fläche des Voxels (20) in Bezug auf die Primitive.
  8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass die Bestimmung des Vorzeichens auch einen Abstand der Primitive zu der Fläche berücksichtigt.
  9. Verfahren nach einem der vorangehenden Ansprüche, gekennzeichnet durch zumindest lokales Filtern einer Vorzeichenfunktion, die das Vorzeichen des vorzeichenbehafteten Abstandswerts bestimmt.
  10. Verfahren nach einem der vorangehenden Ansprüche, gekennzeichnet durch das Identifizieren und Verwerfen von selbstüberlappenden Abschnitten der auf Voxeln basierenden Näherung auf Basis einer Floodfill-Berechnung.
  11. Rechenvorrichtung (10) zur Generierung von Fertigungsdaten für eine additive Fertigungsvorrichtung (12), insbesondere für einen 3D-Drucker, wobei die additive Fertigungsvorrichtung (12) einen Bauraum (18) aufweist, der in virtuelle Voxel (20) diskretisiert ist, wobei die Rechenvorrichtung (10) eingerichtet ist zum: - Empfangen einer auf Voxeln basierenden Näherung einer Oberfläche eines dreidimensionalen Objekts; - Bestimmen eines vorzeichenbehafteten Abstandswerts für jedes von zumindest einer Untermenge von Voxeln (20), der einen Abstand zwischen den einzelnen Voxeln (20) und mindestens einem Punkt beschreibt, der von der auf Voxeln basierenden Näherung definiert wird; - Generieren von Fertigungsdaten durch Auswählen von Voxeln (20), an denen Material aufgedruckt werden soll, um das Objekt zu produzieren, wobei die Auswahl auf Basis der vorzeichenbehafteten Abstandswerte der Voxel (20) durchgeführt wird; - Ausgeben der Fertigungsdaten an die additive Fertigungsvorrichtung (12); wobei der vorzeichenbehaftete Abstandswert jedes Voxels (20) ferner auf Basis eines Versatzwerts bestimmt wird, der eine topographische Eigenschaft der auf Voxeln basierenden Näherung beschreibt.
DE102020215766.9A 2020-12-11 2020-12-11 Additive Fertigung auf Basis von Feldern von versatzbedingten, vorzeichenbehafteten Abständen Withdrawn DE102020215766A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102020215766.9A DE102020215766A1 (de) 2020-12-11 2020-12-11 Additive Fertigung auf Basis von Feldern von versatzbedingten, vorzeichenbehafteten Abständen
US17/547,055 US20220187790A1 (en) 2020-12-11 2021-12-09 Additive Manufacturing Control based on Displaced Signed Distance Fields
EP21213473.8A EP4011602A1 (de) 2020-12-11 2021-12-09 Additive herstellung basierend auf verschobenen signierten abstandsfeldern

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020215766.9A DE102020215766A1 (de) 2020-12-11 2020-12-11 Additive Fertigung auf Basis von Feldern von versatzbedingten, vorzeichenbehafteten Abständen

Publications (1)

Publication Number Publication Date
DE102020215766A1 true DE102020215766A1 (de) 2022-06-15

Family

ID=78827838

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020215766.9A Withdrawn DE102020215766A1 (de) 2020-12-11 2020-12-11 Additive Fertigung auf Basis von Feldern von versatzbedingten, vorzeichenbehafteten Abständen

Country Status (3)

Country Link
US (1) US20220187790A1 (de)
EP (1) EP4011602A1 (de)
DE (1) DE102020215766A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117274344B (zh) * 2023-11-22 2024-02-06 北京渲光科技有限公司 真实材质纹理的模型训练方法、纹理合成及映射方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170028649A1 (en) 2015-07-30 2017-02-02 Seiko Epson Corporation Three-dimensional object forming apparatus, method of controlling three-dimensional object forming apparatus, method of producing three-dimensional object using three-dimensional object forming apparatus, information processing apparatus capable of communicating with three-dimensional object forming apparatus, and three-dimensional object forming system
WO2020222759A1 (en) 2019-04-29 2020-11-05 Hewlett-Packard Development Company, L.P. Determining liquid agent amounts in 3d printing

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2953536T3 (es) * 2016-02-25 2023-11-14 Stratasys Ltd Asignación de material de GPU para impresión 3D usando campos de distancia 3D
EP3483755B1 (de) * 2017-11-09 2022-07-13 Dassault Systèmes Generative fertigung eines 3d-teils

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170028649A1 (en) 2015-07-30 2017-02-02 Seiko Epson Corporation Three-dimensional object forming apparatus, method of controlling three-dimensional object forming apparatus, method of producing three-dimensional object using three-dimensional object forming apparatus, information processing apparatus capable of communicating with three-dimensional object forming apparatus, and three-dimensional object forming system
WO2020222759A1 (en) 2019-04-29 2020-11-05 Hewlett-Packard Development Company, L.P. Determining liquid agent amounts in 3d printing

Also Published As

Publication number Publication date
EP4011602A1 (de) 2022-06-15
US20220187790A1 (en) 2022-06-16

Similar Documents

Publication Publication Date Title
DE60026197T2 (de) Detailgerichtete hierarchische Distanzfelder in der Objektmodellierung
DE102020000810A1 (de) 3D-Objektrekonstruktion unter Nutzung einer fotometrischen Netzdarstellung
DE102007021711A1 (de) System und Verfahren zum Identifizieren von ursprünglichen Entwurfselementen unter Benutzung von 3D-Abtastdaten
DE69726479T2 (de) Selektive Verfeinerung von Gitternetzen
US10723079B2 (en) Fast, efficient direct slicing method for lattice structures
DE602004011749T2 (de) Umschlagsdeformation mittels unterteilten Oberflächen
DE112016001941T5 (de) Vernetzung von Verbindungsstellen für Gitterstrukturen
DE112005002076T5 (de) Unterteilung von Geometriebildern in Grafikhardware
DE102005010169A1 (de) Aktives Polyeder für 3D-Bildsegmentierung
DE112005003003T5 (de) System, Verfahren und Programm zum Komprimieren von dreidimensionalen Bilddaten sowie Aufzeichnungsmedium hierfür
DE102012210521A1 (de) Unbeschnittene Zeit- und Linsen-Begrenzungen für verbesserte Probentest- Effizienz bei Bild-Rendering
DE102022107038A1 (de) Erzeugen eines verfeinerten kontrollnetzes zum erzeugen einer glatten oberfläche eines objekts
DE69924230T2 (de) Verfahren zur Modellierung von durch Oberflächenelemente dargestellten grafischen Objekten
DE102005047329A1 (de) Bereichskonkurrenz-Segmentierungsverfahren mittels lokaler Wasserscheiden-Operatoren
DE69910266T2 (de) Maschenerzeuger und verfahren zur erzeugen von maschen in einem extrusionsverfahren
DE602004008102T2 (de) Dreidimensionale segmentierung durch verwendung deformierbarer oberflächen
DE112016007098T5 (de) Indexierung von voxeln für das 3d-drucken
WO2021074438A1 (de) Computerimplementiertes verfahren zur individualisierung eines brillenfassungselements durch ermittlung eines parametrischen ersatzmodells eines brillenfassungselements sowie vorrichtung und systeme, die ein solches verfahren benutzen
EP2528042A1 (de) Verfahren und Vorrichtung zum Re-Meshing von 3D-Polygonmodellen
DE102020215766A1 (de) Additive Fertigung auf Basis von Feldern von versatzbedingten, vorzeichenbehafteten Abständen
WO2020064761A1 (de) Verfahren, computerprogrammprodukt und computervorrichtung zum auswerten volumetrischer subdivisionsmodelle
DE102012203117B4 (de) Verfahren und System zur Ermittlung eines Begrenzungsflächennetzes
EP3561701B1 (de) Verfahren und vorrichtung zum bestimmen einer körperlichen form, verfahren zur herstellung einer berechnungseinrichtung, berechnungseinrichtung und verwendung der berechnungseinrichtung
DE102009056467A1 (de) Verfahren zur Bestimmung von Oberflächen in Voxeldaten
DE102012203122B4 (de) Verfahren und System zur Ermittlung eines Begrenzungsflächennetzes

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee