US20210240160A1 - Three dimensional object data - Google Patents
Three dimensional object data Download PDFInfo
- Publication number
- US20210240160A1 US20210240160A1 US17/235,597 US202117235597A US2021240160A1 US 20210240160 A1 US20210240160 A1 US 20210240160A1 US 202117235597 A US202117235597 A US 202117235597A US 2021240160 A1 US2021240160 A1 US 2021240160A1
- Authority
- US
- United States
- Prior art keywords
- listing
- data
- value
- values
- data object
- 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.)
- Abandoned
Links
- 238000000034 method Methods 0.000 claims abstract description 27
- 238000012545 processing Methods 0.000 claims description 22
- 238000004519 manufacturing process Methods 0.000 claims description 18
- 239000000654 additive Substances 0.000 claims description 16
- 230000000996 additive effect Effects 0.000 claims description 16
- 238000013507 mapping Methods 0.000 claims description 11
- 230000003746 surface roughness Effects 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 abstract 1
- 239000000463 material Substances 0.000 description 45
- 239000003795 chemical substances by application Substances 0.000 description 16
- 239000010410 layer Substances 0.000 description 12
- 239000013598 vector Substances 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000007639 printing Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000000704 physical effect Effects 0.000 description 3
- 238000010146 3D printing Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000013501 data transformation Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002730 additional effect Effects 0.000 description 1
- 239000011230 binding agent Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000006258 conductive agent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000003000 extruded plastic Substances 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000000843 powder Substances 0.000 description 1
- 231100000735 select agent Toxicity 0.000 description 1
- 238000007711 solidification Methods 0.000 description 1
- 230000008023 solidification Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/4097—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using design data to control NC machines, e.g. CAD/CAM
- G05B19/4099—Surface or curve machining, making 3D objects, e.g. desktop manufacturing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B29—WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
- B29C—SHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
- B29C64/00—Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
- B29C64/30—Auxiliary operations or equipment
- B29C64/386—Data acquisition or data processing for additive manufacturing
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00795—Reading arrangements
- H04N1/00827—Arrangements for reading an image from an unusual original, e.g. 3-dimensional objects
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35134—3-D cad-cam
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/49—Nc machine tool, till multiple
- G05B2219/49023—3-D printing, layer of powder, add drops of binder in layer, new powder
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/18—Manufacturability analysis or optimisation for manufacturability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Definitions
- Three dimensional objects generated by an additive manufacturing process may be formed in a layer-by-layer manner.
- an object is generated by solidifying portions of layers of build material in an apparatus.
- the build material may be in the form of a powder, fluid or sheet material.
- the intended solidification and/or physical properties may be achieved by printing an agent onto a layer of the build material. Energy may be applied to the layer and the build material on which an agent has been applied may coalesce and solidify upon cooling.
- chemical binding agents may be used to solidify a build material.
- three dimensional objects may be generated by using extruded plastics or sprayed materials as build materials, which solidify to form an object.
- control data generated from a model of a three dimensional object.
- This control data may, for example, specify the locations at which to apply an agent or combination of agents to build material, or where build material itself may be placed, and the amounts to be placed.
- the control data may be generated from a representation of a three dimensional object to be printed. Such a representation may be referred to herein as a three dimensional model, and may be stored as a data file.
- the control data may be used by suitable print apparatus to produce an object.
- FIG. 1 is a flowchart of an example of a method comprising object property data transformation
- FIG. 2 is a schematic representation of an example of an object property data object
- FIG. 3 is a flowchart of another example of a method comprising object property data transformation
- FIG. 4 is a simplified schematic of an example of processing apparatus for generating control data for production of a three dimensional object.
- FIG. 5 is an example of an apparatus for storing and processing data representing a three dimensional object.
- Some examples described herein provide an apparatus and a method for representing a three dimensional object and/or for generating control data that may be used to produce a three dimensional object. Some examples allow arbitrary three dimensional content with a variety of specified object properties to be processed and used to generate a three dimensional object. These object properties may comprise, for example, any or any combination of: conductivity, density, porosity, plasticity, hardness, ductility, strength, interlayer strength and/or appearance properties (color, transparency, glossiness, surface texture, etc).
- three dimensional space is characterised in terms of ‘voxels’, i.e. three dimensional pixels, wherein each voxel occupies a discrete volume.
- voxels i.e. three dimensional pixels, wherein each voxel occupies a discrete volume.
- a voxel at a given location may have at least one characteristic. For example, it may be empty, or may have a particular color or may represent a particular material, or a particular object property, or the like.
- the voxels of an object may be the same size, for example relating to a cubic or other shaped region in space, or may vary in size and/or form within an object.
- data representing a three dimensional object is processed to generate control data to be used in generating the object.
- a print material coverage specification specifies print material data, for example detailing the amount of print materials (such as agent(s) to be deposited onto a layer of build material, or in some examples, build materials themselves), and, if applicable, their combinations. In some examples, this may be specified as a proportional volume coverage (for example, X % of a region of a layer of build material should have agent Y applied thereto). Such print materials may be related to or selected to provide an object property.
- each print material for example, a drop of an agent
- control data may be determined using halftoning techniques.
- a set of voxels within object model data may have an associated print material coverage specification in the form of a set of material volume coverage (Mvoc) vectors.
- Mvoc material volume coverage
- the material volume coverage vectors may then provide the input for a halftoning process to generate control data that may be used by an additive manufacturing system to produce a three dimensional object. For example, it may be determined that, to produce specified object properties, 25% of a layer of build material (or of a portion of a layer) should have an agent applied thereto.
- the halftoning process determines where the drops of agent fall in order to provide 25% coverage, for example by comparing each location to a threshold value provided in a halftone threshold matrix.
- data representing a three dimensional structure or object is ‘rasterized’, i.e. converted to series of discrete locations.
- the rasterized data may be at the printable resolution of the three dimensional printing apparatus to which control data may be provided.
- a print apparatus to be used to print the object is unspecified, at least in terms of its capabilities.
- data representing a three dimensional object is received, the data comprising object property data indicative of an attribute (for example, at least one physical attribute or property) of at least a portion of the three dimensional object.
- the object property data is transformed into a plurality of device independent object property data objects having a common data structure, the data objects each comprise a value indicative of each of a predetermined set (common) of object properties held within the common data structure.
- device independent means that the data object is not formulated with a particular model generation apparatus, print apparatus, or print generation workflow in mind. Instead, it contains values representing a predetermined set of properties which can be derived from, and interpreted by, a range of devices, software packages and the like.
- the object property data object is device independent, it can be used as an intermediate representation to map data from a range of data sources (such as CAD packages, object analysis apparatus, or any other source of data representing an object) to control data for a particular print apparatus (for example according to that print apparatus' capabilities to reproduce particular properties).
- a device independent data object means that, whatever the original data format, a mapping (for example, a lookup table or the like) from the device independent data object can be used to generate control data for a particular print apparatus. If the original object model representation was instead used, then a mapping from that specific representation type would have to be specified or determined, which may result in multiple mappings in order to support multiple object model data sources. Similarly, mapping from a particular model data source to the device independent data object may be made without knowledge of a print apparatus.
- content of a data object is specified independently of the properties specified in a particular model, and/or independently of the capabilities of a print apparatus used to generate an object according to the model.
- Properties specified in the object property data object may therefore be the same as the properties specified in received data (but may, in some examples, be described differently), or it may comprise values relating to additional properties, and/or may contain values relating to a subset of the properties specified in or derivable from the received data.
- This allows the data object to be used with a wide range of data sources and to be used to generate control data for a wide range of print apparatus.
- a device independent data object as specified herein may allow conversion between diverse sets of specified and/or achievable properties.
- FIG. 2 An example of a device independent object property data object 200 is shown schematically in FIG. 2 .
- the set of properties comprises three color values V R , V G , V B , representing Red, Green and Blue color values, a Density value V D , a stiffness value V S , a conductivity value V C and an opacity value V O .
- Other object properties which may be described in a data object may comprise any of, amongst others: flexibility; elasticity; rigidity; surface roughness; porosity; strength; ductility; plasticity or the like.
- a value set is predetermined for each property and the value is taken from the set.
- a bit depth may be specified for each property.
- the bit depth may for example be specified as [8, 8, 8, 5, 4, 1, 6].
- the color values are specified with 8 bit resolution, and may therefore take any value in the value set [0, 1, 2 . . . 254, 255].
- 5 bits 32 level resolution are used to specify the density values, which can therefore take any value in the value set [0, 1, 2 . . . 30, 31].
- a value set may be defined in terms of a particular unit. For example, in the case of the RGB values, these could be identified according to device independent color definitions such as sRGB. In other examples, colors could be defined in terms of a specific ICC profile, or in terms of the International Commission on Illumination (CIE) 1931 XYZ color space, wherein three variables (‘X’, ‘Y’ and ‘Z’ or tristimulus values) are used to model a color; the CIE 1976 (L*, a*, b*—CIELAB or ‘LAB’) color space, wherein three variables represent lightness (‘L’) and opposing color dimensions (‘a’ and b′); or any other color space or derived color space.
- CIE International Commission on Illumination
- an RGB color value may comprise three 8-bit values; as such each red, green and blue value may be within the range of 0 to 255.
- Density values V D could be expressed in kg/m3, stiffness V S in N/m, conductivity V c in S/m, and opacity V O as a dimensionless optical density value representing a value between 0 and 1 specifying a ratio of light transmitted through a specified thickness of material to light blocked thereby.
- all values of a particular property may be indicative of a position within a range.
- data relating to the interpretation of at least one of the data values may be generated and/or provided with the data objects.
- the range achievable by a particular print apparatus in relation to a particular property could be considered and used to determine the device dependent value within that range, i.e. a value achievable by a particular print apparatus, which best represents the device independent value.
- a device-dependent interpretation may also be used in the absence of a specification of units. Where data relating to the interpretation of at least one of the data values is provided with the data objects, this may be used in generating control data.
- default values may be defined. In examples, default values may be used wherever data property is undefined in at least a proportion of received object property data. The default values may be user specified, predetermined or derived based on received model data. Where default values are used, this enables a standardised data object to be formed even in the absence of explicitly defined values, and therefore allows a data object having a consistent data format to be generated from a diverse range of model data sources and formats. In some examples, default values may for example be midpoints in the range available, or may be predetermined according to practical or economic considerations. For example, tensile strength or stiffness could be determined in view of a practical minimum value which allows an object to be self supporting and reasonably robust, and/or bearing in mind costs.
- Certain defaults may specify that a property is absent (for example, as a default, conductivity, which may result in the specification of use of specialised agents, may be set to off, or 0 , in a data object unless conductivity is specified in the received data representing a three dimensional object), or avoided (for example, as white can be a relatively expensive color to reproduce and the combinations of other properties which may be achieved in a white object may be restricted, a default colour may be other than white, for example a mid gray).
- value ranges corresponding to the encoding range may be specified or determined.
- opacity could be specified such that it may vary between absolute values of 0.1 to 1.6, which may be highest value of density for a particular, or for a generic, print apparatus (for example, the range may reflect an industry standard achievable range).
- a maximum and/or minimum may be used in the mapping, such that, for example, all stated absolute opacity values of 0.1 or lower map to 0, which is the lowest value in the example 64 bit data value set, and those of 1.6 or higher map to 63 which is the highest value in the example 64 bit data value set.
- a specifically stated maximum or minimum value (and/or a specific absolute value, which may be associated with any and all of the values of a value set associated with a particular property) may be supplied with the object model data.
- a range may be derived from actual values provided within the model data (e.g., the highest stated density may map to 63, and the lowest stated density may map to 0, and/or the range may be stored).
- defaults for a maximum value may be predefined or user specified. Allowing specification of a range allows a property range to be encoded efficiently, while allowing for changes in achievable ranges.
- the data representing the three dimensional object further comprises object model data defining the geometry of the three dimensional object.
- the device independent data objects may be stored in association with a physical location (which may be a volume) within the object, such that each location is accompanied with a list of properties.
- the data objects may therefore comprise part of a device independent object description. As this is not defined in relation to a particular processing or print apparatus, it may be used to generate control data for or by any print apparatus with knowledge (or identification) of the data structure and print apparatus capabilities.
- a further example is discussed in relation to the flow chart of FIG. 3 .
- data representing a three dimensional object is received.
- the data comprises object property data indicative of attributes of at least a portion of the three dimensional object and object model data defining the geometry of the three dimensional object.
- the object property data is transformed into device independent object property data objects in which each value is a value from a value set which is predetermined for each object property and unspecified object properties are assigned a default value.
- print apparatus data which is indicative of the capabilities of a particular print apparatus is received.
- the set of object property data objects is transformed into print control data is based on the print apparatus data.
- a particular print apparatus may allow for density control while other properties are fixed, whereas another may allow for color control, yet another for density and conductivity control, and so on.
- a print apparatus in order to acquire print apparatus data, a print apparatus may be queried and asked to return its capabilities. In other examples, this data may be predetermined, and/or retrieved from a memory, held in a look up table, or the like. In other examples, the print apparatus may itself carry out the processing.
- FIG. 4 shows an example of processing apparatus 400 , comprising an interface 402 , a mapping module 404 and a control data module 406 .
- the interface 402 receives model data 408 and print apparatus capability data 410 .
- the model data 408 represents at least part of a three dimensional model object, and comprises a plurality of object property data objects.
- Each data object has a common data object structure (for example, a data structure such as shown in the data object 200 of FIG. 2 ) and represents a location in a three dimensional object.
- Each data object comprise a plurality of property values defining a predetermined set of properties of the three dimensional object at that location.
- the properties defined by each data value may be explicitly defined. In other examples, they may be identified or determined by consideration of the data form or content.
- the mapping module 402 may identify the properties specified by values of a data object based on at least one of the resolution to which the value is specified and the frequency with which a value with a given resolution is contained within the data object. For example, an otherwise unspecified 3-channel 8-bit data portion of the data object may be interpreted as RGB data by default.
- the density value may be taken as the density value and, in the absence of any specification, the density values therein may be interpreted to match the range of densities the print apparatus is capable of providing (such that a stated value of 0 maps to the minimum achievable density, etc).
- Other defaults may be predetermined in a similar manner. This allows for the processing of even an ambiguously defined input, which may provide an alternative to aborting the processing operation if incompletely specified inputs are received.
- the mapping module 404 in this example maps at least one received object property data object to a print material coverage specification according to the print apparatus capability data. Such mapping may be carried out in relation to a rasterized representation of the model object. In some examples, this representation may comprise a plurality of planes, each rasterized into discrete locations. In some examples, the locations within the planes are binary: an object either exists at a location and has associated properties, or it does not.
- At least one value of a data object is mapped to a print material coverage specification based on the maximum and minimum values of that property achievable by the print apparatus, and/or the maximum and minimum values of the property within the object property data objects.
- a scale or unit is not specified for a particular property (which may be all the properties) and in such examples, a value provided in the data object may be taken as an indication of a point on a scale from 0-100%, or some other range, which may be user specifiable.
- the 100% point may be the maximum value that a particular property can have for a particular property (e.g. the strongest red which can be produced, or the most dense construction, etc.).
- the 0% point may be the minimum value, which may represent that the property is absent (for example, no conductive agents, or no color is to be used), or may indicate that the value is to have to the lowest possible value (for example, density is at the minimum value).
- the maximum value may be the maximum value seen in a particular set of data objects (this may result in the property being more diversely represented in the printed object), or the maximum value given the range (for example, the bit depth).
- the interpretation of the data objects is determined or controlled by a user, who may chose to restrict the print apparatus capabilities in relation to a particular property and/or printing operation.
- the range of at least one property may be restricted or specified by a maximum and/or minimum provided with the set of data objects.
- an absolute value (for example in standardised units) may be associated with any or each of the values in a value set for a particular property.
- the interpretation of a data value may depend on any, or any combination of: a stated value range, the range of data values within a set of data objects, additional information concerning a relationship between an absolute value and a value in the data object, the print apparatus capabilities, user specification, default values.
- the data objects may be mapped to Material volume coverage (Mvoc) vectors.
- An Mvoc vector may have a plurality of values, wherein each value defines a proportion for each, or each combination of print materials in an addressable location of a layer of the three dimensional object.
- Mvoc vector may have 2 2 (i.e. four) proportions in a given Mvoc vector: a first proportion for M1 without M2; a second proportion for M2 without M1; a third proportion for an over-deposit (i.e. a combination) of M1 and M2, e.g.
- an Mvoc vector for a rasterized layer within a model may be: [M1, M2, M1M2, Z] or with example values [0.2, 0.2, 0.5, 0.1]—i.e. in a given addressable location in a layer, there is a 20% probability of M1 being applied without M2, 20% probability of M2 without M1, 50% probability of M1 and M2 and 10% probability that the location is empty.
- each value is a proportion and the set of values represent the available material combinations, the set of values in each vector sum to 1 or 100%.
- the Mvoc vector may be determined to select agent combinations that generate a match with a supplied object property values, e.g. the supplied RGB values in an object property data object.
- a supplied object property values e.g. the supplied RGB values in an object property data object.
- mappings may be held in a lookup table or the like.
- the print apparatus capability data 410 in this example comprises an indication of at least one available print material.
- it may comprise an indication of the print resolution, i.e. the level of detail with which object geometry and/or local object properties may be reproduced.
- the print apparatus capability data 410 may comprise an indication of the range of values available for at least one object property. For example it may be that on a particular print apparatus, it is not possible to vary a particular parameter such that particular properties such as color, conductivity or density, but other properties may be varied.
- the print material coverage specification may represent properties which are achievable by the print apparatus, which may be different from those specified in the device independent data objects.
- the control data module 406 is to generate control data 412 from the print material coverage specification, the control data 412 being for the production of a three dimensional object.
- the control data module 406 comprises a halftone module 414 to provide halftoning data.
- the halftone data comprises an array of threshold values.
- the threshold values are for carrying out a halftone operation that compares a value of the threshold matrix against a value indicative of a print material (such as an agent(s) or agent combination) probability distribution, which in this example is expressed as an Mvoc vector. This chooses a single ‘state’ (one of the possible materials or material combinations) based on the threshold value.
- a print material such as an agent(s) or agent combination
- Mvoc vector a print material probability distribution
- This chooses a single ‘state’ (one of the possible materials or material combinations) based on the threshold value.
- Such halftone thresholds may be determined according to halftoning techniques such as void-and-cluster matrices, error diffusion techniques, dither based techniques, AM-screens, cluster-dot type patterns etc.
- the model data comprises a three dimensional model object comprising an array of voxels representing a three dimensional model object, each voxel being located at a unique three dimensional location.
- the voxels may be of the same size and/or form, or may vary in size and/or form.
- Each voxel is associated with a device independent object property data object specifying the object properties for that voxel.
- the control data module 406 determines, for each voxel, from print apparatus capabilities indicating the available print materials and, in some examples, the resolution with which the print materials may be applied by the print apparatus, a combination of print materials to represent the property values.
- Each voxel representing the three dimensional model object is then mapped to a print material coverage specification, which specifies print materials as proportions of a set of available print materials at a location.
- the print material coverage specification may be used to generate control data as outlined above.
- a print apparatus if a print apparatus cannot provide a particular property, or a particular property combination, an alert may be generated and for example displayed or otherwise relayed to a user. In some examples, a processing or printing operation may be aborted.
- FIG. 5 shows a memory 500 associated with a processor 502 .
- the memory is a computer readable medium for storing data for access by an application program being executed by the processor 502 and comprises a data structure including information for use by the application program.
- the data structure comprises a plurality of data objects 504 .
- Each data object 504 has a common data object structure and represents a set of physical properties of a three dimensional object, wherein each physical property is specified as one of a predetermined set of values.
- Each value may comprise either a default value or an assigned value (wherein the assigned value may be assigned based on object property data).
- the object properties comprise: at least one color, and at least one of stiffness, opacity, conductivity and density.
- the data objects 504 may have a data structure having any of the properties described above in relation to FIG. 2 .
- each data object 504 is associated with a location within the three dimensional object.
- Examples in the present disclosure can be provided as methods, systems or machine readable instructions, such as any combination of software, hardware, firmware or the like.
- Such machine readable instructions may be included on a computer readable storage medium (including but not limited to disc storage, CD-ROM, optical storage, etc.) having computer readable program codes therein or thereon.
- the machine readable instructions may, for example, be executed by a general purpose computer, a special purpose computer, an embedded processor or processors of other programmable data processing devices to realize the functions described in the description and diagrams.
- a processor or processing apparatus such the processing apparatus 400 or the processor 502 , may execute the machine readable instructions.
- functional modules of the apparatus and devices may be implemented by a processor executing machine readable instructions stored in a memory, or a processor operating in accordance with instructions embedded in logic circuitry.
- the term ‘processor’ is to be interpreted broadly to include a CPU, processing unit, ASIC, logic unit, or programmable gate array etc.
- the methods and functional modules may all be performed by a single processor or divided amongst several processors.
- Such machine readable instructions may also be stored in a computer readable storage that can guide the computer or other programmable data processing devices to operate in a specific mode.
- Such machine readable instructions may also be loaded onto a computer or other programmable data processing devices, so that the computer or other programmable data processing devices perform a series of operations to produce computer-implemented processing, thus the instructions executed on the computer or other programmable devices provide a means for realizing functions specified by flow(s) in the flow charts and/or block(s) in the block diagrams.
- teachings herein may be implemented in the form of a computer software product, the computer software product being stored in a storage medium and comprising a plurality of instructions for making a computer device implement the methods recited in the examples of the present disclosure.
Abstract
Description
- Three dimensional objects generated by an additive manufacturing process may be formed in a layer-by-layer manner. In one example of additive manufacturing, an object is generated by solidifying portions of layers of build material in an apparatus. In examples, the build material may be in the form of a powder, fluid or sheet material. The intended solidification and/or physical properties may be achieved by printing an agent onto a layer of the build material. Energy may be applied to the layer and the build material on which an agent has been applied may coalesce and solidify upon cooling. In other examples, chemical binding agents may be used to solidify a build material. In other examples, three dimensional objects may be generated by using extruded plastics or sprayed materials as build materials, which solidify to form an object.
- Some printing processes that generate three dimensional objects use control data generated from a model of a three dimensional object. This control data may, for example, specify the locations at which to apply an agent or combination of agents to build material, or where build material itself may be placed, and the amounts to be placed.
- The control data may be generated from a representation of a three dimensional object to be printed. Such a representation may be referred to herein as a three dimensional model, and may be stored as a data file. The control data may be used by suitable print apparatus to produce an object.
- For a more complete understanding, reference is now made to the following description taken in conjunction with the accompanying drawings in which:
-
FIG. 1 is a flowchart of an example of a method comprising object property data transformation; -
FIG. 2 is a schematic representation of an example of an object property data object; -
FIG. 3 is a flowchart of another example of a method comprising object property data transformation; -
FIG. 4 is a simplified schematic of an example of processing apparatus for generating control data for production of a three dimensional object; and -
FIG. 5 is an example of an apparatus for storing and processing data representing a three dimensional object. - Some examples described herein provide an apparatus and a method for representing a three dimensional object and/or for generating control data that may be used to produce a three dimensional object. Some examples allow arbitrary three dimensional content with a variety of specified object properties to be processed and used to generate a three dimensional object. These object properties may comprise, for example, any or any combination of: conductivity, density, porosity, plasticity, hardness, ductility, strength, interlayer strength and/or appearance properties (color, transparency, glossiness, surface texture, etc).
- In some examples herein, three dimensional space is characterised in terms of ‘voxels’, i.e. three dimensional pixels, wherein each voxel occupies a discrete volume. In data modelling a three dimensional object, a voxel at a given location may have at least one characteristic. For example, it may be empty, or may have a particular color or may represent a particular material, or a particular object property, or the like. The voxels of an object may be the same size, for example relating to a cubic or other shaped region in space, or may vary in size and/or form within an object.
- In some examples, data representing a three dimensional object is processed to generate control data to be used in generating the object.
- In some examples, a print material coverage specification specifies print material data, for example detailing the amount of print materials (such as agent(s) to be deposited onto a layer of build material, or in some examples, build materials themselves), and, if applicable, their combinations. In some examples, this may be specified as a proportional volume coverage (for example, X % of a region of a layer of build material should have agent Y applied thereto). Such print materials may be related to or selected to provide an object property.
- The actual location at which each print material (for example, a drop of an agent) should be applied, as specified in control data, may be determined using halftoning techniques.
- For example, a set of voxels within object model data may have an associated print material coverage specification in the form of a set of material volume coverage (Mvoc) vectors. In a simple case, such a vector may indicate that X % of a given region of three dimensional space should have a particular agent applied thereto, whereas (100−X) % should be left clear of agent. In other examples, material combinations may be specified. The material volume coverage vectors may then provide the input for a halftoning process to generate control data that may be used by an additive manufacturing system to produce a three dimensional object. For example, it may be determined that, to produce specified object properties, 25% of a layer of build material (or of a portion of a layer) should have an agent applied thereto. The halftoning process determines where the drops of agent fall in order to provide 25% coverage, for example by comparing each location to a threshold value provided in a halftone threshold matrix.
- In some examples, data representing a three dimensional structure or object is ‘rasterized’, i.e. converted to series of discrete locations. The rasterized data may be at the printable resolution of the three dimensional printing apparatus to which control data may be provided.
- It may be the case that, at the time the three dimensional data model is constructed, a print apparatus to be used to print the object is unspecified, at least in terms of its capabilities.
- In
block 102 ofFIG. 1 , data representing a three dimensional object is received, the data comprising object property data indicative of an attribute (for example, at least one physical attribute or property) of at least a portion of the three dimensional object. Inblock 104, the object property data is transformed into a plurality of device independent object property data objects having a common data structure, the data objects each comprise a value indicative of each of a predetermined set (common) of object properties held within the common data structure. As used herein, the term ‘device independent’ means that the data object is not formulated with a particular model generation apparatus, print apparatus, or print generation workflow in mind. Instead, it contains values representing a predetermined set of properties which can be derived from, and interpreted by, a range of devices, software packages and the like. - As the object property data object is device independent, it can be used as an intermediate representation to map data from a range of data sources (such as CAD packages, object analysis apparatus, or any other source of data representing an object) to control data for a particular print apparatus (for example according to that print apparatus' capabilities to reproduce particular properties). When an object property data object is to provide control data, use of a device independent data object means that, whatever the original data format, a mapping (for example, a lookup table or the like) from the device independent data object can be used to generate control data for a particular print apparatus. If the original object model representation was instead used, then a mapping from that specific representation type would have to be specified or determined, which may result in multiple mappings in order to support multiple object model data sources. Similarly, mapping from a particular model data source to the device independent data object may be made without knowledge of a print apparatus.
- In examples, content of a data object is specified independently of the properties specified in a particular model, and/or independently of the capabilities of a print apparatus used to generate an object according to the model. Properties specified in the object property data object may therefore be the same as the properties specified in received data (but may, in some examples, be described differently), or it may comprise values relating to additional properties, and/or may contain values relating to a subset of the properties specified in or derivable from the received data. This allows the data object to be used with a wide range of data sources and to be used to generate control data for a wide range of print apparatus. When compared to, for example, specifying printer colors for two-dimensional printing, in three dimensional printing there is a wide range of possible print apparatus capabilities and of possible data specifications for model data. A device independent data object as specified herein may allow conversion between diverse sets of specified and/or achievable properties.
- An example of a device independent object
property data object 200 is shown schematically inFIG. 2 . In this example, the set of properties comprises three color values VR, VG, VB, representing Red, Green and Blue color values, a Density value VD, a stiffness value VS, a conductivity value VC and an opacity value VO. Other object properties which may be described in a data object may comprise any of, amongst others: flexibility; elasticity; rigidity; surface roughness; porosity; strength; ductility; plasticity or the like. - In some examples, a value set is predetermined for each property and the value is taken from the set. For example, a bit depth may be specified for each property. For the set of values shown in
FIG. 2 , the bit depth may for example be specified as [8, 8, 8, 5, 4, 1, 6]. In such an object, the color values are specified with 8 bit resolution, and may therefore take any value in the value set [0, 1, 2 . . . 254, 255]. 5 bits (32 level resolution) are used to specify the density values, which can therefore take any value in the value set [0, 1, 2 . . . 30, 31]. 4 bits (16 level resolution) are used to specify the stiffness values, 1 bit (on/off, or [0, 1]) for conductivity, and 6 bits (64 level resolution) for opacity. This results in a 5-byte encoding of the seven property data object. - In some examples, a value set may be defined in terms of a particular unit. For example, in the case of the RGB values, these could be identified according to device independent color definitions such as sRGB. In other examples, colors could be defined in terms of a specific ICC profile, or in terms of the International Commission on Illumination (CIE) 1931 XYZ color space, wherein three variables (‘X’, ‘Y’ and ‘Z’ or tristimulus values) are used to model a color; the CIE 1976 (L*, a*, b*—CIELAB or ‘LAB’) color space, wherein three variables represent lightness (‘L’) and opposing color dimensions (‘a’ and b′); or any other color space or derived color space.
- For example, in a simple case, an RGB color value may comprise three 8-bit values; as such each red, green and blue value may be within the range of 0 to 255. Density values VD could be expressed in kg/m3, stiffness VS in N/m, conductivity Vc in S/m, and opacity VO as a dimensionless optical density value representing a value between 0 and 1 specifying a ratio of light transmitted through a specified thickness of material to light blocked thereby. In some examples, rather than being expressed in terms of absolute values, all values of a particular property may be indicative of a position within a range. In some examples, data relating to the interpretation of at least one of the data values may be generated and/or provided with the data objects. In some examples, when a data object is used to generate control data, the range achievable by a particular print apparatus in relation to a particular property could be considered and used to determine the device dependent value within that range, i.e. a value achievable by a particular print apparatus, which best represents the device independent value. Such a device-dependent interpretation may also be used in the absence of a specification of units. Where data relating to the interpretation of at least one of the data values is provided with the data objects, this may be used in generating control data.
- In some examples, default values may be defined. In examples, default values may be used wherever data property is undefined in at least a proportion of received object property data. The default values may be user specified, predetermined or derived based on received model data. Where default values are used, this enables a standardised data object to be formed even in the absence of explicitly defined values, and therefore allows a data object having a consistent data format to be generated from a diverse range of model data sources and formats. In some examples, default values may for example be midpoints in the range available, or may be predetermined according to practical or economic considerations. For example, tensile strength or stiffness could be determined in view of a practical minimum value which allows an object to be self supporting and reasonably robust, and/or bearing in mind costs. Certain defaults may specify that a property is absent (for example, as a default, conductivity, which may result in the specification of use of specialised agents, may be set to off, or 0, in a data object unless conductivity is specified in the received data representing a three dimensional object), or avoided (for example, as white can be a relatively expensive color to reproduce and the combinations of other properties which may be achieved in a white object may be restricted, a default colour may be other than white, for example a mid gray).
- In some examples, value ranges corresponding to the encoding range may be specified or determined. To give a particular example, opacity could be specified such that it may vary between absolute values of 0.1 to 1.6, which may be highest value of density for a particular, or for a generic, print apparatus (for example, the range may reflect an industry standard achievable range). A maximum and/or minimum may be used in the mapping, such that, for example, all stated absolute opacity values of 0.1 or lower map to 0, which is the lowest value in the example 64 bit data value set, and those of 1.6 or higher map to 63 which is the highest value in the example 64 bit data value set. In examples, a specifically stated maximum or minimum value (and/or a specific absolute value, which may be associated with any and all of the values of a value set associated with a particular property) may be supplied with the object model data. In other examples, a range may be derived from actual values provided within the model data (e.g., the highest stated density may map to 63, and the lowest stated density may map to 0, and/or the range may be stored). In other examples, defaults for a maximum value may be predefined or user specified. Allowing specification of a range allows a property range to be encoded efficiently, while allowing for changes in achievable ranges. For example, if the interpretation of the range of values intended to be reflected by a particular encoding was fixed, this may either span a range which is too large to be fully utilized, or which fails to span the whole of an achievable range, in particular should an achievable range increase after a property has been encoded.
- In some examples, the data representing the three dimensional object further comprises object model data defining the geometry of the three dimensional object. The device independent data objects may be stored in association with a physical location (which may be a volume) within the object, such that each location is accompanied with a list of properties.
- The data objects may therefore comprise part of a device independent object description. As this is not defined in relation to a particular processing or print apparatus, it may be used to generate control data for or by any print apparatus with knowledge (or identification) of the data structure and print apparatus capabilities.
- A further example is discussed in relation to the flow chart of
FIG. 3 . In this example, inblock 302, data representing a three dimensional object is received. The data comprises object property data indicative of attributes of at least a portion of the three dimensional object and object model data defining the geometry of the three dimensional object. - In
bock 304, the object property data is transformed into device independent object property data objects in which each value is a value from a value set which is predetermined for each object property and unspecified object properties are assigned a default value. Inblock 306, print apparatus data, which is indicative of the capabilities of a particular print apparatus is received. Inblock 308, the set of object property data objects is transformed into print control data is based on the print apparatus data. - For example, a particular print apparatus may allow for density control while other properties are fixed, whereas another may allow for color control, yet another for density and conductivity control, and so on. In some examples, in order to acquire print apparatus data, a print apparatus may be queried and asked to return its capabilities. In other examples, this data may be predetermined, and/or retrieved from a memory, held in a look up table, or the like. In other examples, the print apparatus may itself carry out the processing.
-
FIG. 4 shows an example ofprocessing apparatus 400, comprising aninterface 402, amapping module 404 and acontrol data module 406. - The
interface 402 receivesmodel data 408 and printapparatus capability data 410. In this example, themodel data 408 represents at least part of a three dimensional model object, and comprises a plurality of object property data objects. Each data object has a common data object structure (for example, a data structure such as shown in the data object 200 ofFIG. 2 ) and represents a location in a three dimensional object. Each data object comprise a plurality of property values defining a predetermined set of properties of the three dimensional object at that location. - In some examples, the properties defined by each data value may be explicitly defined. In other examples, they may be identified or determined by consideration of the data form or content. For example, the
mapping module 402 may identify the properties specified by values of a data object based on at least one of the resolution to which the value is specified and the frequency with which a value with a given resolution is contained within the data object. For example, an otherwise unspecified 3-channel 8-bit data portion of the data object may be interpreted as RGB data by default. If there is a single channel data with a particular bit depth, this may be taken as the density value and, in the absence of any specification, the density values therein may be interpreted to match the range of densities the print apparatus is capable of providing (such that a stated value of 0 maps to the minimum achievable density, etc). Other defaults may be predetermined in a similar manner. This allows for the processing of even an ambiguously defined input, which may provide an alternative to aborting the processing operation if incompletely specified inputs are received. - The
mapping module 404 in this example maps at least one received object property data object to a print material coverage specification according to the print apparatus capability data. Such mapping may be carried out in relation to a rasterized representation of the model object. In some examples, this representation may comprise a plurality of planes, each rasterized into discrete locations. In some examples, the locations within the planes are binary: an object either exists at a location and has associated properties, or it does not. - In some examples, at least one value of a data object is mapped to a print material coverage specification based on the maximum and minimum values of that property achievable by the print apparatus, and/or the maximum and minimum values of the property within the object property data objects. As noted above, it may be that a scale or unit is not specified for a particular property (which may be all the properties) and in such examples, a value provided in the data object may be taken as an indication of a point on a scale from 0-100%, or some other range, which may be user specifiable. The 100% point may be the maximum value that a particular property can have for a particular property (e.g. the strongest red which can be produced, or the most dense construction, etc.). The 0% point may be the minimum value, which may represent that the property is absent (for example, no conductive agents, or no color is to be used), or may indicate that the value is to have to the lowest possible value (for example, density is at the minimum value). Within the data object, the maximum value may be the maximum value seen in a particular set of data objects (this may result in the property being more diversely represented in the printed object), or the maximum value given the range (for example, the bit depth).
- In some examples, the interpretation of the data objects is determined or controlled by a user, who may chose to restrict the print apparatus capabilities in relation to a particular property and/or printing operation. In other examples, the range of at least one property may be restricted or specified by a maximum and/or minimum provided with the set of data objects. In other examples, as noted above, an absolute value (for example in standardised units) may be associated with any or each of the values in a value set for a particular property.
- In summary therefore, in some examples, the interpretation of a data value may depend on any, or any combination of: a stated value range, the range of data values within a set of data objects, additional information concerning a relationship between an absolute value and a value in the data object, the print apparatus capabilities, user specification, default values.
- The data objects may be mapped to Material volume coverage (Mvoc) vectors. An Mvoc vector may have a plurality of values, wherein each value defines a proportion for each, or each combination of print materials in an addressable location of a layer of the three dimensional object. For example, in an additive manufacturing system with two available print materials (for example, agents)—M1 and M2, where each print material may be independently deposited in an addressable area of a layer of the three dimensional object, there may be 22 (i.e. four) proportions in a given Mvoc vector: a first proportion for M1 without M2; a second proportion for M2 without M1; a third proportion for an over-deposit (i.e. a combination) of M1 and M2, e.g. M2 deposited over M1 or vice versa; and a fourth proportion for an absence of both M1 and M2. In this case an Mvoc vector for a rasterized layer within a model may be: [M1, M2, M1M2, Z] or with example values [0.2, 0.2, 0.5, 0.1]—i.e. in a given addressable location in a layer, there is a 20% probability of M1 being applied without M2, 20% probability of M2 without M1, 50% probability of M1 and M2 and 10% probability that the location is empty. As each value is a proportion and the set of values represent the available material combinations, the set of values in each vector sum to 1 or 100%.
- For example, in a case where the agents are colored, then the Mvoc vector may be determined to select agent combinations that generate a match with a supplied object property values, e.g. the supplied RGB values in an object property data object. In examples, such mappings may be held in a lookup table or the like.
- The print
apparatus capability data 410 in this example comprises an indication of at least one available print material. In other examples, it may comprise an indication of the print resolution, i.e. the level of detail with which object geometry and/or local object properties may be reproduced. In other examples, the printapparatus capability data 410 may comprise an indication of the range of values available for at least one object property. For example it may be that on a particular print apparatus, it is not possible to vary a particular parameter such that particular properties such as color, conductivity or density, but other properties may be varied. As such, the print material coverage specification may represent properties which are achievable by the print apparatus, which may be different from those specified in the device independent data objects. - The
control data module 406 is to generatecontrol data 412 from the print material coverage specification, thecontrol data 412 being for the production of a three dimensional object. In this example, thecontrol data module 406 comprises ahalftone module 414 to provide halftoning data. - In this example, the halftone data comprises an array of threshold values. In one example, the threshold values are for carrying out a halftone operation that compares a value of the threshold matrix against a value indicative of a print material (such as an agent(s) or agent combination) probability distribution, which in this example is expressed as an Mvoc vector. This chooses a single ‘state’ (one of the possible materials or material combinations) based on the threshold value. Such halftone thresholds may be determined according to halftoning techniques such as void-and-cluster matrices, error diffusion techniques, dither based techniques, AM-screens, cluster-dot type patterns etc.
- In a particular example, the model data comprises a three dimensional model object comprising an array of voxels representing a three dimensional model object, each voxel being located at a unique three dimensional location. The voxels may be of the same size and/or form, or may vary in size and/or form. Each voxel is associated with a device independent object property data object specifying the object properties for that voxel. The
control data module 406 determines, for each voxel, from print apparatus capabilities indicating the available print materials and, in some examples, the resolution with which the print materials may be applied by the print apparatus, a combination of print materials to represent the property values. Each voxel representing the three dimensional model object is then mapped to a print material coverage specification, which specifies print materials as proportions of a set of available print materials at a location. The print material coverage specification may be used to generate control data as outlined above. - In some examples, if a print apparatus cannot provide a particular property, or a particular property combination, an alert may be generated and for example displayed or otherwise relayed to a user. In some examples, a processing or printing operation may be aborted.
-
FIG. 5 shows amemory 500 associated with aprocessor 502. The memory is a computer readable medium for storing data for access by an application program being executed by theprocessor 502 and comprises a data structure including information for use by the application program. The data structure comprises a plurality of data objects 504. Each data object 504 has a common data object structure and represents a set of physical properties of a three dimensional object, wherein each physical property is specified as one of a predetermined set of values. Each value may comprise either a default value or an assigned value (wherein the assigned value may be assigned based on object property data). In one example, the object properties comprise: at least one color, and at least one of stiffness, opacity, conductivity and density. In some examples the data objects 504 may have a data structure having any of the properties described above in relation toFIG. 2 . In some examples, each data object 504 is associated with a location within the three dimensional object. - Examples in the present disclosure can be provided as methods, systems or machine readable instructions, such as any combination of software, hardware, firmware or the like. Such machine readable instructions may be included on a computer readable storage medium (including but not limited to disc storage, CD-ROM, optical storage, etc.) having computer readable program codes therein or thereon.
- The present disclosure is described with reference to flow charts and/or block diagrams of the method, devices and systems according to examples of the present disclosure. Although the flow diagrams described above show a specific order of execution, the order of execution may differ from that which is depicted. Blocks described in relation to one flow chart may be combined with those of another flow chart. It shall be understood that each flow and/or block in the flow charts and/or block diagrams, as well as combinations of the flows and/or diagrams in the flow charts and/or block diagrams can be realized by machine readable instructions.
- The machine readable instructions may, for example, be executed by a general purpose computer, a special purpose computer, an embedded processor or processors of other programmable data processing devices to realize the functions described in the description and diagrams. In particular, a processor or processing apparatus, such the
processing apparatus 400 or theprocessor 502, may execute the machine readable instructions. Thus functional modules of the apparatus and devices may be implemented by a processor executing machine readable instructions stored in a memory, or a processor operating in accordance with instructions embedded in logic circuitry. The term ‘processor’ is to be interpreted broadly to include a CPU, processing unit, ASIC, logic unit, or programmable gate array etc. The methods and functional modules may all be performed by a single processor or divided amongst several processors. - Such machine readable instructions may also be stored in a computer readable storage that can guide the computer or other programmable data processing devices to operate in a specific mode.
- Such machine readable instructions may also be loaded onto a computer or other programmable data processing devices, so that the computer or other programmable data processing devices perform a series of operations to produce computer-implemented processing, thus the instructions executed on the computer or other programmable devices provide a means for realizing functions specified by flow(s) in the flow charts and/or block(s) in the block diagrams.
- Further, the teachings herein may be implemented in the form of a computer software product, the computer software product being stored in a storage medium and comprising a plurality of instructions for making a computer device implement the methods recited in the examples of the present disclosure.
- While the method, apparatus and related aspects have been described with reference to certain examples, various modifications, changes, omissions, and substitutions can be made without departing from the spirit of the present disclosure. It should be noted that the above-mentioned examples illustrate rather than limit what is described herein, and that those skilled in the art will be able to design many alternative implementations without departing from the scope of the appended claims. In particular, a feature or block from one example may be combined with or substituted by a feature/block of another example
- The word “comprising” does not exclude the presence of elements other than those listed in a claim, “a” or “an” does not exclude a plurality, and a single processor or other unit may fulfil the functions of several units recited in the claims.
- The features of any dependent claim may be combined with the features of any of the independent claims or other dependent claims.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/235,597 US20210240160A1 (en) | 2015-04-24 | 2021-04-20 | Three dimensional object data |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2015/058918 WO2016169614A1 (en) | 2015-04-24 | 2015-04-24 | Three dimensional object data |
US201715545691A | 2017-07-22 | 2017-07-22 | |
US17/235,597 US20210240160A1 (en) | 2015-04-24 | 2021-04-20 | Three dimensional object data |
Related Parent Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/545,691 Continuation US11003165B2 (en) | 2015-04-24 | 2015-04-24 | Transforming three dimensional object data into object property data objects |
PCT/EP2015/058918 Continuation WO2016169614A1 (en) | 2015-04-24 | 2015-04-24 | Three dimensional object data |
Publications (1)
Publication Number | Publication Date |
---|---|
US20210240160A1 true US20210240160A1 (en) | 2021-08-05 |
Family
ID=53055013
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/545,691 Active 2036-03-02 US11003165B2 (en) | 2015-04-24 | 2015-04-24 | Transforming three dimensional object data into object property data objects |
US17/235,597 Abandoned US20210240160A1 (en) | 2015-04-24 | 2021-04-20 | Three dimensional object data |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/545,691 Active 2036-03-02 US11003165B2 (en) | 2015-04-24 | 2015-04-24 | Transforming three dimensional object data into object property data objects |
Country Status (4)
Country | Link |
---|---|
US (2) | US11003165B2 (en) |
EP (1) | EP3292487B1 (en) |
CN (1) | CN107206694A (en) |
WO (1) | WO2016169614A1 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190152156A1 (en) * | 2016-07-21 | 2019-05-23 | Hewlett-Packard Development Company, L.P. | Mapping resources |
WO2018057038A1 (en) | 2016-09-26 | 2018-03-29 | Hewlett-Packard Development Company, L.P. | 3d print selection based on voxel property association and conflict resolution |
EP3610462A4 (en) | 2017-07-10 | 2020-12-09 | Hewlett-Packard Development Company, L.P. | Transforming object data models to disperse object properties |
WO2019013829A1 (en) | 2017-07-10 | 2019-01-17 | Hewlett-Packard Development Company, L.P. | Inferring object attributes |
EP3602503A4 (en) | 2017-07-10 | 2020-11-18 | Hewlett-Packard Development Company, L.P. | Associating object property data with locations |
EP3612374A4 (en) * | 2017-07-28 | 2020-12-02 | Hewlett-Packard Development Company, L.P. | Transforming property data to compensate for property value shifts |
US20210402705A1 (en) * | 2018-04-20 | 2021-12-30 | Hewlett-Packard Development Company, L.P. | Three-dimensional part printablility and cost analysis |
Citations (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5293479A (en) * | 1991-07-08 | 1994-03-08 | Quintero Smith Incorporated | Design tool and method for preparing parametric assemblies |
US6252876B1 (en) * | 1996-12-23 | 2001-06-26 | Nortel Networks Limited | Management of data structures |
US6313836B1 (en) * | 1994-06-30 | 2001-11-06 | Silicon Graphics, Inc. | Three dimensional model with three dimensional pointers and multimedia functions linked to the pointers |
US20020096112A1 (en) * | 2000-10-27 | 2002-07-25 | Coe Dorsey D. | Three-dimensional model colorization during model construction from computer aided design data |
US20030231328A1 (en) * | 2002-06-07 | 2003-12-18 | Xerox Corporation | Multiple printer driver |
US20040070627A1 (en) * | 2001-01-04 | 2004-04-15 | Shahine Omar H. | System and process for dynamically displaying prioritized data objects |
US6801908B1 (en) * | 2002-01-28 | 2004-10-05 | Supplychainge Inc | System and method for selectively presenting multi-dimensional data in two-dimensional form |
US20040218201A1 (en) * | 2003-04-30 | 2004-11-04 | Pierre Lermant | Methods and apparatus for dynamically configuring cluster printing systems |
US20050228811A1 (en) * | 2004-04-07 | 2005-10-13 | Russell Perry | Method of and system for compressing and decompressing hierarchical data structures |
US20110228290A1 (en) * | 2010-03-19 | 2011-09-22 | Xerox Corporation | Color mapping determination for an n-color marking device based upon color stability |
US20120005044A1 (en) * | 2010-06-30 | 2012-01-05 | Cbs Interactive, Inc. | System And Method To Provide A Table Of Products Based On Ranked User Specified Product Attributes |
US20120224755A1 (en) * | 2011-03-02 | 2012-09-06 | Andy Wu | Single-Action Three-Dimensional Model Printing Methods |
US20120233533A1 (en) * | 2011-03-08 | 2012-09-13 | Yuecel Sermet | Constructing and applying a constraint-choice-action matrix for decision making |
US20140324204A1 (en) * | 2013-04-18 | 2014-10-30 | Massachusetts Institute Of Technology | Methods and apparati for implementing programmable pipeline for three-dimensional printing including multi-material applications |
US20150186555A1 (en) * | 2013-12-31 | 2015-07-02 | Dassault Systemes | Design of a Three-Dimensional Modeled Object |
US20150277811A1 (en) * | 2014-03-27 | 2015-10-01 | Electronics And Telecommunications Research Institute | Method for configuring information related to a 3d printer and method and apparatus for recommending a 3d printer |
US20150321427A1 (en) * | 2014-05-06 | 2015-11-12 | Autodesk, Inc. | Systems and methods for designing programmable parts for models and optimizing 3d printing |
US20160092041A1 (en) * | 2014-09-29 | 2016-03-31 | Madesolid, Inc. | System and method to facilitate material selection for a three dimensional printing object |
US9315663B2 (en) * | 2008-09-26 | 2016-04-19 | Mikro Systems, Inc. | Systems, devices, and/or methods for manufacturing castings |
US20160203138A1 (en) * | 2015-01-09 | 2016-07-14 | Jonathan FELDSCHUH | Systems and methods for generating analytics relating to entities |
US20160239919A1 (en) * | 2004-06-01 | 2016-08-18 | Asset Reliance, Inc. | Predictive model development system applied to organization management |
US20160278427A1 (en) * | 2010-08-09 | 2016-09-29 | Decopac, Inc. | Three-dimensional decorating system for edible items |
US20160292578A1 (en) * | 2015-04-03 | 2016-10-06 | BigML, Inc. | Predictive modeling of data clusters |
US20170157859A1 (en) * | 2011-04-27 | 2017-06-08 | Grow Software Limited | Three-Dimensional Design and Manufacturing Systems |
US9778636B2 (en) * | 2013-08-13 | 2017-10-03 | Siemens Product Lifecycle Management Software Inc. | Method for classifying and correlating simulation components to functional models |
US10150248B2 (en) * | 2012-06-08 | 2018-12-11 | Makerbot Industries, Llc | Downloadable three-dimensional models |
US10191476B2 (en) * | 2013-06-26 | 2019-01-29 | Renishaw Plc | Method and apparatus for generating geometric data for use in additive manufacturing |
US10354304B2 (en) * | 2013-03-15 | 2019-07-16 | Kemeera Inc. | Systems and methods for creating 3D objects |
US10654220B2 (en) * | 2014-10-09 | 2020-05-19 | Autodesk, Inc. | Multi-material three dimensional models |
US20220055277A1 (en) * | 2012-10-29 | 2022-02-24 | Makerbot Industries, Llc | Tagged build material for three-dimensional printing |
US11385844B2 (en) * | 2020-07-22 | 2022-07-12 | Seiko Epson Corporation | Printing system and printing method |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US832008A (en) * | 1906-04-03 | 1906-09-25 | William W Bruce | Wagon-standard. |
US5689435A (en) * | 1995-12-20 | 1997-11-18 | General Electric Company | Systems and methods for automated bracket design |
US6043909A (en) * | 1996-02-26 | 2000-03-28 | Imagicolor Corporation | System for distributing and controlling color reproduction at multiple sites |
US6614549B1 (en) * | 1999-03-26 | 2003-09-02 | International Business Machines Corporation | Print model that allows direct job submission to physical printer objects while preserving job defaulting, validation and scheduling |
US6473090B1 (en) | 1999-11-03 | 2002-10-29 | Evans & Sutherland Computer Corporation | MIP mapping based on material properties |
EP1347394B1 (en) * | 2002-03-21 | 2011-07-13 | CoreMedia AG | Schema-oriented content management system |
US7965290B1 (en) * | 2007-07-13 | 2011-06-21 | Ngrain (Canada) Corporation | Method, system, and data structure for progressive loading and processing of a 3D dataset |
JP5561983B2 (en) | 2009-09-29 | 2014-07-30 | 富士フイルム株式会社 | Profile generation method, program, and apparatus |
CN102279898B (en) * | 2010-02-24 | 2016-01-20 | 迪士尼企业公司 | Be there is by the basic material Design and manufacture with the characteristic determined the material of desired characteristic |
US8565909B2 (en) | 2010-02-24 | 2013-10-22 | Disney Enterprises, Inc. | Fabrication of materials with desired characteristics from base materials having determined characteristics |
US20110222081A1 (en) * | 2010-03-15 | 2011-09-15 | Chen Yi | Printing Three-Dimensional Objects Using Hybrid Format Data |
US20120065755A1 (en) * | 2010-08-13 | 2012-03-15 | Sensable Technologies, Inc. | Fabrication of non-homogeneous articles via additive manufacturing using three-dimensional voxel-based models |
US8320008B2 (en) * | 2011-02-23 | 2012-11-27 | Ricoh Company, Ltd | Establishing job ticket values of a print job in a print shop architecture |
DE102011012432B4 (en) | 2011-02-25 | 2013-04-04 | salutogenesis Medizintechnik GmbH & Co. KG | ELC thermal film and method for the automatic determination of an ELC thermal film for contact thermography for detecting temperature distributions on the surface, in particular the breast, of a living being, in particular of a human |
US8634105B2 (en) * | 2011-06-06 | 2014-01-21 | Csr Imaging Us, Lp | Three color neutral axis control in a printing device |
JP6188708B2 (en) * | 2011-11-17 | 2017-08-30 | ストラタシス リミテッド | System and method for creating body part model using multi-material additive manufacturing |
US20140025714A1 (en) * | 2012-01-08 | 2014-01-23 | Nick Alex Lieven Reyntjens | Method and Apparatus for Realizing a Dynamically Typed File or Object System Enabling the User to Perform Calculations Over the Properties Associated with the Files or Objects in the System |
US20140031967A1 (en) * | 2012-07-30 | 2014-01-30 | 6598057 Manitoba Ltd. | Method and system for rapid prototyping of complex structures |
US20140277669A1 (en) * | 2013-03-15 | 2014-09-18 | Sikorsky Aircraft Corporation | Additive topology optimized manufacturing for multi-functional components |
US9821517B2 (en) * | 2013-06-26 | 2017-11-21 | Microsoft Technology Licensing, Llc | 3D manufacturing platform |
US9858360B2 (en) * | 2014-03-10 | 2018-01-02 | Make It Leo Ltd | System and method for controlling manufacturing of an item |
CN104494148A (en) * | 2014-11-19 | 2015-04-08 | 吉林大学 | Expression and conversion method of multiple materials in rapid prototyping field |
US10275931B2 (en) * | 2015-01-30 | 2019-04-30 | Hewlett-Packard Development Company, L.P. | Generating previews of 3D objects |
US10181216B2 (en) * | 2015-01-30 | 2019-01-15 | Hewlett-Packard Development Company, L.P. | Generating slice data from a voxel representation |
WO2016119883A1 (en) * | 2015-01-30 | 2016-08-04 | Hewlett-Packard Development Company, L.P. | Generating control data for sub-objects |
CN107209956A (en) * | 2015-04-20 | 2017-09-26 | 惠普发展公司有限责任合伙企业 | Create three-dimensional(3D)The voxel of object is represented |
JP6730440B2 (en) * | 2016-02-25 | 2020-07-29 | ストラタシス リミテッド | GPU material specification for 3D printing using 3D distance field |
-
2015
- 2015-04-24 US US15/545,691 patent/US11003165B2/en active Active
- 2015-04-24 EP EP15720933.9A patent/EP3292487B1/en active Active
- 2015-04-24 CN CN201580074478.1A patent/CN107206694A/en active Pending
- 2015-04-24 WO PCT/EP2015/058918 patent/WO2016169614A1/en active Application Filing
-
2021
- 2021-04-20 US US17/235,597 patent/US20210240160A1/en not_active Abandoned
Patent Citations (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5293479A (en) * | 1991-07-08 | 1994-03-08 | Quintero Smith Incorporated | Design tool and method for preparing parametric assemblies |
US6313836B1 (en) * | 1994-06-30 | 2001-11-06 | Silicon Graphics, Inc. | Three dimensional model with three dimensional pointers and multimedia functions linked to the pointers |
US6252876B1 (en) * | 1996-12-23 | 2001-06-26 | Nortel Networks Limited | Management of data structures |
US20020096112A1 (en) * | 2000-10-27 | 2002-07-25 | Coe Dorsey D. | Three-dimensional model colorization during model construction from computer aided design data |
US20040070627A1 (en) * | 2001-01-04 | 2004-04-15 | Shahine Omar H. | System and process for dynamically displaying prioritized data objects |
US6801908B1 (en) * | 2002-01-28 | 2004-10-05 | Supplychainge Inc | System and method for selectively presenting multi-dimensional data in two-dimensional form |
US20030231328A1 (en) * | 2002-06-07 | 2003-12-18 | Xerox Corporation | Multiple printer driver |
US20040218201A1 (en) * | 2003-04-30 | 2004-11-04 | Pierre Lermant | Methods and apparatus for dynamically configuring cluster printing systems |
US20050228811A1 (en) * | 2004-04-07 | 2005-10-13 | Russell Perry | Method of and system for compressing and decompressing hierarchical data structures |
US20160239919A1 (en) * | 2004-06-01 | 2016-08-18 | Asset Reliance, Inc. | Predictive model development system applied to organization management |
US9315663B2 (en) * | 2008-09-26 | 2016-04-19 | Mikro Systems, Inc. | Systems, devices, and/or methods for manufacturing castings |
US20110228290A1 (en) * | 2010-03-19 | 2011-09-22 | Xerox Corporation | Color mapping determination for an n-color marking device based upon color stability |
US20120005044A1 (en) * | 2010-06-30 | 2012-01-05 | Cbs Interactive, Inc. | System And Method To Provide A Table Of Products Based On Ranked User Specified Product Attributes |
US20160278427A1 (en) * | 2010-08-09 | 2016-09-29 | Decopac, Inc. | Three-dimensional decorating system for edible items |
US20120224755A1 (en) * | 2011-03-02 | 2012-09-06 | Andy Wu | Single-Action Three-Dimensional Model Printing Methods |
US20160207257A9 (en) * | 2011-03-02 | 2016-07-21 | Andy Wu | Single Action Three-Dimensional Model Printing Methods |
US20120233533A1 (en) * | 2011-03-08 | 2012-09-13 | Yuecel Sermet | Constructing and applying a constraint-choice-action matrix for decision making |
US20170157859A1 (en) * | 2011-04-27 | 2017-06-08 | Grow Software Limited | Three-Dimensional Design and Manufacturing Systems |
US10150248B2 (en) * | 2012-06-08 | 2018-12-11 | Makerbot Industries, Llc | Downloadable three-dimensional models |
US20220055277A1 (en) * | 2012-10-29 | 2022-02-24 | Makerbot Industries, Llc | Tagged build material for three-dimensional printing |
US10354304B2 (en) * | 2013-03-15 | 2019-07-16 | Kemeera Inc. | Systems and methods for creating 3D objects |
US20140324204A1 (en) * | 2013-04-18 | 2014-10-30 | Massachusetts Institute Of Technology | Methods and apparati for implementing programmable pipeline for three-dimensional printing including multi-material applications |
US10191476B2 (en) * | 2013-06-26 | 2019-01-29 | Renishaw Plc | Method and apparatus for generating geometric data for use in additive manufacturing |
US9778636B2 (en) * | 2013-08-13 | 2017-10-03 | Siemens Product Lifecycle Management Software Inc. | Method for classifying and correlating simulation components to functional models |
US20150186555A1 (en) * | 2013-12-31 | 2015-07-02 | Dassault Systemes | Design of a Three-Dimensional Modeled Object |
US20150277811A1 (en) * | 2014-03-27 | 2015-10-01 | Electronics And Telecommunications Research Institute | Method for configuring information related to a 3d printer and method and apparatus for recommending a 3d printer |
US10078325B2 (en) * | 2014-05-06 | 2018-09-18 | Autodesk, Inc. | Systems and methods for designing programmable parts for models and optimizing 3D printing |
US20150321427A1 (en) * | 2014-05-06 | 2015-11-12 | Autodesk, Inc. | Systems and methods for designing programmable parts for models and optimizing 3d printing |
US20160092041A1 (en) * | 2014-09-29 | 2016-03-31 | Madesolid, Inc. | System and method to facilitate material selection for a three dimensional printing object |
US10654220B2 (en) * | 2014-10-09 | 2020-05-19 | Autodesk, Inc. | Multi-material three dimensional models |
US20160203138A1 (en) * | 2015-01-09 | 2016-07-14 | Jonathan FELDSCHUH | Systems and methods for generating analytics relating to entities |
US20160292578A1 (en) * | 2015-04-03 | 2016-10-06 | BigML, Inc. | Predictive modeling of data clusters |
US11385844B2 (en) * | 2020-07-22 | 2022-07-12 | Seiko Epson Corporation | Printing system and printing method |
Also Published As
Publication number | Publication date |
---|---|
EP3292487B1 (en) | 2022-10-05 |
US11003165B2 (en) | 2021-05-11 |
EP3292487A1 (en) | 2018-03-14 |
US20180017955A1 (en) | 2018-01-18 |
CN107206694A (en) | 2017-09-26 |
WO2016169614A1 (en) | 2016-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210240160A1 (en) | Three dimensional object data | |
US10416656B2 (en) | Control data for production of a three-dimensional object | |
US10668666B2 (en) | Color mapping in 3D printing | |
US10500790B2 (en) | Three-dimensional object substructures | |
US10401834B2 (en) | Generating control data for sub-objects | |
US10391709B2 (en) | 3D object data | |
EP3250973B1 (en) | Control data for generation of 3d objects | |
US10338568B2 (en) | Determining halftone schemes | |
US10424109B2 (en) | Three-dimensional object representation | |
US10809699B2 (en) | Method for generating three dimensional object models for an additive manufacturing process | |
US10694075B2 (en) | Color mapping resources determining characteristic of print coverage vectors in colorimetry partitions | |
US10569527B2 (en) | Three-dimensional object presentation | |
US11298883B2 (en) | Determining property mapping resources with property constraints in an additive manufacturing | |
US20210006687A1 (en) | Weighting functions which vary with intended area color values | |
US20220292319A1 (en) | Print agent coverage vectors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: APPLICATION DISPATCHED FROM PREEXAM, NOT YET DOCKETED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE |