WO2022071957A1 - Translating vertices of a 3d model of an object - Google Patents
Translating vertices of a 3d model of an object Download PDFInfo
- 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
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B33—ADDITIVE MANUFACTURING TECHNOLOGY
- B33Y—ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- B33Y50/00—Data acquisition or data processing for additive manufacturing
- B33Y50/02—Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B29—WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
- B29C—SHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
- B29C64/00—Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
- B29C64/30—Auxiliary operations or equipment
- B29C64/386—Data acquisition or data processing for additive manufacturing
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B33—ADDITIVE MANUFACTURING TECHNOLOGY
- B33Y—ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- B33Y50/00—Data acquisition or data processing for additive manufacturing
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B22—CASTING; POWDER METALLURGY
- B22F—WORKING METALLIC POWDER; MANUFACTURE OF ARTICLES FROM METALLIC POWDER; MAKING METALLIC POWDER; APPARATUS OR DEVICES SPECIALLY ADAPTED FOR METALLIC POWDER
- B22F10/00—Additive manufacturing of workpieces or articles from metallic powder
- B22F10/80—Data acquisition or data processing
- B22F10/85—Data 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
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.
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)
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 |
-
2020
- 2020-10-01 WO PCT/US2020/053801 patent/WO2022071957A1/en active Application Filing
Patent Citations (4)
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 |