Placement and pricing of part marks in computer-modeled structures

Information

  • Patent Grant
  • 11537765
  • Patent Number
    11,537,765
  • Date Filed
    Thursday, February 20, 2014
    10 years ago
  • Date Issued
    Tuesday, December 27, 2022
    a year ago
Abstract
Systems, methods, and software for placing, customizing, and pricing part marks for use in one or more part designs that are represented in a computer model. Placement may be performed as a function of particular locations of part designs. Users may customize part marks by determining particular attributes thereof, such as textual content, font, and/or manufacturing method, among others. A user may manipulate a graphical user interface in order to determine various attributes that further define part mark. Pricing may be performed as a function of user-determined attributes and/or data from one or more pricing catalogs.
Description
FIELD OF THE INVENTION

The present invention generally relates to the field of computer-aided design. In particular, the present invention is directed to placement and pricing of part marks in computer-modeled structures.


BACKGROUND

Computer-aided design (CAD) software enables designers to place markings on manufactured parts or assemblies (i.e., structures) represented by computer models. Markings may contain information such as part number, revision, part approval information, font type, font size, label size, or label type. Traditionally, markings were specified in the form of symbols or notes placed in dedicated areas of a 2D design document, such as a blueprint, specifying in detail the correct text and writing process. Deciphering these specialized symbols or notes and then correctly locating and applying the part markings add significant time and expense to the manufacturing process. Currently, CAD programs allow designers to create markings using images of text or graphics. However, CAD programs do not specifically identify or embed these images of part markings and the associated data as part of the CAD model structure. Therefore there is no way to extract part markings from the CAD model, without manual intervention, so that they can be analyzed by and included in the instant electronic pricing of the CAD model.


SUMMARY OF THE DISCLOSURE

In an implementation, the present disclosure is directed to a method of marking a part in a computer aided design (CAD) program operable on a computer system, the part having information associated therewith, the method being executed using a part-marking software tool that allows a user to provide a part with a mark at a selected location and including receiving a first command from the user, wherein the first command identifies a first location on the part that should receive the mark; receiving a second command from the user, wherein the second command dictates at least one attribute of the mark; and modifying information associated with the part to include the first location of the part and the at least one attribute of the mark.





BRIEF DESCRIPTION OF THE 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:



FIG. 1 is a block diagram illustrating an exemplary system for placing, customizing, and pricing a part mark design on a computer model;



FIG. 2 is a flow diagram of a method for incorporating part marking, machine operations, and associated prices into a CAD file;



FIG. 3 is a representational screenshot of a part mark interface for allowing a user to determine various attributes of a part mark design and for displaying one or more prices associated with one or more part mark design attributes to a user;



FIG. 4 is a table of part mark pricing input data that may be included in a pricing database according to an embodiment of the invention;



FIG. 5 is a flow diagram of a method for calculating the cost of a part mark and associated manufacturing methods; and



FIG. 6 is a block diagram of a computing system that can be used to implement any one or more of the methodologies disclosed herein or any portion(s) thereof.





DETAILED DESCRIPTION

Aspects of the present invention include systems, methods, and software for placing, customizing, and pricing part marks for use in one or more part designs that are represented in a computer model. Placement may be performed as a function of particular locations of part designs. Users may customize part marks by determining particular attributes thereof, such as textual content, font, and/or manufacturing method, among others. A user may manipulate a graphical user interface (GUI) in order to determine various attributes that further define part mark. Pricing may be performed as a function of user-determined attributes and/or data from one or more pricing algorithms. A part design may be an object or part with a particular geometry, while a computer model may be a virtual representation of a part design and may be created using one or more appropriate CAD programs. Examples of a part design include a piece of sheet metal, a solid cube, a cylindrical pipe, and an assembly of various parts such as a vehicle, among others.



FIG. 1 illustrates an exemplary part marking and pricing system 100 made in accordance with the present invention. In this example, part marking and pricing system 100 may be used for placing, customizing, and pricing a part mark design on a computer model. In the embodiment shown, part marking and pricing system 100 includes a pricing database 104 of standard part marking methods, such as laser etching, computer numerical control (CNC) machining, and/or stenciling, among others. Pricing database 104 may contain data usable for pricing a part mark and may be stored locally or remotely relative to other elements of system 100. For example, pricing database 104 may be stored on a server, a hard drive, a CD, a flash drive, in cloud storage, or in any other type of storage accessible by software 108 of system 100.


In this embodiment, software 108 is a virtual software platform for running various programs and algorithms that may be included in part marking system 100. One example of software 108 that may be included in part marking system 100 is CAD program 112. CAD program 112 enables a user to design virtual three-dimensional (3D) models and may take the form of any suitable CAD program, for example, the SOLIDWORKS® program, AUTOCAD®, Creo™, etc. CAD program 112 may be stored and/or executed from, for example, a hard drive or server operating internally or externally to a user's computer. CAD program 112 may produce a design document 116, which may contain a record of one or more attributes and one or more prices associated with a part mark. Design document 116 may be, for example, a CAD file including information about the CAD design and any part mark(s) added using one or more of the various methods described herein.


CAD GUI 120 provides a software user interface allowing interaction between a user and CAD program 112, and may include, for example, a display of a computer model, a part mark, options, and/or toolsets, among others. CAD GUI 120 may include a part mark GUI initiation button 120A that a user may select to cause initiation of part mark functionality. CAD GUI 120 may implement GUI initiation button 120A in the form of, for example, a soft-selection button. CAD GUI 120 may further include a CAD model 120B. CAD model 120B may be a 3D model designed within CAD program 112 or another CAD application. CAD Model 120B may also include all part marks and other information normally contained within design document 116, and may be used in place of the design document. Still further, CAD GUI 120 may include a cursor 120C or other user-controllable virtual representation, which may be controlled a user through, for example, a mouse or other pointing device. Cursor 120C allows a user to interact with CAD GUI 120 in order to select features, locations, and/or buttons, among other aspects of CAD GUI 120. CAD GUI 120 may also include a part mark 120D. Part mark 120D may be a virtual representation of a part mark (a label reading “PN 1234 Rev B” in this example) on CAD model 120B and may be, for example, a form of identification such as a company name, a part number, a batch number, a barcode, or a matrix barcode, among others, as determined by a user through the use of a part mark GUI 124.


CAD program 112 may include part mark GUI 124, which may allow a user to determine various attributes associated with part mark 120D (such as the textual content, font, and/or manufacturing method) and/or may display a price based on part mark attributes. Part mark GUI 124 may be implemented in the form of, for example, a pop-up window, a series of text entry fields, drop-down menus, radio buttons, check boxes, or any other suitable interface for allowing a user to determine attributes of part marks and/or displaying prices based on part mark attributes. Part mark GUI 124 may interact with data storage 128 in order to store attributes associated with part mark 120D.


Part marking and pricing system 100 may include data storage 128 in the form of a database or other suitable data structure capable of storing information associated with CAD model 120B, part mark 120D, attributes determined using part mark GUI 124, and/or one or more prices associated with one or more part mark 120D. Data storage 128 may be stored locally or remotely relative to other elements of system 100. For example, data storage 128 may be stored on a server, a hard drive, a CD, a flash drive, in cloud storage, or in any other type of storage accessible by software 108 of system 100. Data storage 128 may comprise basic data 128A, which may include essential data of CAD model 120B such as, for example, geometrical and/or dimensional data, XYZ coordinates, orientation data, and/or material type, among others. Data storage 128 may further comprise location data 128B, which may specify selected location(s) of one or more part mark 120D and may correspond to or be implemented in the form of, for example, one or more XYZ coordinate(s) within CAD model 120B. Data storage 128 may further include selected attribute data 128C, which may specify attributes selected by a user within part mark GUI 124 and may include, for example, textual content, font, and/or quantity of parts, among others, or may include a picture of the part mark in any standard digital image format, such as jpeg or pdf, among others. Data storage 128 may also include resultant price data 128D. Resultant price data 128D may correspond to a price calculated by a pricing algorithm 132 as a function of one or more of pricing database 104 and selected attribute data 128C. CAD program may include pricing algorithm 132. Pricing algorithm 132 may use inputs from pricing database 104 and selected attribute data 128C to generate resultant price data 128D.


In order to provide communication links between the various components of system 100, the system may provide a number of data links in one or more of various forms, such as an Internet connection, a local network connection, or any other suitable connection for providing communication between the various components of system 100. For example, system 100 may provide a basic data link A 136 between CAD GUI 120 and data storage 128 in order to enable communication of at least basic data 128A. System 100 may also provide an attribute data link B 140 between part mark GUI 124 and data storage 128 in order to enable communication of at least selected attribute data 128C. Additionally, system 100 may provide an input data link C 144 between pricing database 104 and software 108 such that pricing algorithm 132 may interact with and draw data from pricing database 104. System 100 may also provide a pricing data link D 148 between pricing algorithm 132 and data storage 128 in order to enable communication of at least resultant price data 128D.


With reference to FIG. 2 and continued reference to FIG. 1, a method 200 by which a user may operate system 100 to incorporate part marking, machine operations, and associated prices into a CAD file will now be described. At step 205, a CAD model, such as CAD model 120B, may be provided within a CAD GUI, such as CAD GUI 120. For example, a user may design computer model 120B using CAD program 112 or import computer model 120B from basic data 128A within data storage 128 via data link A 136. Computer model 120B may represent, for example, a sheet metal structure. At step 210, software 108 may receive a location of part mark 120D through user input such as, for example, cursor 120C manipulation/clicking relative to computer model 120B. Software 108 may receive a location of part mark 120D from a user through, for example, user interaction with CAD GUI 120.


At step 215, system 100 may store the location of part mark 120D as location data 128B and the geometrical data associated with computer model 120B as basic data 128A, both within data storage 128, via basic data link A 136. At step 220, a user may select part mark GUI initiation button 120A within CAD GUI 120, which may cause system 100 to display part mark GUI 124. At step 225, system 100 may receive attribute specifications from a user that further define part mark 120D via user interaction with part mark GUI 124. At step 230, system 100 may store attribute specifications as selected attribute data 128C within data storage 128 via attribute data link B 140. At step 235, optionally pricing algorithm 132 may calculate a part mark price as a function of selected attribute data 128C and/or input data within pricing database 104.


At step 240, optionally system 100 may display a calculated part mark price within part mark GUI 124 as a function of resultant price data 128D within data storage 128 and communicated via attribute data link B 140. At step 245, optionally system 100 may save or send design document 116 to a hard drive or server operating internally or externally to a user's computer. Design document 116 may contain, for example, a final CAD file containing basic data 128A of a computer model 120B, location data 128B of a part mark 120D, selected attribute data 128C, and resultant price data 128D; in the alternative, CAD Model 120B may contain all necessary data and be saved or sent in lieu of design document 116 It is particularly emphasized that the order of performance of the foregoing steps of method 200 need not be as shown. Rather, they may be implemented in any logical order that results in an appropriate generation of design document 116.



FIG. 3 illustrates an exemplary part mark GUI 300. Part mark GUI 300 may include a text entry field 304, which may enable a user to input textual content of part mark 120D. Textual content may be, for example, a word or series of words, part names or numbers, or any other text a user wishes to associate with part mark 120D (a label reading “PN 1324 Rev B” in this example). Though not explicitly shown in FIG. 3, in addition to text entry field 304, part mark GUI 300 may further include functionality, such as a button or text entry field, to enable a user to import and optionally crop or otherwise select particular features within graphical files and/or other CAD files, at least a portion of which a user desires to use as at least a portion of a part mark. Part mark GUI 300 may further include a part marking process input 308, such as a drop-down menu, allowing a user to choose one or more particular manufacturing methods that should or could be used to manufacture part mark 120D and associated text entered through text entry field 304. Part marking process input 308 may provide, for example, a choice between various manufacturing methods, such as laser etching, machining, and/or stenciling, among others. In one embodiment, pricing algorithm 132 may calculate resultant price data 128D using information provided by a user through part marking process input 308.


Part mark GUI 300 may further include a font input 312, such as a drop-down menu or text entry field, allowing a user to choose a particular font/style to apply to text entered through text entry field 304 when system 100 applies part mark 120D to computer model 120B and/or when manufacturing/fabricating part mark 120D. Users may select and/or specify font inputs or selection options through font input 312 such as any of various known fonts and/or styles; for example, a user may specify an italic or bold ARIAL® font through font input 312. Part mark GUI 300 may also include a font size input 316, such as a drop-down menu, text entry field, or slider, enabling a user to specify one or more particular font sizes to use for text entered through text entry field 304 when system 100 applies part mark 120D to computer model 120B and/or when manufacturing/fabricating part mark 120D. A user may specify size inputs or selection options through font size input 316 such as, for example, one or more particular font size(s) and/or a range of font sizes, such as 6, 8, 6-8, or 14 for one subset of characters of part mark 120D and 12 for a separate subset of characters of part mark 120D. If a user provides a range of font sizes through font size input 316, a manufacturer may fabricate part mark 120D using a gradient of font sizes (i.e., first character 6, second character 6.5, third character 7, fourth character 7.5, etc.) or using a single font size within the provided range and chosen at the discretion of the manufacturer.


Part mark GUI 300 may also include a quantity of parts input 320, such as a drop-down menu, text-entry field, or slider, enabling a user to input a desired number of parts to be manufactured, which may include a number of structures corresponding to computer model 120B to be manufactured and/or a number of part marks 120D to apply to to-be-fabricated or already-fabricated structures corresponding to computer model 120B. User inputs or selection options that may be specified through quantity of parts input 320 may include, for example, integers such as 1, 5, and/or 100, and, though not explicitly shown, part mark GUI 300 may provide separate inputs such that a user may specify different quantities of structures to manufacture and part marks 120D to apply. For example, a user may specify through part mark GUI 300 that a manufacturer should produce 250 parts and should apply part marks 120D to 150 of those 250 parts. In one embodiment, pricing algorithm 132 may calculate resultant price data 128D using information provided by a user through quantity of parts input 320. Part mark GUI 300 may additionally include a price display field 324, which system 100 may control to display a price associated with one or more attributes of a particular part or part mark 120D and/or one or more attributes selected in part mark GUI 300.


Part mark GUI 300 may provide a number of buttons implemented as, for example, soft-selection buttons, to enable a user to interact with part mark GUI 300. For example, a cancel button 328 may be provided to enable a user to close part mark GUI 300 when selected/clicked. In addition, selecting cancel button 328 may cause system 100 to delete or revert to previous values/states any selected attribute data 128C stored while utilizing a current instantiation of part mark GUI 300. Part mark GUI 300 may also include a calculate price button 332 to enable a user to cause system 100 to store attributes selected or otherwise specified within part mark GUI 300 within selected attribute data 128C and to update price display field 324. Part mark GUI 300 may additionally include a confirm button 336 enabling users to cause part mark GUI 300 to close without deleting or reverting selected attribute data 128C. Cursor 340 allows a user to interact with part mark GUI 300 to select menus, prompts, inputs, and/or buttons, among other aspects of part mark GUI 300.



FIG. 4 illustrates exemplary part mark pricing input data 400 that may be stored within pricing database 104 according to an embodiment of the invention. Part marking process column 404A of part mark pricing input data 400 may contain a number of various part marking manufacturing methods that part mark GUI 300 may present in association with part marking process input 308 in FIG. 3 such as, for example, laser etching, machining, and/or stenciling, among others. Engineering fee column 404B of part mark pricing input data 400 may contain one-time fees associated with various costs of preparing a particular part marking process 404A for a particular part mark 120D. For example, engineering fee column 404B may contain charges related to programming costs associated with stenciling or laser etching or the creation of a stencil when using stenciling, among others. Pricing algorithm 132 may use the contents of engineering fee column 404B in calculating resultant price data 128D of part mark 120D. Setup time column 404C of part mark pricing input data 400 may contain various estimated lengths of time a manufacturer would need to arrange for a part to be marked. Amounts of time in setup time column 404C may vary as a function of selected part marking process 404A and pricing algorithm 132 may utilize values in setup time column 404C in calculating resultant price data 128D of one or more part marks 120D.


Part mark pricing input data 400 may also include a run time column 404D, which may specify amounts of time estimated to be required for a manufacturer to fabricate part mark 120D using a corresponding associated part marking process 404A. Run time column 404D may specify, for example, an amount of time that varies as a function of selected part marking process 404A and pricing algorithm 132 may utilize values in run time column 404D in calculating resultant price data 128D of one or more part marks 120D. Part mark pricing input data 400 may additionally include a cost per hour column 404E containing actual or estimated hourly rates associated with one or both of corresponding values in setup time column 404C and/or run time column 404D. Cost per hour column 404E may contain costs that vary as a function of selected part marking process 404A, and pricing algorithm 132 may utilize values in cost per hour column 404E in calculating resultant price data 128D of one or more part marks 120D. Though part mark pricing input data has been described in terms of columns in a table in the context of FIG. 4, part mark pricing input data 400 may be stored within pricing database 104 in any suitable fashion using any suitable data type(s) that allows software 108 to interact with pricing database 104 to perform one or more of the various functions described herein.



FIG. 5 illustrates a pricing calculation method 500 that can implement method step 235 and/or pricing algorithm 132. At step 505, system 100 may retrieve selected attribute data 128C from within data storage 128 via pricing data link D 148. At step 510, system 100 may retrieve input data from within pricing database 104 via input data link C 144. At step 515, system 100 may calculate a part mark price as a function of one or more inputs, which may be provided by a user through, for example, part marking process input 308 and/or quantity of parts input 320, and/or provided by pricing database 104, such as engineering fee column 404B, setup time column 404C, run time column 404D, and/or cost per hour column 404E. According to an embodiment, calculation of part mark price may be accomplished using the following equation: total price=(engineering fee 404B)+(setup time 404C multiplied by cost per hour 404E)+(run time 404D multiplied by cost per hour 404E and further multiplied by user input provided through quantity of parts input 320). For example, in accordance with data provided in FIGS. 3 and 4 relative to laser etching, this equation would become: total price=($200)+(0.25 hours multiplied by 88 dollars per hour)+(0.008 hours multiplied by 88 dollars per hour multiplied by 5)=$225.52. At step 520, system 100 may save or send a calculated part mark price to a hard drive or server operating internally or externally to a user's computer and/or store a calculated part mark price as resultant part mark price 128D within data storage 128 via pricing data link D 148. It is particularly emphasized that the order of performance of the foregoing steps of method 500 need not be as shown. Rather, they may be implemented in any logical order that results in determining a part mark price.


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) 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 (e.g., a conventional floppy disk, a hard drive disk), an optical disk (e.g., a compact disk “CD”, such as a readable, writeable, and/or re-writable CD; a digital video disk “DVD”, such as a readable, writeable, and/or rewritable DVD), 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 (e.g., a flash memory), 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 disks or one or more hard disk drives in combination with a computer memory. As used herein, a machine-readable storage medium does not include a signal.


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 personal digital assistant “PDA”, a mobile telephone, 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.



FIG. 6 shows a diagrammatic representation of one embodiment of a computing device in the exemplary form of a computer system 600 within which a set of instructions for causing a control system, such as the compatible components system of FIG. 1, to perform any one or more of the aspects and/or methodologies of the present disclosure may be executed. It is also contemplated that multiple computing devices may be utilized to implement a specially configured set of instructions for causing the device to perform any one or more of the aspects and/or methodologies of the present disclosure. Computer system 600 includes a processor 604 and a memory 608 that communicate with each other, and with other components, via a bus 612. Bus 612 may include any of several types of bus structures including, but not limited to, a memory bus, a memory controller, a peripheral bus, a local bus, and any combinations thereof, using any of a variety of bus architectures.


Memory 608 may include various components (e.g., machine readable media) including, but not limited to, a random access memory component (e.g., a static RAM “SRAM”, a dynamic RAM “DRAM”, etc.), a read only component, and any combinations thereof. In one example, a basic input/output system 616 (BIOS), including basic routines that help to transfer information between elements within computer system 600, such as during start-up, may be stored in memory 608. Memory 608 may also include (e.g., stored on one or more machine-readable media) instructions (e.g., software) 620 embodying any one or more of the aspects and/or methodologies of the present disclosure. In another example, memory 608 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 600 may also include a storage device 624. Examples of a storage device (e.g., storage device 624) include, but are not limited to, a hard disk drive for reading from and/or writing to a hard disk, a magnetic disk drive for reading from and/or writing to a removable magnetic disk, an optical disk drive for reading from and/or writing to an optical medium (e.g., a CD, a DVD, etc.), a solid-state memory device, and any combinations thereof. Storage device 624 may be connected to bus 612 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 1244 (FIREWIRE), and any combinations thereof. In one example, storage device 624 (or one or more components thereof) may be removably interfaced with computer system 600 (e.g., via an external port connector (not shown)). Particularly, storage device 624 and an associated machine-readable medium 628 may provide nonvolatile and/or volatile storage of machine-readable instructions, data structures, program modules, and/or other data for computer system 600. In one example, software 620 may reside, completely or partially, within machine-readable medium 628. In another example, software 620 may reside, completely or partially, within processor 604.


Computer system 600 may also include an input device 632. In one example, a user of computer system 600 may enter commands and/or other information into computer system 600 via input device 632. Examples of an input device 632 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), touchscreen, and any combinations thereof. Input device 632 may be interfaced to bus 612 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 612, and any combinations thereof. Input device 632 may include a touch screen interface that may be a part of or separate from display 636, discussed further below. Input device 632 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 600 via storage device 624 (e.g., a removable disk drive, a flash drive, etc.) and/or network interface device 640. A network interface device, such as network interface device 640 may be utilized for connecting computer system 600 to one or more of a variety of networks, such as network 644, and one or more remote devices 648 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 644, may employ a wired and/or a wireless mode of communication. In general, any network topology may be used. Information (e.g., data, software 620, etc.) may be communicated to and/or from computer system 600 via network interface device 640.


Computer system 600 may further include a video display adapter 652 for communicating a displayable image to a display device, such as display device 636. 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 652 and display device 636 may be utilized in combination with processor 604 to provide graphical representations of aspects of the present disclosure. In addition to a display device, a computer system 600 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 612 via a peripheral interface 656. 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.


The foregoing has been a detailed description of illustrative embodiments of the invention. Various modifications and additions can be made without departing from the spirit and scope of this invention. 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 of the apparatus and method of the present invention, what has been described herein is merely illustrative of the application of the principles of the present invention. Additionally, although the methods herein have been illustrated as being performed in a specific order, the ordering is highly variable within ordinary skill to achieve the methods, systems, and software for placing, customizing, and pricing part marks for use in one or more part designs that are represented in a computer model described herein. Accordingly, this description is meant to be taken only by way of example, and not to otherwise limit the scope of this invention.

Claims
  • 1. A method of marking a part in a computer aided design (CAD) program associated with a graphical user interface (GUI) and operable on a computer system, the part having information associated therewith, the method being executed using a part-marking software tool that allows a user to provide a part with a mark at a selected location and comprising: receiving a first command from the user via the GUI associated with the CAD program, wherein the part is represented in a CAD model stored in a CAD file, the CAD model having a coordinate system, and the first command identifies a first location, corresponding to one or more coordinates within the CAD model, on the part that should receive the mark;receiving a second command from the user via the GUI associated with the CAD program, wherein the second command instructs the computer system to create the mark;displaying to the user a part mark GUI, wherein displaying the part mark GUI further comprises: displaying a text entry field that enables the user to input textual content of the mark; anddisplaying a part marking process input including a drop-down menu allowing a user to choose one of a plurality of manufacturing methods for manufacturing the mark, the plurality of manufacturing methods including etching, computer numerical control machining, and stenciling;receiving a third command from the user via the part mark GUI, wherein the third command dictates at least one attribute of the mark, the attribute comprising a manufacturing method for creating the mark, the manufacturing method comprising etching, computer numerical control machining, or stenciling, and wherein the user selects the manufacturing method using the part marking process input;retrieving, from a database via the part mark GUI, a run time associated with the selected manufacturing method for creating the mark on the part in response to receiving the third command, wherein the selected manufacturing method for creating the mark on the part comprises stenciling;receiving a fourth command from the user via the part mark GUI, wherein the fourth command further comprises textual content of the mark, wherein the user selects the textual content of the mark using the text entry field;determining, using a pricing algorithm included in the CAD program, a price for the mark as a function of the retrieved run time for creating the mark on the part and the textual content of the mark, wherein the price for the mark includes at least a charge for a programming cost associated with the stenciling and at least a charge for creation of a stencil associated with the textual content;modifying the CAD file to include the first location on the part, the manufacturing method, the price for the mark, and the textual content; andproducing a design document, wherein the design document includes one or more elements of data associated with the CAD model and the mark.
  • 2. A method according to claim 1, further comprising receiving a fifth command from the user, wherein the fifth command moves the mark from the first location to a second location on the part.
  • 3. A method according to claim 1, further comprising displaying the price to the user.
  • 4. A method according to claim 3, wherein said determining a price comprises calculating the sum of: an engineering fee determined as a function of the at least one attribute;the product of a setup time and a setup cost per hour; andthe product of a run time and a cost per hour.
  • 5. The method of claim 1 further comprising: receiving a fifth command from the user via the part mark GUI, wherein the fifth command selects a graphical feature to include in the mark; andmodifying the CAD file to include at least a portion of the graphical feature.
  • 6. The method of claim 5, wherein the CAD file is a first CAD file, and wherein the graphical feature is a graphical feature of a second CAD file.
  • 7. The method of claim 1 further comprising receiving a fifth command from the user via the part mark GUI, wherein the fifth command selects a range of font sizes for the textual content, wherein the range of font sizes includes a plurality of font sizes from which a manufacturer may select a font size at which to manufacture the mark.
  • 8. The method of claim 1 further comprising: providing, via the part mark GUI, a quantity of parts input; andreceiving from the user and via the quantity of parts input a first quantity of parts to which the mark is to be applied by a manufacturer.
  • 9. The method of claim 8 further comprising receiving from the user and via the quantity of parts input a second quantity of parts to be manufactured by the manufacturer, wherein the first quantity differs from the second quantity.
  • 10. The method of claim 1 further comprising: retrieving, from a database associating pricing data with manufacturing methods, pricing data associated with the manufacturing method for creating the mark;calculating, as a function of the pricing data, a part mark price; anddisplaying, in the part mark GUI, the part mark price.
  • 11. The method of claim 4 further comprising retrieving, from a database relating manufacturing methods to setup times, the setup time as a function of the manufacturing method for creating the mark.
  • 12. The method of claim 1, wherein the method further comprises communicating with a pricing database to access part mark pricing input data.
  • 13. The method of claim 1, wherein the mark further comprises a barcode identification.
  • 14. The method of claim 13, wherein the CAD model represents a sheet metal structure.
  • 15. The method of claim 14, wherein the part mark GUI further includes a quantity of parts input in the form of a slider.
  • 16. The method of claim 1, wherein the CAD model includes a representation an assembly of a plurality of parts.
  • 17. The method of claim 16, wherein the CAD model represents a virtual model of a vehicle including the plurality of parts.
  • 18. The method of claim 17, wherein the part mark GUI further includes a quantity of parts input in the form of a slider.
US Referenced Citations (184)
Number Name Date Kind
4495559 Gelatt, Jr. et al. Jan 1985 A
5117354 Long 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 Calton-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
7065420 Philpott Jun 2006 B1
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 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 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
20030035138 Schilling Feb 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 Nov 2003 A1
20040008876 Lure Jan 2004 A1
20040113945 Park et al. Jun 2004 A1
20040195224 Kanodia et al. Oct 2004 A1
20050055299 Chambers et al. Mar 2005 A1
20050094206 Tonisson May 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
20060242630 Koike Oct 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
20070203949 Regan 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
20090177293 Reginald Jul 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
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
20140108148 Paul 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
Foreign Referenced Citations (10)
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
2011140646 Nov 2011 WO
2013058764 Apr 2013 WO
2014152396 Sep 2014 WO
Non-Patent Literature Citations (51)
Entry
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.
The Fabricator (http://www.thefabricator.com, Gerald Davis, Apr. 19, 2013, Step 4: Preparing the “work order”) http://www.thefabricator.com/article/shopmanagement/job-shop-estimating-expenses-driven-by-events-in-the-fabrication-sequence.
Kopier, Michelle, “Reduce manufacturing costs during the design phase!”, Sep. 19, 2011, oemoffhighway.com, retrieved from https://www.oemoffhighway.com/engineering-manufacturing/software/article/10338973/solidworks-2012-costing-feature-cad-software (Year: 2011).
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.
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.