PROPERLY FUNCTIONING 3D PART ASSEMBLY DETERMINATIONS

According to examples, a processor may dilate a first digital model of a first 3D part a predefined amount and a second digital model of a second 3D part the predefined amount, in which the first 3D part and the second 3D part are to be fabricated together in an assembly to have a functional relationship with respect to each other, and in which the first digital model and the second digital model are spaced from each other in a manner that corresponds to a spacing of the first 3D part and the second 3D part in the assembly. The processor may determine a spatial relationship between the dilated first digital model and the dilated second digital model and may determine, based on the determined spatial relationship, whether the assembly of the first 3D part and the second 3D part is predicted to function properly when the assembly is fabricated.

BACKGROUND

In three-dimensional (3D) printing, an additive printing process may be used to make 3D parts from a digital model. 3D printing techniques are considered additive processes because they involve the application of successive layers or volumes of a build material, such as a powder or powder-like build material, to an existing surface (or previous layer). 3D printing often includes solidification of the build material, which for some materials may be accomplished through use of heat, a chemical binder, and/or an ultra-violet or a heat curable binder.

DETAILED DESCRIPTION

For simplicity and illustrative purposes, the principles of the present disclosure are described by referring mainly to examples thereof. In the following description, numerous specific details are set forth in order to provide an understanding of the examples. It will be apparent, however, to one of ordinary skill in the art, that the examples may be practiced without limitation to these specific details. In some instances, well known methods and/or structures have not been described in detail so as not to unnecessarily obscure the description of the examples. Furthermore, the examples may be used together in various combinations.

Disclosed herein are computer-readable media, methods, and apparatuses, in which a processor may determine a spatial relationship between dilated versions of digital models of parts that are to have a functional relationship within an assembly. The parts may be fabricated together in the assembly to have the functional relationship. Based on the determined spatial relationship, the processor may determine whether the assembly of the parts is predicted to function properly when the assembly is fabricated. The dilated versions of the digital models may correspond to, for instance, deviations in the fabricated parts from their respective digital models. The deviations may occur due to variances in types of materials used to fabricate the parts, variances in the types of processes used to fabricate the parts, and/or the like.

Through implementation of the features of the present disclosure, the processor may determine whether the assembly is predicted to function properly prior to the assembly being fabricated. As a result, when an assembly is predicted to function properly, the assembly may be fabricated. However, when an assembly is predicted to function improperly, a notification may be issued to alert a user or designer of the possible defect in the assembly and the user or designer may modify some or all of the digital models. The modified digital model(s) may be used to fabricate the assembly to better ensure that a properly functioning assembly is fabricated.

A technical improvement afforded by the present disclosure may be that the fabrication of improperly functioning assemblies may be detected prior to 3D printing of the assemblies, and thereby avoiding the printing of non-functioning assemblies.

Reference is first made toFIGS. 1-3C.FIG. 1shows a block diagram of an example computer-readable medium100that may have stored thereon computer-readable instructions for determining whether an assembly214of a first 3D part208and a second 3D part212is predicted to function properly when the assembly214is fabricated.FIG. 2shows a diagram200of an apparatus202, which includes an example processor204that may execute the computer-readable instructions stored on the example computer-readable medium100depicted inFIG. 1.FIGS. 3A-3C, respectively, depict diagrams of example spatial relationships between a dilated first digital model300and a dilated second digital model302. It should be understood that the computer-readable medium100, the apparatus202, and/or the elements shown inFIGS. 3A-3Cmay include additional features and that some of the features described herein may be removed and/or modified without departing from the scopes of the computer-readable medium100, the apparatus202, and/or the features depicted inFIGS. 3A-3Cdiscussed herein.

The computer-readable medium100may have stored thereon computer-readable instructions102-108that a processor, such as the processor204depicted inFIG. 2, may execute. The computer-readable medium100may be an electronic, magnetic, optical, or other physical storage device that contains or stores executable instructions. The computer-readable medium100may be, for example, Random Access memory (RAM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), a storage device, an optical disc, and the like. Generally speaking, the computer-readable medium100may be a non-transitory computer-readable medium, in which the term “non-transitory” does not encompass transitory propagating signals.

The processor204may fetch, decode, and execute the instructions102to dilate a first digital model206of a first three-dimensional (3D) part208a predefined amount. In addition, the processor204may fetch, decode, and execute the instructions104to dilate a second digital model210of a second 3D part212the predefined amount. The first 3D part208and the second 3D part212may be fabricated together in an assembly214to have a functional relationship with respect to each other. As shown in the example depicted inFIG. 2, a 3D fabrication system216may fabricate the first 3D part208and the second 3D part212as part of a functional assembly214. In other words, the first 3D part208and the second 3D part212may be fabricated concurrently, e.g., together in a common build volume of the 3D fabrication system216, to be in a functional, e.g., working, relationship with respect to each other.

By way of example, and as shown inFIG. 2, the first 3D part208and the second 3D part212may be fabricated to rotate about respective axles220,222as denoted by the arrows226,228. The 3D fabrication system216may fabricate each of the components of the assembly214together such that, for instance, the axles220,222are formed to be fixedly attached to a base224and the first and second 3D parts208,212are formed to be rotatably connected to the axles220,222. In addition, each of the first 3D part208and the second 3D part212may include features that enable a functional relationship with respect to each other. That is, in the example shown inFIG. 2, rotation of the first 3D part208may cause the second 3D part212to rotate and vice versa. Although the first and second 3D parts208,212have been depicted with a single engagement arrangement, it should be understood that the first and second 3D parts208,212may include a number of engagement arrangements, e.g., teeth in gears. In other examples, the first 3D part208and the second 3D part212may have other types of functional relationships with respect to each other and/or to other parts. For instance, the first 3D part208and the second 3D part212may have a linearly movable functional relationship with respect to each other.

As other examples, the base224may be an enclosure within which the first 3D part208and the second 3D part212may be housed. In these examples, the first 3D part208and the second 3D part212may be fabricated within the enclosure formed by the base224as the first 3D part208and the second 3D part212may not be inserted into the interior of the enclosure formed by the base224following fabrication of the base224.

The first 3D part208may be positioned within a certain distance from the second 3D part212in order for the first 3D part208and the second 3D part212to function properly. In instances in which the first 3D part208is fabricated to be a sufficient distance to the second 3D part212to cause greater than intended contact, the functional movements of the first 3D part208and the second 3D part212may be hindered and thus, the assembly214may function improperly. This may occur when the first 3D part208and/or the second 3D part212have grown to have sizes that are greater than were predicted in the first and/or second digital models206,210due to the printing processed used. The assembly214may be construed as functioning improperly when the assembly214does not function as intended or is not within a predefined tolerance from the intended function. For instance, a portion of the first 3D part208may become unintentionally fused with a portion of the second 3D part212during fabrication of the assembly214. Likewise, in instances in which the first 3D part208is fabricated to be a sufficient distance from the second 3D part212to prevent proper contact between the parts208,212, for instance, due to the first 3D part208and/or the second 3D part212having grown to sizes that are smaller than were predicted due to the printing processed used, the assembly214may also function improperly. For instance, the first 3D part208may be fabricated too far away from the second 3D part212to enable sufficient contact between the parts208,212.

In many instances, the 3D fabrication system216may use any of a number of different types of materials and/or processes to fabricate the assembly214based on the same 3D models206,210. The different types of materials, which may be different types of build materials, binding agents, fusing agents, and/or the like, and/or processes may result in the first and/or second 3D parts208,212being formed to have dimensions that may vary from the dimensions included in the 3D models206,210. The different types of materials and/or processes may also or alternatively result in the first and second 3D parts208being formed at positions that may differ from those identified in the first and second digital models206,210.

The amounts of deviation may differ for different types of materials and/or processes. As a result, use of the same models206,210may result in the assembly214functioning properly when the assembly214is fabricated using a first type of material and/or process but may result in the assembly214functioning improperly when the assembly214is fabricated using a second type of material and/or process. The determination as to whether the assembly214functions properly may not be made until the assembly214is fabricated, which may result in wasted materials, wasted resource usage, additional costs, and/or the like.

As discussed herein, a prediction as to whether the components of an assembly214that may be fabricated together may function properly may be made prior to the assembly214being fabricated. As a result, changes may be made prior to the assembly214being fabricated such that there is a greater likelihood that the assembly214will function properly when fabricated. This may also result in reductions in wasted material, resource usage, costs, and/or the like.

The processor204may obtain, e.g., access, download, retrieve, or the like, the first digital model206and the second digital model210from a data source (not shown) as a single data file or as multiple data files. The data source may be local to the apparatus202or may be remote from the apparatus202and thus, for instance, the processor204may obtain the digital models206,210from a local data storage via a local connection or from a remote data storage via a network connection, e.g., the Internet. The processor204may also obtain digital models of the other components of the assembly214, such as the base224and the axles220,222.

The first digital model206and the second digital model210may be respective 3D computer models of the first 3D part208and the second 3D part212, such as computer aided design (CAD) files, print-ready files (such as a 3D manufacturing format (3MF) files), and/or the like, or other digital representations of these components. By way of example, the first digital model206and the second digital model210may be mesh models and particularly, digital 3D triangle mesh models. In other words, the first digital model206and the second digital model210may each include a set of triangles that may be connected to other triangles by their common edges and/or corners, in which the set of triangles may represent surfaces of the first digital model206and the second digital model210. Generally speaking, the resolutions of the first digital model206and the second digital model210may be increased through use of smaller triangles, but the amount of space in a file used to store the digital models206,210may also be increased to represent the increased number of triangles. Additionally, a greater number of triangles may be used to represent smoother curvatures in the surfaces of the digital models206,210.

As discussed herein, the processor204may fetch, decode, and execute the instructions102and104to dilate, or equivalently, enlarge, the first digital model206and the second digital model210a predefined amount. According to examples, the processor204may dilate the first digital model206and the second digital model210in a mesh space, e.g., while the first and second digital models206and210are mesh, e.g., triangle mesh, versions. In other examples, the processor204may transform the first digital model206into a voxel space and may transform the second digital model210into the voxel space. In some examples, the 3D fabrication system216may use the first and second digital models206and210in the voxel space to fabricate the assembly214. The processor204may also dilate the first digital model206in the voxel space and may dilate the second digital model210in the voxel space. In these examples, the predefined amount of dilation may be a predefined number of voxels. In any of these examples, the processor204may dilate the first digital model206and the second digital model210while the first digital model206and the second digital model210are arranged to be in a functional relationship with each other, for instance, as shown inFIG. 2

Examples in which the processor204may dilate the first digital model206and the second digital model210are shown inFIGS. 3A-3C. Particularly, as shown in those figures, the processor204may dilate the first digital model206to have a size as shown as the dilated first digital model300. The processor204may also dilate the second digital model210to have a size as shown as the dilated second digital model302. The processor204may dilate the first digital model206and the second digital model210by the same amounts with respect to each other and may dilate the models206,210equally around the peripheries of the models206,210. In some examples, the processor204may dilate the models206,210around the periphery of the models206,210in their entireties. In other examples, the processor204may dilate functional portions of the models206,210, in which the functional portions may be the portions of the models206,210that are to engage each other.

In some examples, the processor204may determine the predefined amount at which the first and second digital models206,210are to be dilated prior to dilating the first and second digital models206,210. The processor204may determine the predefined amount based on various factors pertaining to, for instance, the type of 3D fabrication system that is to fabricate the first and second 3D parts208,212. The predefined amount, e.g., the predefined number of units, to which the first digital model206and the second digital model210may be dilated may be based on any of a number of factors. For instance, the predefined amount may be related to a type of material to be used to fabricate the assembly214, a fabrication profile of a 3D fabrication system216that is to fabricate the assembly214, and/or the like. The fabrication profile may include, for instance, the type of fabrication processes to be applied to the material during fabrication of the assembly214. The fabrication processes may include a fusion of material particles using binding agents, application of heat to the material particles and agents, a laser sintering process, and/or the like. In any of these examples, the spatial relationship between the first 3D part208and the second 3D part212may vary depending on the type of material used and/or the fabrication profile of the 3D fabrication system216used due to, for instance, different levels of thermal bleed and other variables that may arise during fabrication of the assembly214.

In some examples, the predefined amount, e.g., predefined number of voxels, or other distance parameters, for various types of build materials and/or 3D fabrication systems that may be used to fabricate the assembly214may have been determined through testing, modeling, simulation, and/or the like. This information may be stored, for instance, in a lookup table and the processor204may access this information to determine the distances, e.g., the predefined amounts, at which the first and second digital models206,210are to be dilated. In some examples, the first 3D part208may be fabricated using a different material and/or fabrication process as compared with the second 3D part212. In these examples, the processor204may determine different levels of dilation for each of the digital models206,210, in which the different levels may correspond to the differences in the fabrication of the first 3D part208and the second 3D part212.

The processor204may fetch, decode, and execute the instructions106to determine a spatial relationship between the dilated first digital model300and the dilated second digital model302. In some examples, the processor204may determine the spatial relationship, e.g., the distances between sections of the dilated models300,302, while positions of the dilated models300,302correspond to respective positions of the first 3D part208and the second 3D part212in the fabricated assembly214to have an intended functional relationship with each other.

The processor204may fetch, decode, and execute the instructions108to determine, based on the determined spatial relationship, whether the assembly214of the first 3D part208and the second 3D part212is predicted to function properly when the assembly214is fabricated. Equivalently, the processor204may determine whether the assembly214is predicted to function improperly when the assembly214is fabricated based on the first digital model206and the second digital model210.

In some examples, the processor204may determine that the assembly214is predicted to function properly in instances in which the spatial distance between the dilated models300,302is beyond a predefined distance. This example is shown inFIG. 3A. However, the processor204may determine that the assembly214is predicted to function improperly in instances in which the spatial distance between the dilated models300,302is within the predefined distance. The predefined distance may be user-defined, determined through testing, modeling, simulation, and/or the like. By way of example, the predefined distance may be sufficiently small distance, e.g., a distance at which a portion of the dilated first model300overlaps with a portion of the second dilated model302. An example of a portion of the dilated first model300overlapping with a portion of the second dilated model302is shown inFIG. 3B.

In addition, or in other examples, the processor204may determine that a distance between a portion of the dilated first digital model300and a portion of the dilated second digital model302exceeds a predefined distance. The predefined distance may be a distance at which there may be a likelihood that rotation or other movement of the first 3D part208may not result in an intended movement of the second 3D part212. The predefined distance may be determined through testing, modeling, simulation, and/or the like. In addition, the processor204may determine the predefined distance from additional information regarding the digital models206,210, e.g., metadata associated with the digital models206,210that may include the additional information. The processor204may, based on a determination that the portion of the dilated first digital model300and the portion of the dilated second digital model302exceeds the predefined distance, determine that the assembly214of the first 3D part208and the second 3D part212is predicted to function improperly when the assembly214is fabricated.

The processor204may proceed with the fabrication process of the assembly214based on a determination that an assembly214that is fabricated based on the first digital model206and the second digital model210is predicted to function properly. However, based on a determination that the assembly214is predicted to function improperly, the processor204may output a notification that indicates that the assembly214of the first 3D part208and the second 3D part212is predicted to function improperly when fabricated. A user or designer may thus be informed to modify the first digital model206and/or the second digital model210such that the assembly214may be fabricated to function properly.

In any of the examples discussed herein, the processor204may control fabrication components (not shown) of the 3D fabrication system216to fabricate the assembly214using the digital models206,210. The processor204may, in some examples, be a processor204of an apparatus202that is external to the 3D fabrication system216, while in other examples, the processor204may be part of the 3D fabrication system216. Thus, for instance, the processor204may determine whether the assembly214is predicted to function improperly prior to the models206,210being communicated to the 3D fabrication system216. In addition, or alternatively, the processor204may make this determination after receiving the models206,210in the 3D fabrication system216. In these examples, a processor or controller of the 3D fabrication system216may determine whether the assembly214is predicted to function improperly or properly.

The 3D fabrication system216may be any suitable type of additive manufacturing system. Examples of suitable additive manufacturing systems may include systems that may employ curable binder jetting onto build materials (e.g., thermally or UV curable binders), liquid print agent jetting onto build materials, selective laser sintering, stereolithography, fused deposition modeling, etc. In a particular example, the 3D fabrication system216may form the assembly214by binding and/or fusing build material particles together. In any of these examples, the build material particles may be any suitable type of material that may be employed in 3D fabrication processes, such as, a metal, a plastic, a nylon, a ceramic, an alloy, and/or the like.

In some examples, the processor204may be part of an apparatus202, which may be a computing system such as a server, a laptop computer, a tablet computer, a desktop computer, or the like. The processor204may be a semiconductor-based microprocessor, a central processing unit (CPU), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), and/or other suitable hardware device. The apparatus202may also include a memory230that may have stored thereon computer-readable instructions (which may also be termed computer-readable instructions) that the processor204may execute, such as the computer-readable medium100depicted inFIG. 1.

Although the apparatus202is depicted as having a single processor204, it should be understood that the apparatus202may include additional processors and/or cores without departing from a scope of the apparatus202. In this regard, references to a single processor202as well as to a single computer-readable medium100may be understood to additionally or alternatively pertain to multiple processors204and multiple memories230. In addition, or alternatively, the processor204and the memory230may be integrated into a single component, e.g., an integrated circuit on which both the processor204and the memory230may be provided. In addition, or alternatively, the operations described herein as being performed by the processor204may be distributed across multiple apparatuses202and/or multiple processors204.

By way of example, the memory230may have stored thereon instructions that when executed by the processor204, may cause the processor204to dilate a first digital model206of a first 3D part208a predefined amount and to dilate a second digital model210of a second 3D part212the predefined amount, in which positions of the first digital model206and the second digital model210correspond to positions of the first 3D part208and the second 3D part212when an assembly214of the first 3D part208and the second 3D part212is fabricated and in which the first 3D part208and the second 3D part212are to be fabricated together in the assembly214to have a functional relationship with respect to each other. As discussed herein, the processor204may transform the first digital model206into a voxel space and may dilate the first digital model206in the voxel space. The processor204may also transform the second digital model210into the voxel space and may dilate the second digital model210in the voxel space.

The instructions may also cause the processor204to determine a spatial relationship between the dilated first digital model300and the dilated second digital model302and to determine whether a portion of the dilated first digital model300overlaps with a portion of the dilated second digital model302. Based on a determination that the portion of the dilated first digital model300overlaps with the portion of the dilated second digital model302, the instructions may further cause the processor204to determine that the assembly214of the first 3D part208and the second 3D part212is predicted to function improperly when the assembly214is fabricated. The instructions may further cause the processor204to output a notification that indicates that the assembly214of the first 3D part208and the second 3D part212is predicted to function improperly when fabricated.

According to examples, in which the first 3D part208rotates around the axle220and the second 3D part212rotates around the axle222, the processor204may determine whether the assembly of these components is predicted to function properly in manners similar to those discussed above with respect to the functional relationship between the first 3D part208and the second 3D part212.

Various manners in which a processor204may operate are discussed in greater detail with respect to the method400depicted inFIG. 4. Particularly,FIG. 4depicts a flow diagram of an example method400for determining whether an assembly214of a first 3D part208and a second 3D part212is predicted to function properly when the assembly214is fabricated. It should be understood that the example method400may include additional operations and that some of the operations described herein may be removed and/or modified without departing from the scope of the method400. The description of the method400is made with reference to the features depicted inFIGS. 1-3Bfor purposes of illustration.

At block402, the processor204may enlarge a functional portion of a first digital model206of a first 3D part208. At block404, the processor204may enlarge a functional portion of a second digital model210of a second 3D part212, in which positions of the first digital model206and the second digital model210correspond to positions of the first 3D part208and the second 3D part212when an assembly214of the first 3D part208and the second 3D part212is fabricated. In addition, the positions of the first digital model206and the second digital model210may correspond to the positions of the first 3D part208and the second 3D part212while the first 3D part208and the second 3D part212are in a functional relationship with respect to each other.

As discussed herein, the first 3D part208and the second 3D part212are to be fabricated together in the assembly214to have a functional relationship with respect to each other. As also discussed herein, the processor204may enlarge the first digital model206and the second digital model210by a predefined amount, e.g., a predefined number of units. The predefined amount may be based on properties of the material and/or fabrication processes to be used to fabricate the assembly214. As further discussed herein, the processor204may enlarge mesh versions of the first digital model206and the second digital model210and/or may enlarge voxelized versions of the models206,210.

At block406, the processor204may determine a spatial relationship between the enlarged first digital model300and the enlarged second digital model302. For instance, the processor204may determine a distance between the enlarged first digital model300and the enlarged second digital model302.

At block408, the processor204may determine, based on the determined spatial relationship, whether the assembly214of the first 3D part208and the second 3D part212is predicted to function properly when the assembly214is fabricated. Based on a determination that the assembly214is predicted to function improperly when the assembly214is fabricated, at block410, the processor204may output a notification that indicates that the assembly214of the first 3D part208and the second 3D part212is predicted to function improperly when fabricated. However, based on a determination that the assembly214is predicted to function properly, the processor204may proceed with a fabrication process of the assembly214. The fabrication process may include, for instance, transforming the first digital model206and the second digital model210from a mesh space to a voxel space, fabricating the assembly214, and/or the like.

Some or all of the operations set forth in the method400may be included as a utility, program, or subprogram, in any desired computer-accessible medium. In addition, the method400may be embodied by a computer program, which may exist in a variety of forms both active and inactive. For example, they may exist as machine-readable instructions, including source code, object code, executable code or other formats. Any of the above may be embodied on a non-transitory computer readable storage medium.

Examples of non-transitory computer readable storage media include computer system RAM, ROM, EPROM, EEPROM, and magnetic or optical disks or tapes. It is therefore to be understood that any electronic device capable of executing the above-described functions may perform those functions enumerated above.