The present invention generally relates to the field of manufacture of machine-designed products, and in particular to the optimization of product/process variables related to manufacture or supply of such products.
Computer-aided design (CAD) programs are typically utilized to create, model, and optimize the design an product or article for subsequent manufacture, often by modeling a 3D representation of the designed product. CAD programs typically include a user interface for enabling a user to input design requirements, constraints, required performance criteria, testing criteria, and required elements or materials. While a product is designed, designers and engineers need to consider how it will be manufactured. If the design was made specifically for a particular manufacturer, in the case such as an in-house manufacturer, then amongst the constraints imposed on the product design are those that arise from the available capacity and other attributes of the specific manufacturer in question. Typically, after a product is designed, the manufacturer conducts an initial design review in which the design is compared against the process, material, and other product-related and production-related capabilities of the manufacturer. This review introduces delays and inefficiencies. If there is a mismatch between the capabilities of the manufacturer and the requirements of the design, the designer either has to re-design the product to meet the capabilities of the manufacturer or seek out a new manufacturer.
In one implementation, the present disclosure is directed to a method of assisting a user with specifying product attributes for a structure defined in a 3D computer model via a computer-implemented user interface. The method performed by one or more computing devices includes presenting to the user, via the user interface, a plurality of first product variable attributes; automatedly interrogating the 3D computer model, via the one or more computing devices, to identify one or more aspects of the structure; receiving a selection of at least one of the plurality of first product variable attributes from a user via the user interface; in response to the user's selection of at least one of the plurality of first product variable attributes, determining, via the one or more computing devices, one or more second product variable attributes that are compatible with the selected at least one of the plurality of first product variable attributes and the at least one of the one or more aspects of the structure identified by the interrogating; and indicating to the user, via the user interface, the one or more second product variable attributes.
In another implementation, the present disclosure is directed to a machine-readable storage medium containing machine-executable instructions for performing method of assisting a user with specifying product attributes for a structure defined in a 3D computer model via a computer-implemented user interface. The machine-executable instructions include a first set of machine-executable instructions for presenting to the user, via the user interface, a plurality of first product variable attributes; a second set of machine-executable instructions for automatedly interrogating the 3D computer model, via the one or more computing devices, to identify one or more aspects of the structure; a third set of machine-executable instructions for receiving a selection of at least one of the plurality of first product variable attributes from a user via the user interface; a fourth set of machine-executable instructions for in response to the user's selection of at least one of the plurality of first product variable attributes, determining, via the one or more computing devices, one or more second product variable attributes that are compatible with the selected at least one of the plurality of first product variable attributes and the at least one of the one or more aspects of the structure identified by the interrogating; and a fifth set of machine-executable instructions for indicating to the user, via the user interface, the one or more second product variable attributes.
These and other aspects and features of non-limiting embodiments of the present invention will become apparent to those skilled in the art upon review of the following description of specific non-limiting embodiments of the invention in conjunction with the accompanying drawings.
For the purpose of illustrating the invention, the drawings show aspects of one or more embodiments of the invention. However, it should be understood that the present invention is not limited to the precise arrangements and instrumentalities shown in the drawings, wherein:
Aspects of the present disclosure include methods, systems, and software for optimizing product variables related to manufacture or supply of such products, which may be embodied in any of several ways. In some embodiments, various aspects of the methods, systems, and software disclosed herein may be included in a 3D computer modeling program, such as a CAD program. Additionally or alternatively, one or more of the methods, systems, and software disclosed herein may interact with a CAD product through an appropriate interface, such as an application program interface (API). Any code modules of the present disclosure that are integrated into an existing CAD product may be written in an applicable programming language for CAD products. A person of ordinary skill in the art will readily recognize that code sequences that work with CAD products through their APIs can be embodied in any computer programming language.
Herein, a “structure” (or the “product” that is designed) may be any object or part having a particular geometry. A 3D computer “model” may be a virtual representation of a structure and may be created using an appropriate CAD program and/or from image and/or video data. A “designer” or “user” may be the designer of a 3D computer model, a purchaser, an agent of the purchaser, a consumer, a home user, or a customer, among others. Examples of a structure include a piece of sheet metal, a solid cube, a cylindrical pipe, an injection molded plastic toy, an article of clothing such as a shirt made of cotton, and an assembly of various parts such as a motor vehicle, among others. A design may refer to a 3D computer model of a part or an assembly of 3D computer models of parts that may be a virtual representation of a particular structure and may be created using one or more appropriate CAD programs. Notably, while the present disclosure makes reference to 3D computer models for sheet metal products, aspects of the present disclosure can be applied to other types of products such as machined parts, 3D printed parts, discrete parts, and assemblies of parts, among others, as will be apparent to those of ordinary skill in the art after reading this disclosure in its entirety.
In step 110, a 3D computer model of a design may be analyzed to determine aspects of the modeled design (such as the weight, volume, material thickness, uniform or non-uniform material thickness, etc.) that may determine whether specific variable attributes can be utilized to manufacture the product in question. For example, if the 3D computer model or information that can be interrogated therefrom (as described further herein) indicates that the walls of the product will not be of uniform thickness, certain processes may not be available attributes for a “process” variable. It is to be understood that some 3D computer models do not provide sufficient information to determine eligibility of one or more variables; for those, this step 110 may be omitted. Other 3D computer models may provide such information, but the information may not alter the eligibility of any of the variable attributes available.
At step 115, a GUI may be presented to a user that provides an option to input other information (referred to as “constraints”) that can be used in the selection of variable attributes (such as desired quantity of product). In some embodiments, this step may take place before step 110. At step 120, as will be described in more detail below, an interface may present attributes of first variables that are applicable to the design in question to the user. The listed variable attributes may be determined as a result of a comparison between the design data (as applicable), the variable attributes available from one or more suppliers, and/or any user constraints (e.g., requesting a particular quantity of product). Additionally or alternatively, variable attributes can be provided by third party standard setting bodies or other industry-recognized sources of such information.
At step 125, the user may select a particular attribute of the first variable, and in response in step 130 a user interface may present selected attributes of the second variable that are applicable to the 3D computer model as a function of the first variable attribute selected by the user and optionally as a function of information contained in or derived from (e.g., via an automated interrogator) the 3D computer model itself. The process may then return to step 125 to enable the user to select from amongst other variables should the user desire to do so, and the process may continue until the user has finished making selections.
With reference now to
As shown in
Characteristic database 240 may be any database product that can provide the organization of information set forth below. In an embodiment, as will be described in more detail below, the database 240 may include supplier parameter data that sets forth relationships between given processes and eligible materials, optionally as well as minimum and maximum sizes for finished workpieces (in three dimensions), for a finished flat size, and/or for minimum and maximum thicknesses of materials to be used in construction of a product embodying a CAD design. Database 240 may also include non-numeric data regarding one or more suppliers' ability to provide a desired product attribute, such as a certain level of polishing or surface finish. In an embodiment, this information may be provided by one or more suppliers as part of the initial or continuing configuration of the system; in some embodiments, the information could be provided on demand during operation of one or more systems of the present disclosure. Database 240 may also include information such as name and location of the supplier(s); data from which supplier prices may be calculated by the pricing module discussed below (such as one or more labor costs, set-up costs, shipping costs, and/or other supplier pricing data) or overall prices associated with specific products, specific processes, or specified product components; as well as other information reflecting the manufacturing capabilities of the supplier(s), such as polishing/surface finishing options. Notably, although aspects of the present disclosure are described below with reference to data from a single supplier, the teachings of aspects of the present disclosure can be applied to data from multiple suppliers. In this regard, reference is made to the following applications, which are incorporated by reference herein for their teachings of selecting amongst multiple suppliers: U.S. Patent Application Ser. No. 62/073,481, filed on Oct. 31, 2014, and titled “Automated Correlation of Modeled Product and Preferred Manufacturers”; and U.S. Patent Application Ser. No. 62/073,516, filed on Oct. 31, 2014, and titled “Automated Correlation of Modeled Product and Preferred Component Manufacturers”.
The CAD program 200 may also include an Interrogator 220, and in addition may include a pricing module (not shown, but discussed further below). Interrogator 220 may interrogate, or parse, the data from the 3D computer model 210 to identify design attributes, components, processes, or other aspects of the 3D computer model that can be used by the comparison module 230. By way of example, Interrogator 220 may determine the overall length, width, and height of the product to be manufactured, as well as the size and thickness of the sheet of material that will be required as a starting point for manufacture of the product. Aspects of the present disclosure may also include a pricing module, which may receive the output of interrogator 220 to obtain required unit prices from or related to a supplier to estimate the total price of the manufactured product. Illustrative embodiments for such Interrogator 220, as well as an associated pricing module, may be found in: U.S. patent application Ser. No. 14/060,033, filed on Oct. 22, 2013, and entitled “AUTOMATED FABRICATION PRICE QUOTING AND FABRICATION ORDERING FOR COMPUTER-MODELED STRUCTURES”, which is incorporated by reference herein for its teachings of extracting pricing data from computer models; U.S. patent application Ser. No. 14/282,773, filed on May 20, 2014, and entitled “METHODS AND SOFTWARE FOR ENABLING CUSTOM PRICING IN AN ELECTRONIC COMMERCE SYSTEM”, which is incorporated by reference herein for its teachings of particular interrogator engines; and U.S. Patent Application Ser. No. 62/072,653, filed on Oct. 30, 2014, and titled “METHODS AND SOFTWARE FOR FACILITATING PRICING AND ORDERING OF A STRUCTURE REPRESENTED IN A COMPUTER MODEL”, which is incorporated by reference herein for its teachings of various interrogation engines and related functionality.
In some embodiments, an interrogator, such as Interrogator 220, may parse and/or analyze a 3D computer model to identify separate elements thereof by reading a combination of (a) specific commands issued by a CAD system and (b) specific routines or functions associated with such commands to determine whether they collectively define an individual element or portion (a “shape,” “solid body,” or “component”) of a 3D computer model. Many CAD systems, including, by way of example, SolidWorks® (registered trademark of Dassault Systemes), include an application program interface (API) to enable a user to control the issuance of customized routines or functions associated with such commands. Interrogator 220 may read such commands, routines, and functions to determine whether they define an individual shape, and, if so, may analyze various geometric aspects of the defined shape to determine whether such aspects correspond to one or more manufacturing requirements for a product to be manufactured based on a 3D computer model. If so, such requirements may be output from Interrogator 220 as CAD data or interrogation data for processing and analysis by any one or more components of the present disclosure.
As a first step, Interrogator 220 may identify discrete shapes in a 3D computer model. In an embodiment based on the SolidWorks CAD program, Interrogator 220 may read the “FeatureManager Design Tree” (an outline representation of individual shapes) to determine the number of solid bodies (or shapes) in the design. Representations of individual shapes may be found in other CAD software files, and other CAD software systems may be used. In SolidWorks, one command usable to analyze the number of solid bodies is:
object[ ] bodies=(object[ ])part.GetBodies2((int)Const.swBodyType_e.swSolidBody, false);
and the output is a list of bodies. The foregoing code statement is listed by way of example only; other code statements or sequences could be used.
Interrogator 220 may then analyze geometric aspects of such identified shapes and compare such aspects to corresponding manufacturing requirements. In an embodiment, these manufacturing requirements may include given starting materials. In other words, Interrogator 220 may determine whether a given defined shape can be manufactured from a given starting material, based on one or more analyzed geometric properties of one or more identified shapes. If so, that starting material may be identified as a manufacturing requirement and may be included in CAD data generated by Interrogator 220. As a result, a pricing module may read prices associated with such starting materials from a supplier database or other location to determine a given supplier's calculated price per unit for a product to be manufactured in accordance with such 3D computer model.
In an embodiment, Interrogator 220 may determine whether a defined shape may be manufactured from a sheet metal part. In general, in order to be manufactured from sheet metal, a defined shape must have a uniform thickness. As will be apparent to a person of skill in the art after reading this disclosure in its entirety, other geometric attributes may be analyzed to determine potential manufacturing requirements. By way of example, a given angle of bend may preclude use of certain starting materials. A given dimensional measurement may preclude certain starting materials. In an alternate embodiment, different geometric properties may be compared in combination to define manufacturing requirements. For example, a given shape may have a uniform thickness (such that it could be manufactured from two different types of sheet metal, such as copper or aluminum), be 0.50″ thick, and include bends of over 45 degrees (which may preclude the use of a copper sheet, because various types of copper, depending, on composition, may not be bendable at 45 degrees at a 0.50″ thickness).
In some embodiments, in order to determine whether a given shape has a uniform thickness, Interrogator 220 may first execute the “GetBoundingBox” SolidWorks API command. The resulting output may be an array of X, Y and Z extents, for example:
In some embodiments, a part may not be oriented so that its thickness is represented by the Z dimension (i.e., the part is lying flat) but instead by a X or Y dimension. This may be the case where an interrogator needs to determine whether sheet metal can be used to fabricate the part. However, if Interrogator 220 analyzes the x,y plane, then it may not be able to reliably identify each portion of the part that can be fabricated from sheet metal; by also analyzing the z dimension, the interrogator may reliably identify all sheet metal parts. Interrogator 220 may determine which dimension represents thickness by determining distance between corners. Thickness may be represented by the shortest distance, as follows:
abs[XCorner1−XCorner2]=Variable X
abs[YCorner1−YCorner2]=Variable Y
abs[ZCorner1−ZCorner2]=Variable Z
For this example, if Variable X has the lowest value of the three results, it may represent the thickness of a 3D computer model. If that is the case, width and length of the 3D computer model may then be calculated as
Width=abs[YCorner1−YCorner2]
Length=abs[ZCorner1−ZCorner2]
Given these calculations, interrogator 220 may determine that a workpiece has a uniform thickness if all of the following statements are true: the 3D computer model must have at least one solid body; all of the vertexes of the solid body faces that are perpendicular to the base plane are also equal to the thickness value (Variable X in this example); no vertex edge length is less than the thickness value; and the perimeter of the top face is equal to the perimeter of the bottom face. This may be determined through the following code, which finds the perimeter for each face. The values of the faces are then compared and if they are equal, the output is true.
The foregoing code statements are listed by way of example only; other code statements or sequences could be used. If the results are all true, the analyzed shape of the 3D computer model may represent a workpiece of uniform thickness. As such, Interrogator 220 may conclude that the analyzed shape may be fabricated from a single sheet metal part. Accordingly, by way of example, “sheet metal” may be included in CAD data as a manufacturing requirement, which may cause a pricing module to read prices for sheet metal parts (versus prices for plastics or other materials) from a supplier database or elsewhere. As a result, a pricing module may determine a given supplier's calculated price per unit for a product to be manufactured in accordance with such manufacturing constraints as automatedly determined by Interrogator 220.
The “uniform thickness” determination set forth above, as well as the attendant height, length, and thickness measurements, may be used to enable other comparisons between manufacturing requirements and supplier attributes. For example, once the use of a sheet metal workpiece has been confirmed as set forth above, a capabilities engine may query stored supplier data for any one of length, width, thickness, or any other supplier constraints for sheet metal parts. An example of a potential supplier constraint that would be determined by the nature of the starting workpiece material is as follows. For mechanical hole punching for sheet metal parts, a press brake may form predetermined bends in a workpiece by clamping it between a matching punch and a die. A press brake may include a bed for supporting the workpiece between the punch and the die. However, press brakes cannot typically bend parts longer than the length of the bed. If a given supplier uses a press brake having a maximum bed length of eight feet, utilizing the process as set forth above, Interrogator 220 may determine that a defined shape of a 3D computer model has a length of ten feet. In this case, a pricing module may not calculate pricing for that supplier because that supplier is unable to meet one of the manufacturing requirements imposed by the 3D computer model. Comparison module 230 may use outputs from Interrogator 220 to determine a price and/or to determine whether various processes and/or materials are compatible with one another and/or one or more 3D computer models, as described herein.
3D computer models typically contain a plethora of data but do not store the data in such a way that pricing information can be derived directly therefrom. To cure this deficiency, Interrogator 220 may pull data (e.g., material type) from the 3D computer model and may provide it to a comparison module or pricing engine, reformat the data for the comparison and/or a pricing module, and/or provide the reformatted data and/or interpret the data into new data specifically for a comparison and/or pricing module and provide the new data to the comparison and/or pricing module.
Interpreting data into new data may involve one or more of any number of functions and/or operations. For example, for a sheet metal part, a 3D computer model may include a variety of information regarding a bend. However, it may be useful for the comparison module 230, or a pricing module, to have access to information specifying how many unique bends there are with different bend lengths and the quantity of bends for each unique bend length. To determine such information, Interrogator 220 may query one or more bends in the 3D computer model, establish a table of bend lengths, and determine a sum of bend lengths, for example, for each bend of a common bend length.
Another sheet metal example is “Hole Too Close To An Edge” (HOLE). CAD programs and 3D computer models typically do not store this information in the 3D computer model. However, a HOLE can cause manufacturing issues (e.g., it can deform surrounding material and, in the case of a diameter, the hole may become oblong) if it is, for example, less than four times the material thickness away from the bend. Therefore Interrogator 220 may verify the distance from one or more holes to the closest respective bend, divide that distance by the material thickness, and set a true/false flag as a function of the result.
Yet another sheet metal example is that the length of a punched hole diameter typically needs to be equal to or greater than the material thickness. If it is not, a second operation may be required to manufacture the hole, resulting in more time spent to create the hole than if it could simply be punched. Interrogator 220 may check for this situation and set a true/false flag depending upon the result.
A generic example that would be relevant to such processes as sheet metal, machining, and injection molding is whether a hole extends through a part or only extends partially into the part. The result may affect manufacturing costs, as, for example, a non-through hole in sheet metal requires another operation (e.g., machining) to create the hole. CAD programs and 3D computer models may not specify whether or not a hole extends through associated material. In some CAD programs, given a sheet with a thickness, to put a hole in the sheet, a user may create a cylinder and define one or more Boolean operations to subtract the cylinder from the sheet; under these conditions, there may not be any explicit information in the 3D computer model regarding whether the hole extends through the sheet. In this case, Interrogator 220 can be programmed to analyze the maximum material thickness for the hole or directly proximal thereto, compare that thickness to the geometry modeled to cut the hole, and set a true/false flag that may be utilized by the comparison module 230 (or a pricing module, in determining a price).
In some embodiments, “eligible options” can be fine-tuned for different industries or expected operating conditions. For example, if the product being designed is one that will be required to withstand extremely high temperatures, a user may specify that requirement via GUI 215 to user options 225 and comparison module 230 may compare that requirement with various standard options and determine that injection molding should not be listed as an available process or should otherwise be indicated as incompatible with specified user options. In some embodiments, an option deemed incompatible by comparison module 230 may still be selectable by a user, although selection of such an incompatible option may cause the comparison module to display one or more warnings, produce one or more audible warning sounds, and/or display a prompt asking the user to confirm whether they wish to proceed with a likely incompatible option. Enabling users to override compatibility options can enable users to order parts that are manufactured using materials or processes that may be automatedly determined to be compatible when, in fact, the user may know that the materials or processes are not incompatible at least for the purposes of their particular design. Additionally or alternatively, part of the user inputs can be special conditions or requirements that will in turn constrain or enlarge eligible options. For example, a user input could include “required temperature tolerance of 1,000 degrees Centigrade,” which may cause comparison module 230 to eliminate standard injection molding as a process option and, for example, ABS as a material option on the user interface.
The above-described functionality will now be further explored with reference to
With reference to
With reference to
In some embodiments, the user can select amongst materials to drive the elimination of particular processes. That is, in the embodiments above aspects of the present disclosure have been described with reference to user selections of particular processes (
The table in
In operation, the comparison module 230 may compare these minimums and maximums for given combinations of process and material with the specifications of the designed 3D computer model as indicated by Interrogator 220. For example, if the 3D computer model calls for the manufactured product to have a wall thickness of 1.0 inches, the laser cutting and chemical etching processes as used on aluminum would be eliminated from consideration at step 120 of
It is to be noted that any one or more of the aspects and embodiments described herein may be conveniently implemented using one or more machines (e.g., one or more computing devices that are utilized as a user computing device for an electronic document, one or more server devices, such as a document server, etc.) programmed according to the teachings of the present specification, as will be apparent to those of ordinary skill in the computer art. Appropriate software coding can readily be prepared by skilled programmers based on the teachings of the present disclosure, as will be apparent to those of ordinary skill in the software art. Aspects and implementations discussed above employing software and/or software modules may also include appropriate hardware for assisting in the implementation of the machine executable instructions of the software and/or software module.
Such software may be a computer program product that employs a machine-readable storage medium. A machine-readable storage medium may be any medium that is capable of storing and/or encoding a sequence of instructions for execution by a machine (e.g., a computing device) and that causes the machine to perform any one of the methodologies and/or embodiments described herein. Examples of a machine-readable storage medium include, but are not limited to, a magnetic disk, an optical disc (e.g., CD, CD-R, DVD, DVD-R, etc.), a magneto-optical disk, a read-only memory “ROM” device, a random access memory “RAM” device, a magnetic card, an optical card, a solid-state memory device, an EPROM, an EEPROM, and any combinations thereof. A machine-readable medium, as used herein, is intended to include a single medium as well as a collection of physically separate media, such as, for example, a collection of compact discs or one or more hard disk drives in combination with a computer memory. As used herein, a machine-readable storage medium does not include transitory forms of signal transmission.
Such software may also include information (e.g., data) carried as a data signal on a data carrier, such as a carrier wave. For example, machine-executable information may be included as a data-carrying signal embodied in a data carrier in which the signal encodes a sequence of instruction, or portion thereof, for execution by a machine (e.g., a computing device) and any related information (e.g., data structures and data) that causes the machine to perform any one of the methodologies and/or embodiments described herein.
Examples of a computing device include, but are not limited to, an electronic book reading device, a computer workstation, a terminal computer, a server computer, a handheld device (e.g., a tablet computer, a smartphone, etc.), a web appliance, a network router, a network switch, a network bridge, any machine capable of executing a sequence of instructions that specify an action to be taken by that machine, and any combinations thereof. In one example, a computing device may include and/or be included in a kiosk.
Memory 808 may include various components (e.g., machine readable media) including, but not limited to, a random access memory component, a read only component, and any combinations thereof. In one example, a basic input/output system 816 (BIOS), including basic routines that help to transfer information between elements within computer system 800, such as during start-up, may be stored in memory 808. Memory 808 may also include (e.g., stored on one or more machine-readable media) instructions (e.g., software) 820 embodying any one or more of the aspects and/or methodologies of the present disclosure. In another example, memory 808 may further include any number of program modules including, but not limited to, an operating system, one or more application programs, other program modules, program data, and any combinations thereof.
Computer system 800 may also include a storage device 824. Examples of a storage device (e.g., storage device 824) include, but are not limited to, a hard disk drive, a magnetic disk drive, an optical disc drive in combination with an optical medium, a solid-state memory device, and any combinations thereof. Storage device 824 may be connected to bus 812 by an appropriate interface (not shown). Example interfaces include, but are not limited to, SCSI, advanced technology attachment (ATA), serial ATA, universal serial bus (USB), IEEE 1394 (FIREWIRE), and any combinations thereof. In one example, storage device 824 (or one or more components thereof) may be removably interfaced with computer system 800 (e.g., via an external port connector (not shown)). Particularly, storage device 824 and an associated machine-readable medium 828 may provide nonvolatile and/or volatile storage of machine-readable instructions, data structures, program modules, and/or other data for computer system 800. In one example, software 820 may reside, completely or partially, within machine-readable medium 828. In another example, software 820 may reside, completely or partially, within processor 804.
Computer system 800 may also include an input device 832. In one example, a user of computer system 800 may enter commands and/or other information into computer system 800 via input device 832. Examples of an input device 832 include, but are not limited to, an alpha-numeric input device (e.g., a keyboard), a pointing device, a joystick, a gamepad, an audio input device (e.g., a microphone, a voice response system, etc.), a cursor control device (e.g., a mouse), a touchpad, an optical scanner, a video capture device (e.g., a still camera, a video camera), a touchscreen, and any combinations thereof. Input device 832 may be interfaced to bus 812 via any of a variety of interfaces (not shown) including, but not limited to, a serial interface, a parallel interface, a game port, a USB interface, a FIREWIRE interface, a direct interface to bus 812, and any combinations thereof. Input device 832 may include a touch screen interface that may be a part of or separate from display 836, discussed further below. Input device 832 may be utilized as a user selection device for selecting one or more graphical representations in a graphical interface as described above.
A user may also input commands and/or other information to computer system 800 via storage device 824 (e.g., a removable disk drive, a flash drive, etc.) and/or network interface device 840. A network interface device, such as network interface device 840, may be utilized for connecting computer system 800 to one or more of a variety of networks, such as network 844, and one or more remote devices 848 connected thereto. Examples of a network interface device include, but are not limited to, a network interface card (e.g., a mobile network interface card, a LAN card), a modem, and any combination thereof. Examples of a network include, but are not limited to, a wide area network (e.g., the Internet, an enterprise network), a local area network (e.g., a network associated with an office, a building, a campus or other relatively small geographic space), a telephone network, a data network associated with a telephone/voice provider (e.g., a mobile communications provider data and/or voice network), a direct connection between two computing devices, and any combinations thereof. A network, such as network 844, may employ a wired and/or a wireless mode of communication. In general, any network topology may be used. Information (e.g., data, software 820, etc.) may be communicated to and/or from computer system 800 via network interface device 840.
Computer system 800 may further include a video display adapter 852 for communicating a displayable image to a display device, such as display device 836. Examples of a display device include, but are not limited to, a liquid crystal display (LCD), a cathode ray tube (CRT), a plasma display, a light emitting diode (LED) display, and any combinations thereof. Display adapter 852 and display device 836 may be utilized in combination with processor 804 to provide graphical representations of aspects of the present disclosure. In addition to a display device, computer system 800 may include one or more other peripheral output devices including, but not limited to, an audio speaker, a printer, and any combinations thereof. Such peripheral output devices may be connected to bus 812 via a peripheral interface 856. Examples of a peripheral interface include, but are not limited to, a serial port, a USB connection, a FIREWIRE connection, a parallel connection, and any combinations thereof.
In operation, the database 240 can be stored on a storage device associated with the computer of
The foregoing has been a detailed description of illustrative embodiments. Various modifications and additions can be made without departing from the spirit and scope of this disclosure. For example, the screen views of aspects of the present disclosure could be for an entire screen (such as shown in
Features of each of the various embodiments described above may be combined with features of other described embodiments as appropriate in order to provide a multiplicity of feature combinations in associated new embodiments. Furthermore, while the foregoing describes a number of separate embodiments, what has been described herein is merely illustrative of the application of the principles of the present invention. Additionally, although particular methods herein may be illustrated and/or described as being performed in a specific order, the ordering is highly variable within ordinary skill to achieve methods, systems, and software according to the present disclosure. Accordingly, this description is meant to be taken only by way of example, and not to otherwise limit the scope of this invention.
This application claims the benefit of priority of U.S. Provisional Patent Application Ser. No. 62/073,441, filed on Oct. 31, 2014, and titled “PRODUCT VARIABLE OPTIMIZATION FOR MANUFACTURE OR SUPPLY OF DESIGNED PRODUCTS,” which is incorporated by reference herein in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
4495559 | Gelatt, Jr. et al. | Jan 1985 | A |
5117354 | Long et al. | May 1992 | A |
5465221 | Merat et al. | Nov 1995 | A |
5495430 | Matsunari et al. | Feb 1996 | A |
5552995 | Sebastian | Sep 1996 | A |
5570291 | Dudle et al. | Oct 1996 | A |
5655087 | Hino et al. | Aug 1997 | A |
5758328 | Giovannoli | May 1998 | A |
5847971 | Ladner et al. | Dec 1998 | A |
5870719 | Maritzen et al. | Feb 1999 | A |
5937189 | Branson et al. | Aug 1999 | A |
6031535 | Barton | Feb 2000 | A |
6112133 | Fishman | Aug 2000 | A |
6295513 | Thackston | Sep 2001 | B1 |
6341271 | Salvo et al. | Jan 2002 | B1 |
6343285 | Tanaka et al. | Jan 2002 | B1 |
6611725 | Harrison | Aug 2003 | B1 |
6647373 | Carlton-Foss | Nov 2003 | B1 |
6701200 | Lukis et al. | Mar 2004 | B1 |
6750864 | Anwar | Jun 2004 | B1 |
6834312 | Edwards et al. | Dec 2004 | B2 |
6836699 | Lukis et al. | Dec 2004 | B2 |
6859768 | Wakelam et al. | Feb 2005 | B1 |
6922701 | Ananian et al. | Jun 2005 | B1 |
6917847 | Littlejohn et al. | Jul 2005 | B2 |
7006084 | Buss et al. | Feb 2006 | B1 |
7058465 | Emori et al. | Jun 2006 | B2 |
7079990 | Haller et al. | Jul 2006 | B2 |
7085687 | Eckenwiler et al. | Aug 2006 | B2 |
7089082 | Lukis et al. | Aug 2006 | B1 |
7123986 | Lukis et al. | Oct 2006 | B2 |
7134096 | Brathwaite et al. | Nov 2006 | B2 |
7299101 | Lukis et al. | Nov 2007 | B2 |
7305367 | Hollis et al. | Dec 2007 | B1 |
7327869 | Boyer | Feb 2008 | B2 |
7343212 | Brearley et al. | Mar 2008 | B1 |
7359886 | Sakurai et al. | Apr 2008 | B2 |
7366643 | Verdura et al. | Apr 2008 | B2 |
7369970 | Shimizu et al. | May 2008 | B2 |
7418307 | Katircioglu | Aug 2008 | B2 |
7467074 | Faruque et al. | Dec 2008 | B2 |
7496487 | Wakelam et al. | Feb 2009 | B2 |
7496528 | Lukis et al. | Feb 2009 | B2 |
7499871 | McBrayer et al. | Mar 2009 | B1 |
7523411 | Carlin | Apr 2009 | B2 |
7526358 | Kawano et al. | Apr 2009 | B2 |
7529650 | Wakelam et al. | May 2009 | B2 |
7565139 | Neven, Sr. et al. | Jul 2009 | B2 |
7565223 | Moldenhauer et al. | Jul 2009 | B2 |
7567849 | Trammell et al. | Jul 2009 | B1 |
7568155 | Axe et al. | Jul 2009 | B1 |
7571166 | Davies et al. | Aug 2009 | B1 |
7574339 | Lukis et al. | Aug 2009 | B2 |
7590466 | Lukis et al. | Sep 2009 | B2 |
7590565 | Ward et al. | Sep 2009 | B2 |
7603191 | Gross | Oct 2009 | B2 |
7606628 | Azuma | Oct 2009 | B2 |
7630783 | Walls-Manning et al. | Dec 2009 | B2 |
7656402 | Abraham et al. | Feb 2010 | B2 |
7689936 | Rosel | Mar 2010 | B2 |
7733339 | Laning et al. | Jun 2010 | B2 |
7747469 | Hinman | Jun 2010 | B2 |
7748622 | Schon et al. | Jul 2010 | B2 |
7761319 | Gil et al. | Jul 2010 | B2 |
7822682 | Arnold et al. | Oct 2010 | B2 |
7836573 | Lukis et al. | Nov 2010 | B2 |
7840443 | Lukis et al. | Nov 2010 | B2 |
7908200 | Scott et al. | Mar 2011 | B2 |
7957830 | Lukis et al. | Jun 2011 | B2 |
7979313 | Baar | Jul 2011 | B1 |
7993140 | Sakezles | Aug 2011 | B2 |
8000987 | Hickey et al. | Aug 2011 | B2 |
8024207 | Ouimet | Sep 2011 | B2 |
8140401 | Lukis et al. | Mar 2012 | B2 |
8170946 | Blair et al. | May 2012 | B2 |
8175933 | Cook, Jr. et al. | May 2012 | B2 |
8180396 | Athsani et al. | May 2012 | B2 |
8209327 | Danish et al. | Jun 2012 | B2 |
8239284 | Lukis et al. | Aug 2012 | B2 |
8249329 | Silver | Aug 2012 | B2 |
8271118 | Pietsch et al. | Sep 2012 | B2 |
8275583 | Devarajan et al. | Sep 2012 | B2 |
8295971 | Krantz | Oct 2012 | B2 |
8417478 | Gintis et al. | Apr 2013 | B2 |
8441502 | Reghetti et al. | May 2013 | B2 |
8515820 | Lopez et al. | Aug 2013 | B2 |
8554250 | Linaker | Oct 2013 | B2 |
8571298 | McQueen et al. | Oct 2013 | B2 |
8595171 | Qu | Nov 2013 | B2 |
8700185 | Yucel et al. | Apr 2014 | B2 |
8706607 | Sheth et al. | Apr 2014 | B2 |
8768651 | Bhaskaran et al. | Jul 2014 | B2 |
8798324 | Conradt | Aug 2014 | B2 |
8806398 | Brathwaite et al. | Aug 2014 | B2 |
8830267 | Brackney | Sep 2014 | B2 |
8849636 | Becker et al. | Sep 2014 | B2 |
8861005 | Grosz | Oct 2014 | B2 |
8874413 | Mulligan et al. | Oct 2014 | B2 |
8923650 | Wexler | Dec 2014 | B2 |
8977558 | Nielsen et al. | Mar 2015 | B2 |
9037692 | Ferris | May 2015 | B2 |
9055120 | Firman | Jun 2015 | B1 |
9106764 | Chan et al. | Aug 2015 | B2 |
20010023418 | Suzuki et al. | Sep 2001 | A1 |
20010047251 | Kemp | Nov 2001 | A1 |
20020065790 | Oouchi | May 2002 | A1 |
20020087440 | Blair et al. | Jul 2002 | A1 |
20020099579 | Stowell et al. | Jul 2002 | A1 |
20020107673 | Haller et al. | Aug 2002 | A1 |
20020152133 | King et al. | Oct 2002 | A1 |
20030018490 | Magers et al. | Jan 2003 | A1 |
20030069824 | Menninger | Apr 2003 | A1 |
20030078846 | Burk et al. | Apr 2003 | A1 |
20030139995 | Farley | Jul 2003 | A1 |
20030149500 | Faruque et al. | Aug 2003 | A1 |
20030163212 | Smith et al. | Aug 2003 | A1 |
20030172008 | Hage et al. | Sep 2003 | A1 |
20030212610 | Duffy et al. | Nov 2003 | A1 |
20030220911 | Tompras et al. | Nov 2003 | A1 |
20040008876 | Lure et al. | Jan 2004 | A1 |
20040113945 | Park et al. | Jun 2004 | A1 |
20040186759 | Fukui | Sep 2004 | A1 |
20040195224 | Kanodia et al. | Oct 2004 | A1 |
20050055299 | Chambers et al. | Mar 2005 | A1 |
20050125092 | Lukis et al. | Jun 2005 | A1 |
20050144033 | Vreeke et al. | Jun 2005 | A1 |
20050171790 | Blackmon | Aug 2005 | A1 |
20050251478 | Yanavi | Nov 2005 | A1 |
20050273401 | Yeh et al. | Dec 2005 | A1 |
20060085322 | Crookshanks | Apr 2006 | A1 |
20060185275 | Yatt | Aug 2006 | A1 |
20060253214 | Gross | Nov 2006 | A1 |
20070016437 | Elmufdi et al. | Jan 2007 | A1 |
20070067146 | Devarajan et al. | Mar 2007 | A1 |
20070073593 | Perry et al. | May 2007 | A1 |
20070112635 | Loncaric | May 2007 | A1 |
20070198231 | Walch | Aug 2007 | A1 |
20080120086 | Lilley et al. | May 2008 | A1 |
20080183614 | Gujral et al. | Jul 2008 | A1 |
20080269942 | Free | Oct 2008 | A1 |
20080281678 | Keuls et al. | Nov 2008 | A1 |
20090058860 | Fong et al. | Mar 2009 | A1 |
20090208773 | DuPont | Aug 2009 | A1 |
20090299799 | Racho et al. | Dec 2009 | A1 |
20090319388 | Yuan et al. | Dec 2009 | A1 |
20110040542 | Sendhoff et al. | Feb 2011 | A1 |
20110047140 | Free | Feb 2011 | A1 |
20110209081 | Chen et al. | Aug 2011 | A1 |
20110213757 | Bhaskaran et al. | Sep 2011 | A1 |
20120016678 | Gruber et al. | Jan 2012 | A1 |
20120072299 | Sampsell | Mar 2012 | A1 |
20120124492 | Taron | May 2012 | A1 |
20120230548 | Calman et al. | Sep 2012 | A1 |
20120316667 | Hartloff | Dec 2012 | A1 |
20130055126 | Jackson | Feb 2013 | A1 |
20130097259 | Li | Apr 2013 | A1 |
20130100128 | Steedly et al. | Apr 2013 | A1 |
20130138529 | Hou | May 2013 | A1 |
20130144566 | De Biswas | Jun 2013 | A1 |
20130166470 | Grala et al. | Jun 2013 | A1 |
20130218961 | Ho | Aug 2013 | A1 |
20130293580 | Spivack | Nov 2013 | A1 |
20130297320 | Buser | Nov 2013 | A1 |
20130297460 | Spivack | Nov 2013 | A1 |
20130311914 | Daily | Nov 2013 | A1 |
20130325410 | Jung et al. | Dec 2013 | A1 |
20140042136 | Daniel et al. | Feb 2014 | A1 |
20140067333 | Rodney et al. | Mar 2014 | A1 |
20140075342 | Corlett | Mar 2014 | A1 |
20140098094 | Neumann et al. | Apr 2014 | A1 |
20140157579 | Chhabra et al. | Jun 2014 | A1 |
20140207605 | Allin et al. | Jul 2014 | A1 |
20140229316 | Brandon | Aug 2014 | A1 |
20140279177 | Stump | Sep 2014 | A1 |
20140379119 | Sciacchitano et al. | Dec 2014 | A1 |
20150055085 | Fonte et al. | Feb 2015 | A1 |
20150066189 | Mulligan et al. | Mar 2015 | A1 |
20150127480 | Herrman et al. | May 2015 | A1 |
20150234377 | Mizikovsky | Aug 2015 | A1 |
Number | Date | Country |
---|---|---|
154476 | Aug 2001 | WO |
171626 | Sep 2001 | WO |
2001077781 | Oct 2001 | WO |
2006086332 | Aug 2006 | WO |
2007067248 | Jun 2007 | WO |
2011139630 | Nov 2011 | WO |
2011140646 | Nov 2011 | WO |
2013058764 | Apr 2013 | WO |
2014152396 | Sep 2014 | WO |
Entry |
---|
Defining Lead Time for APS Planning; http://t3.apptrix.com/syteline/Language/en-US/Other/Process/Defining_Lead_Time.htm. |
“Quartiles.” Mathisfun.com. Web. <https://www.mathsisfun.com/data/quartiles.html>. Archive. <https://web.archive.org/web/20100909011751/http://www.mathsisfun.com/data/quartiles.html>. |
Wu et al. Interactive 3D Geometric Modelers with 2D UI, 2002, State University of Campinas, www.dca.fee.unicamp.br, Sao Paulo, Brazil; 2002, 8 pages. |
“Upload Your Photos, Print a 3D Model with hypr3D.” SolidSmack. http://www.solidsmack.com/cad-design-news/hypr3d-photo-video-3d-print/; last accessed on Oct. 13, 2015. |
“123D Catch.” Autodesk. http://apps.123dapp.com/catch/. |
Rothganger et al. “3D Object Modeling and Recognition from Photographs and Image Sequences.” Toward Category-Level Object Recognition. 2006, pp. 105-126, vol. 4170 of the series Lecture Notes in Computer Science. Springer Berlin Heidelberg. |
Dealer Information Systems Corporation. “Parts Inventory.” http://dis-corp.com/content/agriculture/inventory/parts-inventory. |
EMachineShop. “Emachineshop Features.” http://www.emachineshop.com/machine-shop/Features/page518.html. |
Retrieved from:http://www.solidworks.com/sw/products/3d-cad/manufacturing-cost-estimation-quoting.htm p. 1: Automatic Manufacturing Cost Estimation Overview; Solidworks; 2015. |
Retrieved from: http://www.gom.com/fileadmin/user_upload/industries/touch_probe_fixtures_EN.pdf; Application Example: Quality Control, Online Calibration and Validation of Fixtures, Jigs and Gauges. GOM mbH, 2008. |
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.194.7785&rep=rep1&type=pdf Kim, Jin Baek, and Arie Segev. “A web services-enabled marketplace architecture for negotiation process management.” Decision Support Systems 40.1 (2005): 71-87. |
Jaiswal, Ashutosh et al., “Design and Implementation of a Secure Multi-Agent Marketplace”, Elsevier Science, pp. 1-23, Jun. 3, 2004; http://magnet.cs.umn.edu/papers/Jaiswal04cera.pdf. |
http://www.computer.org/csdl/proceedings/hicss/2005/2268/01/22680038.pdf Bui, Tung, and Alexandre Gachet. “Web services for negotiation and bargaining in electronic markets: Design requirements and implementation framework.” System Sciences, 2005. HICSS'05. |
http://www.bridgelinedigital.com/File%20Library/Repository/eCommerce/Sample-eCommerce-RFP-Template_Bridgeline-Digital.pdf. Sample RFP Template: Ecommerce Platform, Bridgeline Digital, 2014. |
Matchbook, Tealbook, http://www.matchbookinc.com/ Sep. 28, 2015. |
3Diligent, Source Smarter, http://www.3diligent.com/customer.html; Sep. 28, 2015. |
Dassault Systemes, Brochure, Mar. 24, 2010: New Features Type3ToCatia http://www.type3.us/content/download/2202/405535/file/New%20Feature_Type3ToCatia_2010_US%20old.pdf. |
Xue, S., X. Y. Kou, and S. T. Tan. “Natural voice-enabled CAD: modeling via natural discourse.” Computer-Aided Design and Applications 6.1 (2009): 125-136. |
Kou, X. Y., S. K. Xue, and S. T. Tan. “Knowledge-guided inference for voice-enabled CAD.” Computer-Aided Design 42.6 (2010): 545-557. |
Sharma, Anirudh, et al. “MozArt: a multimodal interface for conceptual 3D modeling.” Proceedings of the 13th international conference on multimodal interfaces. ACM, 2011. |
Sorpas (“User Manual,”, Swanted Software and Engineering Aps, 2011 (120 pages)). |
U.S. Appl. No. 14/267,447, Aug. 5, 2015, Office Action. |
U.S. Appl. No. 14/197,922, Nov. 26, 2014, Office Action. |
U.S. Appl. No. 14/197,922, Apr. 27, 2015, Response to Office Action. |
U.S. Appl. No. 14/197,922, May 15, 2015, Office Action. |
U.S. Appl. No. 14/267,447, Jun. 18, 2015, Response to Office Action. |
U.S. Appl. No. 14/263,665, Oct. 8, 2015, Office Action. |
U.S. Appl. No. 14/053,222, Jan. 29, 2016, Office Action. |
U.S. Appl. No. 14/311,943, Apr. 27, 2016, Office Action. |
U.S. Appl. No. 14/486,550, May 26, 2016, Office Action. |
U.S. Appl. No. 14/060,033, Jun. 15, 2016, Office Action. |
U.S. Appl. No. 14/172,462, Jul. 6, 2016, Office Action. |
U.S. Appl. No. 14/053,222, Jul. 29, 2016, Response to Office Action. |
U.S. Appl. No. 14/185,204, Jul. 29, 2016, Office Action. |
U.S. Appl. No. 14/062,947, Sep. 16, 2016, Office Action. |
U.S. Appl. No. 14/060,033, filed Oct. 22, 2013. |
U.S. Appl. No. 14/053,222, filed Oct. 14, 2013. |
U.S. Appl. No. 14/172,462, filed Oct. 16, 2013. |
U.S. Appl. No. 14/062,947, filed Oct. 25, 2013. |
U.S. Appl. No. 14/172,404, filed Feb. 4, 2014. |
U.S. Appl. No. 14/303,372, filed Jun. 12, 2014. |
U.S. Appl. No. 14/185,204, filed Feb. 20, 2014. |
U.S. Appl. No. 14/195,391, filed Mar. 3, 2014. |
U.S. Appl. No. 14/246,254, filed Apr. 7, 2014. |
U.S. Appl. No. 14/229,008, filed Mar. 28, 2014. |
U.S. Appl. No. 14/197,922, filed Mar. 5, 2014. |
U.S. Appl. No. 14/263,665, filed Apr. 28, 2014. |
U.S. Appl. No. 14/267,447, filed May 1, 2014. |
U.S. Appl. No. 14/311,943, filed Jun. 23, 2014. |
Number | Date | Country | |
---|---|---|---|
62073441 | Oct 2014 | US |