AU755858B2 - Method and apparatus for managing and/or utilizing data received from a CAD model - Google Patents
Method and apparatus for managing and/or utilizing data received from a CAD model Download PDFInfo
- Publication number
- AU755858B2 AU755858B2 AU25045/00A AU2504500A AU755858B2 AU 755858 B2 AU755858 B2 AU 755858B2 AU 25045/00 A AU25045/00 A AU 25045/00A AU 2504500 A AU2504500 A AU 2504500A AU 755858 B2 AU755858 B2 AU 755858B2
- Authority
- AU
- Australia
- Prior art keywords
- coordinates
- instructions
- part identification
- reagent
- sets
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
- 238000000034 method Methods 0.000 title claims description 72
- 239000003153 chemical reaction reagent Substances 0.000 claims description 72
- 238000011960 computer-aided design Methods 0.000 claims description 58
- 238000004519 manufacturing process Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 10
- 230000033001 locomotion Effects 0.000 claims description 7
- 239000000843 powder Substances 0.000 description 33
- 239000011230 binding agent Substances 0.000 description 19
- 239000000463 material Substances 0.000 description 17
- 238000012545 processing Methods 0.000 description 17
- 238000012550 audit Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 238000007639 printing Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 230000008901 benefit Effects 0.000 description 9
- 239000002609 medium Substances 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 7
- 238000009826 distribution Methods 0.000 description 7
- 230000008021 deposition Effects 0.000 description 4
- 239000002245 particle Substances 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 239000012254 powdered material Substances 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000010146 3D printing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 239000007788 liquid Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000070918 Cima Species 0.000 description 1
- 102100035353 Cyclin-dependent kinase 2-associated protein 1 Human genes 0.000 description 1
- 125000000174 L-prolyl group Chemical group [H]N1C([H])([H])C([H])([H])C([H])([H])[C@@]1([H])C(*)=O 0.000 description 1
- 239000007900 aqueous suspension Substances 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000007640 computer printing Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000002270 dispersing agent Substances 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000002657 fibrous material Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003340 mental effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 239000006163 transport media Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B33—ADDITIVE MANUFACTURING TECHNOLOGY
- B33Y—ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- B33Y50/00—Data acquisition or data processing for additive manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Manufacturing & Machinery (AREA)
- Materials Engineering (AREA)
Description
WO 00/42574 PCT/US00/00825 METHOD AND APPARATUS FOR MANAGING AND/OR UTILIZING DATA RECEIVED FROM A CAD MODEL COPYRIGHT NOTIFICATION Portions of this patent application contain materials that are subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
TECHNICAL FIELD The invention relates generally to a method and/or an apparatus for extracting, managing and/or utilizing data representing and/or administered by computer model, and more particularly to a method and/or an apparatus for extracting dimensional measurement data from a computer aided design (CAD) model for use in a threedimensional printer and/or a three-dimensional printing technique.
BACKGROUND OF THE INVENTION Two needs in providing effective industrial productivity and competitiveness lie in the reduction in time required to bring new products to market and the need for providing flexible manufacture of products. The time required is often heavily dependent on the time needed for fabricating functioning prototypes and the time needed to develop tooling, such as molds and dies.
Three dimensional printing has been developed to address these needs.
U.S. Patent No. 5,387,380 to Cima et al., incorporated herein by reference, discloses an example of a three-dimensional printer. Figure 1 depicts Cima et al.'s apparatus 10 for forming a ceramic mold having six cavities 12A-12F which can be used for casting six substantially identical parts. A head 13 is driven reciprocally in a shuttle WO 00/42574 PCT/USOO/00825 motion along the length of the mold being formed. A suitable linear stepping motor assembly 18 can be used for moving the head 13 and the binder deposition head The powdered material, a ceramic powder, is dispensed in a confined region, defined by a form 14. The powder is dispensed in a line as the dispensing head 13 is moved in discrete steps along the mold length to form a relatively loose layer thereof having a typical thickness of about 100-200 microns. Although the material is described here as a powdered material, in some applications, it can be distributed in the form of fibers, for example.
The stepping motor can be moved at such high speeds that the motion of the head 13 will effectively be continuous in nature. Alternatively, the motor may be one which inherently provides a continuous motion, such as a servo-controlled motor. An initial layer is dispersed at the bottom of the form 14 and each subsequent layer is dispersed sequentially on the preceding layer.
Cima el al.'s ink-jet print head 14 has a plurality of ink-jet dispensers driven by the stepping motor assembly in the same reciprocal manner so as to follow the motion of the powder head. Ink-jet print head 14 selectively produces jets of a liquid binder material at selected regions 16 which represent wall of each cavity, thereby causing the powdered material at such regions to become bonded. The binder jets are dispensed along a line of the print head 15 which is moved in substantially the same manner as the dispensing head 13 of the powder material, by a high speed stepping operation or by a continuous servo motor operation. Typical binder droplet sizes are about 15-50 microns, for example. The powder/binder layer forming process is repeated so as to build up the mold parts layer by layer.
Figure 2 diagrammatically shows Cima et al.'s fabrication process. For part 40 in question, a layer of powder is deposited from a powder dispensing head 41 into a form 42 over a previously formed layer which has already had a binder material deposited thereon, at Figure 2A. A layer of binder material is then printed onto the powder layer from binding jet head 43 to form the next layer of bonded powder particles, at Figure 2B.
Such operation is repeated for each subsequent layer. An exemplary intermediate stage of WO 00/42574 PCT/US00/00825 the formation of part 40 is shown at Figure 2C. When the final bonded layer is printed as shown at Figure 2D, excess, unbonded powder is removed. The finally formed part itself being depicted, at Figure 2E.
Although Cima et al.'s layers become hardened, or at least partially hardened, as each of the layers is laid down, once the desired final part configuration is achieved and the layering process is completed, the form and its contents are heated or cured at a suitably selected temperature to further promote binding of the powder particles.
The dispensed powders may be dry powders or in a liquid vehicle, such as in a colloidal dispersant or in an aqueous suspension.
As shown in Figure 3, Cima et al.'s piston 70 holds the part 71 shown as partially formed within a chamber 72 at Figure 3A. To deposit a layer of powder, the piston 70 is moved downwardly in the chamber 72, leaving a region 73 in the chamber at the top thereof for deposition of powder particles at Figure 3B. Powder particles 74 are deposited in such region and a doctor blade 75, for example, is used to scrape off excess powder at Figure 3C. The part 71, having the newly deposited layer 76 of powder thereon, is then ready for the application of binder material thereto at Figure 3D.
Cima et al. mentions use of multiple binder materials and a dual head system, as shown in Figure 2B, wherein a second head 43A is depicted in phantom lines.
However, Cima et al. does not address or describe a method or a system for managing and/or utilizing and/or printing multiple binder materials. Cima et al. also does not address a means or a method of converting a multi-composite computer-aided design (CAD) model into instructions for operating a 3-D printer.
U.S. Patent No. 5,204,055'to Sachs et al., incorporated herein by reference, discloses an example of a system for performing a powder distribution control operation, as shown in Figures 4-8. Sachs et al. discloses using a microcomputer 30 to create a threedimensional model of the component to be made using CAD techniques, as shown in Figure 4. An exemplary 3-D CAD model is depicted in Figure 6. A slicing algorithm is used to identify selected successive slices, to provide data with respect to selected 2-D WO 00/42574 PCT/US00/00825 layers, of the 3-D model 50 beginning at a bottom layer or slice thereof, for example, as shown in Figure Once a particular 2-D slice has been selected, the slice is then reduced to a series of one-dimensional scan lines thereof, as depicted in the plan view of Figure 8.
Each of the scan lines 52 can comprise a single line segment segment 53A of scan line 52A) or two or more shorter line segments (segments 53B of scan line 52B). Each line segment has a defined starting point on a scan line and a defined line segment length. For example, the line segments 53B have starting points at x, and x2, respectively, as measured from a reference line 54, and lengths 11 and 12, respectively, as measured from their starting pointsx, and x 2 Sachs et al.'s microcomputer 30 actuates the powder distribution operation when a particular 2-D slice of a desired 3-D model has been selected by supplying a powder "START" signal to a powder distribution controller circuit 31 which is used to actuate a powder distribution system 32. The operation of the powder distribution controller is stopped when the microcomputer 30 issues a powder "STOP" signal signifying that powder distribution over such region has been completed.
Sachs et al.'s microcomputer 30 then selects a scan line, the first scan line of the selected 2-D slice, selects a line segment, the first I-D line segment of the selected scan line, and supplies data defining the starting point thereof and the length thereof to a binder jet nozzle control circuit 33. A single binder jet nozzle scans the line segments of a slice in a manner such that the overall 2-D slice is scanned in a conventional raster scan operation. When the real time position of the nozzle is at the starting point of the selected line segment, the nozzle 35 is turned on and is turned off at the end of the line segment in accordance with the defined starting point and length data supplied from microcomputer 30 for that line segment. Each successive line segment is similarly scanned for the selected scan line and for each successive scan line of the selected slice in the same manner. When the complete slice has been scanned, a scan "stop" signal signifies an end of the slice scan condition.
WO 00/42574 PCT/US00/00825 As each line segment is scanned according to Sachs et al.'s method of operation, a determination is made as to whether nozzle operation has occurred for all line segments of a particular scan line of the selected slice. If not, the next line segment is scanned, and the nozzle control operation for that line segment is performed. When nozzle operation for the final scan line segment of a particular scan line has been completed, a determination is made as to whether the scan line involved is the final scan line of the selected slice. If not, the next scan line is selected, and the scanning and nozzle control process for each successive line segment of such scan line of the slice is performed. When nozzle operation for the final scan line of a particular slice has been completed, a determination is then made as to whether such slice is the final slice of the overall desired 3-D model. If not, the next slice is selected and the overall process for each line segment is repeated, including the powder deposition and nozzle binder deposition required for all the scan lines thereof When the binder material has been supplied to the final slice of the 3-D model, the operation is completed.
Thus, Sachs et al. discloses "on-the-fly" printer instruction compiling. That is, only as each line segment of a desired CAD model is scanned are motor control assembly and nozzle operation instructions compiled therefor. Thus, we have determined that a 3-D printer user must compile the same instructions for each and every representation of the desired CAD model, according to the Sachs et al. disclosure. From a manufacturing perspective, such repetitive compiling necessarily and unacceptably slows production of, for example, multiple representations of the CAD model and/or multiple slices, line segments and/or scan lines.
In view of the shortcomings of the prior art discussed above, we have determined that it is desirable to have a system and/or method for generating instructions for operating a multiple nozzle 3-D printer, or solid modeling machine. It is desirable to have a system and/or method for operating such a multiple nozzle 3-D printer to improve throughput speeds relative to prior art 3-D printers.
We have further determined that it is desirable to have a system and/or method for generating instructions for operating a multiple binder, multiple powder 3-D P;\OPER\DH2434368 spal.doc-16/102 6 printer, or solid modeling machine to improve throughput speeds relative to, for example, prior art 3-D printers.
We have also determined that it is desirable to have a system and/or method that produces, for example, a substantially pre-processed instruction stream for running a 3-D printer that can be run and rerun without compiling instructions before each and every run.
*o *o P:\OPER\DH2434368 spal.doc-17/10/02 7 SUMMARY OF THE INVENTION In accordance with the invention, there is provided a method of producing instructions to create a representation of a computer-aided design model for an output device having at least one nozzle, said method comprising the steps of: converting the model, which defines at least one part, into component sets of coordinates, each part having respective sets of coordinates, each set of coordinates having an associated part identification; parsing the component sets of coordinates into ordered line segments for driving the output device; and compiling proto-instructions for the output device from at least the ordered line segments and each respective part identification of the sets of coordinates in each of 0. the ordered line segments.
In accordance with the invention, there is provided a method of producing instructions to create a representation of a three-dimensional model for a three-dimensional printer having a plurality of nozzles, the model including sets of coordinates defining at least one part, each part having a respective part identification, said method comprising the 0: steps of: identifying each set of coordinates; S"identifying a part identification associated with the each set of coordinates; identifying a part identification to reagent correspondence for each part identification from a first user input or a part identification to reagent correspondence database; parsing the sets of coordinates into line segments, which together form scan lines for linearly driving the three-dimensional printer; and compiling proto-instructions for the three-dimensional printer from at least the ordered line segments and each respective part identification of the sets of coordinates in each of the ordered line segments.
In accordance with the invention, there is provided an apparatus for producing instructions to create a representation of a three-dimensional model for a three- 0 dimensional printer having a plurality of nozzles, the model including sets of coordinates S defining at least one part, each part having a respective part identification, said apparatus P:\OPER\DHf2434368 sp .do.-17/10/02 8 comprising: a coordinate set identifier, identifying the sets of coordinates of the model; a part identification identifier, identifying a part identification associated with each set of coordinates in said coordinate set identifier; a part identification to reagent correspondence identifier, identifying a part identification to reagent correspondence from a first user input or a part identification to reagent correspondence database; oe o a coordinate set to reagent mapper, mapping the each set of coordinates to a corresponding reagent; a coordinate set parser, generating line segments from the sets of coordinates, which together form scan lines for the three-dimensional printer; and gi a proto-instructions compiler, compiling proto-instructions for the threedimensional printer from at least the ordered line segments and the respective part S" identifications of the sets of coordinates in each of the ordered line segments.
o.
In accordance with the invention, there is provided a computer program product storing computer instructions for operating a three-dimensional printer to create a S• three-dimensional representation of a CAD model, the three-dimensional printer having a 0* plurality of nozzles, the model including sets of coordinates defining at least one part, each S•part having a respective part identification, said computer program product comprising: a computer-readable medium; proto-instructions stored on said computer-readable medium, generic to at least one three-dimensional printer, for creating the three-dimensional representation; and at least one printer-specific instruction generator stored on said computerreadable medium and, in operation, translating the proto-instructions into instructions specific to the three-dimensional printer to be used to create the three-dimensional representation, wherein generation of said proto-instructions comprises the following steps: identifying each set of coordinates; identifying a part identification associated with the each set of coordinates; identifying part identification to reagent correspondence from a first user Sinput or a part identification to reagent correspondence database; P:\OPER\DHM434368 spal.do-17/10/02 9 parsing the sets of coordinates into line segments, which together form scan lines for linearly driving the three-dimensional printer; compiling the proto-instructions for the three-dimensional printer from at least the ordered line segments and each respective part identification of the sets of coordinates in each of the ordered line segments.
In accordance with the invention, there is provided a method of producing instructions to create a physical representation of a computer-aided design model for an output device having at least one nozzle, said method comprising the steps of: converting the model, which defines at least one object, into component sets of coordinates, each part having respective sets of coordinates, each set of coordinates having an associated object identification; parsing the component sets of coordinates into ordered line segments for driving the output device defining the at least one object; and compiling the instructions for the output device to create the physical °15 representation from the ordered line segments and the associated part identification of the S. sets of coordinates as independently executable and output device independent compiled instructions.
accordance with the invention, there is provided a computer program S"product storing computer instructions for operating a three-dimensional printer to create a three-dimensional representation of a CAD model, the three-dimensional printer having a plurality of nozzles, the model including sets of coordinates defining at least-one part, each part having a respective part identification, said computer program product comprising: a computer-readable medium; instructions stored on said computer-readable medium and specific to at least of a three-dimensional printer and a manufacturer therefor, for creating the threedimensional representation, wherein production of said instructions comprises the following steps: identifying each set of coordinates; identifying a part identification associated with the each set of coordinates; identifying part identification to reagent correspondence from a first user Ij R, qV input or a part identification to reagent correspondence database; P:\OPER\DH\2434368 spal.doc17/10/02 parsing the sets of coordinates into line segments, which together form scan lines for linearly driving the three-dimensional printer; generating the instructions for at least one of the three-dimensional printer and the manufacturer therefor from at least the ordered line segments and each respective part identification of the sets of coordinates in each of the ordered line segments.
There has thus been outlined, rather broadly, the more important features of the invention in order that the detailed description thereof that follows may be better *e* °*ooo o *oo WO 00/42574 PCT/US00/00825 understood, and in order that the present contribution to the art may be better appreciated.
There are, of course, additional features of the invention that will be described hereinafter and which will form the subject matter of the claims appended hereto.
In this respect, before explaining at least one embodiment of the invention in detail, it is to be understood that the invention is not limited in its application to the details of construction and to the arrangements of the components set forth in the following description or illustrated in the drawings. The invention is capable of other embodiments and of being practiced and carried out in various ways. Also, it is to be understood that the phraseology and terminology employed herein are for the purpose of description and should not be regarded as limiting.
As such, those skilled in the art will appreciate that the conception, upon which this disclosure is based, may readily be utilized as a basis for the designing of other structures, methods and systems for carrying out the several purposes of the present invention. It is important, therefore, that the claims be regarded as including such equivalent constructions insofar as they do not depart from the spirit and scope of the present invention.
Further, the purpose of the foregoing abstract is to enable the U.S. Patent and Trademark Office and the public generally, and especially the scientists, engineers and practitioners in the art who are not familiar with patent or legal terms or phraseology, to determine quickly from a cursory inspection the nature and essence of the technical disclosure of the application. The abstract is neither intended to define the invention of the application, which is measured by the claims, nor is it intended to be limiting as to the scope of the invention in any way. These together with other objects of the invention, along with the various features of novelty which characterize the invention, are pointed out with particularity in the claims annexed to and forming a part of this disclosure. For a better understanding of the invention, its operating advantages and the specific objects attained by its uses, reference should be had to the accompanying drawings and descriptive matter in which there is illustrated preferred embodiments of the invention.
WO 00/42574 PCTIUSOO/00825 BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 depicts a perspective view of a prior art 3-D printer; Figures 2A-2E depict consecutive elevational views illustrating process steps for using a prior art 3-D printer, such as in Figure 1; Figure 3A-3D depict consecutive elevational views illustrating process steps for using a prior art 3-D printer, such as in Figure 1; Figure 4 depicts a schematic of a prior art 3-D printer, such as in Figure 1; Figure 5 depicts a flow chart identifying the steps of using a prior art 3-D printer, such as in Figure 1; Figure 6 depicts a perspective view of a sample single material 3-D model to be produced by a prior art 3-D printer; Figure 7 depicts a perspective view of 2-D slices of the sample single material 3-D model, as shown in Figure 6, to be produced by a prior art 3-D printer; Figure 8 depicts a plan view of I-D line segments of a 2-D slice of the 3-D model, shown in Figures 6 and 7; Figure 9 depicts a flow chart consistent with the instant invention; Figure 10 depicts a schematic of the instant invention; Figures 11A and 11 B depict a flowchart of process steps of an embodiment of a method according to the instant invention; Figure 12 is a schematic view of another embodiment of a system according to the instant invention; Figure 13 is an illustration of a sample main central processing unit for implementing the computer processing in accordance with a computer implemented embodiment of the present invention; Figure 14 is a block diagram of the internal hardware of the computer in Figure 13; Figure 15 is an alternative block diagram of the internal hardware of the computer in Figure 13; and 12 SUBSTITUTE SHEET (RULE 26) WO 00/42574 PCT/US00/00825 Figure 16 is an illustration of an exemplary memory medium which can be used with disk drives illustrated in Figures 13-15.
Figures 17A-D are illustrative data flow diagrams for software in accordance with an embodiment of the present invention.
Notations and Nomenclature The detailed descriptions which follow may be presented in terms of program procedures executed on a computer or network of computers. These procedural descriptions and representations are the means used by those skilled in the art to most effectively convey the substance of their work to others skilled in the art.
A procedure is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. These steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared and otherwise manipulated. It proves convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. It should be noted, however, that all of these an similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities.
Further, the manipulations performed are often referred to in terms, such as adding or comparing, which are commonly associated with mental operations performed by a human operator. No such capability of a human operator is necessary, or desirable in most cases, in any of the operations described herein which form part of the present invention; the operations are machine operations. Useful machines for performing the operation of the present invention include general purpose digital computers or similar devices.
The present invention also relates to apparatus for performing these operations. This apparatus may be specially constructed for the required purpose or it may comprise a general purpose computer as selectively activated or reconfigured by a WO 00/42574 PCT/USOO/00825 computer program stored in the computer. The procedures presented herein are not inherently related to a particular computer or other apparatus. Various general purpose machines may be used with programs written in accordance with the teachings herein, or it may prove more convenient to construct more specialized apparatus to perform the required method steps. The required structure for a variety of these machines will appear from the description given.
DETAILED DESCRIPTION OF THE INVENTION The present invention is based, in part, on our discovery of the problems associated with printing effectiveness and efficiency, in particularly 3-D printers.
However, the present invention is also relevant, and/or applicable to other printers and/or printing techniques that require instruction compilation, and which would benefit from the efficiency and effectiveness of the present invention. For example, 2-D printers in the computer printing area, black/white or color, may also benefit from the present invention.
To solve the above problems associated with printing and, more specifically, 3-D printing, We recognized that CAD models are typically saved in one of multiple industry-standard file formats, such as IGES, STL (stereolithography), VDA-FS, or ISO G- Code formats. By way of example, conventional CAD software packages, as marketed under the AutoCAD, CADKEY, and Pro/ENGINEER brands, produce STL files, which are used to drive present generation 3-D printers, or solid modeling machines. We have also discovered that the STL file format as well as other similar file formats have two drawbacks.
First, such prior file formats oriented toward vector-scanning machines, i.e., machines that scan from a point, not raster-scanning machines, such as 3-D printers.
Second, such prior file formats are aimed at machines that only work with a single material. However, for our purposes, an orthogonal coordinate system, for example, a conventional X-Y-Z coordinate system, may be used and multiple binders and multiple powders may also be used. Other data file formats using a single binder and/or powder WO 00/42574 PCT/US00/00825 may also be used in the present invention, albeit with less or relatively less advantages over the prior art.
Similarly, other file formats than those specifically for 3-D modeling and/or printing may also be used in the present invention, for example, 2-D printing, color printing, and the like. By way of illustration, part identifications designating parts of a CAD model may be assigned to one or more respective color ink-jet nozzles of a color inkjet printer. We sought to take a 3-D CAD model and convert it into machine instructions to drive a multiple binder, multiple powder machine. The big challenge was how to represent the data in a way that we could manipulate it from a CAD-like form to an instruction stream necessary to drive such a machine.
We recognized that one suitable commercially available software package that can be used in combination with the present invention is, for example, I-DEAS mechanical design software produced by Structural Dynamics Research Corporation (SDRC) of Milford, Ohio, which includes a part identification field. A part refers to a respective component of a model which may differ in composition from another component thereof. Naturally, any CAD package or system including, a part identification field is acceptable.
Alternatively, any CAD package or system permitting the distinction of components of a model which differ by composition are also acceptable. To this extent, the instant invention optionally includes CAD file format conversion to accommodate different file formats for storing coordinate sets and part identifications of a CAD model.
We realized that assigning part-identifications to sets of coordinates enabled a specific reagent, such as a material including a color to be defined for each set of coordinates in the CAD model. A reagent is defined-herein as any dispensable product included in a representation of a 3-D model. For example, a reagent may include a powder material and/or a fiber material. Such reagent definitions would, in turn, permit the creation of a 3-D representation composed of multiple reagents.
The instant invention, an instruction conversion system, can be described generally with respect to Figures 9 and WO 00/42574 PCT/USOO/00825 Referring to Figure 9, the instant invention generally includes step A2 of inputting data such as CAD data, including optionally all data for part(s) The data for the part(s) includes coordinates and part identifications, such as, part numbers. In step A4, the CAD data are merged with reagent data for each specific part of the CAD model. In step A6, the CAD data and part/reagent data are merged with nozzle data and optionally machine setup data, to form printer scan lines. In step A8, the merged CAD data, part/reagent data, nozzle data, and optional machine data are compiled into portable.
generic 3-D printer instructions. Optionally, in step A10, these compiled generic printer instructions are converted into printer-specific or manufacturer-specific instructions for instructing a 3-D printer to print at least one 3-D representation of the CAD model B4, B4'.
B4", shown in Figure Referring to Figure 10, the input for the instruction conversion system B2 includes at least one model, such as CAD models B4, B4', B4". The CAD models B4, B4', B4" are generated from, for example, any one of a number of commercially available CAD software packages or other standard processes. The output of the instruction conversion system includes portable, generic printer instructions, such as 3-D printer instructions. These generic 3-D printer instructions can be, in turn, input into a printerspecific or manufacturer-specific instruction generator for outputting printer-specific instructions for instructing at least one 3-D printer B8, B8', B8", to print at least one 3-D representation of the CAD model B4, B4', B4". Because of the adaptability and/or interchangeability of the instruction generator B6, advantageously, use of the instant invention need not be limited to any particular brand and/or model 3-D printer B8, B8'.
B8". The instruction conversion system B2 includes a standard processor BIO.
microcontroller, or computer B 11. which processes CAD-specific data conversion B 12, reagent (material) data B14, nozzle data B16, and CAD data B18 from the CAD models B4, B4', B4".
Referring to Figures 1 1A and 1 IB, an embodiment of a method according to the instant invention is broadly defined by the combination of steps S2, S18, and S22, and multiple supplemental optional steps S4, S6, S8, StO, S12, S14, S16, S20, and 824. Figure 16 SUBSTITUTE SHEET (RULE 26) WO 00/42574 PCT/US00/00825 12 shows, by way of illustration, another embodiment of the instant invention including an apparatus for effecting the above-mentioned inventive method, where a modified instruction conversion system B2' and a modified instruction generator B6' is illustrated.
The method includes step S2 of identifying component sets of coordinates in a desired 3-D CAD model. Each set of coordinates advantageously has a respective part identification. By way of example, a coordinate set identifier 100 parses a CAD model into its component sets of coordinates, each set associated with at least one part identification.
The coordinate set identifier may be embodied, for example, as a standard CAD software macro or, for example, as a function or subroutine. Optionally, the results may be stored in a raw coordinate set data base, for example, created in Microsoft Access." The fields in the raw coordinate set database thus include entries for at least the coordinate sets and the associated part identifications. Optionally, additional fields may relate to normals, surface intersections, and other geometric features of the model to permit a user to smooth the data, if necessary.
Optionally, as in step S4, a part identification associated with each component set of coordinates is identified by a part identification identifier 110. Step S4 may be accomplished, for example, by using a Query function in a Microsoft Access database, if the coordinate set database includes a Microsoft Access database. All part identifications are optionally stored in a part identification list 120, as in step S6. From the list 120, duplicate part identifications are removed, as in step S8, for example, manually or programmatically such as by using at least a function or subroutine.
Optionally, the inventive method may include step S10 of identifying at least a correspondence between a part identification and a respective reagent to be deposited by the three-dimensional printer, for example, using a part identification to reagent correspondence identifier 130. Advantageously, step S10 permits changing the composition of a representation of a CAD model by simply associating a part identification with a second reagent, different from a first reagent previously associated with the part identification.
17 SUBSTITUTE SHEET (RULE 26) WO 00/42574 PCT/US00/00825 Optionally, using a part identification to reagent editor 140, a user may map each listed part identification to a desired reagent. For example, a user may map several part identifications to the same reagent if all of the parts corresponding to the part identifications are to be composed of the same reagent in the created representation of the three-dimensional CAD model. Optionally, the instant invention may include intelligently mapping part identifications to reagents using a part identification to reagent correspondence database 150, avoiding user input, which may slow down throughput. The mapped part identifications are then merged with the sets of coordinates of the CAD model, for example, using a coordinate set to reagent mapper 160 so that each set of coordinates is associated with an appropriate reagent, as in step S12. Optionally, for the merging step S12, the sets of coordinates may be retrieved, for example, from a Microsoft Access database, using its Query function.
Optionally, the method may also include the step S14 of identifying machine setup data, which may, but need not be, printer-specific. That is, the machine setup data may include non-printer-specific data, such as the depth of the form into which the three-dimensional printer is to create a representation of a 3-D CAD model.
Optionally, a machine setup data editor 170 may be used to identify machine setup data via user input. The machine setup data may be intelligently identified from a machine setup database 180.
The method may also include step S16 of identifying a respective reagent corresponding to each nozzle of the three-dimensional printer. A nozzle-reagent map editor 190 may be used to map nozzles of a print head to reagents, which may further be done intelligently using a nozzle to reagent correspondence database 200. The maximum number of nozzles and reagents used is only constrained by physical impracticabilities.
Naturally, by way of example, if the three-dimensional printer has two nozzles N1 and N2, and the CAD model includes two reagents R1 and R2, it would be possible to map nozzle N1 to reagent R1 and nozzle N2 to reagent R2, or to map nozzle N1 to reagent R2 and nozzle N2 to reagent R1. As a further example, if there are four nozzles N1, N2, N3, and N4, and one reagent R1, it would be possible to map all of the nozzles N1-N4 to reagent WO 00/42574 PCT/US00/00825 R1. Such a mapping would result advantageously in creating a three-dimensional representation of a CAD model having one composite material four times faster than if reagent R1 were mapped to a single nozzle, for example, N1.
Given the sets of coordinates, each having an associated reagent, any machine setup data, and any nozzle to reagent mapping, the instant invention includes step S 18 of parsing the sets of coordinates into line segments of scan lines for linearly driving the three-dimensional printer, using, for example, a standard coordinate set parser or offset 210. The parsing optionally adjusts the coordinate sets in a line segment to account for nozzles in the print head of the three-dimensional printer which may be offset in the X-axis and/or Y-axis direction in a standard manner.
That is, if a three-dimensional printer optionally includes multiple nozzles geometrically offset from one another on a single print head, it should be understood that the print head, as a whole, can only be located over a single X-Y coordinate set at a time.
Because more than one nozzle cannot occupy a given space above a coordinate set, not all the nozzles can address the same coordinate set simultaneously. Thus, it is necessary to adjust the sets of coordinates to match up with the coordinate sets seen by the individual nozzles, not by the print head, using, for example, the coordinate set parser 210. That is, each nozzle may deposit a respective line segment based on its relative geometry. The present invention may further be used with print heads having or occupying substantially the same geometry, where for example, a single nozzle is used, optionally with multiple materials or colors that are alternately transmitted therethrough. With such print heads, advantageously, coordinate set adjustment may not be needed to accommodate the geometry of multiple nozzles. However, use of such print heads may advantageously include conventionally, programmatically associating any needed control assembly and/or valve assembly movements governing appropriate reagent reservoir to nozzle communication.
Optionally, for efficiency reasons, the instant invention may include step of sorting the sets of coordinates in alternating scan lines so as to permit the three- WO 00/42574 PCT/USOO/00825 dimensional printing in offset opposing directions, much like a conventional ink-jet printer operates.
By way of example, one possible way of accomplishing the sorting, for example, by using at least a function or subroutine, would be to assign each scan line a record identification and for alternating scan lines. The order of all of the coordinate sets of each such scan line is preferably reversed to indicate the order in which the coordinate sets are to be addressed by the print head. Thus, for example, assuming the print head prints along the Y-axis, every other set of Y coordinates may be reordered to permit this printing feature.
The method further includes step S22 of compiling proto-instructions for the three-dimensional printer, for example, using a function or subroutine, from the ordered line segments and the respective part identifications of the sets of coordinates in each of the ordered line segments. A proto-instruction compiler 220 takes the resulting line segments together comprising scan lines as input and outputs, or compiles, a series of nonprinter-specific proto-instructions. These proto-instructions include machine-friendly powder or binder distribution increments and nozzle on/off commands. Optionally, this series of non-printer specific instructions specifies a size of the form or object in which the representation of the three-dimensional model is to be created. Optionally, the protoinstructions include debugging, header, and/or trailer fields to aid a user in back-tracking to search for an error in manufacture, coordinate set manipulation, and/or design.
The output compiled proto-instructions may advantageously be stored on a computer-readable medium, for example, a compact disc, wherein the compact disc may be copied for mass use. That is, a user may buy the compact disc having stored thereon the proto-instructions for creating a representation of a particular CAD model, and run the three-dimensional printer using the proto-instructions through any number of iterations.
This aspect of the invention provides the feature and advantage of re-using the compiled instructions without rerunning the compiler 220 every time. An advantage to this approach may be ease of printer upgradeability and/or interchangeability. That is, if a threedimensional printer is upgraded or replaced, the compact disc having the proto-instructions WO 00/42574 PCT/USOO/00825 may be retained, provided the user acquires an instruction generator 230 specific to the upgraded or new three-dimensional printer.
Optionally, the method includes step S24 of generating printer-specific instructions for a given three-dimensional printer, for example, using a function or subroutine, from the compiled proto-instructions. Advantageously, step S24 may permit accommodating different brands and models of three-dimensional printers. That is, irrespective of the printer-type, the proto-instructions remain the same. However, different three-dimensional printers may require different instructions. So, even for the same CAD model, the generated printer-specific instructions for one three-dimensional printer of one brand and model need not be the same as the generated printer-specific instructions for a three-dimensional printer of another model and/or brand. Indeed, depending on manufacturing quality, there may be differences between three-dimensional printers of the same brand and model.
Step S24 optionally permits fine tuning printer-specific instructions to accommodate the unique characteristics of a given three-dimensional printer. That is, a printer-specific instruction generator 230 takes the proto-instructions as input and outputs printer-specific instructions for a particular three-dimensional printer, for example, for a specific brand and/or model three-dimensional printer. Advantageously, this instruction generator 230 is optionally replaceable to permit a user to run the proto-instructions on an instruction generator particular to the user's three-dimensional printer. Alternatively and advantageously, if a user's printer is upgraded, the user need only upgrade the instruction generator 230.
The outputted printer-specific instructions may optionally be stored on a computer-readable medium, for example, a compact disc, wherein the compact disc may be copied for mass use. That is, a user may buy the compact disc having stored thereon the printer-specific instructions for creating a representation of a particular CAD model or models. An advantage to this approach over storing the proto-instructions on the compact disc, for example, may be ease of use. That is, a user would not need to acquire a separate WO 00/42574 PCT/US00/00825 printer-specific instruction generator 230 for each specific printer; the printer-specific instructions would be those specific to the printer owned by the user.
Optionally, the compact disc may include a database of records of printerspecific instructions for a particular CAD model or models cross-referenced by printer type. Upon running the software on the compact disc, the user may select the appropriate printer type, thereby gaining access to appropriate printer-specific instructions for the user's printer. Optionally, the software includes a standard plug-and-play design, such that when the three-dimensional printer is operatively connected to the computer running it, the running software will intelligently recognize the printer and select from the abovementioned printer-specific instructions database.
A three-dimensional printer, directly or indirectly, fetches the instruction generator's printer-specific instruction stream using a standard Yordon design technique or other standard technique. Optionally, the fetching can occur using a standard objectoriented design technique, instead of the Yordon design technique.
Optionally, the instant invention further includes audit elements and/or process steps to perform at least one integrity check on the printer-specific instruction stream. To this extent, the instant invention may include an audit editor to permit a user to define the bounds and/or parameters of the audit so as to ascertain whether the CAD model that was processed matches the model that was created. For example, the audit definition may include an amount of the object to render, the whole model or just part of it. This audit definition may be applied to raw coordinate sets from the CAD model stored in the raw coordinate set database. The audit definition may also be applied to the coordinate sets as transformed by any part identification to reagent data, machine setup data, and nozzle to reagent mapping data. In addition, the audit definition may be applied to the coordinate sets adjusted to allow for offset opposing printing directions. The combination of the audit definition applications is optionally stored as audit data.
The audit definition is optionally applied to the printer-specific instruction stream, via, for example, a function or subroutine, the result of which is also stored as audit data. At least a portion of the audit data, which is optionally stored in an audit WO 00/42574 PCT/US00/00825 database, may be compared in a CAD software package, such as SDRC's I-DEAS software, for errors and/or discrepancies, for example, to satisfy regulatory agency requirements verifying the produced object corresponds to the model.
For example, the instruction stream may be used to simulate the original CAD model. Then, the simulation may be compared to the original CAD model for accuracy of reproduction.
It is to be understood that the representation to be created may be based on, for example, a hand-drawn CAD model, an at least partially c-41-computer-drawn CAD model, and a medical scan CAD model, such as an MRI scan CAD model.
FIG. 13 is an illustration of a main central processing unit for implementing the computer processing in accordance with a computer implemented embodiment of the present invention. The procedures described above may be presented in terms of program procedures executed on, for example, a computer or network of computers.
Viewed externally in FIG. 13, a computer system designated by reference numeral 340 has a central processing unit 342 having disk drives 344 and 346. Disk drive indications 344 and 346 are merely symbolic of a number of disk drives which might be accommodated by the computer system. Typically, these would include a floppy disk drive such as 344, a hard disk drive (not shown externally) and a CD ROM indicated by slot 346.
The number and type of drives varies, typically with different computer configurations.
Disk drives 344 and 346 are in fact optional, and for space considerations, may easily be omitted from the computer system used in conjunction with the production process/apparatus described herein.
The computer also has an optional display 348 upon which information is displayed. In some situations, a keyboard 350 and a mouse 352 may be provided as input devices to interface with the central processing unit 342. Then again, for enhanced portability the keyboard 350 may be either a limited function keyboard or omitted in its entirety. In addition, mouse 352 may be a touch pad control device, or a track ball device, or even omitted in its entirety as well. In addition, the computer system also optionally WO 00/42574 PCT/US00/00825 includes at least one infrared transmitter 376 and/or infrared receiver 378 for either transmitting and/or receiving infrared signals, as described below.
FIG. 14 illustrates a block diagram of the internal hardware of the computer of FIG. 13. A bus 356 serves as the main information highway interconnecting the other components of the computer. CPU 358 is the central processing unit of the system, performing calculations and logic operations required to execute a program. Read only memory (ROM) 360 and random access memory (RAM) 362 constitute the main memory of the computer. Disk controller 364 interfaces one or more disk drives to the system bus 356. These disk drives may be floppy disk drives such as 370, or CD ROM or DVD (digital video disks) drive such as 366, or internal or external hard drives 368. As indicated previously, these various disk drives and disk controllers are optional devices.
A display interface 372 interfaces display 348 and permits information from the bus 356 to be displayed on the display 348. Again as indicated, display 348 is also an optional accessory. For example, display 348 could be substituted or omitted.
Communications with external devices, for example, the components of the apparatus described herein, occurs utilizing communication port 374. For example, optical fibers and/or electrical cables and/or conductors and/or optical communication infrared, and the like) and/or wireless communication radio frequency and the like) can be used as the transport medium between the external devices and communication port 374.
In addition to the standard components of the computer, the computer also optionally includes at least one of infrared transmitter 376 or infrared receiver 378.
Infrared transmitter 376 is utilized when the computer system is used in conjunction with one or more of the processing components/stations that transmits/receives data via infrared signal transmission.
FIG. 15 is an alternative block diagram of the internal hardware of the computer of FIG. 13. In FIG. 15, instead of utilizing an infrared transmitter or infrared receiver, the computer system uses at least one of a low power radio transmitter 380 and/or a low power radio receiver 382. The low power radio transmitter 380 transmits the signal for reception by components of the production process, and receives signals from the WO 00/42574 PCT/US00/00825 components via the low power radio receiver 382. The low power radio transmitter and/or receiver 380, 382 are standard devices in industry.
FIG. 16 is an illustration of an exemplary memory medium which can be used with disk drives illustrated in FIGs. 13-15. Typically, memory media such as floppy disks, or a CD ROM, or a digital video disk will contain, for example; a multi-byte locale for a single byte language and the program information for controlling the computer to enable the computer to perform the functions described herein. Alternatively, ROM 360 and/or RAM 362 illustrated in FIGS. 13-15 can also be used to store the program information that is used to instruct the central processing unit 358 to perform the operations associated with the production process.
Although processing system 340 is illustrated having a single processor, a single hard disk drive and a single local memory, processing system 340 may suitably be equipped with any multitude or combination of processors or storage devices. Processing system 340 may, in point of fact, be replaced by, or combined with, any suitable processing system operative in accordance with the principles of the present invention, including sophisticated calculators, and hand-held, laptop/notebook, mini, mainframe and super computers, as well as processing system network combinations of the same.
Conventional processing system architecture is more fully discussed in Computer Organization and Architecture, by William Stallings, MacMillam Publishing Co.
(3rd ed. 1993); conventional processing system network design is more fully discussed in Data Network Design, by Darren L. Spohn, McGraw-Hill, Inc. (1993), and conventional data communications is more fully discussed in Data Communications Principles, by R.D.
Gitlin, J.F. Hayes and S.B. Weinstain, Plenum Press (1992) and in The Irwin Handbook of Telecommunications, by James Harry Green, Irwin Professional Publishing (2nd ed. 1992) Each of the foregoing publications is incorporated herein by reference. Alternatively, the hardware configuration may be arranged according to the multiple instruction multiple data (MIMD) multiprocessor format for additional computing efficiency. The details of this form of computer architecture are disclosed in greater detail in, for example, U.S. Patent No. 5,163,131; Boxer, Where Buses Cannot Go, IEEE Spectrum, February 1995, pp.
P:\OPER\DIH2434368 spl.doc-1 6 /I100Z 26 41-45; and Barroso, L.A. et al., RPM: A Rapid Prototyping Engine for Multiprocessor Systems, IEEE Computer February 1995, pp. 26-34, all of which are incorporated herein by reference.
In alternate preferred embodiments, the above-identified processor, and in particular microprocessing circuit 358, may be replaced by or combined with any other suitable processing circuits, including programmable logic devices, such as PALs (programmable array logic) and PLAs (programmable logic arrays). DSPs (digital signal processors), FPGSs (field programmable gate arrays), ASICs (application specific see: integrated circuits), VLSIs (very large scale integrated circuits) or the like.
10 Figures 17A-17D include an illustrative data flow diagram for software in accordance with one embodiment of the present invention, which includes data flow *0 0" diagrams for software necessary to implement the systems and/or processes described herein. Conventional legends for data flow diagrams are used, including the following: horizontal lines with a phrase therebetween denote a storing function, for example, in a list 15 or database of data inputted thereto; a square denotes input from or output to, for example, •000 °an external entity; and a circle denotes a process that changes data inputted thereto.
The many features and advantages of the invention are apparent from the Go detailed specification, and thus, it is intended by the appended claims to cover all such S°features and advantages of the invention which fall within the true spirit and scope of the invention. Further, since numerous modifications and variations will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and operation illustrated and described, and accordingly, all suitable modifications and equivalents may be resorted to, falling within the scope of the invention.
The reference to any prior art in this specification is not, and should not be taken as, an acknowledgment or any form of suggestion that that prior art forms part of the common general knowledge in Australia.
Throughout this specification and the claims which follow, unless the context requires otherwise, the word "comprise", and variations such as "comprises" and "comprising", will be understood to imply the inclusion of a stated integer or step or group of integers or steps but not the exclusion of any other integer or step or group of integers or steps.
WO 00/42574 PCT/US00/00825
GLOSSARY
CAD
Compiler Computer-aided design software is by architects, engineers, drafters, artists, and others to create precision drawings or technical illustrations. CAD software can be used to created two-dimensional drawings and/or three dimensional models.
A compiler is a program that processes statements written in a particular programming language and that produces corresponding machine-readable code that may be hardware-specific or hardware-non-specific.
Plug-and-Play is the ability to plug a device into a computer and have the computer recognize the device.
The user need not specifically notify the computer of the device's existence.
The output device, within the scope of the invention, may be any device capable of rendering a representation of a CAD drawing or model. By way of example, the output device may include a 2-D printer and/or a 3-D printer.
Plug-and-Play Output device
Claims (29)
1. A method of producing instructions to create a representation of a computer-aided design model for an output device having at least one nozzle, said method comprising the steps of: converting the model, which defines at least one part, into component sets of coordinates, each part having respective sets of coordinates, each set of coordinates having an associated part identification; parsing the component sets of coordinates into ordered line segments for driving the output device; and compiling proto-instructions for the output device from at least the ordered line segments and each respective part identification of the sets of coordinates in each of the ordered line segments.
2. The method according to claim 1, further comprising the step of generating printer-specific instructions for the output device from the proto-instructions.
3. The method according to claim 1, further comprising a step of mapping each part identification to a respective reagent.
4. The method according to claim 1, further comprising a step of identifying machine setup data from a user or an output device setup database.
The method according to claim 4, wherein the machine setup data includes depth of a bed in which the representation is to be created by the output device.
6. The method according to claim 1, further comprising a step of mapping each nozzle to a corresponding reagent. WO 00/42574 PCT/USOO/00825
7. The method according to claim 1, wherein said parsing step includes modifying the component sets of coordinates in alternate scan lines so as to enable nozzle operation in offset opposing movements.
8. The method according to claim 1, further comprising the step of identifying a part identification to reagent correspondence from a user input or a correspondence database.
9. The method according to claim 8, further comprising the step of mapping each set of coordinates to a respective reagent using an associated part identification of each set of coordinates and the identified part identification to reagent correspondence.
A method of producing instructions to create a representation of a three- dimensional model for a three-dimensional printer having a plurality of nozzles, the model including sets of coordinates defining at least one part, each part having a respective part identification, said method comprising the steps of: identifying each set of coordinates; identifying a part identification associated with the each set of coordinates; identifying a part identification to reagent correspondence for each part identification from a first user input or a part identification to reagent correspondence database; parsing the sets of coordinates into line segments, which together form scan lines for linearly driving the three-dimensional printer; compiling proto-instructions for the three-dimensional printer from at least the ordered line segments and each respective part identification of the sets of coordinates in each of the ordered line segments.
11. The method according to claim 10, further comprising the step of generating printer-specific instructions for the three-dimensional printer from the proto- instructions. WO 00/42574 PCT/US00/00825
12. The method according to claim 10, further comprising the steps of: storing all identified part identifications on a list; and removing from the list any duplicative part identification.
13. The method according to claim 10, further comprising the step of mapping the each set of coordinates to a respective reagent, using the associated part identification and the part identification to reagent correspondence.
14. The method according to claim 10, further comprising the step of identifying machine setup data from a second user input or a machine setup database.
The method according to claim 10, further comprising the step of identifying a nozzle to reagent correspondence for each nozzle from a third user input or a nozzle to reagent correspondence database.
16. The method according to claim 10, further comprising the step of sorting each set of coordinates in alternating printer scan lines so as to enable nozzle operation in offset opposing movements.
17. An apparatus for producing instructions to create a representation of a three-dimensional model for a three-dimensional printer having a plurality of nozzles, the model including sets of coordinates defining at least one part, each part having a respective part identification, said apparatus comprising: a coordinate set identifier, identifying the sets of coordinates of the model; a part identification identifier, identifying a part identification associated with each set of coordinates in said coordinate set identifier; a part identification to reagent correspondence identifier, identifying a part identification to reagent correspondence from a first user input or a part identification to reagent correspondence database; WO 00/42574 PCT/USOO/00825 a coordinate set to reagent mapper, mapping the each set of coordinates to a corresponding reagent; a coordinate set parser, generating line segments from the sets of coordinates, which together form scan lines for the three-dimensional printer; and a proto-instructions compiler, compiling proto-instructions for the three- dimensional printer from at least the ordered line segments and the respective part identifications of the sets of coordinates in each of the ordered line segments.
18. The apparatus according to claim 17, further comprising a printer-specific instruction generator, translating the proto-instructions into instructions specific for the three- dimensional printer.
19. The apparatus according to claim 17, further comprising a list storing all identified part identifications.
The apparatus according to claim 17, further comprising a part identification to reagent editor for enabling the first user input.
21. The apparatus according to claim 17, further comprising a machine setup data editor for enabling the second user input.
22. The apparatus according to claim 17, further comprising a nozzle to reagent map editor for enabling the third user input.
23. The apparatus according to claim 17, further comprising means for adjusting the each set of coordinates to accommodate a location of each nozzle relative to the each set of coordinates. WO 00/42574 PCT/USOO/00825
24. A computer program product storing computer instructions for operating a three-dimensional printer to create a three-dimensional representation of a CAD model, the three-dimensional printer having a plurality of nozzles, the model including sets of coordinates defining at least one part, each part having a respective part identification, said computer program product comprising: a computer-readable medium; proto-instructions stored on said computer-readable medium, generic to at least one three-dimensional printer, for creating the three-dimensional representation; and at least one printer-specific instruction generator stored on said computer-readable medium and, in operation, translating the proto-instructions into instructions specific to the three- dimensional printer to be used to create the three-dimensional representation, wherein generation of said proto-instructions comprises the following steps: identifying each set of coordinates; identifying a part identification associated with the each set of coordinates; identifying part identification to reagent correspondence from a first user input or a part identification to reagent correspondence database; parsing the sets of coordinates into line segments, which together form scan lines for linearly driving the three-dimensional printer; compiling the proto-instructions for the three-dimensional printer from at least the ordered line segments and each respective part identification of the sets of coordinates in each of the ordered line segments.
A method of producing instructions to create a physical representation of a computer-aided design model for an output device having at least one nozzle, said method comprising the steps of converting the model, which defines at least one object, into component sets of coordinates, each part having respective sets of coordinates, each set of coordinates having an associated object identification; WO 00/42574 PCT/US00/00825 parsing the component sets of coordinates into ordered line segments for driving the output device defining the at least one object; and compiling the instructions for the output device to create the physical representation from the ordered line segments and the associated part identification of the sets of coordinates as independently executable and output device independent compiled instructions.
26. A computer program product storing computer instructions for operating a three-dimensional printer to create a three-dimensional representation of a CAD model, the three-dimensional printer having a plurality of nozzles, the model including sets of coordinates defining at least-one part, each part having a respective part identification, said computer program product comprising: a computer-readable medium; instructions stored on said computer-readable medium and specific to at least of a three-dimensional printer and a manufacturer therefor, for creating the three-dimensional representation, wherein production of said instructions comprises the following steps: identifying each set of coordinates; identifying a part identification associated with the each set of coordinates; identifying part identification to reagent correspondence from a first user input or a part identification to reagent correspondence database; parsing the sets of coordinates into line segments, which together form scan lines for linearly driving the three-dimensional printer; generating the instructions for at least one of the three-dimensional printer and the manufacturer therefor from at least the ordered line segments and each respective part identification of the sets of coordinates in each of the ordered line segments. P:\OPER\DH\2434368 spa Ido-17/10/02 34
27. A method of producing instructions to create a representation, substantially as hereinbefore described with reference to the drawings.
28. Apparatus for producing instructions to create a representation, substantially as hereinbefore described with reference to the drawings.
29. A computer program product, substantially as hereinbefore described with reference to the drawings. DATED this 17th day of October, 2002 THERICS, INC. 10 By DAVIES COLLISON CAVE .Patent Attorneys for the applicant **o 0* *0
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11558499P | 1999-01-12 | 1999-01-12 | |
US60/115584 | 1999-01-12 | ||
PCT/US2000/000825 WO2000042574A1 (en) | 1999-01-12 | 2000-01-12 | Method and apparatus for managing and/or utilizing data received from a cad model |
Publications (2)
Publication Number | Publication Date |
---|---|
AU2504500A AU2504500A (en) | 2000-08-01 |
AU755858B2 true AU755858B2 (en) | 2003-01-02 |
Family
ID=22362273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
AU25045/00A Ceased AU755858B2 (en) | 1999-01-12 | 2000-01-12 | Method and apparatus for managing and/or utilizing data received from a CAD model |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1147491A1 (en) |
JP (1) | JP2003508828A (en) |
AU (1) | AU755858B2 (en) |
CA (1) | CA2358530A1 (en) |
WO (1) | WO2000042574A1 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8970867B2 (en) | 2012-03-06 | 2015-03-03 | Mercury 3D, Llc | Secure management of 3D print media |
JP6255233B2 (en) * | 2013-11-29 | 2017-12-27 | 株式会社日本総合研究所 | Imprint management system |
KR101854845B1 (en) | 2014-12-31 | 2018-05-04 | 주식회사 후본 | 3 dimentional printer output method for loading electrical components |
JP7458693B2 (en) * | 2015-06-25 | 2024-04-01 | スリーエム イノベイティブ プロパティズ カンパニー | Glassy bond abrasive article and method for manufacturing the same |
JP5987954B2 (en) * | 2015-06-30 | 2016-09-07 | セイコーエプソン株式会社 | Modeling system and modeling method |
CN107214966A (en) * | 2017-06-29 | 2017-09-29 | 安徽新芜精密装备制造产业技术研究院有限公司 | A kind of control method of pair of color spray 3D printer |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0284674A1 (en) * | 1984-07-02 | 1988-10-05 | William E. Masters | Manufacturing method and apparatus |
US5028950A (en) * | 1990-02-20 | 1991-07-02 | Lentec Corporation | Dual stage 3D printer |
US5204055A (en) * | 1989-12-08 | 1993-04-20 | Massachusetts Institute Of Technology | Three-dimensional printing techniques |
-
2000
- 2000-01-12 EP EP00903271A patent/EP1147491A1/en not_active Withdrawn
- 2000-01-12 WO PCT/US2000/000825 patent/WO2000042574A1/en not_active Application Discontinuation
- 2000-01-12 AU AU25045/00A patent/AU755858B2/en not_active Ceased
- 2000-01-12 JP JP2000594081A patent/JP2003508828A/en active Pending
- 2000-01-12 CA CA002358530A patent/CA2358530A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0284674A1 (en) * | 1984-07-02 | 1988-10-05 | William E. Masters | Manufacturing method and apparatus |
US5204055A (en) * | 1989-12-08 | 1993-04-20 | Massachusetts Institute Of Technology | Three-dimensional printing techniques |
US5028950A (en) * | 1990-02-20 | 1991-07-02 | Lentec Corporation | Dual stage 3D printer |
Also Published As
Publication number | Publication date |
---|---|
WO2000042574A1 (en) | 2000-07-20 |
JP2003508828A (en) | 2003-03-04 |
CA2358530A1 (en) | 2000-07-20 |
AU2504500A (en) | 2000-08-01 |
EP1147491A1 (en) | 2001-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Livesu et al. | From 3D models to 3D prints: an overview of the processing pipeline | |
Qin et al. | Status, comparison, and future of the representations of additive manufacturing data | |
US11718036B2 (en) | Interactive slicing methods and systems for generating toolpaths for printing three-dimensional objects | |
US5742288A (en) | Method of generating or modifying solid model of an object according to cross-sectional shapes and a predetermined relationship and apparatus suitable for practicing the method | |
US5388199A (en) | Interactive graphic input system | |
US20210097218A1 (en) | Data processing system and method | |
TW201600986A (en) | Fabricating three-dimensional objects with embossing | |
AU755858B2 (en) | Method and apparatus for managing and/or utilizing data received from a CAD model | |
JP7215095B2 (en) | 3D shape data generation device, 3D modeling device, and 3D shape data generation program | |
Kumar et al. | Printing file formats for additive manufacturing technologies | |
EP2083393A2 (en) | Image processing apparatus, image processing method, and storage medium storing a program for causing an image processing apparatus to execute an image processing method | |
US8477133B2 (en) | Method and apparatus for generating three-dimensional finite element mesh | |
Altenhofen et al. | Continuous property gradation for multi-material 3D-printed objects | |
JP2586889B2 (en) | Interactive graphic input system | |
US20230030783A1 (en) | Watertight Spline Modeling for Additive Manufacturing | |
JP2002251209A (en) | Data processor, data processing method, recording medium and its program | |
JPS62212880A (en) | Method for designing paper ware | |
Yaman et al. | A command generation approach for desktop fused filament fabrication 3D printers | |
CN110293685A (en) | A kind of daily necessities 3D printing speed data processing method | |
JP6840944B2 (en) | 3D data generator, modeling device, manufacturing method and program of modeled object | |
JPH0821089B2 (en) | Solid model shape definition method in CAD / CAM system | |
US20230391013A1 (en) | Determining whether using build data will result in generating an object with a generation defect | |
JPH11231920A (en) | Device and method for arranging component and computer readable medium storing component arrangement program | |
Kai et al. | Data structure in rapid prototyping and manufacturing | |
Chua et al. | Generation of Three-dimensional Shapes in CAD/CAM Systems Using Art-to-part Technique |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FGA | Letters patent sealed or granted (standard patent) |