Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
MIXED SHEET EXTENSION
Document Type and Number:
WIPO Patent Application WO/2022/265637
Kind Code:
A1
Abstract:
A computer-implemented method of extending a mixed sheet within a B-rep model is described. The mixed sheet comprises surfaces having different geometries, such as a mesh positioned between first and second classical geometry surfaces. A first guide curve is defined, located at the boundary of a first surface for a length corresponding to the desired mixed sheet extension adjacent the first surface. A second guide curve may also be defined, located at the boundary of a second surface for a length corresponding to the desired mixed sheet extension adjacent the second surface. At least one extension mesh rung is created by generating facets between the two external mesh vertices using first and second extension vectors, wherein the first extension vector has a pre-determined spatial relationship to the first guide curve. If included, the second extension vector has a pre-determined spatial relationship to the second guide curve.

Inventors:
LYONS ALEX (GB)
CASE TIMOTHY (US)
COLLINS RICHARD (GB)
NANSON PETER (GB)
Application Number:
PCT/US2021/037777
Publication Date:
December 22, 2022
Filing Date:
June 17, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS IND SOFTWARE INC (US)
International Classes:
G06T17/20
Other References:
LIU YU-SHEN ET AL: "Mesh blending", VISUAL COMPUTER, vol. 21, no. 11, 1 October 2005 (2005-10-01), DE, pages 915 - 927, XP055890306, ISSN: 0178-2789, Retrieved from the Internet DOI: 10.1007/s00371-005-0306-2
"Proceedings of the 21st International Meshing Roundtable", 1 January 2013, SPRINGER BERLIN HEIDELBERG, Berlin, Heidelberg, ISBN: 978-3-642-33573-0, article MUKHERJEE NILANJAN ET AL: "Automatic Hexahedral Sweep Mesh Generation of Open Volumes", pages: 333 - 347, XP055890408, DOI: 10.1007/978-3-642-33573-0_20
FERRARI GIACOMO ET AL: "An extended B-Rep solid modeling kernel integrating mesh and NURBS faces", COMPUTER-AIDED DESIGN AND APPLICATIONS, vol. 15, no. 5, 3 September 2018 (2018-09-03), pages 697 - 706, XP055890166, Retrieved from the Internet DOI: 10.1080/16864360.2018.1441237
Attorney, Agent or Firm:
LEITENBERGER, Bryan (US)
Download PDF:
Claims:
CLAIMS

1. A computer-implemented method of extending a mixed sheet comprising at least one mesh and one alternative geometry surface in a mixed-geometry model, wherein the mesh boundary' to be extended comprises a row of n facets separated by n- 1 interior vertices and located between two external mesh vertices, and wherein one or both of the external mesh vertices is adjacent to a surface having a different geometry to the mesh, the method comprising the steps of: defining a first guide curve located at the boundary of the first surface for a length corresponding to the desired mixed sheet extension adjacent the first surface; and creating at least one extension mesh rung by generating facets between the two external mesh vertices using first and second extension vectors, wherein the first extension vector has a pre-determined spatial relationship to the first guide curve.

2. Method as claimed in claim 1, further comprising the step of: defining a second guide curve located at the boundary of the second surface for a length corresponding to the desired mixed sheet extension adjacent the second surface, wherein the second extension vector has a pre-determined spatial relationship to the second guide curve.

3. Method as claimed in claim 2, wherein the pre-determined spatial relationship comprises: the first extension vector laying at an angle a to a tangent of the first guide curve, and the second extension vector laying at an angle b to a tangent of the second guide curve, and wherein the directions of the first and second extension vectors are guided by the first and second guide curves, respectively.

4. Method as claimed in claim 3, wherein the n- 1 interior mesh vertices are extended along the mesh rung by n-1 interpolated mesh vectors, wherein facets are generated along the interpolated mesh vectors, and wherein the angle of each interpolated mesh vector to its corresponding interior mesh vertex is a weighted average of a and b.

5. Method as claimed in claim 4, wherein the weighting is determined by the distance of the interpolated extension vector from each of the first and second extension vectors.

6. Method as claimed in claim 2, wherein the first guide curve and the second guide curve are divided into an equal number of rungs.

7. Method as claimed in claim 6, wherein the number of rungs is determined by the quality of the mesh,

8. Method as claimed in claim 7, wherein the number of rungs is determined by a pre- determined tolerance between the first, extension vector and the first guide curve and a pre- determined tolerance between the second extension vector and the second guide curve.

9. Method as claimed in claim 3, wherein either a or β =0° such that the first extension vector and the second extension vector are guided by the first and second guide curves, respectively.

10. Method as claimed in claim 1 or 2, wherein the sheet is extended as part of a sheet extend operation,

11. Method as claimed in claim 1 or 2, wherein the sheet is extended as part of a face delete operation.

12. Method as claimed in claim 3, wherein at least a third guide curve is provided at one of the interior mesh vertices, and wherein the corresponding interpolated extension vector lies at an angle g to a tangent of the third guide curve.

13. Method as claimed in claim 1, wherein both of the first and the second external mesh vertices are adjacent to a surface having a different geometry to the mesh.

14. Method as claimed in claim 1 or 2, wherein the first and second surfaces are classical geometry surfaces.

15. Method as claimed in claim 1 or 2, wherein the mesh comprises facets having a first regular polygonal shape and the first and/or the second surface comprises a mesh of facets having a second, different polygonal shape.

16. A computer program containing instructions, which when compiled on a computer, cause the computer to cany out the method steps of any of claims 1 to 15.

Description:
MIXED SHEET EXTENSION

TECHNICAL FIELD

[0001] The present invention relates to a computer-implemented method of extending a mixed sheet comprising at least one mesh and one alternative geometry surface in a mixed- geometry model, wherein the mesh boundary to be extended comprises a row of n facets separated by n- 1 interior vertices and located between two external mesh vertices, in particular where one or both of the external mesh vertices is adjacent to a surface having a different geometry to the mesh.

BACKGROUND

[0002] Computer-Aided Design (CAD) systems are used commonly in many fields of engineering, manufacturing, and design to create and manipulate solid modelling representations of objects. Boundary representation (B-rep) technology dominates CAD modelling. The B-rep technology provides an efficient and adaptable representation of parts by combining classic geometry: analytic surfaces and curves, non-uniform rational basis spline (NURBS) and procedural surfaces and curve; with topology, which captures the connectivity and interaction between geometric elements. Typically, CAD modelling may need to combine different types of surfaces to achieve various modelling requirements. For example, it may be necessary' to extend a set of adjacent surfaces, such as those comprising facet geometry (meshes) and those having a classic geometry (parameterised or implicit geometry) to fill a gap or as a basis for subsequent modelling operations. Surfaces comprising different geometries on the whole extend differently, which for sharp interfaces involves the geometry' of the extended edge being defined by the intersection of the two surface extensions, but where an edge is smooth or near smooth, this intersection is not well-defined. If the adjacent mesh and classical geometry ' surfaces are extended separately, the edges between the surfaces may split apart and no longer be capable of representing the boundary between both extended surfaces.

[0003] Existing modelling systems have tended to solve the problem of extending mesh and cl assical geometry surfaces separately, and only one type of geometry is used at once. However, there are situations where being able to use mixed geometries would be desirable and useful, such as extending mixed geometry' boundaries simultaneously, or using a mesh for space filling between two classical geometry' surfaces following the deletion of a feature. Furthermore, if it were possible to utilise such mixed geometry boundaries without the risk of splitting apart, the technique could be utilised on smooth or near smooth edges.

SUMMARY

[0004] The present invention aims to address these issues by providing, in a first aspect a computer-implemented method of extending a mixed sheet comprising at least one mesh and one alternative geometry surface in a mixed-geometry' model, wherein the mesh boundary' to be extended comprises a row of n facets separated by n-1 interior vertices and located between two external mesh vertices, and wherein at one or both of the external mesh vertices is adjacent to a surface having a different geometry to the mesh, the method comprising the steps of: defining a first guide curve located at the boundary of the first surface for a length corresponding to the desired mixed sheet extension adjacent the first surface; and creating at least one extension mesh rung by generating facets between the two external mesh vertices using first and second extension vectors, wherein the first extension vector has a pre- determined spatial relationship to the first guide curve.

[0005] By utilising a system of guide curves and rungs it is possible to carry' out a mixed sheet extension in a mixed modelling system without risking the splitting apart of edges between faces and surfaces having different geometries. When used in a B-rep modelling system, not only is it possible to extend faces across a set of selected edges in order to join multiple sheet bodies together as part of an extend-and-tiim sheet modelling workflow', but to heal a wound resulting from the deletion of a set of selected faces, by extending the faces adjacent to the wound.

[0006] Preferably, the method further comprises the step of: defining a second guide curve located at the boundary' of the second surface for a length corresponding to the desired mixed sheet extension adjacent the second surface, wherein the second extension vector has a pre-determined spatial relationship to the second guide curve.

[0007] Preferably, the wherein the pre-determined spatial relationship comprises: the first extension vector laying at an angle a to a tangent of the first guide curve, and the second extension vector laying at an angle b to a tangent of the second guide curve, and the directions of the first and second extension vectors are guided by the first and second guide curves, respectively.

[0008] In this case, preferably the n-1 interior mesh vertices are extended along the mesh rung by n-1 interpolated mesh vectors, wherein facets are generated along the interpolated mesh vectors, and the angle of each interpolated mesh vector to its corresponding interior mesh vertex is a weighted average of a and b. The weighting may be determined by the distance of the interpolated extension vector from each of the first and second extension vectors.

[0009] The first guide curve and the second guide curve are preferably divided into an equal number of rungs. The number of rungs may be determined by the quality of the mesh. Alternatively, the number of rungs may be determined by a pre-determined tolerance between the first extension vector and the first guide curve and a pre-determined tolerance between the second extension vector and the second guide curve.

[0010] For a guided extension vector, preferably either a or b =0° such that the first extension vector and the second extension vector are guided by the first and second guide curves, respectively.

[0011] The sheet may be extended as part of a sheet extend operation or the sheet may be extended as part of a face delete operation.

[0012] At least a third guide curve may be provided at one of the interior mesh vertices, and the corresponding interpolated extension vector may lie at an angle g to a tangent of the third guide curve,

[0013] Both of the first and the second external mesh vertices may be adjacent to a surface having a different geometry to the mesh.

[0014] Preferably, the first and second surfaces are classical geometry surfaces. Alternatively, the mesh may comprise facets having a first regular polygonal shape and the first and/or the second surface comprises a mesh of facets may have a second, different polygonal shape.

[0015] In a second aspect, the present invention also provides a computer program containing instructions, which when compiled on a computer, cause the computer to carry out the method steps above.

BRIEF DESCRIPTION OF THE DRAWINGS

[0016] The present invention will now be described by way of example only, and with reference to the accompanying drawings, in which:

[0017] Figure 1 illustrates an example of a data processing system in which embodiments of the present invention may be implemented, [0018] Figure 2 is a schematic illustration of a mixed sheet to be extended in accordance with an embodiment of the present invention:

[0019] Figure 3 is a schematic illustration of a partially extended mixed sheet created using a method in accordance with an embodiment of the present invention;

[0020] Figure 4 is a schematic illustration of a mixed sheet to be extended in accordance with another embodiment of the present invention;

[0021] Figure 5 is a flow chart illustrating a method of extending a mixed sheet in accordance with an embodiment of the present invention; and

[0022] Figure 6 is a schematic illustration of a mixed sheet to be extended in accordance with an embodiment of the present invention.

DETAILED DESCRIPTION

[0023] The present invention offers the ability to use a mixed geometry model in which it is possible to extend surfaces having different geometries without the risk of the edges between them splitting. Within a mixed-geometry model, a sheet comprising at least one mesh and one alternative geometry surface, wherein the mesh boundary to be extended comprises a row of n facets separated by n- 1 interior vertices is located between two external mesh vertices. One or both of the external mesh vertices is adjacent to a surface having a different geometry to the mesh. The different geometry ' surface is preferably a classical geometry surface but may alternatively be a mesh having a different polygonal facet structure. To begin with, a first guide curve is generated, located at the boundary of the first surface and for a length corresponding to the desired mesh extension adjacent the first surface. At this point at least one mesh rung is created. This is done by generating facets between the two external mesh vertices using first and second extension vectors, wherein the first extension vector has a pre-determined spatial relationship to the first, guide curve. Therefore, the first extension vector is guided by the guide curve, and the second extension vector is unguided. Preferably, the method also comprises defining a second guide curve located at the boundary of the second surface for a length corresponding to the desired mixed sheet extension adjacent the second surface, wherein the second extension vector has a pre- determined spatial relationship to the second guide curve. Preferably, the first extension vector lies at an angle a to the first guide curve, and the second extension vector lies at an angle b to the second guide curve. The directions of the first, and second extension vectors are guided by the first and second guide curves, respectively. This enables a constrained (or unconstrained, depending on the values of a and b) mesh to be created for the length of the first and second geometry surfaces.

[0024] Figure 1 illustrates an example of a data processing system in which an embodiment of the present disclosure may be implemented, for example a CAD system configured to perform processes as described herein. The data processing system 10 comprises a processor 11 connected to a local system bus 12. The local system bus connects the processor to a main memory 13 and graphics display adaptor 14, which may be connected to a display 15. The data processing system may communicate with other systems via a wireless user interface adapter connected to the local system bus 12, or via a wired network, e.g., to a local area network. Additional memory 16 may also be connected via the local system bus. A suitable adaptor, such as wireless user interface adapter 17, for other peripheral devices, such as a keyboard 18 and mouse 19, or other pointing device, allows the user to provide input to the data processing system. Other peripheral devices may include one or more I/O controllers such as USB controllers, Bluetooth controllers, and/or dedicated audio controllers (connected to speakers and/or microphones). It should also be appreciated that various peripherals may be connected to the USB controller (via various USB ports) including input devices (e.g., keyboard, mouse, touch screen, trackball, camera, microphone, scanners), output devices (e.g., printers, speakers), or any other type of device that is operative to provide inputs or receive outputs from the data processing system. Further it should be appreciated that many devices referred to as input devices or output devices may both provide inputs and receive outputs of communications with the data processing system. Further it should be appreciated that other peripheral hardware connected to the I/O controllers may include any type of device, machine, or component that is configured to communicate with a data processing system.

[0025] An operating system included in the data processing system enables an output from the system to be displayed to the user on display 15 and the user to interact with the system. Examples of operating systems that may be used in a data processing system may include Microsoft Windows TM , Linux TM , UNIX™, iOS TM , and Android TM operating systems. [0026] In addition, it should be appreciated that data processing system 10 may be implemented as in a networked environment, distributed system environment, virtual machines in a virtual machine architecture, and/or cloud environment. For example, the processor 11 and associated components may correspond to a virtual machine executing in a virtual machine environment of one or more servers. Examples of virtual machine architectures include VMware ESCi, Microsoft Hyper- V, Xen, and KVM.

[0027] Those of ordinary' skill in the art will appreciate that the hardware depicted for the data processing system 10 may vary for particular implementations. For example, the data processing system 10 in this example may correspond to a computer, workstation, and/or a server. However, it should be appreciated that alternative embodiments of a data processing system may be configured with corresponding or alternative components such as in the form of a mobile phone, tablet, controller board or any other system that is operative to process data and carry ' out functionality and features described herein associated with the operation of a data processing system, computer, processor, and/or a controller discussed herein. The depicted example is provided for the purpose of explanation only and is not meant to imply architectural limitations with respect to the present disclosure.

[0028] The data processing system 10 may be connected to the network (not a part of data processing system 10), which can be any public or private data processing system network or combination of networks, as known to those of skill in the art, including the Internet. Data processing system 10 can communicate over the network with one or more other data processing systems such as a server (also not part of the data processing system 10). However, an alternative data processing system may correspond to a plurality of data processing systems implemented as part of a distributed system in which processors associated with several data processing systems may be in communication by way of one or more network connections and may collectively perform tasks described as being performed by a single data processing system. Thus, it is to be understood that, when referring to a data processing system, such a system may be implemented across several data processing systems organized in a distributed system in communication with each other via a network. [0029] Figure 2 is a schematic illustration of a sheet to be extended in accordance with an embodiment of the present invention. This illustrates the situation where a mixed sheet S comprising a mesh 21, a first surface 22 and a second surface 23, where the first surface 22 and/or the second surface 23 has a different geometry to the mesh 21. In this example, both the first 22 and second 23 surfaces are classical geometry surfaces. The mesh 21 comprises a plurality of regular polygonal facets, in this case triangular facets 24 are shown. Each triangular facet 24 comprises three mesh vertices ( mvertices ) 25a, 25b, 25c joined together by three mesh fins (mfins) 26a, 26b, 26c, forming the boundary of the triangular facet 24. Two triangular facets 24 in the mesh meet along two coincident mesh fins 26a, 26b, 26c (one from each triangular facet 24) or at a shared mesh vertex (25a, 25b, 25c). A mesh fin 26a, 26b, 26c with no coincident neighbour is termed a laminar mesh vertex 26a' , 26b', 26c' and lies along edge of the mesh 21. A laminar mesh vertex 25a', 25', 25c' is a mesh vertex 25a, 25b, 25c having laminar mesh fins 26a', 26b', 26c' on the edge of the mesh 21. The mesh boundary 27 to be extended also comprises laminar mesh vertices and laminar mesh fins and lies along the edge of the mesh 21 where a rung will be generated. The mesh 21 is formed from a number of rows 28 (in the example shown, four) where each row 28 comprises n facets 24 separated by n-1 interior vertices 29a...29n. A first exterior vertex 30 lies adjacent to the first surface 22 and a second exterior vertex 31 lies adjacent to the second surface 23. The mesh 21 is therefore located between the first 30 and second 31 exterior vertices.

[0030] A first guide curve 32 is generated at the boundary of the first surface 22, for a length Li corresponding to the desired mixed sheet extension. A second guide curve 33 is generated at the boundary of the second surface 23, for a length L2 corresponding to the desired mixed sheet extension. In Figure 2, the first guide curve 32 rotates counter-clockwise away from the first exterior vertex 30, and the second guide curve 33 rotates clockwise away from the second exterior vertex 31 , Each of the first 31 and second 32 exterior vertices is extended by means of a first 34 and second 35 extension vector, each of which has a pre- determined spatial relationship to the first 32 and second 33 guide curves, respectively. The first extension vector 34 lies at an angle a to a tangent of the first guide curve 32, and the second extension vector 35 lies at an angle b to a tangent of the second guide curve 32. Each of the first 34 and second 35 extension vector therefore has a pre-determined spatial relationship with its corresponding guide curve 32, 33. Therefore, a guided extension vector G will extend at the angle a or b along the respective guide curve, parallel to the tangent, for values of a and β = 0°, and an unguided extension vector U will extend at non-zero angles. Within the mesh 21, the interior vertices 29a...29n are extended by corresponding interpolated extension vectors 36a...36 n. Each interpolated extension vector 36a...36n may also be guided or unguided. When guided, the interpolated extension vector 36a...36n proceeds at an angle to a normal from its corresponding mesh vertex that is a weighted average of the angles a and b. The weighting may be determined by the distance that the interpolated extension vector 36a.. ,36« lies from the first 34 and second 35 extension vectors. For example, in Figure 2 two interpolated extension vectors 36a, 36b are shown, where an appropriate weighting would be 1/3β:2/3α for that closest to the first extension vector 34 and 1/3α:2/3β for that closest to the second extension vector 35. Extending the mixed sheet S therefore requires the generation of triangular facets 24 along the first 35 and second 36 extension vectors as well as along the interpolated extension vectors 36a...36n , either at the same time that the first 22 and second 23 surfaces are extended (in the case of a mixed sheet extend operation) or subsequent to the time that the first 22 and second 23 surfaces are extended (in the case of a face delete operation). The facets 24 may be generated using any of the methods known in the art. The first surface 22 and the second surface 23 are both shown in Figure 2 as generic B-rep surfaces. A common use of the method 100 is to extend a mixed sheet where both the first 30 and second 31 external mesh vertices are adjacent, a surface that has a different geometry to the mesh 21. However, the method 100 may also he used where only one of the first 30 or second 31 external mesh vertices is adjacent a surface that has a different geometry to the mesh 21, with the other of the two surfaces also being a mesh of the same construction as the mesh 21.

[0031] Figure 3 is a schematic illustration of a partially extended mixed sheet created using a method in accordance with an embodiment of the present invention. In comparison with Figure 2, a mesh extension rung has been added to the mesh 21. The role of the rung is to aid in extending the mixed sheet S by allowing a blending function to interpolate between the tangent to the first guide curve 31 and a tangent to the second guide curve 32 to generate the first 34 and second 35 extension vectors and the interpolated extension vectors 36a. 36//. The number of mesh extension rungs required to cany out the entire mixed sheet S extension may be determined quantitatively or qualitatively. A quantitative determination requires the setting of a pre-determined tolerance threshold, representing an acceptable distance between either the first 22 or second 23 surface and the first 31 or second 32 guide curves. At each point the threshold is exceeded, a new mesh extension rung is initiated. This requires calculation of the threshold along the entire lengths L1, L2 of the first 31 and second 32 guide curves before the extension of the mixed sheet S is initiated. A qualitative determination requires that the quality of the mesh 21 is preserved for the entire mixed sheet S extend. The quality of a mesh may be determined in different ways, but in general relates to the regularity of the polygon facets making up the mesh. A “good” quality mesh is one where the lengths of the mesh fins of a facet are close to equal, or where the angles at the mesh vertices of the facet are close to equal. For a triangular mesh, an equilateral triangle would be an idea! facet, therefore a “good” triangular mesh would comprise facets formed of equilateral triangles. A “poor” quality mesh is one where there is a considerable mismatch between the lengths of the mesh fins and/or the angles at the mesh vertices. Again, taking the case of a triangular mesh, a mesh formed from isosceles triangles could be considered “poor”. The number of mesh extension rungs may therefore be determined by dividing the lengths L 1 , L 2 of the first. 31 and second 32 guide curves into a number of mesh extension rungs that will aid in generating facets 24 that result in a new mesh of the same, or as similar as possible, quality as the mesh

21

[0032] Figure 4 is a schematic illustration of a sheet to he extended in accordance with another embodiment of the present invention. This illustrates the simplest case where only one guide curve 32 is used, such that the first extension vector 34 is guided and the second extension vector 35 is unguided during the creation of the rung 37. In comparison with Figure 2, the second guide curve 33 and angle b to the tangent of the second guide curve 35 are absent. The second extension vector 35 extends from the second external vertex 31 without constraint, in a similar manner to the interna! extension vectors 36a...36 n.

[0033] The manner in which a mixed sheet, riis extended is described below. Figure 5 is a flow chart illustrating a method of extending a mixed sheet in accordance with the embodiments of the present invention. Initially, the embodiments of the method may be used to create rungs where only one guide curve 32 is present, such that only the first extension vector 34 is guided. This may then be expanded by adding an additional step to define a second guide curve 33 to enable the guiding of the second extension vector 35. This may also, although not necessarily, correspond to a situation where only one of the first 30 or second external mesh vertices is adjacent to a surface with a different geometry' to the mesh 21. The method 100 takes place in a data processing system, such as that described with respect to Figure 1, with respect to a mixed-geometry model. A computer program containing instructions, which when compiled on a computer, cause the computer to carry' out the method 100 may be used in conjunction with the data system 1. Initially, at step 102, a first guide curve 32 is defined, located at the boundary 27 of the first surface 22 for a length L1 corresponding to the desired mixed sheet S extension adjacent the first surface 22,

[0034] At step 104 at least one extension mesh rung is created. This is done by generating facets 24 between the first 30 and second 31 external mesh vertices using first 34 and second 35 extension vectors. The first extension 34 vector has a pre-determined spatial relationship to the first guide curve. At each mesh extension rung 37 there is a first, extension vector 34 tangent to the first guide curve 32, and a second extension vector 35 co-incident with the second external mesh vertex 31. The first, extension vector 34 is therefore guided by the first guide curve 32, whilst the second extension vector 35 is unguided. At each interior mesh vertex 29a...29n there is an unguided interpolated extension vector 36a. ,.36n, along which the mesh 21 would extend if it were unconstrained.

[0035] In order to constrain both the first extension vector 34 and the second extension vector 35 an additional step is included in the method 100 in order to generate the second guide curve 33. At step 106, the second guide curve 33 is defined, located at the boundary 27 of the second surface 23 for a length L2 corresponding to the desired mixed sheet S extension adjacent the second surface 23. The generation of the facets 34 to create the rung 37 then proceeds by means of step 104, generating facets between the first 30 and second 31 external mesh vertices using first 34 and second 35 extension vectors. This time, however, not only does the first extension vector 34 have a pre-determined spatial relationship to the first guide curve 32, the second extension vector 35 has a pre-determined spatial relationship to the second guide curve 33. The first 32 and second 33 guide curves may be defined in a number of different ways. For example, a guide curve 32, 33 may be an extension of a curve that defines the boundary' of the neighbouring face, which for a B-rep surface face, would be an extension of the sp-curve defining the boundary of the neighbouring B-rep surface face. For a swept or spun neighbouring face, the path of the face may be extended. lines defining the rulings of a neighbouring ruled-surface face may also he used. Where the neighbouring face is an analytic surface, analytic curves lying on the surface may be used, such as lines on a planar or cylindrical face, or circular arcs on a curved or toroid face. It may be desirable to us an intersection between an extension of the neighbouring surface and an auxiliary surface, such as a plane that is orthogonal to the laminar boundary of a classic geometry face where it meets the mesh.

[0036] As discussed above with respect to Figure 2, a guided interpolated extension vector 36a...36n takes a weighting determined by its distance from the first 34 and second 35 extension vectors. The guided interpolated extension vectors 36a.. , 36n are constructed by a blending function that begins at the first guide curve 32 and interpolates the extension vectors 36a...36n in order until the second guide curve 3 is reached. The blending function takes into account the rotation between the unguided first extension vector 34 and the tangent to the first guide curve 32, and the rotation between the unguided second extension vector 35 and the tangent to the second guide curve 33. Alternatively, if both the first 34 and second 35 extension vectors are unguided the interpolated extension vectors 36a...36n may have their direction determined by the direction of the interior vertex 19a...19n they correspond to. As may be seen in Figure 3, the extension vectors 34, 35, 36a...3 on are constructed to create extending mesh fins 26a, 26b, 26c at each laminar mesh vertex 25a , 25b', 25c , based upon the boundary niesh fins (those laying along the boundary 27 between the mesh 21 and each alternative geometry surface 22, 23), facets and normals. This results in the extension of the mixed sheet S being determined by the mesh 21.

[0037] To create further mesh extension rungs 37, the process in steps 102, 104 and optionally, 106, is repeated until the extension of the mixed sheet S is complete. At this point it may be desirable to cany out any steps required to make the interfaces between the mesh 21 and the alternative geometry surfaces 22, 23 at the boundary 27 align as closely as possible. In either case, the method 100 enables the extension of the mixed sheet S in such a way that the extension of the mesh 21 remains within an acceptable tolerance of the extension of the adjacent first 22 and second 23 surfaces (the extended faces meet each other within a given edge tolerance tube in the extended region).

[0038] Figure 6 is a schematic illustration of a mixed sheet to be extended in accordance with an embodiment of the present invention. This represents an alternative approach to using a weighting of first 34 and second 35 extension vector angles a, b to determine the direction of at least one of the interpolated extension vectors 36i. A third guide curve 38 is provided at an interior mesh vertex 29i, which has a tangent at an angle g to the direction of the interior mesh vertex 29i. Consequently, it is possible to represent creases in the mesh 21 as part of the extension of the mixed sheet S where the interpolated extension vector 367 is guided for non- zero values of g. Similar to the first 32 and second 33 guide curves, if the angle g is 0°, the interpolated extension vector 36i is guided.

[0039] Whilst in the examples above the mixed sheet S is extended as part of a sheet extend operation, conversely the technique may be used as part of a face delete operation, in this situation a face within a model is deleted, and the method 100 is used to provide a mesh

21 replacement for the deleted face. It should also be noted that in the examples, the first 22 and second 23 surfaces are both classical geometry surfaces, such as parameterised or implicit geometry surfaces. One example of these is a B-rep surface. Alternatively, the first

22 and/or second 23 surfaces may be meshes having a different regular polygonal structure to the mesh 21. For example, in the examples above the mesh 21 is a triangular mesh, but the first surface 22 may in fact be a rectangular mesh. For situations wfiere only one of the first 30 or second 31 external mesh vertices is adjacent to a surface having a different geometry' to the mesh 21, the other surface may be a mesh having the same geometry or polygonal construction as the mesh 21 being extended.