WO2023041646A1 - Verfahren zum erzeugen eines dreidimensionalen modells eines objektes zum steuern eines 3d-druckers - Google Patents

Verfahren zum erzeugen eines dreidimensionalen modells eines objektes zum steuern eines 3d-druckers Download PDF

Info

Publication number
WO2023041646A1
WO2023041646A1 PCT/EP2022/075648 EP2022075648W WO2023041646A1 WO 2023041646 A1 WO2023041646 A1 WO 2023041646A1 EP 2022075648 W EP2022075648 W EP 2022075648W WO 2023041646 A1 WO2023041646 A1 WO 2023041646A1
Authority
WO
WIPO (PCT)
Prior art keywords
distance
voxel
predetermined
nodes
tree structure
Prior art date
Application number
PCT/EP2022/075648
Other languages
English (en)
French (fr)
Inventor
Michael Gallo
Original Assignee
Hyperganic Group GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hyperganic Group GmbH filed Critical Hyperganic Group GmbH
Priority to EP22786335.4A priority Critical patent/EP4205085A1/de
Priority to CN202280075525.4A priority patent/CN118266010A/zh
Publication of WO2023041646A1 publication Critical patent/WO2023041646A1/de
Priority to US18/606,518 priority patent/US20240320913A1/en

Links

Classifications

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

Definitions

  • the invention relates to a method for generating a 3D model of a physical object.
  • a 3D printer can be controlled by means of control instructions derived from the generated 3D model in order to print the object in the 3D printer.
  • a further disadvantage of the object representations mentioned is that the 3D models only describe the surface itself, but not the volume of the object lying within the surface.
  • This disadvantage means that internal volume areas that are to be printed with a different material, for example, have to be described as independent 3D models.
  • These separate 3D models must be merged for printing.
  • the object of the present invention is therefore to provide a method for generating a 3D model of a physical object (i.e. an object to be printed in a 3D printer), which avoids the disadvantages mentioned above and enables simpler and more flexible manipulation of the 3D model.
  • a method for generating a 3D model of a physical object for controlling a 3D printer by means of control instructions derived from the generated 3D model for printing the object in the 3D Printer, wherein a surface representation of the physical object is converted into a voxel model representing the 3D model, wherein the surface representation is divided into a number of volume areas, each volume area being represented by a first tree structure, the first tree structure having at least one root node comprises, and has a predetermined maximum first number of hierarchy levels and a predetermined second number of subnodes can be assigned to each node of a hierarchy level, the root node representing the volume area, the subnodes of the root node partial volume areas of the volume area represented by the root node I represent, the subnodes of a subnode represent partial volume areas of the partial
  • the control instructions for controlling the 3D printer are derived from the first tree structure and the voxels stored in the first tree structure, the control instructions including information about which areas in a Print space of the 3D printer includes a print material to the object, these areas being determined by those voxels to which a distance is stored in the distance attribute, and the control instructions are provided for transmission to the 3D printer.
  • the number of volume areas can be one, i.e. the entire volume of the object to be printed (i.e. the entire object to be printed) can be described with one volume area.
  • the volume area is subdivided into a number of voxels (the sub-volume areas).
  • a voxel describes a cuboid section of the volume area.
  • the voxels can be cube-shaped.
  • a voxel can in turn be subdivided into a number of voxels (sub-volume areas of the sub-volume areas).
  • the granularity or the resolution of the voxel model can advantageously be “controlled” with the number of hierarchy levels. This means that given a constant volume region defined by the root node, the resolution of the volume increases as the number of hierarchy levels increases. Since each voxel has a certain memory requirement (to store the information of the voxel), the memory requirement for the entire voxel model can also be "controlled” with the help of the hierarchy levels. Another way to control the memory footprint for a voxel model is discussed below.
  • the distance stored in the distance attribute indicates that the respective voxel belongs to the surface of the object to be printed.
  • the predetermined distance stored in the distance attribute indicates that the respective voxel does not belong to the surface of the object to be printed.
  • the stored distance can be the minimum distance.
  • Saving the distance (or the minimum distance) and the predetermined distance in the distance attribute has the advantage that when the voxel model is manipulated, only those voxels that belong to the surface have to be processed. The voxels that do not belong to the surface can be left out of the processing, which can significantly improve the performance of the processing.
  • An example of such processing or manipulation would be the generation of a texture (for example a three-dimensional texture) on or on the surface of the object to be printed.
  • the distance (or the minimum distance) and/or the predetermined distance for voxels of a partial volume region is only stored if they (ie the distance or the predetermined distance) meet a predetermined storage criterion, on the one hand the storage requirements for a voxel model can be increased be reduced significantly. On the other hand, the processing performance can be further improved. If, for example, all voxels of a partial volume area have the same predetermined distance from the surface, then there is no need to store the predetermined distance in the respective distance attribute - the predetermined distance from the surface can then be stored, if necessary, in the voxel that represents this partial volume area ( ie in the voxel higher or above in the hierarchy). When processing the voxel model, only this overlying voxel then has to be processed.
  • the predetermined maximum number of hierarchy levels is three, so that the first tree structure has a maximum of three hierarchy levels, the root node being the first hierarchy level, the predetermined number of sub-nodes being 4096, so that each node has one Hierarchy level, with the exception of the lowest hierarchy level, 4096 sub-nodes can be assigned, the nodes of the second hierarchy level represent 4096 first partial volume areas of the volume area, the nodes of the third hierarchy level each represent 4096 second partial volume areas of the respective first partial volume area.
  • Each node of a hierarchy level is preferably assigned 16 ⁇ 16 ⁇ 16 sub-nodes (16 sub-nodes in each spatial dimension x, y, z).
  • 16 x 32 x 4 sub-nodes or other combinations resulting in 4096 sub-nodes can also be assigned be.
  • the advantage here is that a high resolution of the total volume or the respective volume areas is achieved even with only three hierarchical levels.
  • the first tree structures each representing a volume region, have approximately the same number of nodes (on the second and third levels of the hierarchy) (unless all nodes are saved according to the storage criteria mentioned below), so that editing or Calculating the number of volume areas, the first tree structures are each assigned to a different processor core and at the same time it is ensured that all processor cores have completed the calculations approximately after approximately the same time. This means that all processor cores can be optimally utilized. If there are more first tree structures to be processed than there are processor cores, it can also be avoided that the processor cores are loaded unevenly.
  • 4096 sub-nodes can be accommodated in 8 kB of random access memory (RAM) at 2 bytes per sub-node. It has been shown that 4096 sub-nodes ensure largely optimal utilization of the main memory, i.e. the least amount of the 8 kB main memory remains unused on average compared to other values for the number of sub-nodes.
  • RAM random access memory
  • the second hierarchical level can have 8 first partial volume areas and the third hierarchical level can have 4096 second partial volume areas for each first partial volume area.
  • a 3D model can thus be described with a relatively coarse resolution on the second hierarchical level, while it can be described with a high resolution on the third hierarchical level.
  • 4096 sub-nodes can be assigned to some accounts of the second hierarchical level, while 8, 64 or 512 sub-nodes can be assigned to the other accounts of the second hierarchical level. This allows different volume areas of the 3D model to be represented with different spatial resolutions.
  • the predetermined storage criterion can be selected from the group of storage criteria at least comprising the minimum distance of the voxel is different from the minimum distances of the other voxels of the respective partial volume area (then the distance and/or the predetermined distance for each voxel of the partial volume area is stored), the The difference between the voxel with the smallest minimum distance and the voxel with the greatest minimum distance of the respective partial volume area is above a predetermined second threshold value (the distance and/or the predetermined distance for each voxel of the partial volume area is then also stored).
  • the saving of the distance and/or the predetermined distance in the voxels of the sub-volume region can be dispensed with.
  • a common distance e.g an average of the distances
  • the predetermined distance can be stored. This can lead to a considerable reduction in the memory requirement and the required computing power, in particular for contiguous large volume areas lying outside or inside the surface of the 3D model.
  • the second threshold value can correspond to the print resolution of the 3D printer, preferably at most half the print resolution of the 3D printer.
  • the memory requirement for storing the 3D model can thus preferably be dynamically adapted to the print resolution of different 3D printers.
  • the predetermined distance comprises a predetermined first distance (d+ «>) and a predetermined second distance (d., ), wherein for voxels that lie outside the surface of the object, the predetermined first distance (d+ «> ) (the predetermined first distance is preferably identical for all voxels lying outside the surface), and for voxels lying within the surface of the object, the predetermined second distance (d., ) (the predetermined second distance is for all inside the surface lying voxel preferably identical) is stored in the distance attribute.
  • a voxel is outside or inside the surface of the object if it is at a certain distance from the surface.
  • the position of the first tree structure in three-dimensional space relative to the voxel model representing the 3D model is stored in the root node.
  • the position stores the position and orientation of the voxel model in three-dimensional space. If the size of the voxel of the partial volume regions is known or if the resolution of the partial volume regions is known and if the size of the partial volume regions is known, The position in three-dimensional space can be determined from the position stored in the root node for each voxel without the respective position having to be stored for the voxels.
  • a further attribute can be assigned to each voxel, with a property of the respective voxel being stored in the further attribute.
  • the property can be selected from the group comprising at least color, material, and combinations thereof, with the properties not being limited to the properties mentioned here.
  • the number of hierarchy levels in the first tree structure and the number of hierarchy levels in the second tree structure can be identical here.
  • a predetermined third number of sub-nodes can be assigned to each node of a hierarchy level of the second tree structure.
  • the predetermined third number of sub-nodes can be different from the predetermined second number of sub-nodes (of the first tree structure).
  • a further tree structure for a further attribute has the advantage that properties of the voxels of a 3D model can be stored in different resolutions, which enables an optimized memory requirement. For example, if an object to be printed consists of only two materials, with large contiguous volume areas consisting of the same material, this property can be stored efficiently with little memory requirement (in the second tree structure with low resolution).
  • the distances of the voxels to Surfaces of the same object to be printed can be stored in the first tree structure with high resolution.
  • a further tree structure also offers significant advantages in terms of processing efficiency.
  • the tree structures can be processed in parallel.
  • the calculation operations can be minimized if each tree structure has the optimal resolution for the respective property of the voxel.
  • the control instructions can include information about the properties stored in the further attribute.
  • the group of storage criteria can also include that the attribute value of the further attribute is different from the attribute values of the further attribute of the other voxels of the respective partial volume area. This means that the other tree structures can also be optimized with regard to their storage requirements.
  • FIG. 1 shows a system for generating a voxel model representing a 3D model
  • FIG. 2 shows an example of a voxel model with an associated tree structure
  • 3 shows an exemplary level of a voxel model to illustrate the storage of the distance attributes
  • FIG. 4 shows the associated section of a tree structure according to FIG. 3, for example. Detailed description of the invention
  • FIG. 1 shows an example of a system for generating a voxel model representing a 3D model.
  • the system here consists of a data processing device and a 3D printer.
  • the data processing device generates control instructions and transfers them to the 3D printer.
  • 3D printers are well known in the prior art. With the help of the control instructions, the 3D printer is prompted to print a (physical) object, i.e. to produce it.
  • the control instructions are generated by the data processing device depending on the 3D printer used in each case.
  • FIG. 1 Of the data processing device, only the components required for the method according to the invention are shown in FIG. 1, namely a memory device, which is designed here as a main memory, and one or more processors.
  • the term "multiple processors" is also to be understood here as meaning a processor with multiple processor cores.
  • the method according to the invention can also be efficiently executed on a processor with only one processor core.
  • multiple processors and/or processors with multiple processor cores are advantageous with regard to parallel processing, for example when transformations or other operations modifying the 3D model have to be performed on the 3D model, which is represented by one or more tree structures.
  • Several tree structures can be processed in parallel.
  • the tree structures representing the 3D model are stored in the main memory.
  • the voxel model according to the invention or the tree structures storing the voxel model are designed in such a way that on the one hand efficient storage of the voxel model and on the other hand efficient processing of the voxel model are ensured.
  • efficient storage of the voxel model and on the other hand efficient processing of the voxel model are ensured.
  • not every voxel of the voxel model has to be stored, which leads to a considerable reduction in the data to be stored and, associated therewith, to a considerably higher-performance calculation of operations to be carried out on the voxel model.
  • FIG. 2 shows an example of a voxel model according to the invention with an associated tree structure.
  • the voxel model includes a volume region VB, which here describes a cubic space in which the 3D model is arranged (or in which the object to be printed is modeled).
  • multiple volume areas VB can also be provided, each of which includes a part of the 3D model. This has the technical advantage that the multiple volume areas can be processed in parallel, for example when operations such as transformations are performed on the 3D model.
  • the volume area VB is described using a tree structure or stored in a tree structure, with a root node WK of the tree structure representing the volume area VB as such.
  • the tree structure has several hierarchical levels HEI, HE2, HE3, with the root node representing the top or first hierarchical level HEI.
  • the position (for example the 3D coordinates) and possibly the spatial orientation and the spatial extent of the volume region VB can be stored in the root node. Based on this data, the position of the voxels in the underlying hierarchy levels HE2, HE3 can be calculated, so that their respective positions do not have to be stored in the voxels of the underlying hierarchy levels.
  • the voxel model or the associated tree structure has three hierarchical levels.
  • the volume area VB has a number of first partial volume areas TVB1, each partial volume area TVB1 representing a voxel of the second hierarchical level HE2.
  • FIG. 2 shows 8 partial volume regions TVB1.
  • the volume area VB has 4096 partial volume areas TVB1, 16 partial volume areas being provided in each direction (ie 16 ⁇ 16 ⁇ 16 partial volume areas).
  • Each partial volume area TVB1 is represented in the tree structure by a node of the second hierarchical level HE2.
  • the nodes of the second hierarchical level HE2 are child nodes of the root node WK. If 4096 partial volume regions TVB1 are provided in the second hierarchy level of the voxel model, then the tree structure in the second hierarchy level also has 4096 nodes.
  • Each partial volume area TVB1 of the second hierarchical level can have a number of second partial volume areas TVB2, each partial volume area TVB2 representing a voxel of the third hierarchical level HE3.
  • Each partial volume area TVB2 is represented in the tree structure by a node of the third hierarchical level HE3.
  • the nodes of the third hierarchical level HE3 are child nodes of the respective node of the second hierarchical level.
  • each sub-volume area TVB1 of the second hierarchical level does not have to be subdivided into sub-volume areas TVB2 on the third hierarchical level, as can be seen from the following description.
  • FIG. 2 shows 8 partial volume areas TVB2 in the third hierarchical level HE3 for the partial volume area identified by the number 2.
  • the partial volume areas TVB1 each have 4096 partial volume areas TVB2, with 16 partial volume areas being provided in each direction (ie 16 ⁇ 16 ⁇ 16 partial volume areas).
  • the tree structure in the third hierarchical level HE3 also has 4096 nodes for this partial volume area.
  • the third hierarchical level has approximately 16 million sub-volume areas TVB2 (i.e. 4096 ⁇ 4096 sub-volume areas).
  • the entire volume area VB, in which the 3D model is modeled, can accordingly be subdivided into approximately 16 million partial volume areas TVB2.
  • volume area VB This resolution of the volume area VB is usually sufficient for most practical applications. If greater detail is desired in the printed object, the spatial extent of the volume region VB can be reduced, resulting in smaller voxels on the second and third Hierarchy level leads. If necessary, a part of the 3D model must be described using additional volume areas.
  • a distance attribute is assigned to each voxel, in which the distance of the respective voxel to the surface of the object, i.e. to the surface of the 3D model, can be stored.
  • the value of the distance attribute is stored in the respective node of the tree structure.
  • the 3D model is located completely in the voxel of the second hierarchical level HE2 identified by the number 2.
  • the remaining voxels of the second hierarchical level HE2 are therefore all located outside of the 3D model and therefore do not belong to the 3D model. Accordingly, it is advantageous to assign the distance values only for those voxels of the third hierarchical level HE3 in the tree structure (in the child nodes that belong to the node of the second hierarchical level HE2 identified by the number 2).
  • speichem which belong to the voxel of the second hierarchical level HE2 marked with the number 2.
  • nodes of the third hierarchical level HE3 there is no need to store child nodes (nodes of the third hierarchical level HE3).
  • nodes of the third hierarchical level HE3 In the example shown in FIG. 2 with a maximum of 8 nodes in the third hierarchical level HE3 only 8 nodes of the third hierarchical level HE3 have to be stored instead of 64 nodes.
  • further attributes may have to be stored for the voxels of the 3D model, for example an attribute that specifies the color of the voxel and/or the material with which the voxel is to be printed.
  • the values of the additional attributes are stored in a separate tree structure, it being advantageous if a separate tree structure is provided for each attribute.
  • Each additional tree structure has the same number of hierarchy levels as the tree structure in which distance attributes are stored. All tree structures represent the same volume area.
  • the attribute values of the further attributes are stored in the nodes of the respective tree structure in a manner analogous to that explained above with reference to the distance attribute.
  • attribute values in the third hierarchy level HE3 if the voxels belonging to a partial volume region TVB1 all have the same attribute value (e.g. the same Color or the same material) have - it is then sufficient if the corresponding attribute value is stored n the associated node of the second hierarchy level HE2.
  • the 3D model can be processed independently of the other attributes with regard to one attribute.
  • Another major advantage is that the tree structure for each attribute can be generated in a memory-optimized manner - if, for example, the voxels of a partial volume region TVB2 have different distance values but identical color values, then the distance values are stored in the nodes of the third hierarchical level HE3 and the color value can be stored in the associated nodes of the second hierarchical level HE2 are stored, there is no need to store the color values in the nodes of the third hierarchical level HE3.
  • FIG. 3 shows an exemplary level of a voxel model (section through the voxel model) to illustrate the storage of the distance attributes
  • FIG. 4 shows the associated section of a tree structure according to FIG. 3, for example.
  • the voxel model on which FIGS. 3 and 4 are based has 64 voxels in the second hierarchical level (4 voxels in each dimension) and for each voxel in the second hierarchical level 64 voxels in the third hierarchical level (4 voxels in each dimension).
  • the level shown here includes a section of a 3D model that represents a corresponding section of the object to be printed.
  • the level of the voxel model shown here includes 16 voxels VI to VI 6 in the second hierarchical level HE2.
  • the tree structure also has 16 nodes K1 to K16 in the second hierarchical level.
  • the remaining nodes of the second hierarchical level are not shown in FIG.
  • the voxels V6, V7, VI 0 and VI 1 encompass the section of the 3D model.
  • These voxels each have 16 voxels in the third hierarchy level, it being assumed in this example that the respective voxels in the third hierarchy level have at least partially different distances from the surface of the 3D model.
  • the tree structure has 16 sub-nodes on the third hierarchical level for the corresponding nodes K6, K7, K10 and K11, which represent the voxels in the third hierarchical level.
  • 4 shows all 16 sub-nodes 1 to 16 of the third hierarchy level for node K6, while for reasons of clarity only sub-nodes 1 and 16 of the third hierarchy level are shown for nodes K7, K10 and K11.
  • the procedure for the sub-nodes of nodes K7, K10 and Kl 1 is analogous.
  • the remaining voxels VI through V5, V8, V9, and V12 through V16 lie entirely outside the surface of the 3D model. According to the invention, therefore, the voxels VI to V5, V8, V9 and V12 to V16 of the second hierarchy level have no voxels in the third hierarchy level, so that corresponding nodes in the third hierarchy level of the tree structure can be dispensed with.
  • the 16 sub-nodes (therefore a total of 64 nodes of the hierarchy level HE3) must be stored in the tree structure for the nodes K6, K7, K10 and K11.
  • the 16 sub-nodes (a total of 192 nodes of the hierarchy level HE3) can be dispensed with.
  • control instructions for controlling the 3D printer are derived or generated.
  • corresponding control instructions are generated for each level of the voxel model level, with the control instructions specifying which voxel belongs to the object to be printed.
  • the distance values stored in the tree structure can be used for this - if the distance value is different from ⁇ co, the corresponding voxel belongs to the object to be printed.
  • the second hierarchy level of the tree structure is processed first: if a distance value is stored in a node of the second hierarchy level, it is assumed that all sub-nodes of this node also have this distance value (even if these sub-nodes are not stored in the tree structure ). According to the invention, corresponding control instructions are then generated for these nodes not stored in the tree structure. An iteration over the sub-nodes is thus avoided. if no distance value is stored in a node of the second hierarchical level, these must be stored in the associated sub-nodes. Appropriate control instructions are then generated based on the distance values stored in the sub-nodes.
  • the control instructions can be stored in the data processing device for transmission to the 3D printer.

Landscapes

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

Abstract

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

Description

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

Claims

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

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP22786335.4A EP4205085A1 (de) 2021-09-16 2022-09-15 Verfahren zum erzeugen eines dreidimensionalen modells eines objektes zum steuern eines 3d-druckers
CN202280075525.4A CN118266010A (zh) 2021-09-16 2022-09-15 用于生成对象的三维模型以用于控制3d打印机的方法
US18/606,518 US20240320913A1 (en) 2021-09-16 2024-03-15 Method for generating a three-dimensional model of an object for controlling a 3d printer

Applications Claiming Priority (2)

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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/606,518 Continuation US20240320913A1 (en) 2021-09-16 2024-03-15 Method for generating a three-dimensional model of an object for controlling a 3d printer

Publications (1)

Publication Number Publication Date
WO2023041646A1 true WO2023041646A1 (de) 2023-03-23

Family

ID=83688938

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2022/075648 WO2023041646A1 (de) 2021-09-16 2022-09-15 Verfahren zum erzeugen eines dreidimensionalen modells eines objektes zum steuern eines 3d-druckers

Country Status (5)

Country Link
US (1) US20240320913A1 (de)
EP (1) EP4205085A1 (de)
CN (1) CN118266010A (de)
DE (1) DE102021124009A1 (de)
WO (1) WO2023041646A1 (de)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140368504A1 (en) * 2013-06-12 2014-12-18 Microsoft Corporation Scalable volumetric 3d reconstruction
US20180032060A1 (en) * 2015-04-20 2018-02-01 Hewlett-Packard Development Company, L.P. Creating a voxel representation of a three dimensional (3-d) object
US10726618B2 (en) * 2016-05-24 2020-07-28 Technion Research & Development Foundation Limited Systems and methods for generating volumetric models
US11027493B2 (en) * 2017-11-09 2021-06-08 Dassault Systemes Additive manufacturing of a 3D part

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140368504A1 (en) * 2013-06-12 2014-12-18 Microsoft Corporation Scalable volumetric 3d reconstruction
US20180032060A1 (en) * 2015-04-20 2018-02-01 Hewlett-Packard Development Company, L.P. Creating a voxel representation of a three dimensional (3-d) object
US10726618B2 (en) * 2016-05-24 2020-07-28 Technion Research & Development Foundation Limited Systems and methods for generating volumetric models
US11027493B2 (en) * 2017-11-09 2021-06-08 Dassault Systemes Additive manufacturing of a 3D part

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JESSE LOUIS-ROSENBERG: "Drowning in triangle soup: the quest for a better 3-D printing file format", CROSSROADS, ACM, US, vol. 22, no. 3, 6 April 2016 (2016-04-06), pages 58 - 62, XP058081425, ISSN: 1528-4972, DOI: 10.1145/2893503 *
KEN MUSETH: "VDB", ACM TRANSACTIONS ON GRAPHICS, ACM, NY, US, vol. 32, no. 3, 4 July 2013 (2013-07-04), pages 1 - 22, XP058043596, ISSN: 0730-0301, DOI: 10.1145/2487228.2487235 *

Also Published As

Publication number Publication date
US20240320913A1 (en) 2024-09-26
CN118266010A (zh) 2024-06-28
DE102021124009A1 (de) 2023-03-16
EP4205085A1 (de) 2023-07-05

Similar Documents

Publication Publication Date Title
DE102008034519B4 (de) Aufgeteilte Datenstruktur, und Verfahren zum Laden einer Partikel-basierten Simulation unter Verwendung der aufgeteilten Datenstruktur in GPU, usw.
EP1175663B1 (de) Verfahren zur rasterisierung eines graphikgrundelements
DE69900213T2 (de) Verfahren und Gerät um Ansichten von hierarchisch zusammengefassten Daten herzustellen und anzuzeigen
DE112007002225B4 (de) Erstellen und Codieren von Glyphen
DE69425037T2 (de) Verfahren und Vorrichtung zur Generierung von Schriftzeichen
WO2004021274A2 (de) Verfahren und vorrichtung zum raytracing
DE69631718T2 (de) Verfahren und Gerät zur leistungsfähigen Graphikdarstellung dreidimensionaler Szenen
DE19807013A1 (de) Volumetrisches Vorabschneidungsverfahren, das eine minimale Anzahl von Abtastpunkten durch ein Volumen gewährleistet
DE102014006549B4 (de) Technik zur Verarbeitung einer Zeichenfolge zur graphischen Darstellung an einer Mensch-Maschine-Schnittstelle
DE69129339T2 (de) Graphisches ausgangssystem mit begrenzter aktualisierung.
DE69734628T2 (de) Verfahren und Vorrichtung zur Komprimierung von Formdaten
DE69130958T2 (de) Graphisches ausgangs-system und -verfahren.
AT525294A1 (de) Verfahren zum Erzeugen einer hierarchischen Datenstruktur, hierarchische Datenstruktur sowie Verfahren zum Streamen von dreidimensionalen Objekten
WO2002089059A2 (de) Bildverarbeitungsverfahren
WO2023041646A1 (de) Verfahren zum erzeugen eines dreidimensionalen modells eines objektes zum steuern eines 3d-druckers
DE3789645T2 (de) Verfahren und System zur Erzeugung von Objekttransformationsbildern.
DE102018217114A1 (de) Verfahren und Anordnung zur Speicherbedarfsermittlung, um mittels einer Grafikprozessoreinheit auf FEM-Knotennetzen basierte Simulationen durchzuführen
DE4340599C2 (de) Gerät und Verfahren zur Konturerzeugung
DE69307176T2 (de) Rasteranzeigegerät und Steuerverfahren dafür
DE69322216T2 (de) Verfahren und Gerät zur graphischen Mustererzeugung
WO2023279125A1 (de) Verfahren zum erstellen von simulationszellen für kontinuumsmechanische simulationen eines objekts
DE102021107257A1 (de) Verfahren und Datenverarbeitungsvorrichtung zum Anzeigen einer Vektorgraphik
DE102021124013B4 (de) Computer-implementiertes Verfahren zum Erstellen eines zweiten Voxel-Modells aus einem ersten Voxel-Modell
EP4430573A1 (de) Verfahren zum erzeugen eines 3d-modells mit innenliegenden strukturen
DE102004062361A1 (de) Verfahren zur Ableitung von technischen Zeichungen aus 3D Modellen mit mindestens zwei kollidierenden 3D Körpern

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2022786335

Country of ref document: EP

Effective date: 20230329

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22786335

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 202280075525.4

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 11202401804V

Country of ref document: SG