The subject disclosure relates to manufacturing a product design, and more specifically, to canonicalizing manufacturing inputs and/or computer-aided design (“CAD”) data into a digital build package that can delineate how to manufacture one or more product designs within a network of manufacturing facilities.
The following presents a summary to provide a basic understanding of one or more embodiments of the invention. This summary is not intended to identify key or critical elements, or delineate any scope of the particular embodiments or any scope of the claims. Its sole purpose is to present concepts in a simplified form as a prelude to the more detailed description that is presented later. In one or more embodiments described herein, systems, computer-implemented methods, apparatuses and/or computer program products that can generate, optimize, and/or manufacture one or more digital build packages are described.
According to an embodiment, a system is provided. The system can comprise a memory that stores computer executable components. The system can also comprise a processor, operably coupled to the memory, and that executes the computer executable components stored in the memory. The computer executable components can comprise a build package component that canonicalizes manufacturing inputs regarding a product design into a digital build package that enables portability of manufacturing the product design within a network of manufacturing facilities, wherein the digital build package delineates how the product design is to be manufactured and references a computer-aided design file that characterizes the product design.
According to an embodiment, a computer-implemented method is provided. The computer-implemented method can comprise canonicalizing, by a system operatively coupled to a processor, manufacturing inputs regarding a product design into a digital build package that enables portability of manufacturing the product design within a network of manufacturing facilities. The digital build package can delineate how the product design is to be manufactured and references a computer-aided design file that characterizes the product design.
According to an embodiment, a computer program product for assembling a build package is provided. The computer program product can comprise a computer readable storage medium having program instructions embodied therewith. The program instructions can be executable by a processor to cause the processor to canonicalize, by the processor, manufacturing inputs regarding a product design into a digital build package that enables portability of manufacturing the product design within a network of manufacturing facilities. The digital build package can delineate how the product design is to be manufactured and references a computer-aided design file that characterizes the product design.
The following detailed description is merely illustrative and is not intended to limit embodiments and/or application or uses of embodiments. Furthermore, there is no intention to be bound by any expressed or implied information presented in the preceding Background or Summary sections, or in the Detailed Description section.
One or more embodiments are now described with reference to the drawings, wherein like referenced numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a more thorough understanding of the one or more embodiments. It is evident, however, in various cases, that the one or more embodiments can be practiced without these specific details.
Manufacturing of mechanical components and systems requires several types of manufacturing inputs. A first type of manufacturing input can be a product design, such as: a computer-aided design (“CAD”) model; a drawing; a written description; and/or other digital representations or software file types. For instance, the product design can describe the geometry of one or more parts to be manufactured, as well as requirements on one or more product features, such as: product tolerance (e.g., dimensional tolerance), tolerance of specific features within the product design, surface finish, a combination thereof, and/or the like. A second type of manufacturing input can be a selection of one or more materials that comprise the one or more parts characterized by the product design, classes of materials, the properties of suitable materials, and/or criteria or methodology for material selection. A third type of manufacturing input can include information about the manufacturing process employed to manufacture the product design. Information regarding the manufacturing process can include, for example: process type (e.g., injection molding, stereolithography, 3D printing, additive processes, subtractive processes, and/or the like), type of manufacturing equipment to be employed, tooling designs to be employed, process parameters (e.g., temperature, pressure, time, a combination thereof, and/or the like), process settings, process constraints, manufacturing instructions for workers and/or manufacturing equipment, a combination thereof, and/or the like. Moreover, the one or more manufacturing inputs can delineate certification and/or standards requirements for a produced part and/or manufacturing facility.
Conventional manufacturing systems are configured such that a single mechanical component or system is repeatedly produced in a single manufacturing facility. In some instances, other manufacturing facilities can be re-configured to produce different components at different times. A manufacturing facility may repeatedly cycle between two or more different components or systems (e.g., associated with one or more product designs) that are produced at different times on the same equipment. When multiple parts are produced, it is important that the parts be identical or nearly identical. Specific features or aspects of the parts should be repeatable according to a repeatability criteria that can be defined for the part. When a product design is to be manufactured in multiple batches, it is desirable to configure the manufacturing processes to be near identical for all manufacturing executions of the product design. The process repeatability can help to ensure that the part repeatability criteria is met. Further, the storage, movement, and/or processing of the manufacturing information may need to be done in a manner that interfaces with and/or supports the execution of the manufacturing process.
However, it can be challenging to move production of a product design from one manufacturing facility to another. Small differences between two manufacturing facilities can have a profound impact on the repeatability and/or quality control of manufactured parts, even when the parts share the same product design. For instance, difference between manufacturing facilities that can affect the manufacturing of a product design can include, but are not limited to, differences in: the manufacturing equipment, the relative locations of manufacturing equipment, personnel, work structure and/or practices, material flow, factory layout, environmental factors (e.g., temperature, humidity, lighting, and/or the like), a combination thereof, and/or the like. When production of a product design is moved between manufacturing facilities, the parts or systems made in the different factories can experience variances in repeatability. Differences between parts and/or systems can result in different quality factors, such as: yield, production rate, material and energy consumption, tolerances, defects, failures, a combination thereof, and/or the like.
Further, additional challenges can arise in optimizing the manufacturing of a product design. Conventionally, product designs will be manufactured with different sizes, tolerances, and/or process settings to explore a parameter space and evaluate an optimal configuration. For instance, a design of experiments (“DoE”) can be employed, where the specific variations to be tested are organized in a manner that allows for statistical analysis of the resulting parts. However, the DoE process can be time and resource intensive, and is often only performed for select parts in the design process.
Moreover, manufacturing a new part (e.g., that has never been manufactured previously) can face multiple challenges. Specific interactions between the product design, material selection, and/or manufacturing process can result in, for example: manufacturing failures, unacceptably large tolerances, unacceptable surface finish, excess material consumption, low production rates, a combination thereof, and/or the like. Manufacturers typically rely on experience and knowledge of subject matter experts to address these issues. This knowledge and experience can guide design refinements, materials selection, manufacturing process settings, and/or other manufacturing inputs.
Various embodiments described herein can regard systems, computer-implemented methods, and/or computer program products that can generate one or more digital build packages, which can characterize the manufacturing of one or more product designs. Further, the one or more digital build packages can comprise canonicalized manufacturing inputs that can be portable distributed throughout a network of manufacturing facilities. In various embodiments, the one or more digital build packages can reduce, and/or eliminate, differences in production of the same product design between respective manufacturing facilities; thereby, resulting in improved consistency of product quality, despite changes in manufacturing locations.
In addition, one or more embodiments described herein can capture and/or record information regarding previously generated digital build packages. For instance, said information can include evaluation metrics regarding the performance of previous digital build packages. The evaluation metrics can include information collected about, for example: the digital build package, operation of the digital build package, factory data associated with the digital build package, parts data associated with the digital build package, a combination thereof, and/or the like. The collected information can be utilized to refine and/or optimize future digital build packages (e.g., subsequent product designs, design revisions, associate material selections, and/or associate manufacturing processes). For instance, the collected information, and/or historic information characterizing the content of previous digital build packages, can be leveraged to: increase repeatability, manufacture better performing parts, reduce costs, increase production rates, and/or increase product yields. The collected information and/or historic information can also be used to make changes to part designs, manufacturing inputs, and/or process settings.
For example, one or more embodiments described herein can compare a given digital build package with historical digital build package to identify one or more similarities that can form the basis of one or more insights regarding optimization. For one or more given manufacturing inputs characterized by a digital build package (e.g., including product design, material selection, and/or manufacturing process selection), one or more embodiments described herein can generate one or more insights (e.g., recommendations) based on results attributed to past digital product designs having similar characteristics. For instance, the one or more insights can regard: refine the product design, alternate materials, and/or manufacturing process parameter configurations, a combination thereof, and/or the like. Typical manufacturing systems cannot readily and/or efficiently search a database to find similar combinations of product designs, materials, and processes. For example, this information is not typically collected in a common, searchable database. Furthermore, CAD models are not easily searchable (e.g., the specific geometric features that are difficult to manufacture are not easily found in a search). Similarly, manufacturing process data and/or manufacturability data (e.g., machine data, process data, factory data, and/or measures of manufacturing success with regards to yield, rate, tolerances, failures, and/or the like) are typically not recorded in a common database, nor efficiently searchable. Advantageously, various embodiments described herein can utilize the standardization embodied by the digital build packages to facilitate historical comparisons and/or to learn lessons (e.g., via one or more machine learning techniques and/or models).
The computer processing systems, computer-implemented methods, apparatus and/or computer program products employ hardware and/or software to solve problems that are highly technical in nature (e.g., controlling manufacturing inputs to minimize manufacturing deviations and/or enable the identification of one or more manufacturing insights), that are not abstract and cannot be performed as a set of mental acts by a human. Also, one or more embodiments described herein can constitute a technical improvement over conventional design of experiment techniques by leveraging standardized data from historic manufacturing executions to generate insights regarding the optimization of manufacturing a product design. Additionally, various embodiments described herein can demonstrate a technical improvement over conventional manufacturing techniques by canonicalizing manufacturing input data into a build package that can minimize manufacturing deviations between manufacturing facilities. For example, various embodiments described herein can generate build packages that standardize manufacturing information across various product designs, manufacturing processes, manufacturing requirements, manufacturing equipment, manufacturing preferences, and/or manufacturing facilities.
Further, one or more embodiments described herein can have a practical application by facilitating comparisons between newly generated digital build packages and historic digital build package. For instance, various embodiments described herein can employ said comparisons to generate one or more insights regarding how to optimize manufacturing of a given product design and/or analyzing results associated with previously executed versions of the digital build package.
As shown in
The one or more networks 104 can comprise wired and wireless networks, including, but not limited to, a cellular network, a wide area network (WAN) (e.g., the Internet) or a local area network (LAN). For example, the server 102 can communicate with the one or more input devices 106 (and vice versa) using virtually any desired wired or wireless technology including for example, but not limited to: cellular, WAN, wireless fidelity (Wi-Fi), Wi-Max, WLAN, Bluetooth technology, a combination thereof, and/or the like. Further, although in the embodiment shown the build package component 110 can be provided on the one or more servers 102, it should be appreciated that the architecture of system 100 is not so limited. For example, the build package component 110, or one or more components of the build package component 110, can be located at another computer device, such as another server device, a client device, and/or the like.
The one or more input devices 106 can comprise one or more computerized devices, which can include, but are not limited to: personal computers, desktop computers, laptop computers, cellular telephones (e.g., smart phones), computerized tablets (e.g., comprising a processor), smart watches, keyboards, touch screens, mice, haptic devices, cameras, machine vision devices, a combination thereof, and/or the like. The one or more input devices 106 can be employed to enter one or more commands and/or inputs into the system 100, thereby sharing (e.g., via a direct connection and/or via the one or more networks 104) said data with the server 102. For example, the one or more input devices 106 can send data to the build package component 110 (e.g., via a direct connection and/or via the one or more networks 104). Additionally, the one or more input devices 106 can comprise one or more displays that can present one or more outputs generated by the system 100 to a user. For example, the one or more displays can include, but are not limited to: cathode tube display (“CRT”), light-emitting diode display (“LED”), electroluminescent display (“ELD”), plasma display panel (“PDP”), liquid crystal display (“LCD”), organic light-emitting diode display (“OLED”), a combination thereof, and/or the like.
For example, one or more entities (e.g., users of the system 100) can employ the one or more input devices 106 to enter the example first, second, and/or third type of manufacturing inputs 122 described herein. For instance, exemplary manufacturing inputs 122 can include digital product designs (e.g., CAD files, three-dimensional models, two-dimensional graphs, point clouds, drawings, a combination thereof, and/or the like). In another instance, the exemplary manufacturing inputs 122 can include material type, color, or associations with other types of information related to the design and manufacturing of the product design. In a further instance, the exemplary manufacturing inputs 122 can include details regarding one or more selected manufacturing processes, such as: process type, manufacturing instructions, permissible tolerances, desired finishes, a combination thereof, and/or the like. In a still further instance, the exemplary manufacturing inputs 122 can include: a desired manufacturing location, an order quantity (e.g., batch size), a cost budget, a shipment destination, a combination thereof, and/or the like.
In various embodiments, the one or more input devices 106 and/or the one or more networks 104 can be employed to input one or more settings and/or commands into the system 100. For example, in the various embodiments described herein, the one or more input devices 106 can be employed to operate and/or manipulate the server 102 and/or associate components. Additionally, the one or more input devices 106 can be employed to display one or more outputs (e.g., displays, data, visualizations, and/or the like) generated by the server 102 and/or associate components. Further, in one or more embodiments, the one or more input devices 106 can be comprised within, and/or operably coupled to, a cloud computing environment.
The one or more data repositories 108 can store data regarding one or more: manufactured products, manufacturing techniques, manufacturing processes, manufacturing locations, manufacturing equipment, manufacturing instructions, manufacturing environments, manufacturing costs, manufacturing features, manufacturing constraints, manufacturing requirements, manufacturing facilities, manufacturing outcomes, quality assessments of manufactured products, factories, factory operations, materials, a combination thereof, and/or the like. In various embodiments, the one or more manufacturing inputs 122 can also be stored in the one or more data repositories 108. Additionally, one or more outputs of the build package component 110 can be stored in the one or more data repositories 108.
Additionally, in one or more embodiments, auxiliary data can be stored in the one or more data repositories 108. For example, auxiliary data can be sourced from: information systems from venders, information systems from supplier partners, information systems that can be access over the internet, manufacturing equipment, cameras, microphones, video recording equipment, a combination thereof, and/or the like. Example types of auxiliary data that can be stored in the one or more data repositories 108 can include, but are not limited to: weather data, environmental data, geometric data regarding parts (e.g., manufacturing material) in service and/or sourced from one or more vendors, commodities pricing and/or availability, competitor capabilities and/or benchmarking, supplier data, process requirements, information and/or data about the entities associated with the given product, information that indicates one or more relationships between different parts and/or orders, a combination thereof, and/or the like.
Moreover, data included in the one or more data repositories 108 can include past costs associated with: one or more manufacturing materials, manufacturing facility operations, labor, and/or shipping. In another example, the data included in the one or more data repositories 108 can include one or more references tables regarding manufacturing conditions (e.g., lead times, energy requirements, machining employed, tolerance values achieved) associated with one or more manufacturing processes and/or techniques. In a further example, one or more reference tables of the data repositories 108 can include chemical and/or physical properties of various manufacturing materials that can be employed by one or more manufacturing processes and/or can be processed by one or more manufacturing facilities. In a further example, one or more compatibility reference databases of the data repositories 108 can define compatible combinations of manufacturing techniques and manufacturing materials. In a further example, the one or more compatibility reference databases of the data repositories 108 can define compatible combinations of manufacturing materials and surface finishing techniques. In a further example, the one or more reference tables of the data repositories 108 can include one or more operational capacities of respective manufacturing techniques and/or manufacturing machines. For instance, the one or more reference tables can define limits on the size, location, and/or dimensions of one or more product features in association with respective manufacturing techniques and/or manufacturing materials. In a further example, the one or more reference tables of the data repositories 108 can define compatible combinations of geometric features that can be manufactured together, and/or combinations of geometric features and materials that are manufacturable, and/or combinations of manufacturing processes that are mutually compatible, and/or combinations of manufacturing processes and materials that are compatible. In a further example, the one or more reference tables of the data repositories 108 can include attributes related to the cost of a product such as labor cost, machine cost, material usage, material waste, and the like. In a further example, one or more reference tables of the data repositories 108 can define methods to transport manufactured goods, the speed of those methods, and methods for storing parts in warehouses. In a further example, one or more reference tables of the data repositories 108 can define methods to measure the dimensions, surface finish, color, or porosity of a material or manufactured good. In a further example, one or more reference tables of the data repositories 108 can define environmental impact such as emissions, carbon generated, water consumption, or other measures of environmental impact.
In various embodiments, the attribute component 114 can extract a simplified summary 126 of the product to be manufactured based on the product design included in the one or more manufacturing inputs 122. The attribute component 114 can extract the one or more design attributes directly from the one or more product designs. For instance, the attribute component 114 can extract design attributes (e.g., overall envelope size, the size and shape of specific geometric features, the orientation of features, the number of features, the surface area, the volume, the location of the center of mass, descriptors of hardness, processability, temperature stability, and/or the like) from one or more CAD files comprised within the one or more manufacturing inputs 122. In one or more embodiments, the one or more simplified summaries 126 can include results from one or more statistical analyses and/or other mathematical calculations about the design attributes.
Further, the attribute component 114 can identify the occurrence of missing manufacturing attribute values and generate one or more notifications 128 to query the one or more input devices 106 for the missing information. For example, the attribute component 114 can analyze one or more product designs to determine whether the dimensions for all the parts, components, and/or features of the product are defined. Where a part, component, and/or feature is missing one or more dimensional values (e.g., a height value, width value, depth value, length value, arch angle, circumference value, diameter, radius, and/or the like), the attribute component 114 can generate one or more notifications 128 to query the missing information from the one or more input devices 106. In response to the one or more notifications 128 generated by the attribute component 114, the one or more input devices 106 can be employed to enter additional manufacturing inputs 122 into the system 100 (e.g., which can be utilized by the attribute component 114 to complete the simplified summary 126).
In various embodiments, the standardization component 202 can alter the data of the simplified summary 126 to generate the IDF. For example, the standardization component 202 can covert one or more values comprised in the simplified summary 126 to one or more defined units of measure (e.g., by referencing one or more unit conversion tables stored in the one or more data repositories 108). For instance, the standardization component 202 can convert imperial measurements to metric measurements, or vice versa. In another example, the standardization component 202 can translate names and/or titles extracted from the one or more manufacturing inputs 122 into one or more pre-defined names and/or titles (e.g., by referencing one or more synonym stales stored in the one or more data repositories 108). In another example, the standardization component 202 can articulate the geometric features of a design into a standard form that can include information such as dimension, location, orientation, and/or feature type. Additionally, the standardization component 202 can organize the simplified summary 126 into a predefined layout and/or order.
The digital build package 304 can serve as a product profile that delineates various details for manufacturing the given product. In addition to the standardized simplified summary 126, the digital build package 304 can comprise a plurality of manufacturing attributes extracted from the manufacturing inputs 122. The manufacturing attributes can be manufacturing details required to fulfill manufacturing of the given product. In various embodiments, the manufacturing attributes can be defined by the one or more manufacturing inputs 122, where the packaging component 302 can extract the manufacturing attribute values and compile the values into the digital build package 304. In one or more embodiments, one or more of the manufacturing attributes can be defined by the packaging component 302 (e.g., rather than the one or more manufacturing inputs 122).
For example, the packaging component 302 can extract manufacturing attribute values regarding material selection, manufacturing process details, and/or manufacturing objectives from one or more text descriptions and/or data forms comprised within the one or more manufacturing inputs 122 and/or from data (e.g., auxiliary data, manufacturing facility 404 data, and/or the like) stored in the one or more data repositories 108. For instance, the one or more manufacturing inputs 122 can comprise one or more textual descriptions of various manufacturing details, such as: materials comprised withing the product to be manufactured, the type of manufacturing processes to be employed, color selection, type of surface finish, permissible tolerances, budget constraints, order quantity, shipping destination, a combination thereof, and/or the like. The packaging component 302 can employ one or more natural language processing algorithms to identify and/or extract the manufacturing attribute values from the textual descriptions.
In another instance, the one or more manufacturing inputs 122 can comprise data entered into one or more forms, such as: fill-in-the-blank documents, check-box forms, drop down menus, diagrams, tables, charts, a combination thereof, and/or the like. In one or more embodiments, the packaging component 302 can employ one or more natural language processing algorithms to identify and/or extract the manufacturing attributes from the data forms. Also, in one or more embodiments, the packaging component 302 can identify the type of data form via one or more form identification codes. Once the packaging component 302 identifies the type of data form (e.g., by referencing the identification code from one or more references tables that can be stored, for example, in the one or more memories 116 and/or data repositories 108), the packaging component 302 can extract manufacturing attribute values from the data forms and correlate the values to the associate manufacturing attributes based on the value's position within the data form. In a further instance, packaging component 302 can extract manufacturing attribute values from the one or more data repositories 108. For example, manufacturing attribute values can be extracted from data regarding historic data, current environmental conditions, current supply status, current cost status, any of the auxiliary data described herein, any of the manufacturing facility 404 described herein, a combination thereof, and/or the like.
Further, the packaging component 302 can identify the occurrence of missing manufacturing attribute values in the manufacturing inputs 122 and generate one or more notifications 128 to query the one or more input devices 106 for the missing information. In another example, the packaging component 302 can analyze one or more data forms of the one or more manufacturing inputs 122 to determine whether one or more data entry options have been left blank (e.g., left unpopulated). Where there are unpopulated portions of the one or more data forms, the packaging component 302 can generate one or more notifications 128 to query the missing information from the one or more input devices 106. In response to the one or more notifications 128 generated by the packaging component 302, the one or more input devices 106 can be employed to enter additional manufacturing inputs 122 into the system 100 (e.g., which can be utilized by the packaging component 302 to complete the digital build package 304).
In various embodiments, the identification of a first manufacturing attribute value within the manufacturing inputs 122 can initialize a search by the packaging component 302 for details and/or values regarding an associate, second manufacturing attribute. For example, some manufacturing attributes can be required in association with each other. Additionally, in various embodiments, the packaging component 302 can check for compatibility between manufacturing attribute values and/or design attribute values. For instance, the packaging component 302 can determine whether one or more selected manufacturing processes are compatible with one or more permissible tolerance thresholds defined in the one or more manufacturing inputs 122. In another instance, the packaging component 302 can determine whether one or more selected manufacturing materials are compatible with one or more selected manufacturing processes. In a further instance, the packaging component 302 can determine whether the size envelope of one or more parts and/or features of a given product design are compatible with a selected manufacturing material and/or manufacturing process.
As described herein, one or more compatibility reference databases can be stored in the one or more data repositories 108 and/or referenced by the packaging component 302. For instance, the compatibility reference databases can include one or more charts, graphs, tables, and/or the like delineating compatibility relationships between possible manufacturing attributes. The compatibility relationships can define permissible value ranges for a first manufacturing attribute given the value for a second, associate manufacturing attribute. For example, for each possible manufacturing process, the one or more compatibility reference databases can delineate compatible: manufacturing materials, product design size constraints, manufacturing equipment, surface finishes, tolerance thresholds, colors, physical properties of the resulting product (e.g., rigidity, strength, malleability, weight, and/or the like), a combination thereof, and/or the like. In another example, for each possible material selection, the one or more compatibility reference databases can delineate compatible: manufacturing processes, product design size constraints, manufacturing equipment, surface finishes, tolerance thresholds, colors, physical properties of the resulting product (e.g., rigidity, strength, malleability, weight, and/or the like), a combination thereof, and/or the like.
In one or more embodiments, where a combination of manufacturing attribute values is outside the compatibility relationships defined by the one or more compatibility reference databases, the packaging component 302 can identify the one or more of the manufacturing attribute values as incompatible. Further, the packaging component 302 can generate one or more notifications 128 regarding incompatible manufacturing attributes and share the one or more notifications 128 with the one or more input devices 106. In response to the one or more notifications 128, the one or more input devices 106 can be employed to revise one or more of the incompatible attributes. In various embodiments, the one or more notifications 128 can include one or more compatible relationships from the one or more compatible reference databases with regards to the identified manufacturing attributes; thereby, providing guidance for the revisions.
In one or more embodiments, the packaging component 302 can automatically define one or more manufacturing attributes based on one or more default settings, user settings, and/or historical data. For example, where the value of a manufacturing attribute is absent from the one or more manufacturing inputs 122, the packaging component 302 can provide a default value based on one or more associate manufacturing attribute values. For example, the packaging component 302 can select the default value from one or more of the compatibility relationships defined within the compatibility reference database for the given manufacturing attribute. For instance, where a manufacturing process (e.g., a first manufacturing attribute) is defined by the one or more input devices 106, but a material selection (e.g., a second manufacturing attribute) is absent from the one or more manufacturing inputs 122; the packaging component 302 can select a material used in manufacturing that is compatible with the defined manufacturing process from the compatibility reference database.
Thus, the packaging component 302 can compile the manufacturing attributes included in the one or more manufacturing inputs 122 and/or the design attributes included in the one or more simplified summaries 126 (e.g., standardized to an IDF) to generate the digital build package 304. Thereby, the build package component 110 can canonicalize the one or more manufacturing inputs 122 into a digital build package 304 that standardizes product design features and/or manufacturing features to be employed in manufacturing a given product.
Due to the standardization and/or processing techniques employed by the build package component 110 (e.g., via the attribute component 114, standardization component 202, and/or packaging component 302), the digital build package 304 can serve as portable manufacturing instructions that can be executed in various manufacturing facilities 404 with minimal deviation. Thereby, a more consistent product quality can be achieved when a product order is serviced across multiple manufacturing facilities 404 and/or when multiple parts of a product are manufactured in respective manufacturing facilities 404.
For instance, the distribution component 402 can distribute copies of the digital build package 304 to multiple manufacturing facilities 404 to manufacture the given product. In another instance, the distribution component 402 can distribute a first portion of the digital build package 304 to a first manufacturing facility 404, and a second portion of the digital build package 304 to a second manufacturing facility; thereby the first manufacturing facility 404 can manufacture one part of the product, while the second manufacturing facility can manufacture another part of the part.
Further, the one or more data repositories 108 can store data collected by one or more manufacturing facilities 130 employed by the system 100 to fulfill one or more manufacturing orders. In various embodiments, one or more manufacturing facilities 404 employed by the system 100 can utilize one or more sensors to collect operation data regarding the execution of one or more digital build packages 304. Example types of collected data can include, but is not limited to: manufacturing machine settings, temperature measurements, humidity measurements, pressure measurements, material data (e.g., characterizing one or more raw materials used in the given manufacturing process and/or characterizing materials after processing), electricity consumption, power levels of machines and/or components of those machines, sound recordings, video recordings, photographs, measurements from light detection and ranging (“LIDAR”), measurements from displacement sensors, measurements from three-dimensional scanners, the location of a given product in a given time, a combination thereof, and/or the like.
In one or more embodiments, the distribution component 402 can distribute the digital build package 304 amongst the network of manufacturing facilities 404 based on one or more capabilities of the manufacturing facilities 404 in relation to one or more design and/or manufacturing attributes defined in the digital build package 304. For example, the data stored in the one or more data repositories 108 can delineate what manufacturing equipment and/or materials are available in each manufacturing facility 404. Thereby, the distribution component 402 can determine whether the one or more define manufacturing attributes can be employed with the available equipment. In another example, the data stored in the one or more data repositories 108 can delineate which manufacturing facilities 404 have the capacity to begin executing new orders. Further, the data stored in the one or more data repositories 108 can delineate which available manufacturing facilities 404 have the capacity to manufacturing in accordance with one or more of the design and/or manufacturing attributes of the digital build package 304. For instance, the data stored in the one or more data repositories 108 can delineate the types of manufacturing process that can be employed at each manufacturing facility 404, the types and/or amount of materials that can be utilized at each manufacturing facility 404, and/or the like. Thereby, the distribution component 404 can identify one or more manufacturing facilities 404 that can begin execution of the digital build package 304 the soonest.
In one or more embodiments, the one or more manufacturing inputs 122 can include one or more user preferences regarding selection of the manufacturing facilities 404. For example, said preferences can include: a selection of specific manufacturing facilities 404 to employ, a preferred geographical location for manufacturing, a target carbon footprint, target water and/or energy consumption, a combination thereof, and/or the like. These preferences can be incorporated into the digital build package 304 as manufacturing attributes extracted from the manufacturing inputs 122. In various embodiments, the distribution component 402 can distribute the digital build package 304 based on said manufacturing attributes. For example, the data repository 108 can store data regarding the carbon emissions, water consumption, and/or energy consumption of the manufacturing facilities 404. The distribution component 402 can reference the data repositories 108 to select manufacturing facilities 404 that meet one or more of the manufacturing attributes delineated in the digital build package 304.
In various embodiments, the design and/or manufacturing attributes of the digital build package 304 can be refined at one or more of the manufacturing facilities 404. For example, the one or more manufacturing facilities 404 can collect evaluation data regarding products manufactured in accordance with the digital build package 304. The evaluation data can be stored in the one or more data repositories 108 and/or shared with the packaging component 302 and/or other various components of the system 100 described herein. In one or more embodiments, the packaging component 302 can update the digital build package 304 to include the evaluation data. The evaluation data can include, for example: photographs, metrology data, dimension measurements, test results, a combination thereof, and/or the like.
In one or more embodiments, one or more of the design and/or manufacturing attributes can be adjusted to analyze the effects on the resulting evaluation data. For example, one or more design and/or manufacturing attributes can be altered to achieve a quality control metric. For instance, the settings of manufacturing equipment can be adjusted to explore the settings' effect on the evaluation data. Where a design and/or manufacturing attribute adjustment results in improved evaluation data, the packaging component 302 can update the digital build package 304 with the updated attribute adjustment. Further, the update can be experienced across all distributions of the digital build package 304 amongst the network of manufacturing facilities 404. Thereby, a digital build package 304 can be refined at a first manufacturing facility 404, and the refinement can be executed within one or more other manufacturing facilities 404 to maintain manufacturing consistency.
In one or more embodiments, the version component 502 can generate a design history for each digital build package 304 generated by the build package component 110 and/or executed in the one or more manufacturing facilities 404. The design history 504 can include respective versions of the digital build package 304 (e.g., in sequential order), time stamps, evaluation data associated with each version of the digital build package 304, location data delineating where (e.g., which manufacturing facility 404) each version of the digital build package 304 was executed and/or refined, a combination thereof, and/or the like. Further, the design history 504 can comprise one or more version chains comprising sequential versions of the digital build package 304. Moreover, the version component 502 can be employed to copy version chains, implement one or more forks in the version chains, and/or merge version chains.
For example, the version component 502 can implement one or more forks in a version chain to explore multiple design and/or manufacturing attribute configurations simultaneously. For instance, the version component 502 can copy a version of the digital build package 304; the version of the digital build package 304 can then be revised via adjustments to one or more first design and/or manufacturing attributes, while the copy can experience alternate revisions via adjustment of the same or different attributes. Thereby, in one or more embodiments, the version component 502 can facilitate one or more A/B testing techniques in refining the digital build package 502.
In another example, the version component 502 can implement one or more mergers of version chains associated with the digital build package 304. For instance, each respective version chain segment can comprise a history of optimizing a respective design and/or manufacturing attribute. By merging the version chains, the version component 502 can achieve a version in of the digital build package 304 in which multiple attributes are optimized.
In one or more embodiments, the insight component 602 can compare product designs and/or digital build packages 304 (e.g., comprising design and/or manufacturing attributes) to historical data stored in the one or more data repositories 108. For example, the insight component 602 can reference the one or more data repositories 108 for information regarding previously generated and/or manufactured product designs and/or digital build packages 304. For instance, the insight component 602 can compare the design attributes comprised within the standardized, simplified summary 126 of a given digital build package 304 with historic design attributes previously employed in historic digital build packages 304. In a further instance, the insight component 602 can compare the manufacturing attributes extracted from the one or manufacturing inputs 122 of a given digital build package 304 with historic manufacturing attributes previously employed in historic digital build packages 304.
In various embodiments, the insight component 602 can identify one or more past digital build packages 304 that are similar to a given digital build package 304 based on one or more shared design attributes and/or manufacturing attributes. For instance, the insight component 602 can search the one or more data repositories 108 for similar design attributes based on, for example: product geometry, product operation and/or application, product dimensions, physical properties of the product (e.g., rigidity, malleability, durability, and/or the like), thermal stability of the product, strength of the product, a combination thereof, and/or the like. In another instance, the insight component 602 can search the one or more data repositories 108 for similar manufacturing attributes based on, for example: manufacturing process, material selection, color selection, surface finish, order quantity, tolerance requirements, fulfillment/lead time requirements, a combination thereof, and/or the like. By identifying similar design and/or manufacturing attributes, the insight component 602 can predict the given digital build package 304 can exhibit similar evaluation data.
In various embodiments, the insight component 602 (and/or associate components thereof) can employ one or more machine learning models to analyze a given digital build package in relation to historic digital build packages 304 (e.g., previously generated, manufactured, and/or refined). As used herein, the term “machine learning model” can refer to a computer model that can be used to facilitate one or more machine learning tasks. For example, the computer model can simulate a number of interconnected processing units that can resemble abstract versions of neurons. The processing units can be arranged in a plurality of layers (e.g., one or more input layers, one or more hidden layers, and/or one or more output layers) connected with by varying connection strengths (e.g., which can be commonly referred to within the art as “weights”). For instance, neural network models can learn through training, wherein data with known outcomes is inputted into the computer model, outputs regarding the data are compared to the known outcomes, and/or the weights of the computer model are autonomous adjusted based on the comparison to replicate the known outcomes. As used herein, the term “training data” can refer to data and/or data sets used to train one or more neural network models. As a machine learning model trains (e.g., utilizes more training data), the computer model can become increasingly accurate; thus, trained neural network models can accurately analyze data with unknown outcomes, based on lessons learning from training data, to facilitate one or more machine learning tasks. Example machine learning models can include, but are not limited to: perceptron (“P”), feed forward (“FF”), radial basis network (“RBF”), deep feed forward (“DFF”), recurrent neural network (“RNN”), long/short term memory (“LSTM”), gated recurrent unit (“GRU”), auto encoder (“AE”), variational AE (“VAE”), denoising AE (“DAE”), sparse AE (“SAE”), markov chain (“MC”), Hopfield network (“HN”), Boltzmann machine (“BM”), deep belief network (“DBN”), deep convolutional network (“DCN”), deconvolutional network (“DN”), deep convolutional inverse graphics network (“DCIGN”), generative adversarial network (“GAN”), liquid state machine (“LSM”), extreme learning machine (“ELM”), echo state network (“ESN”), deep residual network (“DRN”), kohonen network (“KN”), support vector machine (“SVM”), and/or neural turing machine (“NTM”). Many other types of machine learning models and methods are known to those skilled in the art and could be readily integrated into the system 100.
As described herein, structuring extracted design attributes into an IDF can enable varying product designs (e.g., product designs originally varying in content, structure, and/or format) to be standardized into a digital build package 304. Thereby, rendering the manufacturing of the product design more portable and/or consistent across a network of manufacturing facilities 404. Additionally, the generating the digital build package 304 can serve as a pre-processing step to structure the manufacturing inputs 122 into a data format that facilitates one or more machine learning model comparisons.
As shown in
For example, the similarity component 702 can embed the design and/or manufacturing attributes into the embedding space of a similarity model, where the embeddings can be mathematical representations of the various attributes. Within the embedding space, a distance between similar attributes can be larger than a distance between unsimilar attributes. Thus, as the distance between embedded attributes increases, the similarity score (e.g., an inverse of the distance value) can decrease. In various embodiments, the similarity component 702 can further employ one or more cluster algorithms to cluster digital build packages 304 based on similarity. For example, similar digital build packages 304 (e.g., having a similarity score greater than a defined threshold) can be clustered together; thereby, digital build packages of 304 of the same cluster can have similar design and/or manufacturing attributes. Where a given digital build package 304 is determined to have a high similarity score (e.g., be very similar) with a historic digital build package 304, the insight component 602 can predict that given digital build package 304 will achieve similar evaluation data as the historic digital build package 304. Further, the insight component 602 can identify one or more design and/or manufacturing attributes common to the cluster of the similar historic digital build package 304 as possible recommendations 704 for adjusting the given digital build package 304. In various embodiments, cluster characteristics identified by the insight component 602 can inform a compatibility analysis performed by the attribute component 114 and/or the packaging component 302.
In one or more embodiments, the similarity score with regards to a given digital build package 304 and a historic build package 304 can be a function of multiple distance values (e.g., a weighted average), where each distance value can characterize the distance, in the embedding space, between an attribute value of the given digital build package 304 and the corresponding attribute value of the historic build package 304. Additionally, different design and/or manufacturing attributes can have a greater effect on the evaluation data resulting from executing the digital build package 304. For example, a product quality control metric can define a narrow tolerance for product size deviations, while providing a larger tolerance for product color deviations; therefore, a design attribute that defines the geometry of a subcomponent can have a greater effect on the evaluation data than a manufacturing attribute that defines a color shading of the product. Within the similarity score function, design and/or manufacturing attributes associated with a greater effect on the evaluation data can be given weighted values, such that their distance values can have a greater impact on the overall similarity score between the given digital build package 304 and a historic build package 304. In one or more embodiments, the one or more input devices 106 can be employed to prioritize design and/or manufacturing attributes, and/or thereby establish which attributes are afforded weighted distance values. For example, the one or more input devices 106 can prioritize design and/or manufacturing attributes based on the attributes' effect on one or more defined objectives regarding, for instance: manufacturing time, environmental impact, manufacturing costs, shipping costs, weight, one or more quality control metrics, a combination thereof, and/or the like.
In various embodiments, the similarity score can be presented as a scalar, vector quantity, and/or series of vector quantities that can incorporate one or more design attributes and/or manufacturing attributes accounted for in the search of the one or more data repositories 108 or found in the search results. Also, the similarity score can also be represented using a graph and/or a map. For instance, the graph and/or map can indicate one or more design and/or manufacturing attributes in the search, and/or can show a representation of the data space that can include one or more design and/or manufacturing attributes. Further, the similarity score can also be represented as a qualitative representation (e.g., with colors, or descriptive words). The insight component 602 can also indicate whether the presence of additional data or information would improve the comparison to historic data. The additional data could take the form of a DoE in which the user creates designs and/or orders that could be produced in the manufacturing facilities to acquire evaluation data employed to train the similarity component 702. In one or more embodiments, the similarity score and/or search results from the data repository 108 can be shared with the one or more input devices 106.
In various embodiments, the insight component 602 can further identify one or more trends associated with design and/or manufacturing attributes. For example, for a given digital build package 304, the similarity component 702 can identify one or more most similar historic digital build packages 304 from the data repositories 108 (e.g., having the highest similarity score). Further, the insight component 602 can employ one or more pattern recognition algorithms (e.g., a statistical pattern recognition algorithm, a syntactic pattern recognition algorithm, and/or a neural pattern recognition algorithm) to identify one or more trends the design history of the one or more identified most similar historic digital build packages 304.
Further, in various embodiments, the insight component 602 can generate one or more recommendations 704 regarding a given digital build package 304. The one or more recommendations 704 can comprise one or more recommended alterations to the given design and/or manufacturing attributes. The recommendations 704 can be based on, for example: a similarity score generated by the similarity component 702, characteristics of clusters of similar historic digital build packages 304, identified trends (e.g., trends identified from the design history of one or more similar historic digital build packages 304), a combination thereof, and/or the like.
In various embodiments, the insight component 602 can generate one or more recommendations 704 to modify a given digital build package 304 to more closely resemble one or more historic digital build packages 304 that achieved favorable evaluation data. For example, the insight component 602 can generate a recommendation to alter one or more design and/or manufacturing attributes of a given digital build package 304 so as to be more similar to a historic digital design package that (1) has a high similarity score (e.g., greater than a defined threshold), and/or (2) has previously exhibited evaluation data that is aligned with one or more objectives of manufacturing (e.g., which can be defined in the manufacturing inputs 122, and/or processed as one or more manufacturing attributes). In another example, the insight component 602 can: cluster (e.g., via one or more clustering algorithms and/or clustering machine learning tasks that can be employed in conjunction with one or more machine learning models, such as a similarity model with an embedding space) historic digital build packages 304 based on similar design and/or manufacturing attributes; identify a cluster most similar to a given digital build package 304; identify one or more common characteristics embodied by the members of the identified cluster; and/or generate one or more recommendations 704 to alter one or more design and/or manufacturing attributes of the given digital build package 304 so as to be more similar to identified characteristics. In a further example, the insight component 602 can: identify a similar historic digital build package 304; employ one or more pattern recognition algorithms to the design history of the historic digital build package 304 to identify one or more correlations between design and/or manufacturing attribute adjustments and the associate evaluation data; and generate one or more recommendations 704 to adjust the design and/or manufacturing attributes of the given digital build package 304 based on the identified correlations to optimize the given digital build package 304 for one or more manufacturing objectives (e.g., which can be defined in the manufacturing inputs 122, and/or processed as one or more manufacturing attributes). In another example, the insight component 602 can: identify an intermediate version (e.g., a version of the historic digital build package 304 that is not latest in the version chain of the design history) of a historic digital build package 304 to be most similar to a given digital build package 304; identify one or more design and/or manufacturing attribute changes in subsequent versions of the digital build package 304 that resulted in improved evaluation data; and/or generate one or more recommendations 704 to adjust the design and/or manufacturing attributes of the given digital build package 304 in a similar manner as the identified changes.
Additionally, or alternatively, the insight component 602 can generate one or more recommendations 704 to modify a given digital build package 304 to increase differentiation with one or more historic digital build packages 304 that achieved unfavorable evaluation data. For example, the insight component 602 can generate a recommendation to alter one or more design and/or manufacturing attributes of a given digital build package 304 so as to render the given digital build package 304 less similar to a historic digital design package that (1) currently has a high similarity score (e.g., greater than a defined threshold), and/or (2) has previously exhibited evaluation data that is poorly aligned with one or more objectives of manufacturing (e.g., which can be defined in the manufacturing inputs 122, and/or processed as one or more manufacturing attributes). In another example, the insight component 602 can: cluster (e.g., via one or more clustering algorithms and/or clustering machine learning tasks that can be employed in conjunction with one or more machine learning models, such as a similarity model with an embedding space) historic digital build packages 304 based on similar design and/or manufacturing attributes; identify a cluster most similar to a given digital build package 304 and associated with undesirable evaluation data (e.g., associated with poor quality control, multiple failures, high cost, long manufacturing time, a combination thereof, and/or the like); identify one or more common characteristics embodied by the members of the identified cluster; and/or generate one or more recommendations 704 to alter one or more design and/or manufacturing attributes of the given digital build package 304 so as to differentiate from identified characteristics. In a further example, the insight component 602 can: identify a similar historic digital build package 304 having achieved undesirable evaluation data; employ one or more pattern recognition algorithms to the design history of the historic digital build package 304 to identify one or more correlations between design and/or manufacturing attribute adjustments and the associate evaluation data; and generate one or more recommendations 704 to adjust the design and/or manufacturing attributes of the given digital build package 304 based on the identified correlations to optimize the given digital build package 304 for one or more manufacturing objectives (e.g., which can be defined in the manufacturing inputs 122, and/or processed as one or more manufacturing attributes). In another example, the insight component 602 can: identify an intermediate version (e.g., a version of the historic digital build package 304 that is not latest in the version chain of the design history) of a historic digital build package 304 that is most similar to a given digital build package 304 while being associated with undesirable evaluation data; identify one or more design and/or manufacturing attribute changes in subsequent versions of the digital build package 304 that resulted in improved evaluation data; and/or generate one or more recommendations 704 to adjust the design and/or manufacturing attributes of the given digital build package 304 in a similar manner as the identified changes.
In various embodiments, the one or more input devices 106 can be employed to enact the one or more recommendations 704. For example, enacting the one or more recommendations 704 can result in a new version of the digital build package 304. For instance, the version component 502 can track the new version as a part of one or more version chains included in the design history of the associate product (e.g., incorporated into the design history as a mere link in the version chain or implemented as a fork in the version chain). In another example, enacting the one or more recommendations 704 can result in new, distinct digital build package (e.g., which can have a respective design history). Additionally, revised and/or new digital build packages 304 can be re-analyzed multiple times (e.g., through multiple iterations of enacted recommendations) to further optimize the manufacturing of the product.
At 802, the one or more input devices 106 can be employed to share manufacturing inputs 122 with the build package component 110 and/or the one or more data repositories 108. For example, manufacturing inputs 122 regarding and/or including a product design can be processed by the attribute component 114 and/or standardization component 202 in accordance with various embodiments described herein. Additionally, manufacturing inputs 122 regarding additional manufacturing details can be directly processed by the packaging component 302 in accordance with various embodiments described herein. Further, copies of the manufacturing inputs 122 can be stored in the one or more data repositories 108.
At 804, the attribute component 114 and/or standardization component 202 can share one or more standardized, simplified summaries 126 with the packaging component 302. In accordance with one or more embodiments described herein, the standardized, simplified summaries can include design attribute values extracted from the manufacturing inputs 122 and/or structured into an IDF. Further, at 806, the copies of the one or more standardized, simplified summaries 126 can be stored in the one or more data repositories 108.
At 808, the distribution component 402 can share one or more digital build packages 304 and/or product designs (e.g., from the one or more manufacturing inputs 122) with one or more manufacturing facilities 404. For example, the packaging component 302 can generate the one or more digital build packages 304 based on the standardized, simplified summary 126 and/or manufacturing attribute values extracted from the manufacturing inputs 122 in accordance with one or more embodiments described herein. Also, the packaging component 302 can extract one or more manufacturing attribute values from data (e.g., auxiliary data) stored in the one or more data repositories 108 and/or shared with the packaging component 302 at 810. Further, distribution component 402 can distribute the one or more digital build packages 304 to the manufacturing facilities 404 based on one or more design and/or manufacturing attributes defined by the digital build packages 304. Additionally, the distribution component 404 can distribute the one or more digital build packages 304 to the manufacturing facilities 404 based on one or more characteristics of the manufacturing facilities 404 retrieved from the one or more data repositories 108 at 810 in accordance with one or more embodiments described herein.
At 812, the one or more manufacturing facilities 404 can share evaluation data with the packaging component 302. Further, at 814, the one or more manufacturing facilities 404 can share the evaluation data with the one or more data repositories 108. In accordance with various embodiments described herein, the packaging component 302 can update the one or more digital build packages 304 to include the evaluation data and/or any refinements made to one or more of the design and/or manufacturing attributes. Further, the version component 502 can generate and/or update one or more design histories associated with the digital build package 304 to track the evolution of the digital build package 304 through multiple configurations. At 816, the digital build package 304, evaluation data, and/or design history can be stored in the one or more data repositories 108.
In accordance with one or more embodiments, the digital build package 304 (e.g., including the standardized, simplified summary 126 and/or manufacturing attributes) can be shared with the insight component 602 at 818. The insight component 602 can compare the digital build package to one or more historic digital build packages 304 (e.g., retrieved from the one or more data repositories at 820) that were previously generated and/or manufactured. In accordance with various embodiments described herein, the insight component 602 can generate one or more recommendations 704 regarding possible alterations to the one or more manufacturing inputs 122 based on the comparison. Further, the insight component 602 can share the one or more recommendations 704 with the one or more input devices 106 (e.g., at 822) and/or data repositories 108. Additionally, one or more features of the system 100 and/or communications of the communication scheme 800 can be repeated to optimize the manufacturing of a product.
In various embodiments, the one or more input devices 106 utilized to enter the one or more manufacturing inputs into the system 100 can be different than the one or more input devices 106 that receive the one or more recommendations 704 at 822. For instance, a plurality of system 100 users can be associated with the product characterized by the manufacturing inputs 122, where each user can employ a respective input device 106. For example, a development of the one or more digital build packages 304 can managed by a collaboration of users supplying the manufacturing inputs 122, reviewing recommendations 704, and/or altering manufacturing inputs 122 (e.g., based on the recommendations 704).
At 902, the computer-implemented method 900 can comprise receiving (e.g., via communications component 112), by a system 100 operatively coupled to a processor 120, one or more manufacturing inputs 122 regarding a product design and/or manufacturing details. At 904, the computer-implemented method 900 can comprise generating (e.g., via attribute component 114), by the system 100, one or more simplified summaries 126 that can characterize the product design by extracting a plurality of design attribute values from the manufacturing inputs 122 (e.g., the one or more design attribute values can be extracted from one or more CAD files of the product design). At 906, the computer-implemented method 900 can comprise structuring (e.g., via standardization component 202), by the system 100, the one or more simplified summaries 126 into an IDF in accordance with various embodiments described herein.
At 908, the computer-implemented method 900 can comprise executing (e.g., via packaging component 302), by the system 100, one or more packing algorithms to generate one or more digital build packages 304 based on the one or more simplified summaries 126 and/or a plurality of manufacturing attributes extracted from the manufacturing inputs 122. In accordance with various embodiments described herein, the plurality of manufacturing attributes can delineate further manufacturing details and/or objectives in addition to the product design.
At 910, the computer-implemented method 900 can comprise performing (e.g., via similarity component 702), by the system 100, one or more comparisons of the one or more digital build packages 304 to historic data regarding one or more previously generated and/or manufactured digital build packages 304. For example, the comparison at 910 can be performed via one or more machine learning models (e.g., a similarity model) in accordance with various embodiments described herein. At 912, the computer-implemented method 900 can comprise generating (e.g., via insight component 602), by the system 100, one or more recommended alterations to the manufacturing inputs 122 based on the one or more comparisons at 910. At 914, the computer-implemented method 900 can comprise tracking (e.g., via version component 502), by the system 100, one or more changes made to the one or more digital build package 304. For example, the changes can be made throughout the development process of the digital build package 304. For instance, changes can be made due to refinements at the manufacturing facilities 404 (e.g., based on evaluation data) and/or due to recommendations 704 generated by the insight component 602 (e.g., based on historic data) and/or employed via the one or more input devices. At 916, the computer-implemented method 900 can comprise distributing (e.g., via distribution component 402), by the system 100, the one or more digital build packages 304 within a network of one or more manufacturing facilities 404 based on a manufacturing attribute delineated by the one or more digital build packages 304. Also, the distribution at 916 can be further based on one or more manufacturing objectives defined by the one or more manufacturing inputs 122.
In order to provide additional context for various embodiments described herein,
Generally, program modules include routines, programs, components, data structures, and/or the like, that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the inventive methods can be practiced with other computer system configurations, including single-processor or multiprocessor computer systems, minicomputers, mainframe computers, Internet of Things (“IoT”) devices, distributed computing systems, as well as personal computers, hand-held computing devices, microprocessor-based or programmable consumer electronics, and the like, each of which can be operatively coupled to one or more associated devices.
The illustrated embodiments of the embodiments herein can be also practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in both local and remote memory storage devices. For example, in one or more embodiments, computer executable components can be executed from memory that can include or be comprised of one or more distributed memory units. As used herein, the term “memory” and “memory unit” are interchangeable. Further, one or more embodiments described herein can execute code of the computer executable components in a distributed manner, e.g., multiple processors combining or working cooperatively to execute code from one or more distributed memory units. As used herein, the term “memory” can encompass a single memory or memory unit at one location or multiple memories or memory units at one or more locations.
Computing devices typically include a variety of media, which can include computer-readable storage media, machine-readable storage media, and/or communications media, which two terms are used herein differently from one another as follows. Computer-readable storage media or machine-readable storage media can be any available storage media that can be accessed by the computer and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer-readable storage media or machine-readable storage media can be implemented in connection with any method or technology for storage of information such as computer-readable or machine-readable instructions, program modules, structured data or unstructured data.
Computer-readable storage media can include, but are not limited to, random access memory (“RAM”), read only memory (“ROM”), electrically erasable programmable read only memory (“EEPROM”), flash memory or other memory technology, compact disk read only memory (“CD-ROM”), digital versatile disk (“DVD”), Blu-ray disc (“BD”) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, solid state drives or other solid state storage devices, or other tangible and/or non-transitory media which can be used to store desired information. In this regard, the terms “tangible” or “non-transitory” herein as applied to storage, memory or computer-readable media, are to be understood to exclude only propagating transitory signals per se as modifiers and do not relinquish rights to all standard storage, memory or computer-readable media that are not only propagating transitory signals per se.
Computer-readable storage media can be accessed by one or more local or remote computing devices, e.g., via access requests, queries or other data retrieval protocols, for a variety of operations with respect to the information stored by the medium.
Communications media typically embody computer-readable instructions, data structures, program modules or other structured or unstructured data in a data signal such as a modulated data signal, e.g., a carrier wave or other transport mechanism, and includes any information delivery or transport media. The term “modulated data signal” or signals refers to a signal that has one or more of its characteristics set or changed in such a manner as to encode information in one or more signals. By way of example, and not limitation, communication media include wired media, such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.
With reference again to
The system bus 1008 can be any of several types of bus structure that can further interconnect to a memory bus (with or without a memory controller), a peripheral bus, and a local bus using any of a variety of commercially available bus architectures. The system memory 1006 includes ROM 1010 and RAM 1012. A basic input/output system (“BIOS”) can be stored in a non-volatile memory such as ROM, erasable programmable read only memory (“EPROM”), EEPROM, which BIOS contains the basic routines that help to transfer information between elements within the computer 1002, such as during startup. The RAM 1012 can also include a high-speed RAM such as static RAM for caching data.
The computer 1002 further includes an internal hard disk drive (“HDD”) 1014 (e.g., EIDE, SATA), one or more external storage devices 1016 (e.g., a magnetic floppy disk drive (“FDD”) 1016, a memory stick or flash drive reader, a memory card reader, a combination thereof, and/or the like) and an optical disk drive 1020 (e.g., which can read or write from a CD-ROM disc, a DVD, a BD, and/or the like). While the internal HDD 1014 is illustrated as located within the computer 1002, the internal HDD 1014 can also be configured for external use in a suitable chassis (not shown). Additionally, while not shown in environment 1000, a solid state drive (“SSD”) could be used in addition to, or in place of, an HDD 1014. The HDD 1014, external storage device(s) 1016 and optical disk drive 1020 can be connected to the system bus 1008 by an HDD interface 1024, an external storage interface 1026 and an optical drive interface 1028, respectively. The interface 1024 for external drive implementations can include at least one or both of Universal Serial Bus (“USB”) and Institute of Electrical and Electronics Engineers (“IEEE”) 1394 interface technologies. Other external drive connection technologies are within contemplation of the embodiments described herein.
The drives and their associated computer-readable storage media provide nonvolatile storage of data, data structures, computer-executable instructions, and so forth. For the computer 1002, the drives and storage media accommodate the storage of any data in a suitable digital format. Although the description of computer-readable storage media above refers to respective types of storage devices, it should be appreciated by those skilled in the art that other types of storage media which are readable by a computer, whether presently existing or developed in the future, could also be used in the example operating environment, and further, that any such storage media can contain computer-executable instructions for performing the methods described herein.
A number of program modules can be stored in the drives and RAM 1012, including an operating system 1030, one or more application programs 1032, other program modules 1034 and program data 1036. All or portions of the operating system, applications, modules, and/or data can also be cached in the RAM 1012. The systems and methods described herein can be implemented utilizing various commercially available operating systems or combinations of operating systems.
Computer 1002 can optionally comprise emulation technologies. For example, a hypervisor (not shown) or other intermediary can emulate a hardware environment for operating system 1030, and the emulated hardware can optionally be different from the hardware illustrated in
Further, computer 1002 can be enable with a security module, such as a trusted processing module (“TPM”). For instance with a TPM, boot components hash next in time boot components, and wait for a match of results to secured values, before loading a next boot component. This process can take place at any layer in the code execution stack of computer 1002, e.g., applied at the application execution level or at the operating system (“OS”) kernel level, thereby enabling security at any level of code execution.
A user can enter commands and information into the computer 1002 through one or more wired/wireless input devices, e.g., a keyboard 1038, a touch screen 1040, and a pointing device, such as a mouse 1042. Other input devices (not shown) can include a microphone, an infrared (“IR”) remote control, a radio frequency (“RF”) remote control, or other remote control, a joystick, a virtual reality controller and/or virtual reality headset, a game pad, a stylus pen, an image input device, e.g., camera(s), a gesture sensor input device, a vision movement sensor input device, an emotion or facial detection device, a biometric input device, e.g., fingerprint or iris scanner, or the like. These and other input devices are often connected to the processing unit 1004 through an input device interface 1044 that can be coupled to the system bus 1008, but can be connected by other interfaces, such as a parallel port, an IEEE 1394 serial port, a game port, a USB port, an IR interface, a BLUETOOTH® interface, and/or the like.
A monitor 1046 or other type of display device can be also connected to the system bus 1008 via an interface, such as a video adapter 1048. In addition to the monitor 1046, a computer typically includes other peripheral output devices (not shown), such as speakers, printers, a combination thereof, and/or the like.
The computer 1002 can operate in a networked environment using logical connections via wired and/or wireless communications to one or more remote computers, such as a remote computer(s) 1050. The remote computer(s) 1050 can be a workstation, a server computer, a router, a personal computer, portable computer, microprocessor-based entertainment appliance, a peer device or other common network node, and typically includes many or all of the elements described relative to the computer 1002, although, for purposes of brevity, only a memory/storage device 1052 is illustrated. The logical connections depicted include wired/wireless connectivity to a local area network (“LAN”) 1054 and/or larger networks, e.g., a wide area network (“WAN”) 1056. Such LAN and WAN networking environments are commonplace in offices and companies, and facilitate enterprise-wide computer networks, such as intranets, all of which can connect to a global communications network, e.g., the Internet.
When used in a LAN networking environment, the computer 1002 can be connected to the local network 1054 through a wired and/or wireless communication network interface or adapter 1058. The adapter 1058 can facilitate wired or wireless communication to the LAN 1054, which can also include a wireless access point (“AP”) disposed thereon for communicating with the adapter 1058 in a wireless mode.
When used in a WAN networking environment, the computer 1002 can include a modem 1060 or can be connected to a communications server on the WAN 1056 via other means for establishing communications over the WAN 1056, such as by way of the Internet. The modem 1060, which can be internal or external and a wired or wireless device, can be connected to the system bus 1008 via the input device interface 1044. In a networked environment, program modules depicted relative to the computer 1002 or portions thereof, can be stored in the remote memory/storage device 1052. It will be appreciated that the network connections shown are example and other means of establishing a communications link between the computers can be used.
When used in either a LAN or WAN networking environment, the computer 1002 can access cloud storage systems or other network-based storage systems in addition to, or in place of, external storage devices 1016 as described above. Generally, a connection between the computer 1002 and a cloud storage system can be established over a LAN 1054 or WAN 1056 e.g., by the adapter 1058 or modem 1060, respectively. Upon connecting the computer 1002 to an associated cloud storage system, the external storage interface 1026 can, with the aid of the adapter 1058 and/or modem 1060, manage storage provided by the cloud storage system as it would other types of external storage. For instance, the external storage interface 1026 can be configured to provide access to cloud storage sources as if those sources were physically connected to the computer 1002.
The computer 1002 can be operable to communicate with any wireless devices or entities operatively disposed in wireless communication, e.g., a printer, scanner, desktop and/or portable computer, portable data assistant, communications satellite, any piece of equipment or location associated with a wirelessly detectable tag (e.g., a kiosk, news stand, store shelf, and/or the like), and telephone. This can include Wireless Fidelity (“Wi-Fi”) and BLUETOOTH® wireless technologies. Thus, the communication can be a predefined structure as with a conventional network or simply an ad hoc communication between at least two devices.
What has been described above include mere examples of systems, computer program products and computer-implemented methods. It is, of course, not possible to describe every conceivable combination of components, products and/or computer-implemented methods for purposes of describing this disclosure, but one of ordinary skill in the art can recognize that many further combinations and permutations of this disclosure are possible. Furthermore, to the extent that the terms “includes,” “has,” “possesses,” and the like are used in the detailed description, claims, appendices and drawings such terms are intended to be inclusive in a manner similar to the term “comprising” as “comprising” is interpreted when employed as a transitional word in a claim. The descriptions of the various embodiments have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.
This application claims priority to U.S. Provisional Application No. 63/134,661, entitled, “MANUFACTURING AND DEVELOPMENT PLATFORM,” which was filed on Jan. 7, 2021, and U.S. Provisional Application No. 63/197,683 entitled, “MANUFACTURING A PRODUCT DESIGN,” which was filed on Jun. 7, 2021. The entirety of the aforementioned applications is hereby incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
63134661 | Jan 2021 | US | |
63197683 | Jun 2021 | US |