This disclosure relates to a digital manufacturing platform.
Digital fabrication technologies, such as three-dimensional printing, two-dimensional laser cutting, 3D knitting, or computer numerical control (CNC) milling, enable a computer-controlled machine to produce an object based on a digital design. Digital fabrication technologies are becoming an increasingly more popular method for manufacturing objects. However, it is currently difficult for consumers, who may or may not have access to digital fabrication machines, to access high-quality designs and to manufacture customized products based on these designs. It is also difficult for designers who create digital designs to reach a customer base that is able to use their designs.
System Overview
An on-demand digital manufacturing platform manages a three-sided digital manufacturing marketplace. Product designers can upload designs to the platform, where customers can browse the designs for desired products. When a customer purchases a product, the digital manufacturing platform sends the design to a manufacturer to produce the product based on the design. The digital manufacturing platform can facilitate production of items using any of a variety of digital manufacturing techniques, such as 3D printing or other types of additive manufacturing, laser cutting, 3D knitting, or CNC milling. The platform allows customers to purchase customized products on-demand that are either shipped to the customer or made available for the customer to pick up at a convenient location, increasing accessibility of digital manufacturing technology for average consumers. Designers are able to reach new customers through the platform, enabling the designers to earn revenue for their digital designs. Manufacturers who own one or more digital fabrication machines earn revenue for manufacturing products ordered through the platform.
The product designer device 120 is a computing device used by a product designer to upload designs to the digital manufacturing platform 110. The designer device 120 can be any computing device capable of communicating with the platform 110 (e.g., over the Internet), such as a desktop computer, laptop computer, tablet, or mobile phone. In some cases, a product designer can use the product designer device 120 to create a digital design using, for example, a computer-aided design (CAD) tool.
The manufacturer system 130 includes one or more computing devices used by a manufacturer to register with the digital manufacturing platform 110 to manufacture designs, receive designs from the platform 110, and/or communicate data regarding ongoing or completed manufacturing projects to the platform 110. The manufacturer system 130 is associated with a manufacturer, representing an organization or company that has one or more digital manufacturing machines 132, such as a 3D printer, a laser cutter, a 3D knitter, or a CNC mill, that can be used to fabricate designs from the platform 110. The manufacturer can register each machine to the platform 110 by specifying capabilities and availability of the machine. The capabilities of the machines 132 can include information such as a technology used by the machine. For example, a 3D printer may use a technology such as stereolithograhy (SLA), selective laser sintering (SLS), multi jet fusion (MJF), or fused deposition modeling (FDM). Other machine capabilities can include maximum or minimum size of objects that can be produced or resolution of features. In some cases, the platform 110 provides the manufacturer 130 with one or more test objects to be fabricated by each machine. The test objects can be used to verify the capabilities of the machine 132, and, once a test object has been approved, the machine 132 can be registered to fabricate products ordered through the platform 110.
In some cases, the manufacturing system 130 can communicate with one or more of the machines 132 to pass information between the digital manufacturing platform 110 and the machines 132. For example, the manufacturing system 130 can transmit a design to a machine 132 to direct the machine to fabricate the design. The manufacturing system 130 can also receive data describing the fabrication process from the machine 132, including an amount of time to produce the design or an amount of material used. In other cases, a user of the manufacturing system 130 can manually submit designs to the machines 132 and manually enter fabrication data into the manufacturing system 130 for transmission to the platform 110. In still other embodiments, the machines 132 can communicate directly with the platform 110 (for example, via an application programming interface (API)).
The environment 100 can include numerous manufacturers, each having one or more digital fabrication machines 132 that are registered on the platform 110 for manufacturing products ordered through the platform.
The customer device 140 is used by a customer to browse and purchase designs on the platform 110.
The digital manufacturing platform 110 interfaces between the product designer device 120, the manufacturer 130, and the customer device 140 to manage a three-sided digital manufacturing marketplace. Designers can upload designs to the platform 110, which processes the designs to ensure that they can be produced by at least one type of digital fabrication. Customers can browse the designs on the platform 110, for example through a storefront website maintained by the platform 110. The customers can optionally customize a design, selecting parameters such as material, color, and size of a product to be produced based on the design. The customer can also select a manufacturer, optionally choosing a manufacturer from a list generated by the platform 110 based on one or more criteria. When a customer orders a product, the platform 110 can send the design to the manufacturer to fabricate the product.
As shown in
The platform 110 processes 204 the uploaded design. To process the design, the platform 110 can perform a producibility check, verifying whether the design can be produced using a digital manufacturing technique. The platform 110 can also identify parameters for personalizing the design, including any parameters such as material, color, texture, size, or dimensions that can be customized if desired by a customer, as well as any surfaces, elements, or other features of the design that can be customized. Processing an uploaded design is described further with respect to
The platform 110 can calculate 206 an estimated price for a product purchased based on the uploaded design. The price can take into account a license fee for the designer, price for materials used to manufacture the product, a fee for the manufacturer, a commission for the digital manufacturing platform 110, and/or shipping and handling costs to ship the finished product to the customer. Price calculation is described further with respect to
In some embodiments, the platform 110 can publish 208 the design to a marketplace storefront maintained by the platform 110. Customers can browse the designs in the marketplace by viewing the storefront on the customer device 140.
If a customer selects a design to purchase, the customer can customize a product before ordering it. The order can include one or more customized product parameters. For example, the customer can select a material or color for the product to be manufactured based on a design. The customer can also specify custom dimensions for the product and components of a design, allowing the customer to feel he or she is generating a new design. For example, if the design is for a mug that is 4 inches tall and has a diameter of 3 inches, the customer can customize the design by ordering the mug to be 5 inches tall. The customer order can further include a preference for whether the product will be shipped to the customer or made available for the customer to pick it up from the manufacturer.
Based on the customer order, the platform 110 calculates 210 a price for the product. The platform 110 also selects 212 at least one manufacturer that is able to fabricate the product given the customizations. The manufacturer can be selected based on a variety of criteria, such as the type of machines 132 operated by the manufacturer, availability of the manufacturer's machines 132, total cost for the product if fabricated by the manufacturer, location of the manufacturer, or other factors. For example, if the product is fabricated by SLA, the platform 110 can identify a set of manufacturers that have SLA machines available within a specified amount of time (e.g., within two business days of the receipt of the customer's order). From the available manufacturers, the platform 110 can recommend a manufacturer who is geographically closest to the customer or a manufacturer who would fabricate the product at the lowest price. In some cases, the platform 110 can recommend a manufacturer to the customer, but give the customer an option to select a different manufacturer. The platform 110 can provide the customer with information about the product price, location of the manufacturer, and/or amount of time for the product to be manufactured for each manufacturer.
The platform 110 can receive 214 an order from the customer once the customer has finalized any customizations and selected shipping preferences or other preferences for the product. Once the order is finalized and a manufacturer has been selected, the platform 110 sends 216 instructions to the manufacturer to produce the ordered product. The instructions can include the design, any pre-processing or post-processing tasks that may be performed on the product, and information for either shipping the product to the customer or notifying the customer that the product is available for pickup.
Referring to
The platform 110 checks, at step 304, the uploaded file, such as its file type or format, size of the file, quality of the file, whether the file contains a single part or multiple parts, or other factors.
At step 306, the platform 110 performs a general producibility check to ensure that in general the design can be produced by at least one fabrication method. As mentioned, these fabrication methods include using technologies such as 3D printing, laser cutting, 3D knitting, or CNC milling. The producibility check can verify whether the design complies with laws of physics, such as whether all lines connect and/or whether the walls of the design are thick enough to be manufactured using one at least one of the fabrication technologies. In the general producibility check, the platform 110 can determine whether attributes of the design satisfy a set of producibility requirements. The producibility requirements can include a requirement that walls defined in the design are at least a minimum thickness at every point on the design, where the minimum thickness can be defined, for example, by the minimum thickness that a selected technology is able to produce. For example, if a manufacturer 130 is capable of printing a product with 1 mm walls using a particular 3D printing technology, the platform 110 verifies whether wall thicknesses of the uploaded designs are at least 1 mm even if other technologies have a minimum wall thickness that is greater than 1 mm. Alternatively, the platform 110 can determine whether the uploaded design has a sufficient wall thickness for each of multiple technologies that can be used to fabricate the design.
Other example producibility requirements include whether the model has double faces, whether faces of the model are facing outwards, and whether faces of the model intersect with each other. If the platform 110 determines that the design is producible, the platform 110 can display a verification to the designer, for example as shown in
Based on a set of feasible technologies identified by the platform 110, the platform 110 can present the design to the product designer at step 308 to allow the designer to select available properties associated with each feasible technology.
After determining feasible parameters for the design and receiving selected parameters from the designer, the platform 110 can perform, at step 310, an in-depth check of the design for multiple possible personalizations of the design. The platform 110 can simulate each of the multiple possible personalizations, verifying whether the design can be produced according to the personalization. Parameters for the personalizations that are simulated by the platform 110 may include fabrication technology, material, color of material, or other parameters that a customer could select. The possible personalizations may be selected automatically by the platform 110 or may be selected by the designer. For example, the designer may indicate particular fabrication technologies that he is or is not interested in being used to manufacture his product. In some cases, the platform 110 can determine whether the design is producible by each possible fabrication technology, in each material available for the technology, and in each color of each material. Any combination of technologies, materials, and colors that are determined to be producible can be presented to the designer, who can select whether to offer the combination to customers as a potential customization.
At step 312, the platform 110 can connect additional assets or data to the design. The additional assets or data can be stored per design, and optionally can be changed at a later versioning stage. An example asset that can be stored with a design is a rendered image of the design displayed from one or more angles and/or in one a range of materials, colors, sizes, or other representational data. Other examples include texts, automatic size determination (e.g., for rings, clothing items, or other wearable products), or associations with other designs or variations of a design.
The platform 110 can perform a maximum producibility check on the design at step 314. The maximum producibility represents a range from a minimum size to a maximum size of a product customized based on the design, ensuring that any customized variant chosen by a customer can be produced. The minimum and maximum size can be defined, for example, by a minimum or maximum size of a specified dimension of the design, with other dimensions scaled according to the specified dimension. Alternatively, the minimum and maximum size can be defined as a minimum or maximum of each dimension in the design, or parametric relationships defining a minimum or maximum for a first dimension given a minimum or maximum for a second dimension in the design. Any of a variety of criteria can be used by the platform 110 to determine the maximum producibility range, such as minimum wall thickness, overhangs, additional support structures, detail sizes, hole sizes, connection thicknesses, sharpness of edges, and sizes of the machines 132. In some embodiments, the platform 110 uses an artificial intelligence model and heuristics to determine minimum and maximum product dimensions that satisfy the criteria. The level of complexity in the overall production process, as well as pre- and post-processing steps, is estimated based on previous steps shown in
At step 316, the platform 110 can perform an on-demand manual check for edge cases to verify that the edge cases are producible. For example, the AI module can identify edge cases such as the minimum and maximum dimensions where the platform 110 should repeat a producibility check, ensuring that the design is producible at the edge cases.
The platform 110 can set a license fee for the design at step 318. The license fee, or compensation paid to the designer if a customer orders the design, can be selected by the designer.
The platform 110 can then estimate a price for the product at step 320, given design parameters that may be selected by a customer. In some embodiments, the price calculation can be assisted by an AI module that receives information about actual price of other products and calculates, for a variety of selected design parameters, an expected price based on the actual prices of the other products. The price calculation can take into account possible and probable customization outcomes that change, for example, the size or weight of the product or difficulty of fabricating the product. As illustrated in
The platform 110 can perform a design content check using an AI module at step 322. The design content check can determine whether the design violates an existing license on the platform, such as checking for duplicate designs and design variations previously uploaded to the platform 110. Alternatively, the design check can verify whether the design complies with a policy of the platform 110, determining, for example, if the design includes illegal content or unwanted content such as violent or racist text.
If possible content or license violations are detected, the platform 110 can perform a manual check at step 324. For example, the platform 110 can flag the design for review by a human reviewer, who can mark the design as acceptable or identify a particular policy violated by the design. The results of the manual check can be fed back into the AI module to improve the module's accuracy. A design that is determined to violate a content license or policy can, in some cases, be modified to comply with the rules. These changes may include, for example, adapting content of the design, making overall changes to meet an expected quality of the design, or generally optimizing the design to achieve a specified price or producibility. In some cases, the platform 110 may automatically modify the design. In other cases, the platform 110 may require the designer to modify the design, or may push the design to an in-house designer to make any modifications necessary to comply with licenses or policies.
Once the design has passed the producibility and content checks, the design can be published by the platform 110 at step 326, making the design available for purchase by a customer.
Referring further to
The platform 110 can check each variant of a design at step 336 to ensure that it complies with producibility requirements. The variants of a design selected by the designer can be associated with one another at step 338.
Manufacturer Registration
After creating an account with the platform 110,
As shown in
The platform 110 can also request a test object from the manufacturer.
Once a manufacturer has added any desired machines, the manufacturer can provide information about the materials the manufacturer has available for use.
When a customer customizes a product on the digital manufacturing platform 110, the platform 110 calculates a price for the product.
As shown in
As shown in
If the customer is selecting from among designs that were uploaded to the platform 110, the platform 110 can facilitate a process for searching the designs. In some cases, the platform 110 can categorize the designs based on tags added by the designers or automated tagging performed by the platform 110. In some cases, the customer can search the platform marketplace by the title of designs using a faceted search, which for example enables the customer to filter by fabrication technology or color or material choices. The platform 110 can sort search query results based on marketing campaigns, based on predictions of designs that the customer is likely to be interested in, or based on other factors. Additionally or alternatively, the platform 110 can facilitate image-based search. For example, if a customer uploads an image of a product to the platform 110, the platform can search the designs on the platform to identify any designs that are similar to the product in the image.
In some embodiments, the platform 110 can automatically apply or recommend design customizations to a customer at step 604. For example, if other customers who have ordered a particular design often applied a particular customization to the design (e.g., changing a dimension of the design), the platform 110 can recommend that the customer apply the same customization. Alternatively, if a customer has often applied a particular customization to other designs the customer has ordered (e.g., buying wearable rings that are a particular size), the platform 110 can recommend the same customization when the customer selects a new design to purchase.
If the customer makes any customization selections, the platform 110 can generate a modified version of the digital design that includes instructions readable by a machine 132 to fabricate the product as customized by the user. For example, if the customer requests a product in a larger size, the platform 110 generates a modified digital design by scaling the original digital design up to the size requested by the customer.
For any design selected by the customer, the platform 110 can receive the customer's selection of a delivery mode at step 606. The delivery mode can be an indication of whether the customer would prefer to pick up the product or have the product shipped. The delivery mode can also include an amount of time until the arrival of the product, such as an election of expedited shipping.
The customer can also select a production speed for the product, which is received by the platform 110 at step 608. Production speed can be chosen, for example, between a normal speed and an expedited speed, where expedited is a higher fee than the normal speed.
At step 610, the platform 110 analyzes the digital design ordered by the customer to determine fabrication parameters for the design. The fabrication parameters can include any parameters of the product that is to be produced. For example, the fabrication parameters may include a minimum feature size in the product, a maximum dimension of the product, the smallest wall thickness in the product, an estimate of a volume of material that will be used to manufacture the product, or information about support structures that will be generated while the product is fabricated based on the digital design. The fabrication parameters may be determined before the digital design is published to the marketplace. However, if the customer customizes the product in any way, the fabrication parameters may change based on the customizations. Thus, platform 110 may analyze the modified digital design file generated based on any customization selections by the customer to determine the actual parameters of the product that will be fabricated.
Based on the design and its customizations ordered by the customer, as well as the customer's delivery mode and production speed preference, the platform 110 filters manufacturers at step 611 to identify a set of possible manufacturers. The possible manufacturers in the set can be selected based at least in part on a determined match between the fabrication parameters for the product and specifications of one or more machines associated with the manufacturers. For example, if a fabrication parameter specifies the smallest feature size in the product that will be produced, the platform 110 filters manufacturers to find a machine that can produce features that are at least as small as the smallest feature in the design. Similarly, if a fabrication parameter specifies a maximum dimension of the product (such as a maximum height and/or width), the platform 110 filters manufacturers to find a machine that can fabricate products at least as large as the maximum dimension.
The possible manufacturers can also be selected at step 611 based on the customer's delivery and timing preferences. For example, if the customer requested pickup of the completed product, the platform 110 can identify any manufacturers within a threshold distance of the customer's geographic location (e.g., 25 miles) that have machines capable of producing the product (accounting for fabrication technology, size, and complexity of the product), whose capable machines are available within a time frame corresponding to the customer's production speed preference. The platform 110 can select a recommended manufacturer from the set of available manufacturers, for example selecting a manufacturer that is closest to the customer's location or that is able to fabricate the product for the lowest price. The platform 110 may use other criteria to select manufacturers, for example selecting a manufacturer based on a load balancing analysis of designs previously sent to a set of candidate manufacturers.
If at step 612 the customer accepts the manufacturer recommended by the platform 110, the customer can proceed to select a payment method (received by the platform at step 614) and place an order (at step 616).
If the customer does not accept the recommended manufacturer, the platform 110 at step 618 can generate a list of other possible manufacturers selected from the identified set. In some embodiments, the platform 110 can rank the manufacturers in the generate list based on properties such as proximity to the customer, price, or production speed. The list can be displayed to the customer, and the customer can select a desired manufacturer from the list. The platform 110 receives the customer's selection at step 620. The customer can then proceed to entering a payment method and placing an order.
As shown in
Once production is finished, the platform 110 can receive a notification from the manufacturer at step 724. At step 726, the platform 110 can notify the customer either that the product is ready for pickup or is being shipped to the customer, depending on the customer's delivery preferences. Alternatively, the manufacturer can directly notify the customer and either allow the customer to pick up the product or ship the product to the customer. The manufacturer can also provide information about the fabrication process to the platform 110, such as rating the design, updating actual time or materials used to fabricate the design, or providing other feedback, which the platform 110 receives at step 728. The platform 110 can use the feedback to improve future designs or cost calculations, for example if the machine used a different amount of material than predicted.
As shown in
The three-sided marketplace managed by the digital manufacturing platform 110 can be used in a wide variety of applications. In one example, independent designers can upload their designs for artwork, jewelry, tools, or any other products to the marketplace maintained by the platform 110, where customers can browse the designs, customize designs if desired, and order products for personalized manufacturing. In another example, businesses with an existing customer base can sell their products to their customers either through the platform marketplace or through a storefront maintained by the business (e.g., a website of the business). The business can upload designs for customers to browse and order (optionally with customizations), and the platform 110 can verify that the designs and any customizations are producible, select a manufacturer to fabricate the products, and ensure that the product is delivered to or picked up by the customer. Another example application allows a designer to directly order an uploaded design. The designer can upload his or her design to the platform 110, which validates the design and matches the designer to a manufacturer to produce the designer's product for the designer.
In still another example, the platform 110 can be used by a business that sells products that may need spare parts. For example, a window manufacturer may have spare parts for its windows (such as latches, locks, or pulls), or a furniture company may have spare parts for its furniture (such as brackets, extra shelves, or replacement feet). The business maintains a library of designs for the spare parts for their products through the platform 110, which can verify that the designs are producible and identify manufacturers capable of producing the designs. If a customer needs a spare part, the customer can request the spare part from the business, which in turn can order the part through the platform 110 for fabrication by a manufacturer and delivery to or pickup by the customer. Sending designs to a manufacturer when a customer orders a spare part allows the business to reduce the number of spare parts it must manufacture and store, and reduces burden on the business to ship the spare parts to the customers. Rather than storing spare parts for their products, which may be many years old and used by customers throughout the world, the business need only store designs for its spare parts. If a customer needs a spare part, the customer can order the part on demand and have the part fabricated by a manufacturer in close geographic proximity to the customer.
In various embodiments, the processing system 800 operates as part of a user device, although the processing system 800 may also be connected (e.g., wired or wirelessly) to the user device. In a networked deployment, the processing system 800 may operate in the capacity of a server or a client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.
The processing system 800 may be a server computer, a client computer, a personal computer, a tablet, a laptop computer, a personal digital assistant (PDA), a cellular phone, a processor, a web appliance, a network router, switch or bridge, a console, a hand-held console, a gaming device, a music player, network-connected (“smart”) televisions, television-connected devices, or any portable device or machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by the processing system 800.
While the main memory 806, non-volatile memory 810, and storage medium 826 (also called a “machine-readable medium) are shown to be a single medium, the term “machine-readable medium” and “storage medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store one or more sets of instructions 828. The term “machine-readable medium” and “storage medium” shall also be taken to include any medium that is capable of storing, encoding, or carrying a set of instructions for execution by the computing system and that cause the computing system to perform any one or more of the methodologies of the presently disclosed embodiments.
In general, the routines executed to implement the embodiments of the disclosure, may be implemented as part of an operating system or a specific application, component, program, object, module or sequence of instructions referred to as “computer programs.” The computer programs typically comprise one or more instructions (e.g., instructions 804, 808, 828) set at various times in various memory and storage devices in a computer, and that, when read and executed by one or more processing units or processors 802, cause the processing system 800 to perform operations to execute elements involving the various aspects of the disclosure.
Moreover, while embodiments have been described in the context of fully functioning computers and computer systems, those skilled in the art will appreciate that the various embodiments are capable of being distributed as a program product in a variety of forms, and that the disclosure applies equally regardless of the particular type of machine or computer-readable media used to actually effect the distribution. For example, the technology described herein could be implemented using virtual machines or cloud computing services.
Further examples of machine-readable storage media, machine-readable media, or computer-readable (storage) media include, but are not limited to, recordable type media such as volatile and non-volatile memory devices 810, floppy and other removable disks, hard disk drives, optical disks (e.g., Compact Disk Read-Only Memory (CD ROMS), Digital Versatile Disks (DVDs)), and transmission type media, such as digital and analog communication links.
The network adapter 812 enables the processing system 800 to mediate data in a network 814 with an entity that is external to the processing system 800 through any known and/or convenient communications protocol supported by the processing system 800 and the external entity. The network adapter 812 can include one or more of a network adaptor card, a wireless network interface card, a router, an access point, a wireless router, a switch, a multilayer switch, a protocol converter, a gateway, a bridge, bridge router, a hub, a digital media receiver, and/or a repeater.
The network adapter 812 can include a firewall which can, in some embodiments, govern and/or manage permission to access/proxy data in a computer network, and track varying levels of trust between different machines and/or applications. The firewall can be any number of modules having any combination of hardware and/or software components able to enforce a predetermined set of access rights between a particular set of machines and applications, machines and machines, and/or applications and applications, for example, to regulate the flow of traffic and resource sharing between these varying entities. The firewall may additionally manage and/or have access to an access control list which details permissions including for example, the access and operation rights of an object by an individual, a machine, and/or an application, and the circumstances under which the permission rights stand.
As indicated above, the techniques introduced here implemented by, for example, programmable circuitry (e.g., one or more microprocessors), programmed with software and/or firmware, entirely in special-purpose hardwired (i.e., non-programmable) circuitry, or in a combination or such forms. Special-purpose circuitry can be in the form of, for example, one or more application-specific integrated circuits (ASICs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), etc.
From the foregoing, it will be appreciated that specific embodiments of the invention have been described herein for purposes of illustration, but that various modifications may be made without deviating from the scope of the invention. Accordingly, the invention is not limited except as by the appended claims.
This application claims the benefit of U.S. Provisional Patent Application No. 62/819,373, filed Mar. 15, 2019, which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
62819373 | Mar 2019 | US |