US20210240160A1 - Three dimensional object data - Google Patents

Three dimensional object data Download PDF

Info

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
Application number
US17/235,597
Inventor
Jan Morovic
Peter Morovic
Juan Manuel Garcia Reyero Vinas
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Priority to US17/235,597 priority Critical patent/US20210240160A1/en
Publication of US20210240160A1 publication Critical patent/US20210240160A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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/4097Numerical 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/4099Surface or curve machining, making 3D objects, e.g. desktop manufacturing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING 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/00Additive 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/30Auxiliary operations or equipment
    • B29C64/386Data acquisition or data processing for additive manufacturing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE 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/00Data acquisition or data processing for additive manufacturing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00795Reading arrangements
    • H04N1/00827Arrangements for reading an image from an unusual original, e.g. 3-dimensional objects
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/351343-D cad-cam
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/49Nc machine tool, till multiple
    • G05B2219/490233-D printing, layer of powder, add drops of binder in layer, new powder
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/18Manufacturability analysis or optimisation for manufacturability
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total 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

Apparatus and methods for transforming three dimensional object data are disclosed. In some examples, data representing a three dimensional object is received, the data comprising object property data indicative of at least one attribute 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, each object property data object comprising a value indicative of each of a predetermined set of object properties.

Description

    BACKGROUND
  • 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.
  • BRIEF DESCRIPTION OF DRAWINGS
  • 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.
  • DETAILED DESCRIPTION
  • 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 of FIG. 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. In block 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 in FIG. 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, in block 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. In block 306, print apparatus data, which is indicative of the capabilities of a particular print apparatus is received. In block 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 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. In this example, 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.
  • 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 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. 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 generate control data 412 from the print material coverage specification, the control data 412 being for the production of a three dimensional object. In this example, the control data module 406 comprises a halftone 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 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). 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 to FIG. 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 the processor 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)

1. A system to process jobs for additive manufacture of three-dimensional objects, the system comprising:
a processing apparatus to receive job data specifying an object to be produced by additive manufacture and generate control data for output to a particular additive manufacturing system to produce the specified object; and
an interface of the processing apparatus structured to receive job data comprising a device independent object property data object, the data object including a listing of values that specify desired attributes of the object to be produced, the listing of values of different desired attributes conforming to a common data object structure that specifies an order of the different attributes specified in the listing.
2. The system of claim 1, wherein the common data object structure further specifies units for each value in the listing.
3. The system of claim 1, wherein the common data object structure further specifies that the listing begin with a number of values specifying a color of the object to be produced.
4. The system of claim 1, wherein the common data object structure further specifies that the listing includes values for color, density, stiffness, conductivity and opacity.
5. The system of claim 1, wherein the common data object structure further specifies that the listing includes values for color, density, stiffness, conductivity and opacity in that order.
6. The system of claim 4, wherein the common data object structure further specifies that the listing including values for elasticity, surface roughness and porosity.
7. The system of claim 1, wherein the processing apparatus is to insert a default value for any attribute of the listing for which no value is specified in the received job data.
8. The system of claim 1, wherein the processing apparatus is to:
determine apparatus capabilities for a specific additive manufacturing system to receive the control data; and
evaluate whether the specific additive manufacturing system can produce the desired attributes specified in the device independent object property data object.
9. The system of claim 1, wherein the processing apparatus is to:
determine apparatus capabilities for a specific additive manufacturing system to receive the control data; and
convert the listing into control data matching the capabilities of the specific additive manufacturing system.
10. The system of claim 1, wherein the common data object structure specifies a bit depth for values for each attribute in the listing.
11. The system of claim 1, wherein the processing apparatus comprises a mapping module to identify a value for the listing based on at least one of resolution to which the value is specified and frequency with which the value at a given resolution is contained within the device independent object property data object.
12. A method to process jobs for additive manufacture of three-dimensional objects, the system comprising:
receiving job data specifying an object to be produced by additive manufacture; and
generating control data for output to a particular additive manufacturing system to produce the specified object;
the job data comprising a device independent object property data object, the data object including a listing of values that specify desired attributes of the object to be produced, the listing of values of different desired attributes conforming to a common data object structure that specifies an order of the different attributes specified in the listing.
13. The method of claim 12, wherein the common data object structure further specifies units for each value in the listing.
14. The method of claim 12, wherein the common data object structure further specifies that the listing begin with a number of values specifying a color of the object to be produced.
15. The method of claim 12, wherein the common data object structure further specifies that the listing includes values for color, density, stiffness, conductivity and opacity in that order.
16. The method of claim 15, wherein the common data object structure further specifies that the listing including values for elasticity, surface roughness and porosity.
17. The method of claim 12, further comprising inserting insert a default value for any attribute of the listing for which no value is specified in the received job data.
18. The method of claim 12, further comprising:
determining apparatus capabilities for a specific additive manufacturing system to receive the control data; and
converting the listing into control data matching the capabilities of the specific additive manufacturing system.
19. The method of claim 12, wherein the common data object structure specifies a bit depth for values for each attribute in the listing.
20. The method of claim 12, further comprising identifying a value for the listing based on at least one of resolution to which the value is specified and frequency with which the value at a given resolution is contained within the device independent object property data object.
US17/235,597 2015-04-24 2021-04-20 Three dimensional object data Abandoned US20210240160A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (33)

* Cited by examiner, † Cited by third party
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