METHOD AND APPARATUS FOR CONTROLLING PMNTING OF 3D OBJECTS
FIELD
[0001] The disclosure relates generally to methods and apparatus for controlling printing of 3D objects.
BACKGROUND
3D printing is a process of making three-dimensional solid objects ("3D objects" hereinafter) from models comprising data defining 3D objects. The process typically involves creating designs (or models) for 3D objects using computer aided design or animation modeling software and transforming the designs into 3D objects through successive layering. The process employs a specialized printer capable of what is known as additive printing in the art to "print" (i.e. add materials to) the 3D objects layer by layer. The completed 3D objects through this process should look almost identical to the underlying 3D models. Since its inception, 3D printing has been in use in the fields of footwear, architecture, engineering and construction, automotive, aerospace, dental and medical industries, education, geographic information systems, civil engineering, and many others.
[0002] In general, designs of 3D objects (i.e., 3D models) for 3D printing may be considered proprietary and creators and/or owners of such designs may wish to protect them from unauthorized uses. Like other intellectual work, 3D models for 3D printing may also be protected under various intellectual property laws. For example, as works of original authorship, 3D models typically entail creativity in designing shape, color, texture, shading and/or other aspects for the 3D models. As such, 3D models are protected under copyright laws such that unauthorized use (e.g., printing) of the designs is prohibited by the copyright laws. 3D models may also involve trade secrets in terms of, for example, the layering technique used. They may
also involve patentable designs that are protected under the patent laws. In any event, creators or owners of such designs will wish to enforce appropriate protection for their designs whenever a use of their designs, e.g. printing 3D objects using the designs, is requested. However, such enforcement is difficult to achieve since there is no mechanism associated with existing 3D printing systems to ensure whether 3D objects requested to be printed are protected and whether the printing of 3D objects using the 3D printing systems is authorized if the 3D objects are protected.
[0003] Accordingly, a need exists for a method and apparatus that can control printing of 3D objects.
BRIEF DESCRIPTION OF THE DRAWINGS
[0004] The invention will be more readily understood in view of the following description when accompanied by the below figures, wherein like reference numerals represent like elements:
[0005] FIG. 1 is a block diagram illustrating one example of an apparatus for controlling printing of 3D objects in accordance with one embodiment set forth in the disclosure;
[0006] FIG. 2 is a block diagram illustrating the apparatus shown in FIG. 1;
[0007] FIG. 3 is a flowchart illustrating one example of a method for controlling printing of
3D objects;
[0008] FIG. 4 is a block diagram illustrating an example of registering 3D objects;
[0009] FIG. 5 is a block diagram illustrating an example of permission associated with registered 3D objects; and
[0010] FIG. 6 is a flowchart illustrating still another example of a method for controlling printing of 3D objects.
DETAILED DESCRIPTION
[0011] For the purposes of promoting an understanding of the principles of the disclosure, reference will now be made to the embodiments illustrated in the drawings, which are described below. The embodiments disclosed below are not intended to be exhaustive or limit the disclosure to the precise form disclosed in the following detailed description. Rather, the embodiments are chosen and described so that others skilled in the art may utilize their teachings. The disclosure includes any alterations and further modifications in the illustrated devices and described methods and further applications of the principles taught herein which would normally occur to one skilled in the art to which the disclosure relates.
[0012] Briefly, a method and apparatus for controlling printing of 3D objects determines whether a to-be-printed 3D object is registered and subject to proprietary protection. For example, the design, shape, texture color, and/or shading, etc. of the 3D object may be protected under copyright law and may not be printed without an authorization from the creator of the 3D object or the owner of the copyrights. If the 3D object is registered and identified as being protected, the method and apparatus determines whether a requester has a permission to print the 3D object. If a permission is present with the request to print the 3D object, the method and apparatus verifies the validity of the permission against one or more use policies associated with the 3D object prior to allowing printing of the 3D object. The method and apparatus denies a request to print the protected 3D object in the case when a valid permission to print the protected 3D object does not exist. However, in that case, the method and apparatus may also provide an ability to obtain a permission to print the protected 3D object.
[0013] Among other advantages, the method and apparatus provides an ability to control printing of 3D objects. Specifically, the method and apparatus intelligently determines whether a to-be-printed 3D object is protected and whether a permission to print a protected 3D object
exits. The method and apparatus also dynamically verifies if a permission to print a protected 3D object is valid based on use policies associated with the 3D object. In the case when the requester does not have a valid permission to print the 3D object, the method and apparatus promptly notifies the requester how to obtain such permission. According!)', the method and apparatus provides a comprehensive control mechanism to actualize proprietary protection intended by the creator or owner of 3D objects. Other features of the disclosure will be recognized by those of ordinary skill in the art.
[0014] FIG. 1 illustrates an example of an apparatus for printing 3D objects in accordance with one embodiment of the disclosure. The apparatus 100 may be any suitable device that can control printing of 3D objects, such as a 3D printing system, desktop computer, laptop computer, handheld (e.g., mobile or smart phone, tablet, etc.), set-top box, just to name a few. In this example, the apparatus 100 employs a processor 102, operatively coupled to a 3D printer 108 via a system bus 106, which transfers data between each structure of the apparatus 100. it is understood that the processor 102 may also be connected to the 3D printer 108 via other suitable connection as generally known in the art, e.g., point-to-point connections, wired or wireless connections, satellite link, etc. It is also understood, although the 3D printer 108 is illustrated in this example as included in the apparatus 100, in some other examples the apparatus 100 may not include a 3D printer. It is further understood, although only one 3D printer 108 is illustrated in this example, one or more 3D printers 108 may be included in the apparatus 100. Also shown is a system memory 104, operatively coupled to the processor 102 and the 3D printer 108.
[0015] In this example, the processor 102 may be a host central processing unit (CPU) having multiple cores, however, any suitable processor may be employed including a DSP, APU, GPGPU or any suitable processor or logic circuitry or graphics processing unit (GPU). In this
example, the processor 102 is bi-directionally connected to other components of the apparatus 100 via the system bus 106, In this example, as shown, the processor 102 employs a 3D object identification unit 110, a registration detection unit 1 12, and a print access unit 114. The units 110, 1 12, 114 referred to herein are any suitable executing software modules, hardware, executing firmware or any suitable combination thereof that can perform the desired function, such as programmed processors, discreet logic, for example, state machine, to name a few. It is further understood that the units 110, 112, 114 may be included in the processor 102 as part of the processor 102, or a discrete component of the apparatus 100 that can be executed by the processor 102, such as software programs stored on a computer readable storage medium that can be loaded into the apparatus 100 and executed by the processor 102, It is also understood that units 110, 112, 1 14 may be combined in some other examples to form integrated logic that performs desired functions of the units 110, 1 12, 1 14 as described herein. The units 1 10, 112, 1 14 may communicate with structures in the apparatus 100 such as but not limited to the system memory 104, and the 3D printer 108.
[0016] In this example, the processor 102 is configured to receive one or more requests 120 to print 3D objects. The request 120 may include information indicating identification of the 3D object to be printed (e.g., a unique number, text description, or any other suitable identification inforoiation for a 3D object as generally known in the art), location where 3D model data corresponding to the 3D object may be found, and/or an accompanying permission submitted by a requester (described in FIG. 5), etc. in this example, the processor 102 is also configured to generate one or more printing requests 122 that instruct the 3D printer 108 to print a requested 3D object based on a successful verification of requester's permission to print the 3D object. Details of such verification are described with reference to FIG. 6. Furthermore, in this example,
the processor 102 is configured to generate control information 126 based on its processing of the request 120. The control information 126 may include data indicating one or more error messages that deny the requester's request to print the 3D object, a prompt indicating how the requester may obtain a permission to print the 3D object, and other suitable control information as generally known in the art.
[0017] In some examples in accordance with the disclosure, the apparatus may also include a permission control server 116 and/or a registry 1 18. As shown, the permission control server 1 16 and the registry 118 are operative!)' connected to the processor 102 via any suitable connection, for example, such as wired or wireless network connection, point to point connection, data bus, etc, just to name a few. In this example, the permission control server 116 and the registry 118 are also operative!}' connected to each other via a suitable connection as described for the connection between a permission control server 1 16 and the processor 102. As shown, the pemiission control server 1 16 is operative to receive one or more requests 128 from a requester for a permission to print a 3D object. The permission control server 116 is also operative to generate information 124 associated with a 3D object, which is transmitted to the processor 102 to assist facilitation and/or verification of a requester's permission to print a protected 3D object. As shown, the registry 118 is operative to generate information 130 indicating whether a 3D object is registered and transmit that information to the processor 102 to facilitate verification of the 3D object. Although only one permission control server 116 and registry 118 are shown in this example, the number of permission control servers 1 16 and registry 118 employed to facilitate control printing of 3D objects in accordance with the disclosure may vary. Other structure of apparatus 100 will be recognized by those having ordinary skill in the art.
[0018] FIG. 2 further illustrates of the apparatus as shown in FIG. 1. In this example, the 3D object identification unit 110 is operative to receive information 200 indicating a 3D object that is requested to be printed. The information 200 may include, for example, a unique identification number associated with the 3D object or a 3D model that represents the 3D object, a text description about the 3D object, location of or actual 3D model data defining the 3D object, or any other suitable information that identifies a 3D object. In this example, the 3D object identification unit 1 10 is configured to obtain unique indentifying information 202 about the 3D object. To achieve that, the 3D object identification unit 110 may analyze the shape, color, shading, texture, or any other suitable characteristics of the 3D object as generally known in the art based on the information 200, e.g., 3D model data defining the 3D object. The 3D object identification unit 110 may also analyze contents and application of each layer of the 3D object to ascertain the identity of the 3D object. The 3D object identification unit 1 10 may also determine the identity of the 3D object based on one or more kinds of materials requested for printing of the 3D object. One having ordinary skill will recognize other suitable methods may be employed by the 3D object identification unit 110 to detect the identity of the 3D object. If the information 200 indicates a location of 3D model data, the 3D object identification unit 110 is also operative to obtain the 3D model data from the indicated location. In this example, the 3D object identification unit 110 obtains the 3D model data that defines the 3D object to be printed from the system memory 104. In some other examples, the 3D object identification unit 110 may also obtain the 3D model data model from, for example but not limited to, a hard disk, optical drive, database, data center, remote server, repository, just to name a few. The 3D object identification unit 110 may employ one or more 3D graphics manipulation methods to obtain the identifying information 202 about the 3D object based on the underlying 3D model data. In the
case when the information 200 already distinctively identifies the 3D object, such as but not limited to, by a unique identification number or data uniquely and sufficiently describing the 3D model representing the 3D object, the 3D object identification unit 1 10 just simply passes along that information as identifying information 202 for further processing to control printing of the 3D object.
[0019] Once the identifying information 202 about the 3D object to be printed is ascertained, the registration detection unit 1 12, in this example, can determine whether the 3D object is registered as being protected. As shown, the registration detection unit 1 12 is operative to receive the identifying information 202 about the 3D object generated by the 3D object identification unit 110, The registration detection unit 112 is configured such that it is cognizant where to query for a determination whether the 3D object is registered. For example, the registration detection unit 112 may be configured to communicate to one or more information servers, such as the registry 118, for such a determination. In this example, the registration detection unit 112 is operative to generate such a query 204 based on the received identifying information 202 (e.g., the unique color, shape, etc of the 3D object, the application and contents of each layer requested for printing of the 3D object, the material requested for printing of the 3D object, etc as described earlier) and transmit the query 204 to the registry 1 18 for a determination whether the 3D object is registered. As shown, in response to the query 204, the registry 118 returns a result set 206 indicating possible matches in the registry 118 for the 3D object. Upon receiving the result set 206, the registration detection unit 112 may determine if the resulting registration records returned by the registry 1 18 indeed matches the 3D object, for example, using one or more 3D graphics geometry methods as generally known in the art. In the case where the registration detection unit 112 determines a perfect match does not exist, the
registration detection unit 112 may determine a probability that one or more results match the 3D object. For example, a pre-determined threshold could be set by the registration detection unit 1 12 and/or by the registry 1 18. In a case when the result set 206 only contains one or more probable matches between records in the registry 118 and the 3D object, e.g., as determined by the registration detection unit 1 12 or the registry 118, and the probable matches indicate the probability is below the pre-determined threshold, the registration detection unit 112 may determine that the 3D object is not registered. In a case when a single record is determined to be matching the 3D object and the probability of matching is determined to be above the threshold, the registration detection unit 1 12 may determine that the 3D object is registered. In a case when more than one match is determined to be above the threshold, the registration detection unit 112 may determine the registry record with the highest probability of matching the 3D object to be the matching record, in response to a determination of a match for the 3D object requested, the registration detection unit 1 12 may inform such a determination. For example, the registration detection unit 112 may generate information indicating one or more registry records that are determined to be matching or potentially matching the 3D object. Such information may be used to enable the requester or the 3D printer to react to the determination, e.g., contest that the 3D object requested to be printed is not registered as being protected. Such information may also be used to assist one or more administrative entities of the apparatus 100 to select a registry record to be the matching record if one or more registry records are deemed to be potentially matching.
[0020] As shown, upon a determination whether the 3D object to be printed is registered, the registration detection unit 112 is operative to generate a control command 208 to print the 3D object. Based on the result of the determination of registration for the 3D object to be printed, the control command 208 may include information regarding the 3D object. As also shown, in this
example, the print access unit 1 14 intercepts the control command 208 sent by the registration detection unit 112. The print access unit 114 is operative to control access, e.g., printing request to one or more 3D printers 108. In this example, the print access unit 1 14 is configured to determine whether a permission exists to print a requested and registered 3D object. If the information regarding the 3D object sent by the registration detection unit 112 indicates that the 3D object is registered as being protected, the print access unit 114, in this example, is operative to generate a query 210 for a determination of the level of protection imposed on the 3D object. The print access unit 1 14 is configured such that it is cognizant of location and/or identification of one or more information servers, such as the permission control server 116, that have information about the protection level associated with the 3D object. In response to the query 210, the permission control server 1 16 is operative to generate an answer set 212. The answer set 212 may include information indicating the level of protection for the 3D object, such as one or more use policies set by the owner or creator of the 3D model. Details of such use policies are described in FIG. 4. The answer set may also include a permission (e.g., a digital key) to print the 3D object associated with the 3D model if the owner or creator of the 3D model indicates that such permission may be granted to whoever requests to print the 3D object during a time period. In this example, the permission control server 1 16 is operatively connected to the registry 1 18. The permission control server 116 may quer}' for the level of protection associated with a requested 3D object registered at registry 1 18. The pemussion control server 116 may cache the protection information about a 3D object for future processing.
[0021] In this example, upon receiving the answer set 212 that indicates a level of protection associated with the 3D object to be printed, the print access unit 114 is operative to determine and verify if a permission to print the 3D object in compliance with its protection exists. One
example of such permission is described in FIG. 5. The print access unit 114 may retrieve such permission, e.g., the permission info 214, from the system memory 104 if it is stored there as being associated with the requester. The print access unit 114 may also request and obtain permission information 214 from the 3D printer 108 if the 3D printer 108 is configured to have such permission. In the case where there is not permission in compliance with the protection associated with the 3D object to be printed, the print access unit 114, in this example, is operative to generate a prompt 220 that informs the requester to obtain permission to print the 3D object. The prompt 220 may also include information indicating where and how the requester may obtain such permission. For example, the prompt 220 may provide a link, a form to be submitted, or any other suitable initiation for a requester to obtain the permission as generally known in the art.
[0022] In this example, the print access unit 114 is also operative to verify if a permission, e.g., a digital key including permission info 214, to print 3D object is valid, i.e., whether in compliance with the level of protection imposed on the 3D object. Details of such verification are described in FIG. 6. If the permission is invalid or does not exist, the print access unit 114 is operative to generate the prompt 220 for a permission and/or deny the request to print the 3D object. Conversely, upon a successful verification of a permission to print the 3D object requested, the print access unit 114 generates a print command 222 based on the control command 208 instructing the 3D printer 108 to print the 3D object according to the request. As shown, in this example, the 3D printer 108 may obtain 3D model data defining the 3D object from the system memory 104. In some other examples, the 3D printer 108 may also obtain such data from, for example but not limited to, a database, repository, hard disk, data center, network
drive, optical drive, another computer (desktop or laptop), or any other suitable device that can be used to store 3D model data as generally known in the art.
[0023] FIG. 3 illustrates one example of a method for controlling printing of a 3D object. It will be described with reference to FIGS. 1 and 2, However, any suitable structure may be employed. At block 300, in operation, the method receives a request to print a 3D object. At block 301, the method identifies the 3D object, for example, through the 3D object identification unit 1 10. At block 302, the method determines whether the 3D object has been registered. This may be done through the object identification unit 110 and registration detection unit 112 as described in FIG. 1 and FIG. 2. At decision block 304, the method recognizes whether a registration of the 3D object requested to be printed exists. In the case when the 3D object is not registered, the method proceeds to block 312, which will print the 3D object according to the request. In the case when the 3D object is registered, the method proceeds to block 306. At block 306, the method determines whether a permission to print the 3D object exists and whether the permission complies with a level of protection associated with the 3D object. This may be done through the print access unit 1 14 as described in FIG. 1 and FIG. 2. An exemplary level of protection that might be imposed on a registered 3D object is further illustrated in FIG. 4. At decision block 308, the method recognizes whether a valid permission to print the 3D object exists. In the case where a valid permission in compliance with the protection imposed on the 3D object exists, the method proceeds to block 312 and prints the 3D object according to the request. In case where a valid permission to print the 3D object does not exist, the method proceeds to block 310. At block 310, the method denies the request to print the 3D object in response to a determination that a permission to do so does not exist. At block 310, the method also prompts the requester to obtain a permission to print the 3D object being requested and returns to block
306. It is understood the order of the processing as illustrated in FIG. 3 may vary in some other examples.
[0024] FIG. 4 illustrates one example of registration records associated with a plurality of 3D objects stored in registry 118. In this example, each of the registration records 400 comprises a 3D object ID 402 indicating a unique identification of the corresponding 3D object, description data 404, owner list 406, and user policy list 408, ail of which are associated with a corresponding 3D object. It is understood that the illustration of the content of registration record 402 in FIG. 4 is by way of example and not intended to be limiting. One having ordinary skill in the art will recognize other suitable mformation associated with a 3D object as being included in a registration record 402 for the 3D object.
[0025] The description data 404 may include description about a corresponding 3D object, for example, such as its color, shape, texture, shading, contents and application for each layer of the 3D object, one or more kinds of printing material requested for printing the 3D object, etc as generally known in the art. The owner list 406 may include mformation indicating an individual, group of people, corporations and/or other one or more suitable entities that own rights to the corresponding 3D object.
[0026] The use policy list 408, in this example, is used to indentify one or more use policies set forth by the owner or the creator of the 3D model to specify a level of protection, e.g., specified by the protection information 216, associated with a corresponding 3D object. With this information, the permission control information server 116 may assist the print access unit 1 14 to verify whether a permission presented with a request is in compliance with the protection for the 3D object intended by the owner or creator.
[0027] Some exemplary information (i.e., policies) that may be used to set forth protection for a 3D object is illustrated in FIG. 4. The use policy list 408 for a 3D object may include information 410 mdicatmg one or more authorized user lists, for example, everybody, a group of people in a controlled list, nobody, etc. The use policy list 408 may also include information 412 indicating a purchase price to obtain a permission to print the corresponding 3D object. The use policy list 408 may also include information 414 mdicatmg a maximum number of uses associated with a permission; for example, up to 5 prints is allowed for a purchased permission to print the corresponding 3D object. The use policy list 408 may also include information 416 indicating a quality of use for a permission; for example, it may specify the grade, resolution, and/or quality by which the 3D object may be printed. The use policy list 408 may also include information 418 indicating one or more locations where the 3D object may be printed; for example, it may specify one or more pre-designated 3D printers and/or one or more entities where the 3D object may be printed. It is understood the above-mentioned exemplary information that may be included in a use policy list 408 associated with a 3D object is described for the purpose of illustrating possible content of a use policy list 408 and not for the purpose of limiting the content of use policy list 408. One having ordinary skill in the art will recognize other suitable information to be associated with a 3D object in the use policy list 408 for the purpose of specifying a level of protection for the 3D object.
[0028] FIG. 5 illustrates an example of permission information associated with a 3D object requested to be printed. It will be described with a reference to FiGs 1 and 2. The permission information, i.e., the permission information 214, can be used to indicate a requester's or a 3D printer's privilege to print a requested 3D object. In one example in accordance with the disclosure, the permission information can be embedded in a digital key as generally known in
the art. Such a digital key may be stored in the memory of printing hardware associated with a 3D printer, e.g., the 3D printer 108, or on the hardware device that initiated a printing request (e.g., the requester's computer). In that case, authorization to print a protected 3D object is enforced on the level of the 3D printer and/or computer; i.e., specific 3D printers and/or computers are authorized to print specific 3D objects. Such enforcement can be useful in a corporate setting and is akin to site licensing as generally known in the art. For example, the print access unit 1 14, operatively controlling access to the 3D printer 108, will check if the 3D printer 108 has a permission to print a 3D object being requested. As shown in FIG. 2, the print access unit 114 may request a digital key mcludmg the permission information 214 from the 3D printer 108. Alternatively, the digital key embodying permission information 214 may also be associated with a requester, e.g., an entity such as a person, a group, a corporation, etc. In that case, the requester may present such a digital key when requesting to print a corresponding protected 3D object. In some examples, such a digital key associated with a requester may be stored in a key repository, for example, the permission control server 116.
[0029] A digital key including permission information 214 may also be requested by an entity (e.g., a requester) attempting to print a protected 3D object. As shown in FIG. 2, the permission control server 1 16 may be used to receive one or more requests 224 for permission (e.g., a digital key) to print corresponding 3D objects. The permission control server 116 may include a transactional component for handling such a request. For example, the permission control server 116 may be configured to automatically process a purchase for a digital key that permits printing of a corresponding 3D object in accordance with a use policy associated with the 3D object stored in the registry 118.
[0030] FIG. 5 illustrates some exemplary information that may be used to specify a permission to print a corresponding 3D object. The information 500 mdicates identification associated with the holder of the pennission. As described above, the pemiission to print a protected 3D object may be held by an entity (e.g., a person, a group, a corporation, etc), a 3D printer (e.g., the 3D printer 108) or a computer that initiates the request. Accordingly, the identification information 500 may uniquely identify the holder of the permission based on the type of the holder (e.g., IP address for a 3D printer, name for an entity, etc). The information 502 indicates information associated with a protected 3D object. The information 502 may include an ID number that uniquely identifies the 3D object, a location where a 3D model representing the 3D object may be found, and/or other suitable identification information identifying a 3D object as generally known in the art. In this example, the pennission information may also include information 504 indicating an expiration of the permission granted to the holder of the permission, information 506 indicating the current number of uses of the permission by the holder of the permission, and information 508 indicating specific quality of use granted to the holder of the permission. With such information, the print access unit 114 can verify against one or more use policies set forth for a protected 3D object by the owner or creator and determine whether, for example, a digital key including permission information 214 held by a requester is valid. For example, the print access unit 114 may determine that a digital key is invalid because the key indicates all 5 prints, maximally allowed by the use policy associated with a protected 3D object, have been used. It is understood that the foregoing description of permission information is illustrated by way of example and the examples are not intended to limit the content of permission information 214, One having ordinary skill in the art will recognize other suitable information that facilitates verification of a permission to print a 3D object against one
or more use policies set forth by the owner or creator of the 3D object may be included in the permission information 214.
[0031] FIG. 6 illustrates an example of determining and verifying permission to print a 3D object in accordance with one embodiment of the disclosure. At block 600, the method determines whether a permission to print a protected 3D object exists. As described above, such permission may be associated with a 3D printer, e.g., the 3D printer 108, and the method will determine whether the 3D printer has such permission. Such permission may also be associated with the requester, i.e., an entity, and the method will determine whether the requester has such permission. At decision block 602, the method recognizes whether such permission exists. In the case where the permission to print the protected 3D object exists, the method proceeds to block 604. At block 604, the method determines whether the permission is valid against one or more use policies associated with the corresponding 3D object. At decision block 608, the method recognizes whether the permission is valid. In the case when the method determines that the permission is still valid, the method proceeds to block 610 and prints the 3D object according to the request. In the case when the method determines that the permission is invalid, the method proceeds to block 606.
[0032] Referring now to decision block 602. In the case when the method determines a permission to print the protected 3D object does not exist, it proceeds to block 606. At block 606, the method determines whether a permission to print the 3D object can be requested. This determination may be performed by the print access unit 114 based on the information regarding the owner or creator of the 3D object and one or more use policies associated with the 3D object. For example, the use policies may specifically stipulate that a request to purchase a permission to print the 3D object is allowed and through a particular transaction server such a purchase may be
completed. At decision block 612, the method recognizes whether the permission may be requested. In the case where such permission may be requested, the method proceeds to block 614. At block 614, the method generates a prompt to inform that a valid permission to print the 3D object is needed. Further, the method at block 614 may also inform how to obtain such permission based on the information associated with the 3D project registered and returns to block 600. In the case when the permission cannot be requested, e.g., the 3D object is not printable, the method denies the request to print the 3D object.
Although the disclosure is described herein with reference to specific embodiments, various modifications and changes can be made without departing from the scope of the present disclosure as set forth in the claims below. Accordingly, the specification and figures are to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope of the present disclosure. Any benefits, advantages, or solutions to problems that are described herein with regard to specific embodiments are not intended to be construed as a critical, required, or essential feature or element of any or ail the claims. The term "coupled," as used herein, is defined as connected, although not necessarily directly, and not necessarily mechanically. As used herein, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not necessarily include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. The terms "a" or "an," as used herein, are defined as one or more than one.