WO2022071957A1 - Translating vertices of a 3d model of an object - Google Patents

Translating vertices of a 3d model of an object Download PDF

Info

Publication number
WO2022071957A1
WO2022071957A1 PCT/US2020/053801 US2020053801W WO2022071957A1 WO 2022071957 A1 WO2022071957 A1 WO 2022071957A1 US 2020053801 W US2020053801 W US 2020053801W WO 2022071957 A1 WO2022071957 A1 WO 2022071957A1
Authority
WO
WIPO (PCT)
Prior art keywords
model
vertex
reference point
subregion
translation vector
Prior art date
Application number
PCT/US2020/053801
Other languages
French (fr)
Inventor
Victor DIEGO GUTIERREZ
Cristina DOMINGUEZ MANCHADO
Manuel Freire Garcia
Original Assignee
Hewlett-Packard Development Company, L.P.
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 Company, L.P. filed Critical Hewlett-Packard Development Company, L.P.
Priority to PCT/US2020/053801 priority Critical patent/WO2022071957A1/en
Publication of WO2022071957A1 publication Critical patent/WO2022071957A1/en

Links

Classifications

    • 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
    • B33Y50/02Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B22CASTING; POWDER METALLURGY
    • B22FWORKING METALLIC POWDER; MANUFACTURE OF ARTICLES FROM METALLIC POWDER; MAKING METALLIC POWDER; APPARATUS OR DEVICES SPECIALLY ADAPTED FOR METALLIC POWDER
    • B22F10/00Additive manufacturing of workpieces or articles from metallic powder
    • B22F10/80Data acquisition or data processing
    • B22F10/85Data acquisition or data processing for controlling or regulating additive manufacturing processes

Definitions

  • Figure 1 illustrates an example method for modifying a 3D model of an object
  • Figure 2 is a perspective view of an example object printed using a 3D model
  • Figure 3 is a plan view of an example of a modified region of a 3D model
  • Figure 4 is a side view of two examples of a modified region of a 3D model in which vertices of the model within an outer subregion of the modified region are translated using (a) a linear function, and (b) an s-shaped function;
  • Figure 5 is a plan view of different examples of a modified region of a 3D model in which the model is modified based on measurements taken at (a) a single reference point, (b) two reference points, and (c) four reference points;
  • Figure 6 illustrates a further example method for modifying a 3D model of an object
  • Figure 7 is a block diagram of a computing device.
  • a 3D printing system may form an object based on a 3D model of the object.
  • geometric differences may arise between the model and the printed object.
  • the heat generated may cause the printed object to expand.
  • the printed object may also contract during subsequent cooling.
  • a geometric transformation may be applied to the model.
  • a scaling factor may be applied to the model to compensate for the expansion or contraction of the printed object.
  • geometric differences may continue to arise.
  • the expansion and/or contraction may generate internal stresses within the printed object that cause localized regions of the printed object to deform, e.g. warp.
  • Figure 1 illustrates an example method 100 for modifying a model of an object in order to compensate for localized deformation.
  • the method 100 comprises providing 110 a 3D model of an object.
  • the model may comprise a polygon mesh or other digital representation of the object in which surfaces of the object are represented by vertices.
  • the object is printed 120, at a 3D printing system, using the model.
  • Geometric differences are then determined 130 between the model and the printed object. Each geometric difference may be determined by measuring 131 a dimension of the printed object at a reference point. The measured dimension of the printed object may then be compared 132 against the corresponding dimension of the model. Each geometric difference therefore corresponds to a difference in a dimension measured at a reference point.
  • the number and location of the reference points and/or the dimensions may be determined based on observed local deformation of the printed object.
  • a user may determine the number and location of the reference points based on dimensions of the printed object that are observed to differ markedly from the model.
  • Figure 2 shows an example of a printed object 10.
  • dimensions 11 of the object 10 are measured at three reference points 12.
  • Each dimension 11 corresponds to a distance, measured at a respective reference point 12, between two opposing surfaces of the object 10.
  • the object 10 comprises a relatively thin portion that is poorly supported and may therefore deform (e.g. warp) during the forming process.
  • the dimension 11 at each reference point 12 within the model may be, say, 200 mm
  • the dimension measured at each reference point of the printed object may be, say, 210 mm, 195 mm and 205 mm.
  • the geometric differences are +10 mm, -5 mm and +5 mm.
  • the model is modified 140 based on the geometric differences. Modifying the model comprises translating vertices within a targeted region of the model. Each vertex with the region is translated by a translation vector that is defined by the geometric differences.
  • modifying the model may comprise generating 141 correction vectors based on the geometric differences and then translating 142 vertices of the model within the targeted region using the correction vectors.
  • a correction vector may be generated for each geometric difference.
  • the correction vector has a direction parallel to that of the measured dimension, and a magnitude defined by the geometric difference.
  • each of the illustrated dimensions 11 extend along the z- axis. Accordingly, each of the correction vectors has a direction or unit vector of (0,0, 1 ).
  • the correction vectors are therefore (0,0, -10mm), (0,0,+5mm) and (0,0, -5mm).
  • Vertices within a region of the model may then be modified using the correction vectors. More particularly, each vertex of the region may be translated by a translation vector that is defined by the correction vectors and by the position of the vertex within the region.
  • the region 30 of the model 20 to be modified comprises an inner subregion 31 and an outer subregion 32.
  • the inner subregion 31 is bounded by the reference points 12.
  • the outer subregion 32 surrounds the inner subregion 31.
  • the size and shape of the outer subregion 32 is defined by sweeping a circle of a given radius around the perimeter 33 of the inner subregion 31 .
  • the width of the outer subregion 32 i.e. the shortest distance between the inner perimeter 33 and the outer perimeter 34 of the outer subregion 32
  • the size and shape of the region 30 are therefore defined by the positions of the reference points 12, and the size of the radius of the circle.
  • the translation vector is defined by the correction vectors and the position of the vertex relative to each of the three reference points 12.
  • the translation vector corresponds to the correction vector for that reference point. Consequently, using the examples provided above, a vertex at the first reference point may be translated by (0,0, -10mm), a vertex at the second reference point may be translated by (0,0,+5mm), and a vertex at the third reference point may be translated by (0,0, -5mm).
  • the translation vector is defined by an interpolation of the three correction vectors according to the position of the vertex.
  • Vertices at the perimeter of the region 30 are not translated. Accordingly, the magnitude of the translation vector at the outer perimeter 34 of the outer subregion is zero.
  • the magnitude of the translation vector at the inner perimeter 33 of the outer subregion 32 i.e. at the perimeter of the inner subregion 31
  • the outer subregion 32 may therefore be regarded of as a transition region in which the magnitude of the translation vector decreases from a non-zero value at the inner perimeter 33 (i.e. at the perimeter of the inner subregion 31 ) to zero at the outer perimeter 34 (i.e. at the perimeter of the region 30).
  • the magnitude of the translation vector within the outer subregion 32 varies as a function of the position of the vertex relative to the inner and outer perimeters 33,34.
  • the function may be linear, which is to say that the magnitude of the translation vector may vary linearly from a nonzero value at the inner perimeter 33 to zero at the outer perimeter 34.
  • a linear function may, however, introduce relatively sharp transitions in the surfaces of the model 20 at the inner perimeter 33 and/or at the outer perimeter 34 of the outer subregion 32. These relatively sharp transitions may create visible artefacts in the printed object.
  • the function employed in the outer subregion 32 may be non-linear, which is to say that the magnitude of the translation vector may vary in a non-linear way from the non-zero value at the inner perimeter 33 to zero at the outer perimeter 34.
  • the function may be s-shaped and may have a maximum value at the inner perimeter 33 and a minimum value (i.e. zero) at the outer perimeter 34.
  • Suitable s-shaped functions include sigmoid functions and the sine function (over the interval -TT/2 to +TT/2).
  • Figure 4 illustrates a surface of a modified model in which the magnitude of the translation vector in the outer subregion 32 varies (a) as a linear function of the position of the vertex, and (b) as an s-shaped function of the position of the vertex. It can be seen that, where a linear function is employed ( Figure 4(a)), relatively sharp transitions are created at the inner perimeter 33 and at the outer perimeter 34, as indicated by the arrows. By contrast, where an s-shaped function is employed ( Figure 4(b)), transitions in the surface of the model at the inner and outer perimeters 33,34 are smoother and therefore visible artefacts in the printed object are less likely.
  • the region 30 of the model 20 being modified may be divided into various sections.
  • the translation vector is defined as a function of three correction vectors.
  • the translation vector may be defined as the barycentric sum of the three correction vectors based on the barycentric co-ordinates of the vertex.
  • the translation vector is defined as a function of two correction vectors, together with the position of the vertex relative to the inner and outer perimeters 33,34.
  • the translation vector is defined as a function of just one of the correction vectors, together with the position of the vertex relative to the inner and outer perimeters 33,34.
  • a region of the model is modified based on measurements taken at three reference points.
  • the model may be modified using fewer or additional reference points.
  • Figure 5 shows examples in which a model is modified using measurements taken at (a) a single reference point, (b) two reference points, and (c) four reference points.
  • the region being modified comprises just one section of type C
  • the region comprises two sections of type B and two sections of type C.
  • the inner subregion 31 comprises two sections of type A
  • the outer subregion 32 comprises four sections of type B and four sections of type C.
  • the sections of the inner subregion may be defined using Delaunay triangulation, with the reference points forming the nodes of the triangulation.
  • vertices within a region of a 3D model are translated in order to compensate for localized deformation of a printed object.
  • the modified model does not necessarily prevent localized deformation from occurring.
  • greater dimensional accuracy may be achieved.
  • a single region of the model is modified.
  • additional regions of the model may be modified.
  • a measured dimension may extend between a reference point of a first region and a reference point of a second region.
  • the magnitude of the correction vector for each reference point is then one half of the measured geometric difference.
  • one half of the correction is applied to the first region and the other half is applied to the second region.
  • the correction may be applied to just the lower of the opposing surfaces.
  • the correction may be applied partly to the lower surface and partly to the upper surface. Although local deformation of the upper surface is unlikely in this particular example, applying a correction to the upper surface results in a smaller correction being applied to the lower surface and thus visible artefacts in the printed object may be less likely.
  • the outer subregion is defined by a circle of a given radius that is swept around the perimeter of the inner subregion.
  • the radius of the circle therefore defines the width of the outer subregion over which the magnitude of the translation vector transitions from a non-zero value at the inner perimeter to zero at the outer perimeter.
  • a relatively small radius may therefore result in relatively sharp transitions at the inner and outer perimeters of the outer subregion, which may in turn introduce visible artefacts in the printed object.
  • a relatively larger radius may encompass vertices of the model that are ideally not translated. Accordingly, the radius may be defined according to the particular geometry of the object.
  • the outer subregion By defining the outer subregion by a circle that is swept around the perimeter of the inner subregion, the outer perimeter of the outer subregion is devoid of sharp edges which might otherwise introduce visible artefacts into the printed object; this can be seen, for example, in Figures 3 and 5. Nevertheless, the outer subregion may be defined in other ways. For example, the outer perimeter of the outer subregion may have the same shape (albeit larger) as the inner perimeter. Alternatively, the shape or width of the outer subregion may be irregular and may be defined by the particular geometry of the object.
  • Figure 6 illustrates an arrangement in which the method is performed by a first system and a second system located remotely from the first system.
  • the object is printed 120 using the model at the first system, e.g. using a 3D printer forming part of the first system.
  • a dimension of the printed object is then measured 131 at a reference point.
  • the model and the measurement are then sent 150 from the first system to the second system.
  • the second system receives 160 the model and the measurement from the first system, and determines 132 a geometric difference between the model and the printed object based on the received measurement.
  • the second system modifies 140 the model using the geometric difference to generate a modified model, and sends 170 the modified model to the first system.
  • the first system 180 receives the modified model, and objects are subsequently printed 190 using the modified model.
  • an object may be printed at a first location using a first system, and the task of modifying the model may be performed at a different location using a different system.
  • This arrangement may therefore be used by manufacturers of 3D printing systems or third parties in order to modify models as a service to its customers. For example, a customer may print an object and then send the model together with measurements of the printed object to the manufacturer, and the manufacturer may in return deliver a modified model to the customer.
  • the example methods described above may be performed partly by a computing device, such as that shown in Figure 7.
  • the second system may comprise a computing device of the type shown in Figure 7.
  • the computing device 50 of Figure 7 comprises a processor 51 , a non-transitory storage medium 52, and an input/output interface 53.
  • the processor 51 is responsible for controlling the operation of the computing device 50 and executes an instruction set 54 stored in the storage medium 52.
  • the instruction set 54 causes the computing device 50 to perform part of the example methods described above.
  • the instruction set 54 may cause the computing device 50 to receive at the interface 21 a model and a measurement, and modify at the processor 51 the model using the received measurement.
  • the processor 51 may determine a geometric difference based on the received measurement, and then translate vertices of the model by a translation vector defined by the geometric difference.

Landscapes

  • Chemical & Material Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Materials Engineering (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Optics & Photonics (AREA)
  • Image Processing (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

A method is described in which vertices of a region of a 3D model of an object are translated. Each vertex is translated by a respective translation vector defined by a position of the vertex relative to a reference point within the region.

Description

TRANSLATING VERTICES OF A 3D MODEL OF AN OBJECT
BACKGROUND
[0001] When an object is formed by 3D printing, geometric differences may arise between the printed object and the 3D model. In order to compensate for these differences, a geometric transformation may be applied to the model prior to printing.
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] Figure 1 illustrates an example method for modifying a 3D model of an object;
[0003] Figure 2 is a perspective view of an example object printed using a 3D model;
[0004] Figure 3 is a plan view of an example of a modified region of a 3D model;
[0005] Figure 4 is a side view of two examples of a modified region of a 3D model in which vertices of the model within an outer subregion of the modified region are translated using (a) a linear function, and (b) an s-shaped function;
[0006] Figure 5 is a plan view of different examples of a modified region of a 3D model in which the model is modified based on measurements taken at (a) a single reference point, (b) two reference points, and (c) four reference points;
[0007] Figure 6 illustrates a further example method for modifying a 3D model of an object; and
[0008] Figure 7 is a block diagram of a computing device.
DETAILED DESCRIPTION
[0009] A 3D printing system may form an object based on a 3D model of the object. When the object is formed, geometric differences may arise between the model and the printed object. For example, where the object is formed by thermal fusing, the heat generated may cause the printed object to expand. The printed object may also contract during subsequent cooling. [0010] In order to compensate for these differences, a geometric transformation may be applied to the model. For example, a scaling factor may be applied to the model to compensate for the expansion or contraction of the printed object. Despite the application of a scaling factor, geometric differences may continue to arise. For example, the expansion and/or contraction may generate internal stresses within the printed object that cause localized regions of the printed object to deform, e.g. warp.
[0011] Figure 1 illustrates an example method 100 for modifying a model of an object in order to compensate for localized deformation.
[0012] The method 100 comprises providing 110 a 3D model of an object. The model may comprise a polygon mesh or other digital representation of the object in which surfaces of the object are represented by vertices.
[0013] The object is printed 120, at a 3D printing system, using the model. [0014] Geometric differences are then determined 130 between the model and the printed object. Each geometric difference may be determined by measuring 131 a dimension of the printed object at a reference point. The measured dimension of the printed object may then be compared 132 against the corresponding dimension of the model. Each geometric difference therefore corresponds to a difference in a dimension measured at a reference point.
[0015] The number and location of the reference points and/or the dimensions may be determined based on observed local deformation of the printed object. In one example, a user may determine the number and location of the reference points based on dimensions of the printed object that are observed to differ markedly from the model.
[0016] Figure 2 shows an example of a printed object 10. In this example, dimensions 11 of the object 10 are measured at three reference points 12. Each dimension 11 corresponds to a distance, measured at a respective reference point 12, between two opposing surfaces of the object 10. In this example, the object 10 comprises a relatively thin portion that is poorly supported and may therefore deform (e.g. warp) during the forming process.
[0017] In the particular example of Figure 2, the dimension 11 at each reference point 12 within the model may be, say, 200 mm, and the dimension measured at each reference point of the printed object may be, say, 210 mm, 195 mm and 205 mm. As a result, the geometric differences are +10 mm, -5 mm and +5 mm.
[0018] Returning to Figure 1 , the model is modified 140 based on the geometric differences. Modifying the model comprises translating vertices within a targeted region of the model. Each vertex with the region is translated by a translation vector that is defined by the geometric differences.
[0019] In one example, modifying the model may comprise generating 141 correction vectors based on the geometric differences and then translating 142 vertices of the model within the targeted region using the correction vectors.
[0020] A correction vector may be generated for each geometric difference. The correction vector has a direction parallel to that of the measured dimension, and a magnitude defined by the geometric difference. In the particular example of Figure 2, each of the illustrated dimensions 11 extend along the z- axis. Accordingly, each of the correction vectors has a direction or unit vector of (0,0, 1 ). Using the example geometric differences provided above, the correction vectors are therefore (0,0, -10mm), (0,0,+5mm) and (0,0, -5mm).
[0021] Vertices within a region of the model may then be modified using the correction vectors. More particularly, each vertex of the region may be translated by a translation vector that is defined by the correction vectors and by the position of the vertex within the region.
[0022] Referring now to Figure 3, the region 30 of the model 20 to be modified comprises an inner subregion 31 and an outer subregion 32. The inner subregion 31 is bounded by the reference points 12. In this particular example, there are three reference points 12 and therefore the inner subregion 31 is triangular in shape. The outer subregion 32 surrounds the inner subregion 31. The size and shape of the outer subregion 32 is defined by sweeping a circle of a given radius around the perimeter 33 of the inner subregion 31 . As a result, the width of the outer subregion 32 (i.e. the shortest distance between the inner perimeter 33 and the outer perimeter 34 of the outer subregion 32) is uniform and corresponds to the radius of the circle. The size and shape of the region 30 are therefore defined by the positions of the reference points 12, and the size of the radius of the circle.
[0023] Within the inner subregion 31 , the translation vector is defined by the correction vectors and the position of the vertex relative to each of the three reference points 12. At each reference point 12, the translation vector corresponds to the correction vector for that reference point. Consequently, using the examples provided above, a vertex at the first reference point may be translated by (0,0, -10mm), a vertex at the second reference point may be translated by (0,0,+5mm), and a vertex at the third reference point may be translated by (0,0, -5mm). At all other positions within the inner subregion 31 , the translation vector is defined by an interpolation of the three correction vectors according to the position of the vertex. In one example, the translation vector may be defined as the barycentric sum of the three correction vectors based on the barycentric co-ordinates of the vertex: VT = A1.V1 + A2.V2 + A3.V3, where VT is the translation vector, Vi is the correction vector at reference point i and Ai is the barycentric co-ordinate of the vertex.
[0024] Vertices at the perimeter of the region 30 are not translated. Accordingly, the magnitude of the translation vector at the outer perimeter 34 of the outer subregion is zero. By contrast, the magnitude of the translation vector at the inner perimeter 33 of the outer subregion 32 (i.e. at the perimeter of the inner subregion 31 ) is non-zero. The outer subregion 32 may therefore be regarded of as a transition region in which the magnitude of the translation vector decreases from a non-zero value at the inner perimeter 33 (i.e. at the perimeter of the inner subregion 31 ) to zero at the outer perimeter 34 (i.e. at the perimeter of the region 30).
[0025] The magnitude of the translation vector within the outer subregion 32 varies as a function of the position of the vertex relative to the inner and outer perimeters 33,34. In one example, the function may be linear, which is to say that the magnitude of the translation vector may vary linearly from a nonzero value at the inner perimeter 33 to zero at the outer perimeter 34. A linear function may, however, introduce relatively sharp transitions in the surfaces of the model 20 at the inner perimeter 33 and/or at the outer perimeter 34 of the outer subregion 32. These relatively sharp transitions may create visible artefacts in the printed object. Accordingly, the function employed in the outer subregion 32 may be non-linear, which is to say that the magnitude of the translation vector may vary in a non-linear way from the non-zero value at the inner perimeter 33 to zero at the outer perimeter 34. In some examples, the function may be s-shaped and may have a maximum value at the inner perimeter 33 and a minimum value (i.e. zero) at the outer perimeter 34. Suitable s-shaped functions include sigmoid functions and the sine function (over the interval -TT/2 to +TT/2).
[0026] Figure 4 illustrates a surface of a modified model in which the magnitude of the translation vector in the outer subregion 32 varies (a) as a linear function of the position of the vertex, and (b) as an s-shaped function of the position of the vertex. It can be seen that, where a linear function is employed (Figure 4(a)), relatively sharp transitions are created at the inner perimeter 33 and at the outer perimeter 34, as indicated by the arrows. By contrast, where an s-shaped function is employed (Figure 4(b)), transitions in the surface of the model at the inner and outer perimeters 33,34 are smoother and therefore visible artefacts in the printed object are less likely.
[0027] Returning to Figure 3, the region 30 of the model 20 being modified may be divided into various sections. In sections of a first type, which are labelled A, the translation vector is defined as a function of three correction vectors. For example, the translation vector may be defined as the barycentric sum of the three correction vectors based on the barycentric co-ordinates of the vertex. In sections of a second type, which are labelled B, the translation vector is defined as a function of two correction vectors, together with the position of the vertex relative to the inner and outer perimeters 33,34. Finally, in sections of the third type, which are labelled C, the translation vector is defined as a function of just one of the correction vectors, together with the position of the vertex relative to the inner and outer perimeters 33,34.
[0028] In the example described above, a region of the model is modified based on measurements taken at three reference points. However, the model may be modified using fewer or additional reference points. By way of example, Figure 5 shows examples in which a model is modified using measurements taken at (a) a single reference point, (b) two reference points, and (c) four reference points. It can be seen that, in the example of Figure 5(a), the region being modified comprises just one section of type C, whereas in the example of Figure 5(b), the region comprises two sections of type B and two sections of type C. In the example of Figure 5(c), the inner subregion 31 comprises two sections of type A, and the outer subregion 32 comprises four sections of type B and four sections of type C. The sections of the inner subregion may be defined using Delaunay triangulation, with the reference points forming the nodes of the triangulation.
[0029] With the method described above, vertices within a region of a 3D model are translated in order to compensate for localized deformation of a printed object. The modified model does not necessarily prevent localized deformation from occurring. However, by translating vertices within a targeted region of the model, greater dimensional accuracy may be achieved.
[0030] In the example described above, a single region of the model is modified. However, additional regions of the model may be modified. Moreover, a measured dimension may extend between a reference point of a first region and a reference point of a second region. The magnitude of the correction vector for each reference point is then one half of the measured geometric difference. As a result, one half of the correction is applied to the first region and the other half is applied to the second region. By dividing the correction in this way, the correction applied to any one surface is reduced and thus the likelihood of visible artefacts being introduced by the correction may be reduced. So, for example, in the example of Figure 2, the correction may be applied to just the lower of the opposing surfaces. Alternatively, the correction may be applied partly to the lower surface and partly to the upper surface. Although local deformation of the upper surface is unlikely in this particular example, applying a correction to the upper surface results in a smaller correction being applied to the lower surface and thus visible artefacts in the printed object may be less likely.
[0031] As noted above, the outer subregion is defined by a circle of a given radius that is swept around the perimeter of the inner subregion. The radius of the circle therefore defines the width of the outer subregion over which the magnitude of the translation vector transitions from a non-zero value at the inner perimeter to zero at the outer perimeter. A relatively small radius may therefore result in relatively sharp transitions at the inner and outer perimeters of the outer subregion, which may in turn introduce visible artefacts in the printed object. A relatively larger radius, on the other hand, may encompass vertices of the model that are ideally not translated. Accordingly, the radius may be defined according to the particular geometry of the object.
[0032] By defining the outer subregion by a circle that is swept around the perimeter of the inner subregion, the outer perimeter of the outer subregion is devoid of sharp edges which might otherwise introduce visible artefacts into the printed object; this can be seen, for example, in Figures 3 and 5. Nevertheless, the outer subregion may be defined in other ways. For example, the outer perimeter of the outer subregion may have the same shape (albeit larger) as the inner perimeter. Alternatively, the shape or width of the outer subregion may be irregular and may be defined by the particular geometry of the object.
[0033] The example method described above may be performed at a single location, perhaps with a single system. Alternatively, the method may be performed by different systems located at different locations. By way of example, Figure 6 illustrates an arrangement in which the method is performed by a first system and a second system located remotely from the first system. The object is printed 120 using the model at the first system, e.g. using a 3D printer forming part of the first system. A dimension of the printed object is then measured 131 at a reference point. The model and the measurement are then sent 150 from the first system to the second system. The second system receives 160 the model and the measurement from the first system, and determines 132 a geometric difference between the model and the printed object based on the received measurement. The second system then modifies 140 the model using the geometric difference to generate a modified model, and sends 170 the modified model to the first system. The first system 180 receives the modified model, and objects are subsequently printed 190 using the modified model. [0034] With the particular arrangement shown in Figure 6, an object may be printed at a first location using a first system, and the task of modifying the model may be performed at a different location using a different system. This arrangement may therefore be used by manufacturers of 3D printing systems or third parties in order to modify models as a service to its customers. For example, a customer may print an object and then send the model together with measurements of the printed object to the manufacturer, and the manufacturer may in return deliver a modified model to the customer.
[0035] The example methods described above may be performed partly by a computing device, such as that shown in Figure 7. For example, in the arrangement shown in Figure 6, the second system may comprise a computing device of the type shown in Figure 7. The computing device 50 of Figure 7 comprises a processor 51 , a non-transitory storage medium 52, and an input/output interface 53. The processor 51 is responsible for controlling the operation of the computing device 50 and executes an instruction set 54 stored in the storage medium 52. When executed by the processor 51 , the instruction set 54 causes the computing device 50 to perform part of the example methods described above. For example, when executed, the instruction set 54 may cause the computing device 50 to receive at the interface 21 a model and a measurement, and modify at the processor 51 the model using the received measurement. In modifying the model, the processor 51 may determine a geometric difference based on the received measurement, and then translate vertices of the model by a translation vector defined by the geometric difference. [0036] The preceding description has been presented to illustrate and describe examples of the principles described. This description is not intended to be exhaustive or to limit these principles to any precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is to be understood that any feature described in relation to any one example may be used alone, or in combination with other features described, and may also be used in combination with any features of any other of the examples, or any combination of any other of the examples.

Claims

9 CLAIMS What is claimed is:
1 . A method comprising: translating vertices of a region of a 3D model of an object, each vertex being translated by a respective translation vector defined by a position of the vertex relative to a reference point within the region.
2. A method as claimed in claim 1 , wherein a magnitude of the translation vector is non-zero for a vertex at the reference point, and zero for a vertex at a perimeter of the region.
3. A method as claimed in claim 2, wherein the magnitude of the translation vector for a vertex at a position between the reference point and the perimeter varies a function of the position of the vertex between the non-zero and zero values.
4. A method as claimed in claim 3, wherein the function is s-shaped.
5. A method as claimed in claim 1 , wherein the translation vector is defined by a geometric difference between the model and an object printed using the model, the geometric difference being measured at the reference point.
6. A method as claimed in claim 5, wherein the method comprises defining a correction vector based on the geometric difference, and the translation vector for a vertex at the reference point corresponds to the correction vector.
7. A method as claimed in claim 6, wherein the geometric difference corresponds to a difference in a dimension, measured at the reference point, between the model and the printed object, and the correction vector has a direction parallel to the dimension and a magnitude proportional to the geometric difference.
8. A method as claimed in claim 1 , wherein the translation vector is defined by the position of the vertex relative to a plurality of reference points within the region.
9. A method as claimed in claim 8, wherein the translation vector for a vertex at each reference point corresponds to a correction vector, and the translation vector for a vertex within a subregion bounded by the reference points is defined by an interpolation of the correction vectors.
10. A method as claimed in claim 9, wherein the translation vector for a vertex within the subregion is defined by a barycentric sum of the correction vectors based on barycentric co-ordinates of the vertex.
11. A method as claimed in claim 1 , wherein the region comprises an inner subregion and an outer subregion that surrounds the inner subregion, and a magnitude of the translation vector is non-zero for vertices within the inner subregion, and varies as a function of position for vertices within the outer subregion between a non-zero value at an inner perimeter of the outer subregion and zero at an outer perimeter of the outer subregion.
12. A method as claimed in claim 11 , wherein the outer subregion is defined by a circle swept around a perimeter of the inner subregion.
13. A method as claimed in claim 1 , wherein the method comprises: receiving the model and a measurement from a remote system, the measurement corresponding to a measure at the reference point of a dimension of an object printed using the model; determining a geometric difference between the model and the printed object based on the received measurement; translating vertices of the region of the model to generate a modified model, each vertex being translated by a respective translation vector defined by 11 the geometric difference and a position of the vertex relative to the reference point; and sending the modified model to the remote system.
14. A method comprising: receiving dimensional data relating to a 3D printed object; and modifying a 3D model used to generate the 3D printed object by translating vertices of the 3D model, wherein each vertex is translated by a respective translation vector defined by a position of the vertex relative to a reference point and by a geometric difference between the 3D model and the 3D printed object at the reference point, the geometric difference being defined by the dimensional data.
15. A non-transitory storage medium storing instructions that, when executed by a processor of a computing device, cause the computing device to translate vertices of a region of a 3D model of an object, each vertex being translated by a respective translation vector defined by a position of the vertex relative to a reference point within the region.
PCT/US2020/053801 2020-10-01 2020-10-01 Translating vertices of a 3d model of an object WO2022071957A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2020/053801 WO2022071957A1 (en) 2020-10-01 2020-10-01 Translating vertices of a 3d model of an object

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2020/053801 WO2022071957A1 (en) 2020-10-01 2020-10-01 Translating vertices of a 3d model of an object

Publications (1)

Publication Number Publication Date
WO2022071957A1 true WO2022071957A1 (en) 2022-04-07

Family

ID=80950713

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2020/053801 WO2022071957A1 (en) 2020-10-01 2020-10-01 Translating vertices of a 3d model of an object

Country Status (1)

Country Link
WO (1) WO2022071957A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180086045A1 (en) * 2015-04-28 2018-03-29 Hewlett-Packard Development Company, L.P. Combining structures in a three-dimensional object
JP2019018446A (en) * 2017-07-14 2019-02-07 大日本印刷株式会社 Data output regulating device for three-dimensional object molding
US20200143006A1 (en) * 2018-11-02 2020-05-07 lnkbit, LLC Intelligent additive manufacturing
WO2020159508A1 (en) * 2019-01-31 2020-08-06 Hewlett-Packard Development Company, L.P. Geometrical compensations for additive manufacturing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180086045A1 (en) * 2015-04-28 2018-03-29 Hewlett-Packard Development Company, L.P. Combining structures in a three-dimensional object
JP2019018446A (en) * 2017-07-14 2019-02-07 大日本印刷株式会社 Data output regulating device for three-dimensional object molding
US20200143006A1 (en) * 2018-11-02 2020-05-07 lnkbit, LLC Intelligent additive manufacturing
WO2020159508A1 (en) * 2019-01-31 2020-08-06 Hewlett-Packard Development Company, L.P. Geometrical compensations for additive manufacturing

Similar Documents

Publication Publication Date Title
Balzer et al. Principles of shape from specular reflection
Beaubier et al. CAD-based calibration and shape measurement with stereoDIC: Principle and application on test and industrial parts
JP4737668B2 (en) 3D measurement method and 3D measurement system
Usamentiaga et al. Multi-camera calibration for accurate geometric measurements in industrial environments
US20180338135A1 (en) Information processing apparatus, method, and storage medium
JP6489061B2 (en) Thinning detection system, thinning detection method
CN110570512B (en) Additive manufacturing including a compensation modeling method using shape transformation
US7295202B2 (en) System for approximating and displaying three dimensional CAD data, and system for executing method thereof
CN110337362B (en) Additive manufacturing
CN102763132A (en) Three-dimensional measurement apparatus, processing method, and non-transitory computer-readable storage medium
EP1505822B9 (en) Method and system for controlling out-of-gamut colors
US20230036219A1 (en) 3d reconstruction with smooth maps
WO2022071957A1 (en) Translating vertices of a 3d model of an object
US8451521B2 (en) Finding a locus of colorant formulations that produces a desired color
Dubreuil et al. Mesh-Based Shape Measurements with Stereocorrelation: Principle and First Results
KR20160126722A (en) Method and apparatus for fusing a plurality of data being able to have correlation or uncertainty
Mörwald et al. Modeling connected regions in arbitrary planar point clouds by robust B-spline approximation
Gayton et al. Evaluating parametric uncertainty using non-linear regression in fringe projection
US20230051312A1 (en) Displacement maps
Morovic et al. Non–iterative minimum ΔE gamut clipping
CN113869345A (en) Method and computer program product for filtering a measurement data set
Tastl et al. An efficient high quality color transformation
US20240029221A1 (en) Systems for Spatially Coherent UV Packing
EP4092560A1 (en) A method for three-dimensional printing with surface dithering, a computer program product and a 3d printing device
JP7459314B2 (en) Method and apparatus for using and creating multidimensional property maps for controlling and regulating technical devices

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20956438

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20956438

Country of ref document: EP

Kind code of ref document: A1