EP3044708A1 - Procédé de conception assistée par ordinateur comportant une étape de modélisation - Google Patents

Procédé de conception assistée par ordinateur comportant une étape de modélisation

Info

Publication number
EP3044708A1
EP3044708A1 EP14761372.3A EP14761372A EP3044708A1 EP 3044708 A1 EP3044708 A1 EP 3044708A1 EP 14761372 A EP14761372 A EP 14761372A EP 3044708 A1 EP3044708 A1 EP 3044708A1
Authority
EP
European Patent Office
Prior art keywords
primitives
primitive
graph
construction
faces
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP14761372.3A
Other languages
German (de)
English (en)
Inventor
Flavien BOUSSUGE
Lionel Fine
Jean-Claude LEON
Stefanie HAHMANN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Airbus SAS
Institut Polytechnique de Grenoble
Original Assignee
Institut Polytechnique de Grenoble
Airbus Group SAS
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 Institut Polytechnique de Grenoble, Airbus Group SAS filed Critical Institut Polytechnique de Grenoble
Publication of EP3044708A1 publication Critical patent/EP3044708A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/15Vehicle, aircraft or watercraft design
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three-dimensional [3D] modelling for computer graphics
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]

Definitions

  • Computer-aided design method including a modeling step
  • the present invention belongs to the field of three-dimensional computer object design methods.
  • the automatic generation of the construction graph is based on a decomposition phase of this initial 3D object, known only by a surface model of its boundary, into a set of simple volume primitives.
  • Such a dimensional modification of a known three-dimensional part involves, in particular, calculations of mechanical resistance to certain dimensional forces.
  • the realization of these calculations, most often by numerical methods of the finite element type, implies a modeling of the part corresponding to the objectives of the calculations set up and involves modifications of form.
  • This modeling includes a so-called idealization phase, in which an operator performs a simplification of the piece to highlight the elements of its structure, including stiffeners, thin walls, etc. modeled by plates, shells etc. thus meeting the objectives of the corresponding calculations.
  • Idealization thus refers to geometrical transformations where a subset of a volume can be transformed into a surface or a line respectively representative of a plate or shell or of a beam in the case where geometric element is a line.
  • This phase of idealization produces a model of the initial object called idealized.
  • This idealized model can be treated by a finite element approach. The results of these calculations may lead to changes in the size of the initial object in order to respond to changes in the specifications.
  • the construction tree is lost when the geometric model of the object has to be transferred between the software where it was created and another software that meets the needs of another trade,
  • the 3D object is only described by a single construction tree as generated by the user during the construction of the object.
  • CAD CAD
  • a construction tree is defined as an ordered sequence of shape generation processes (also called generative processes corresponding to the creation of primitives) usually created by a CAD modeler during an object design process.
  • surface modeling called B-Rep (acronym for "Boundary Representation”: surface modeling of a volume by its border: faces, edges and vertices).
  • CAD and simulation software packages offer idealization functions that are not very automated and robust. They also propose decompositions into characteristic forms ('form features') and primitives (basic forms like cylinder, cone, cube etc.) which are limited to a single construction tree and are poorly adapted to idealization processes. because the primitives they contain are often not suitable for setting up processes of idealization.
  • CAD software associates objects with necessarily binary trees, that is, only one primitive is added to the shape of the intermediate object at each stage of construction, that is to say at each node of the construction tree.
  • the invention thus aims at a method of computer-aided design of a second three-dimensional object, from a first three-dimensional object known only by its boundary surfaces (through a B-Rep type surface model), of planar type, cylinders, cones, spheres, tori, excluding free forms in the definition of the boundary of the object, the method comprising steps:
  • creating the second object as a variant of the first object according to this construction graph by modifying some of these parameters (for example diameter, length, etc.).
  • a construction graph may include cycles, especially in the case of the present method, when two different generation sequences of the same object are obtained by a first set of primitives, identical and identically ordered for each of the two sequences, and then diverge. by the form of the primitives contained in each sequence then end up again with the same intermediate form, which is translated in the graph by two branches ending in two same nodes of said graph.
  • Each node of a sequence represents an intermediate form progressively evolving from "root" primitives to the same complete object.
  • Each of these sequences represents a tree that is a construction tree of the object extracted from the construction graph.
  • said construction graph includes all the construction variants of the object using Boolean combinations of these primitives.
  • the method comprises a step of modeling the first three-dimensional object in the form of a construction graph using a set predetermined volume primitives and Boolean operations determining the combination of these volume primitives in said object.
  • the decomposition method used in the present method makes it possible to give a structure to an object (decomposition graph) in order to allow simple and rapid modifications of the shape of this object.
  • the method proposes to extract a construction graph of a volume model (B-Rep) of an object, said volume model being conventionally obtained using CAD software, so that the generative processes (primitives and associated Boolean operations) , identified in the construction graph, can be used for finite element analysis and, particularly in this case, for idealization processes.
  • the method is not restricted to the case of finite element analyzes but can be used for any operation requiring a modification of parameters or shape of said volume model.
  • the decomposition graph obtained by the method, comprises in each node the largest possible number of primitives that can be applied to each step of construction of the object, which allows a compact encoding many of the construction possibilities of this object unlike the CAD software construction trees that generate binary construction trees.
  • primitive generation variants are not distinguished in the construction graph.
  • the construction graph comprises a set of nodes representing a minimal, non-trivial set of shapes of the object at different intermediate stages of its construction.
  • the non-trivial steps of constructing the object characterized by a node of the construction graph can be associated with simple algorithms making it possible to enumerate the non-explicit complementary variants.
  • a node with several primitives may be associated with an algorithm expressing all the variants of binary trees for generating each of the construction trees as produced by a CAD software.
  • the construction graph is extracted using a primitive deletion operator which progressively simplifies the shape of the object.
  • the principle is to "go back in time” starting from the initial complete object and gradually eliminating form primitives of this object until at least one primitive "root”.
  • the process of geometric construction of an object from primitives can be seen as a temporal process where the user starts from simple primitives and combines them progressively with others to complicate the intermediate form of the object up to get the desired final shape.
  • the primitives used comprise extrusion primitives, defined by two parallel faces comprising an extrusion contour, and an extrusion direction not parallel to these faces.
  • the process is able to efficiently process mechanical type components, which are particularly well suited to extrusion primitive modeling.
  • the extrusion primitives are associated with each node of the construction graph to a union type boolean operator, which corresponds to a material addition operation.
  • the primitives used comprise revolution primitives.
  • connection radii are those that can not be integrated into the contours of extrusion or revolution primitives.
  • the boundary of the initial object is transformed, without changing the shape of the object, into a set of faces and maximum edges.
  • This new representation is unique and intrinsic to the shape of the object.
  • the method comprises a step of identifying maximum primitives at each step of decomposing the object, a primitive identified at a step of the process of constructing an object being said to be primitive maximum if no other primitive, valid at this same step, can be fully inserted into the primitive.
  • the maximum primitives are identified based on the maximum faces and edges defining the boundary of the intermediate object available at each decomposition step of the initial object.
  • the generative processes used are of the additive type, that is to say that they are exclusively based on a Boolean regularized union operator during the combination of primitives at each step t of modeling of generative processes.
  • objects subjected to transformations of idealization like the determination of average surfaces, are characterized by surfaces or lines located inside these primitives, and the connections between the primitives also locate the connections between their representatives idealized (said surfaces and previous lines) when these connections derive objectives formulated for a finite element model.
  • the idealized representation of the object M corresponding to the final object of the construction graph, can be derived from the idealized representation of each maximum primitive Pi present in the construction graph of M and its connections, independently of other maximal primitives present in this same graph. This applies in the case where the primitives Pi are combined with each other only by a regularized Boolean union operation.
  • each maximum primitive Pi and its connections determine both the 3D location of the idealized representation of Pi that its connections with other neighboring idealized primitives, that is to say primitives whose Boolean intersection with Pi is non-zero.
  • a classification of connection categories can to be defined, which is important because the idealization processes still rely on the user's know-how to process significantly different connections from simple connections currently handled by CAD or finite element software.
  • the initial M objects decomposed into primitives are associated with a construction graph comprising only generative processes for adding matter. That is, each node of the construction graph associated with M has only regularized union Boolean operations.
  • FIG. 1 a flow chart of the main steps of a method as described
  • FIG. 2 a global diagram of generation of the generative processes corresponding to the generation of the construction graph of the initial object
  • FIG. 3 the main steps of the extraction of a primitive Pi at a step t of generation of the graph of generative processes, that is to say from the identification of this primitive until its removal from the intermediate object, at this stage, derived from the initial object M,
  • FIG. 4 an overall flowchart of the different steps of an idealization process
  • Figure 5 a taxonomy of the morphologies associated with a segment of the MAT of a primitive Pi
  • Figure 6 a part of the possible interfaces between subdomains when they are plate or shell type.
  • the process of generating a construction graph of a 3D object is determined from different construction sequences of this object.
  • To designate a construction operation we refer to an instant f characterizing it within a sequence describing a generative process. The previous operation will be identified by (t-1).
  • the object whose construction graph is to be determined is denoted M. It is the result object of the combination of the primitives contained in the construction graph.
  • Af 0 the starting object M.
  • ⁇ _ 7 denotes an evolution of the object M during a construction sequence whose origin is the object M and M 3 is the object obtained at time t ⁇ for j 'th step in the sequence before reaching the object 0 Af. This notation indicates that by including step j, it remains j construction steps before it reaches the form of A% which coincides with the starting object M.
  • a target object M to be analyzed for example morphological analysis of M for a finite element calculation
  • the object M was generated using a CAD software or, more generally a geometric modeler, it is thus obtained by means of a set of primitives combined with each other by addition or deletion of material (regularized Boolean operations union or subtraction between primitives).
  • the boundary of the object M contains traces of the generative processes that produced its primitives. So, elements of the boundary of M, that is, faces, edges and vertices can be considered as the memory of the generation processes in which the primitives are sequentially combined by regularized Boolean operators.
  • Common CAD modelers are based on strictly sequential processes, where a primitive is combined with the intermediate object using a regularized Boolean operator, because the user can hardly generate several primitives simultaneously without looking at the intermediate results, for see how they combine or interact, and their influence on the shape of the intermediate object. As indicated in the preamble, it follows from this behavior that the construction trees associated with objects are binary trees.
  • CAD modelers provide regularized Boolean operators
  • the number of possible generative processes producing the object M can be arbitrarily large, for example, even a cube can be obtained from an arbitrarily large number of arbitrarily small extent extrusions combined with an operator of union.
  • a primitive Pi valid, identified at a step t of the process of constructing M using a base face Fb1 is called a primitive maximum if no other primitive Pj, valid at this same step t, having F'b1 as the base face , can not be fully inserted into the Pi primitive (see section 2.1).
  • P ⁇ P ⁇ P "where ⁇ 'means the regularized Boolean intersection (the definition of such an operator is known to the skilled person).
  • the maximum primitives imply that the outline of a sketch can be arbitrarily complex, which is not the case in the practice of current engineering, where the use of simple primitives facilitates the interactive modeling process, the parameterization, and assigning geometric constraints to outlines.
  • the generative processes constituting the construction graph are of the additive type, that is to say that they are exclusively based on a regularized union operator (the definition of such an operator is known to those skilled in the art when combining primitives at each step of constructing the object using generative processes of M.
  • the use of additive generative processes is preferred over material removal operations that can not be easily used in idealization operations. If M has a shape such that, locally, the decomposition can not be obtained without the use of a material removal operation, the decomposition process will produce a volume domain that will not be an extrusion primitive.
  • these generative processes must be non-trivial variants of previously identified processes.
  • the same parallelepiped block can be extruded with three different face contours and orientations, but they create the same volume.
  • these equivalent processes are detected by comparing the geometric properties of the contour of the generated object.
  • the trivial variants of generative processes are implicitly described by simple algorithms attached to each of the nodes of the construction graph.
  • the algorithm that lists all the possible combinations of binary operations of union between all regularized primitive Pi present in the same node to reduce a generative process in a binary tree.
  • a STEP file is provided as input. It contains the volume model of the object M, described as B-Rep.
  • a set of generative processes is extracted which forms sets of construction trees, capable of producing a graph (set of construction trees arriving at the same volume object).
  • step 103 application-dependent criteria are used to identify one or more construction trees according to the needs of the application.
  • a step 104 in the case of finite element analysis, shape transformations are performed (idealization).
  • a decomposition of a volume model B-Rep of an object is however not unique (and therefore not suitable), because it is subject to two influences:
  • CAD modelers may not be able to merge the corresponding entities in any case, thus producing a decomposition of the boundary surface (in non-maximal faces) that does not change the shape of the object. This is consistent with the theorem Euier Poincaré which establishes a relationship between the topological invariant of a volume object and the decomposition of its border faces, edges, vertices.
  • the topological conditions necessary to set up a coherent tiling of the boundary of the object that is to say the decomposition of its boundary surface, must be a CW-complex (which is a type of topological space defined to meet the needs of the homotopy theory
  • a CW-complex is a space constructed by gluing together cells
  • a CW-complex of dimension 0 is a finite set of points
  • a CW-complex of dimension 1 is a set of segments
  • a complex CW of dimension 2 is a set of faces . Therefore, closed curved surfaces must be partitioned.
  • a cylinder is decomposed into two half cylinders in most CAD modelers or is described with a connected auto patch attached along a generator.
  • edge (s) connecting the cylindrical faces are adjacent to the same cylindrical surface and are not significant from the point of view of the shape of the object incorporating this surface.
  • this pavement must not participate in the decomposition of the boundary surface of the object so that this decomposition is intrinsic to the shape of the object.
  • a maximum face F is obtained by repeated fusion of an adjacent face Fa sharing a common edge with the face F when the face Fa is defined by a surface of the same type and the same parameters as F (typically adjacent planar faces which are defined from a single plane).
  • the face F is said maximum face when there is more face Fa which can be fused with F (in intuitive terms, all facets forming a face of an object have been encompassed). These maximum faces coincide with the "c-faces" defined in the prior art, which have been proven to define the object M uniquely.
  • a maximum edge ⁇ having as adjacent faces F1 and F2 is obtained by repeated fusion with an edge Ea, adjacent to E, when Ea is also adjacent to F1 and F2 (the maximum edge ⁇ is then the largest broken curve having F1 and F2 as adjacent faces).
  • edge (or edge) E representing a portion of the boundary of a face F, is said maximum edge (or maximum edge) when no more edges Ea can be fused with E.
  • the merging operations are performed only topologically, that is to say that the representation by volume model B-Rep of the object remains unchanged and its decomposition into maximum faces and edges is a topological representation of its interfaced border with its B-Rep representation.
  • the faces and the maximum edges are generated not only for the initial M model, but also after the removal of each primitive during the identification of the generative process graph.
  • the maximum primitives are based on maximum faces and edges.
  • connection radii in English: "blending radii”
  • feature removal functions in most CAD systems.
  • connection radii concerns those which can not be incorporated into Pi primitives.
  • the object M is treated by an iterative process of identification and elimination of primitives Pi.
  • the objective of this phase is to "go back in time” until reaching the root primitives of the generative processes.
  • the result of this phase is a set of primitives Pi.
  • FIG. 3 illustrates the main steps of the extraction of a primitive Pi from a generative process graph, that is to say from the identification of this primitive to its removal from M, and is explained in more detail below.
  • a primitive Pi is the memory of a generative process that took place between the object M- j and the object M_ (J + 1 ; _
  • the identification of primitives based on extrusion contours visible allows the generation of reference primitives having more simple contours compared to primitive which part of the contour would not be visible Indeed, in a step j where M_ object. would consist of a primitive
  • this configuration gives rise to an infinity of trivial configurations which have no influence on the form of the object M; and where the parties contour primitive Pi included in the object M_y 1] could be made of arbitrary number of geometric elements (line segments, arcs of circles and thus of points of connection between these entities).
  • this arrangement consists of minimizing the interface, that is to say the common part between the primitive Pi and the object M_y
  • the parameters involved in a reference extrusion primer Pi are the two basic faces, Fb1 and Fb2, which are planar and have the same drawn contour on which the extrusion takes place.
  • edges of the Fbi face are called contour edges and the edges of this contour are called convex.
  • a convex edge is such that the normals at its adjacent faces define an angle a such that: 0 ⁇ a ⁇ .
  • the edges of its contour along which the primitive Pi is fixed to the object M j can be either convex or concave, depending on the proximity of the primitive Pi in the object. object M.
  • edges generated from the vertices of the contour are defined by segments of line parallel to each other and orthogonal to the face Fbi. These edges are called lateral edges of Pi.
  • the faces adjacent to the face Fbi are called side faces. These lateral faces are delimited by four sides, two of them being lateral edges.
  • Lateral edges may be fictitious lateral edges when a lateral face coincides with a face of the object M j adjacent to the primitive Pi.
  • the visibility of the primitive Pi depends on its insertion into the object M, and sets the conditions for identifying the primitive Pi in dM j .
  • the simplest visibility Fbi is obtained when the base faces of the primary P in the object M j exist, and when at least one lateral edge connects Fbi to M s
  • the primitive Pi is identified by two conditions.
  • At least one base face Fbi is visible in the object M that is to say the primitive Pi can be identified by a maximum planar surface (face having all the facets adjacent to this face and of the same type and parameters).
  • a lateral edge namely a perpendicular line segment and connected to a convex edge of Fbi.
  • This edge defines the extrusion distance of the primitive Pi.
  • Other side faces are identified by propagation from both sides of the candidate edge until the contour edges of Fbi are no longer convex.
  • the lateral edge may not be orthogonal and be connected to a convex edge of Fbi.
  • the identified primitive Pi will be inclined with respect to the face Fbi according to the direction defined by this edge.
  • a primitive Pi extrusion is attached to the object M ⁇ , changes to j M of the object, according to its visibility in the W_ j object.
  • the area of attachment between the primitive Pi and the object ALy 1] corresponds to the faces and pieces of the original Pi faces that do not exist in the M_ object; and which are necessary for the definition of Pi so that dPi is a closed surface: a necessary condition for Pi to be a volume primitive.
  • the binding defines a geometric interface, IG, between the primitive Pi and the object M_ ⁇ J + 1 ;, which is the intersection of Pi and the object Af_ (J + 1 i, evolution at step ( j + 1), of the object M.
  • This geometric interface IG can be a surface or a volume, or both, that is to say a non-manifold model (object consisting of surfaces and volumes which is not, in the mathematical sense, a variety.)
  • One of the simplest attachments occurs when the extrusion primitive Pi has its basic faces Fb1 and Fb2 visible with similar outlines.This means that the primitive Pi is connected to the object M (j +1) through side faces only.
  • the geometric interface IG is a surface defined by the set of side faces that are not visible in the primitive Pi.
  • This delete operator is defined as a binary operator with the primitive extrusion Pi and M_ object as operands, and AF_ object (J 1 + j as a result.
  • the object M refers to a step j and the object _y +1 ] to a step (j + 1) older in the construction graph of the object M.
  • the IG geometric interface is of surface type.
  • the deletion operator will have to create side faces and / or an extension of the base face Fb2 so that the extended face Fb2 'coincides with the other base face Fb1.
  • this category should be subdivided into two sub-categories:
  • the geometric interface IG contains only lateral faces of Pi or the geometric interface IG contains such lateral faces and also an extension of the base face Fb2 and the edges of this extension are concave edges of the object M_y
  • the geometric interface IG contains side faces of the extrusion primitive Pi, but it also contains an extension of the base face Fb2 and the edges of this extension are fictitious edges of the base face in the M.- r object These edges are convex edges in the object "(D + 1) (example P1 in Figure 3),
  • the geometric interface IG contains at least one subdomain of a voluminal nature.
  • Pi denotes the volume of the reference primitive, that is, of the set of the extrusion primitive Pi.
  • the necessary validity condition is formally expressed using regularized Boolean operators between these two volumes:
  • the next step is to generate the object _y 1j once the extrusion primitive (reference primitive) Pi has been identified and removed from the object of M.
  • some faces of the reference primitive Pi may be added to ensure that the object Ai-Q + IJ is a volume.
  • at least one face of the reference primitive Pi must be modified so that the visible part of the primitive Pi describes the totality of Pi, thus defining the reference primitive Pi.
  • the geometric interface GI contains the faces F al defining the lateral faces of Pi to form the lateral faces of the extrusion primitive Pi that have been "completely hidden" in the object M- r Fa 1 denotes a set of faces.
  • edges of the attachment of the primitive Pi belonging to the lateral faces of Pi can be lateral edges (real or fictitious) or arbitrary edges.
  • the side edges limit the lateral faces defined throughout Fa1, arbitrary edges limit the extension of the partially visible side faces of Pi, they belong to all Fa2.
  • Fb2 U Fa 3 Fb1.
  • M_j, dPi is the set of connected faces delimiting the visible part of Pi.
  • fj 1 j defines a closed surface, orientable, without self-intersection.
  • the object Af_Q + 1 is therefore a volume.
  • IG contains a set of faces Fa1 extending the lateral faces of the visible part of the primitive Pi.
  • Fa3 the essential aspect related to the extension of the faces Fb2 contained in IG.
  • the IG geometric interface is of type 2, it contains by definition at least one subdomain of a voluminal nature. Again, the diversity of configurations can be quite broad.
  • a first condition for generating a volume interface addresses the surfaces adjacent to Pi. If S is the extension of such a surface and if S ⁇ * Pi ⁇ 0, S can contribute to the creation of a sub-volume domain.
  • each of these surfaces S must be treated.
  • all the edges attaching the primitive Pi in the object M_ J + 11 and delimiting the same surface S in the object Af_y +1 ] are grouped together because they form a subset of the contour of the faces that can contribute to a sub-domain defining IG.
  • Ea groups with other sets of edges, are used to identify loops in the surfaces S that define a volume subdomain IG which must satisfy the conditions of validity are not discussed here for brevity.
  • the existence of the object _ j (j - 1] defined as a volume allows, in the iterative process of determining the M construction graph, ensure that the object J # _ CJ + 1 J product the end of an iteration where Pi valid primitives are removed from the current object AF_; is a volume represented as a boundary representation, as is the initial object M.
  • the goal is now to integrate the constraints on the IG variants, and thus on the different valid Pi primitives that are candidates for being integrated into the construction graph of the object M , so that a significant set of objects M-, j> 0 can be generated to produce a graph of generative processes.
  • the goal is to "go back in time” from object M to simple primitives that constitute the roots of the possible building trees of object M.
  • any acceptable withdrawal of primitives Pi, candidates in step j of the generation of the graph must produce a transformation of the object Mj into k objects _ ( J + 1 j ft each using the geometric interface IGk, l one of the variants of the geometric interface GI, such as _ items - t j ft to be simpler than the Mw object.
  • Algorithm 1 After setting the condition for change according to the reverse order of the possible building process of the object M in the graph generating process, the creation of this graph is summarized in Algorithm 1:
  • nb config compare config (list config, list confignw);
  • P (i) simplify prime contour (P (i), Mj);
  • interf Ust (i) generate geom interf aces (P (i), Mj);
  • interf list (i) discard complex (interf ' list (i), P (i), Mj);
  • nb config generate independent ext (prim list, Mj,);
  • prim set primitive set (i, prim list);
  • Mj remove primitives (Mj + 1 , prim set);
  • node generate node (Mj, prim set);
  • node list node
  • ext list remove ext outside model (Mj, ext list);
  • the main procedure extract_graph treats the possible variants of the object M_ (j +1 j fe forming part of the list of nodejist nodes by traversing the processes of construction of M in their inverse orders in using the procedure for processing process_variant variants and compares new variants generated ⁇ to graph nodes (a node of the graph here is a simplified model, that is to say an evolution to the stage (j + 1) of existing object M) using the compare_config procedure.
  • the extract_graph procedure adds to the graph a tree structure to a given variant corresponding to the new simpler variants _ ( J + 1 i k derived from Ai_.
  • the graph is terminated when there is no more evolution variant of the object M to be processed, that is to say that the list of nodes of the nodejist graph is empty.
  • each of the nodes of the graph expresses the fact that all the primitives Pi at this node of the graph could be deleted (when the graph is scanned "by going back in time"), one by one, in an arbitrary order, which avoids to have to describe trivial order variants as already mentioned if a binary tree of the object M must be extracted from the construction graph.
  • the variants Process_variant processing procedure begins by identifying visible primitives valid in extrusion _ j using find_extrusion (see sections 2.1 and 2.2 respectively).
  • the goal is to remove (using remove_primitives) the largest possible amount of reference extrusions Pi whose IGk interfaces do not overlap each other, otherwise djk would not be significant (simplification of the form guaranteed by variant IG k ).
  • the deletion criterion expresses that any couple primitive (Pi, Pj), distinct from one another and from all the previous treatments, must be such that Pi attaches in the object _ ; must be geometrically disjunct from the attachment of Pj. This means that the edges of the border of the visible part of Pi in the object M ⁇ and the edges of the border of the visible part of Pj in AF_ object j are disjoint sets. Sets of independent primitives from all previous processes can be assigned to node _Q +1 > and are then sorted to make it easier for the user to navigate the graph.
  • Examples treaties also show that the construction of graph structure is actually a structure to describe non-trivial variations of construction of objects.
  • the shapes of the components treated in the examples show that the use of the unique operations of adding material to the description of their construction process is particularly suitable for the identification of parts of such articles that are well adapted to transformations of idealization. If the decomposition method described does not incorporate, currently, operation of removing material and can break down entirely primitive great diversity of forms of object, it nevertheless highlights the fact that focus of operations adding material for the description of the construction process of objects is a criterion particularly well suited when the decomposition obtained is used for morphological analysis to perform preparatory operations idealization finite element calculations.
  • the graph structure obtained on some examples show that the aggregation of many primitives in parallel extrusions in a single node in the graph can be achieved and produces a compact representation of the construction graph.
  • These results also show the necessity of introducing a continuity constraint to improve the decomposition process with respect to idealization transformations for finite element applications.
  • This constraint can be formalized as follows: the configurations produced by a generate_independent_ext procedure must be such that each object variant generated from object M_ 7 must contain a voluminal object described by a single connected component, as is the case for the object M.
  • each of its transformation steps must also check this continuity constraint to ensure that any simplified model, that is any node of the graph, can be used as the basis for an idealization process.
  • the construction graph expresses more diversity construction process of the object. This greater diversity can facilitate the introduction of changes in the size and shape of the object because the diversity of the primitives and therefore the dimensions associated with them is greater when the continuity constraint does not participate in the generation of the object. construction graph.
  • the starting point of the method of idealization can be defined as follows:
  • a construction graph is associated with the object M to describe its construction process from a set of primitives of simple shapes.
  • a primitive is denoted Pi.
  • the graph conforms to the characteristics described up to section 3.
  • This graph can be reduced to a binary tree such that it can be generated by a CAD software.
  • This graph or tree is designated by G c .
  • the constraint associated with any graph or tree related to the object M concerns the fact that the operator associated with each node proceeds by adding material.
  • Each primitive Pi present in G c associated with the object M can be described by a primitive extrusion, - during the construction of the object M from primitive Pi as described in
  • each primitive Pi has at least one geometric interface IG with at least one further primitive present in the construction graph G c -
  • This geometrical interface is described explicitly, according to a boundary representation representation, that is to say that the geometric interface IG is represented by faces, edges, vertices and that they carry attributes that distinguish them from other faces, edges and vertices constituting the boundary of Pi.
  • the geometric interface IG can constitute a geometric model of non-variety type. If the construction graph G c is derived from a CAD software, it is considered that the primitives Pi explicitly contain the geometric interfaces IG described above.
  • a process of idealization of an object consists in identifying parts of this object whose morphology responds to proportions allowing to place them in predefined categories representative of mechanical behaviors. These categories are limited in number and can be listed as follows:
  • Beam (geometric subdomain of an object of which two dimensions are small compared to the third. Both of these dimensions define the beam section),
  • Plate, shell, membrane (geometric subdomain of an object whose one dimension is small compared with the other two. This dimension defines the thickness of the plate, the shell or membrane)
  • 3D mass (subdomain which does not benefit from the previous morphological properties and which must be treated by a three-dimensional mechanical behavior).
  • the principle of the method of idealization corresponds to a variety of size reduction of the identified sub-domains.
  • a convex volume subdomain (variety of dimension 3), morphologically of beam type, will be idealized into a line (variety of dimension 1).
  • the line corresponding to the locus of the centers of inertia of the sections is located within the initial volume subdomain.
  • geometrical operations of connection between the idealized subdomains must be realized.
  • a process of idealization is significantly reference to the expertise of the user to meet the objectives of a finite element analysis, for example.
  • the proposed method allows the user interventions to adapt certain idealizations and some connections between subdomains idealized, according to his expertise. 4.1. Structure of the idealization process
  • Figure 4 describes the different steps of this process.
  • a first phase the decomposition of the object M in pitch Pi as described in the graph G c results in a first phase of morphological analysis of each Pi primitives.
  • this analysis Morphologically, it is possible to determine whether the primitive Pi has a plate, shell or membrane type morphology rather than a massive 3D morphology.
  • This step is described in section 4.2 and uses the intervention of the user to define thresholds in order to adjust the boundaries of the morphology categories.
  • the second morphological analysis concerns again all the primitives Pi and makes it possible to determine if these can be subdivided into subdomains, denoted Dj (pQ, morphologically different from the one which was assigned to them during the first analysis. conducted from the extruder used to outline the definition of primitive Pi. the resulting decomposition of each primitive Pi subdomains generates new GI interfaces. This analysis also uses the user and expertise to adjust the boundaries of the categories of morphologies and intervene if necessary in the choice of interfaces between 3 ⁇ 4j3 ⁇ 4 subdomains.
  • this phase corresponds to a process of reconstruction of the object M from primitives Pi and subdomains j ⁇ pj contained in each primitive
  • a third phase takes place the generation of the idealization of each sub-domain D'h ⁇ Q and, then, the typology and the location of the geometric interfaces IG are used to connect the idealized geometrical models of the subdomains D'k ⁇ P j between them and thus derive an idealized model M, from the object M.
  • the IG interfaces between D'k ⁇ are used to limit the connections between D3 ⁇ 4 ⁇ ft- i and obtain a connection process robust.
  • the typology of the connections between the different idealization morphologies is used to reposition some average lines or surfaces in order to simplify the object M ,. This step is described in section 4.4. During this step, the user can intervene to modify certain configurations according to his know-how.
  • the described process is therefore an automatic process that the user can interrupt to modify a small number of configurations punctually according to his know-how.
  • the primitives Pi extracted from the graph G c can be used to analyze their morphology and evaluate their suitability for idealizations. This first analysis determines whether the primitive Pi has a plate, shell or membrane type morphology rather than massive 3D. Because all the primitives are extrusions and associated with adding material operations, a first characteristic dimension of the original is determined by the length of extrusion.
  • the morphological criterion used to determine whether a primitive Pi, default 3D solid type comprises at least one under geometric area plate-like shell or membrane is a ratio between the length of extrusion and the maximum diameter, max ⁇ of circle inscribed in the contour of outline of Pi. the determination of the maximum diameter, max ⁇ may be carried out by applying a method of processing by median axis MAT ( "medial axis transform”) through a corresponding algorithm for this method.
  • x max ((max ⁇ / d), (d / max ⁇ )).
  • the user then defines a reference threshold that x u must not exceed for the primitive to be considered as plate, membrane or shell.
  • the user can reduce the value of the threshold, based on its know-how in order to be more tolerant on the morphology of primitive justifyables.
  • any value of x> x r leads to an idealized primitive automatically.
  • Pi comprises at least one subdomain 3 ⁇ 43 ⁇ 4) morphologically plate-like or shell membrane.
  • GIs interfaces between primitive Pi and the graph G c are used to define a graph of the interfaces between the noted Pi primitives G ,.
  • the content of G / will be explained in section 4.3.
  • the second morphological analysis concerns each Pi again and aims to determine if parts of the primitive Pi, ie subdomains D ( PQ, are morphologically similar to beams, for example, and can therefore undergo additional dimensional reduction. Indeed, the ratio x only characterizes a morphological aspect of a subdomain of Pi because the location of the MAT where x is defined is not necessarily reduced to one point ..
  • Figure 5 effectively illustrates different configurations where x is set to a segment of the MAT contour extrusion of Pi.
  • the parameter y is representative of the elongation of Pi in the plane of its contour and to distinguish morphologically primitive type beam within the category of morphologically primitive plate-like or shell.
  • the xu xr thresholds are also used to specify intervals morphology elongation.
  • the thresholds xu, xr, applied to the parameters x and y produce the nine configurations present in the table on the left.
  • the table on the right is prepared according to the same principle, by considering that P has a first stretch in the direction of extrusion and not as a flattening in the previous table.
  • Figure 5 is a taxonomy morphologies associated with a segment of the MAT Pi. Given the fact that the extrusion Pi contour consists of straight line segments and circular arcs, the MAT comprises rectilinear segments and curves. Pi's MAT is structured according to two categories of segments:
  • segments including an end point is located on the contour extrusion of Pi and the other end point is connected to another segment of the MAT
  • segments which both endpoints are connected to other segments of the MAT.
  • segment not possessing end point in the case of circular segment determined from a contour Pi representing a circular crown
  • the MAT is reduced to a circle.
  • This particular case has no bearing on the process of idealization.
  • Category 1 segments are removed and the morphological analysis relates to the segments of category 2 and recorded on each of these segments, the ratio y has a maximum or is constant and y max represents the maximum of this ratio which is assigned to corresponding segment.
  • the MAT obtained and reduced to category 2 segments has cycles.
  • TMA denoted MAT '
  • a comparative morphological analysis between MAT segments corresponding to a cycle in MAT can handle configurations with inner contours and analyze the corresponding flattenings to distinguish plates hollowed out of hollow beams.
  • Segments are grouped into three subsets: a. the segments 3 ⁇ 43 ⁇ 4] forming an open chain having only one bifurcation point of MAT at one end of the sequence, b. the segments 3 ⁇ 4 Pi ] forming an open chain having two bifurcation points of MAT at each end of this sequence, c. the segments 5j Pl forming a closed chain having an arbitrary number of bifurcation points of MAT and representing a minimum cycle of MAT.
  • the morphology of each segment is assigned according to the taxonomy defined in the tables of figure 5.
  • the division of Pi then intervenes on the basis of the changes of classification automatically determined on each 5 / Pt by the morphological analysis or by the modification carried out by the user, according to his know-how.
  • the divisions are located on the transitions between two subsets taken from: 3D mass, (plate or shell), (beam or ribbon). This division produces the subdomains D ( Pt ) of each primitive Pi that will be used in the idealization process that follows.
  • IG geometrical interfaces between primitive Pi and cutting Pi following their second step of morphological analysis define a set of geometric interfaces IG shown in the graph G, the interfaces between the Pi primitives.
  • the nodes of the graph G, the interfaces between the primitives Pi are subdomains 3 ⁇ 4 "j and the arcs are IG interfaces.
  • Figure 6 describes a part of the possible interfaces between subdomains 3 ⁇ 4PQ when they are plate or shell type. This figure illustrates the coding of the connections between subdomains which is introduced in the graph G / of the interfaces between the primitives Pi.
  • the nodes of the graph G are structured as follows:
  • the node is subdivided into three elements representing the subdomain structure that is to say an element representing the faces defining the thickness of 3 ⁇ 43 ⁇ 4) and two other elements each representing a base face of ffj jfj.
  • the graph G the interfaces between the primitives Pi then has properties that make it possible to identify the structural role of groups of Dj (» ⁇ , for example a cycle formed by three subdomains interconnected by configuration connections (4) (see Figure 6) such as one of these DJ P Q: Dk. (Pt) , or linked to the other two by its faces defining its thickness which are therefore based on the base faces of the other two subdomains, O ipq, and a connection of the same nature (base face of a sub-domain). domain connected to a face defining the thickness of the other subdomain) is established between the subdomains Dprp, and!? 3 ⁇ 4 ".
  • This configuration corresponds to a structural role of the subdomain stiffener type.
  • Each subdomain 3 ⁇ 4 "] has a status characterizing the dimensional reduction that can be applied to it (solid 3D, plate / shell / membrane, beam) plus the detail status to characterize subdomains that can be removed without have significant impact on the r finite element calculation results.
  • Figure 6 gives a representation of this taxonomy for connection configurations between subdomains of the plate / shell type. /membrane. If this figure illustrates parallel and orthogonal configurations for reasons of simplicity, these can be extended to larger angular ranges to describe the classes of connections, which leads to the inclusion of volumetric and not just areal type GIs as shown in Figure 6.
  • Figure 6 describes all valid configurations between two subdomains S1 and S2 for which a thickness parameter can be attached to each of them, which is compatible with extrusion type primitives Pi.
  • the four valid configurations can be structured in two groups: (1) and (4) form C1 and (2) and (3) form C2.
  • the configuration (1) of C1 is such that the thicknesses e1 and e2 of S1 and S2 respectively are influenced by IG. That is, the overlap area between S1 and S2 acts as an increase in thickness which stiffens each of the subdomains over the range of IG. This increase in stiffness can be significant and require its incorporation using a thickness variation to better represent the actual behavior of the structure.
  • This overlap zone can be assigned to S1 or S2 or form an independent subdomain defined with thickness (e1 + e2). Whatever the chosen solution, S1 or S2 or both are modified as well as their IG interface, producing one or two new IG 'interfaces (see FIG. 6).
  • the IG 'interfaces are necessarily of type (2) and cut S1 or S2 or both depending on the solution chosen.
  • the configuration (4) is such that S2 can be stiffened by S1 depending on the thickness of S1 and / or the 2D shape of IG.
  • a 2D form designating a surface interface The influence of the form is characterized for example by the difference between a GI bounded by a single closed contour or by a GI bounded by several closed contours.
  • This last case is representative of S1 with a tube shape, IG is then a crown which will have the effect of stiffening the surface of IG on S2 which is bounded by the outer contour of the crown.
  • the increase in stiffness over an area of S2 can lead to a partitioning of S2 into smaller subdomains and the effect of IG will result in the generation of a configuration of type (2) with IG 'interfaces when S2 is cut by S1.
  • the configuration (1) reduces the areas of constant thickness of S1 and S2 (e1 and e2 respectively), which can influence the morphology of S1 and S2 according to the primitive idealization criterion Pi defined in the previous section.
  • the configuration (4) reduces the area of S2 of thickness e2 but has no influence on S1, which influences the morphology of S2 only. It can thus be observed that processing configurations belonging to C1 produces configurations belonging to C2 only. Now considering the configurations of C2, none of them stiffness increasing product comparable to C1 and requiring a new cutting of S1 or S2. Therefore, C2 configurations do not require further processing and no configuration change made in C1 produces a new configuration in C1. This indicates that configuration processing in C1 involving subdomain splitting is conservative with respect to C2. The process of processing C1 configurations therefore converges to C2 configurations only. These observations and this property make it possible to set up an iterative algorithmic approach that necessarily converges.
  • the geometric interface IG can be of volumic type between two subdomains 3 ⁇ 43 ⁇ 4
  • This generalization is equivalent to considering configurations for which the conditions of parallelism and perpendicularity between S1 and S2 are replaced by configurations where the angles between S1 and S2 deviate from these reference patterns. Such configurations are reduced to the reference patterns of C1 and C2 as follows.
  • the definition of primitives Pi ensures that any primitive with a volumetric IG interface always has a visible base face, therefore, its GI can contain only one base face of the primitive Pi.
  • the contours of S1 and S2 comprise the projections of the base faces Fb1 and Fb2 of each extrusion primitive defining S1. and S2.
  • what distinguishes C1 from C2 is characterized by the fact that the configurations (1) and (4) each contain S2 such that one of its basic faces do not intersect S1.
  • the base faces of S1 and S2 contain the extrusion contour of the corresponding primitives.
  • the following process consists of taking into account the stiffening effects linked to certain connections in order to establish the connections between subdomains Dj (p t y possibly leading to divisions of these subdomains producing the subdomains D'fc (j3 ⁇ 4) and updating the morphology of the J? 3 ⁇ 4 (") in order to determine the nature of the idealization that can be applied to each of them. be evaluated graphically by the user in order to apply certain changes according to his know-how.
  • This process can be synthesized by the following algorithm (see algorithm 2).
  • This algorithm is adapted to the processing configurations of the only connections described in FIG. 6, to simplify its description. The taking into account of the totality of the taxonomy of the connections resumes principles similar to those of the algorithm 2.
  • the principle of this algorithm is to classify each IG between two subdomains 3 ⁇ 4? ( ⁇ 3 ⁇ 4 such that if IG belongs to C1 (configurations (1) and (4) in algorithm 2), it must be transformed to produce new geometric interfaces IG '(see FIG.
  • interVol Get interfaceVol (P, P ng h, IG)
  • each primitive Pi, P ngh means a collection of VJ (Pt) subdomains resulting from the preliminary morphological analysis of each of they.
  • Pr can therefore contain several volume subdomains, when Card (Pr)> 1, depending on the form of Pi and P ngh .
  • Each partition P 'of Pr can be of morphology different from that of Pi, which constitutes an indication of idealization more precise for the user.
  • P r ngh can have several partitions, ie Card (P r ngh ) ⁇ 1, and the morphology of each partition P ' ngh , corresponding to a collection of subdomains £ 3 ⁇ 4pj], must also be analyzed. If the common volume between P ' ngh and P' is not idealizable, it is merged with the more rigid of the two subdomains P ngh or Pi in order to preserve the morphology of the subdomain most suited to idealization.
  • each subfield ffj (pi) is strictly bounded by an IG interface of category C2 or by an interface IG 'produced by the preceding algorithm.
  • the method produces precise information on idealizable areas and the nature of the possible idealizations in these areas constituting the model M.
  • Areas of M corresponding to primitives connected according to type (1) on one or two of the opposite base faces of primitives are subdivided into new subdomains that provide more precise information, however, in type (1) configurations with more than three stacked subdomains, new morphological configurations may emerge which must be studied to define the conditions of corresponding idealization.
  • the propagation process of the morphological analysis is applied to the different construction variants of the object M. This allows the user to determine a compromise between the idealizable subdomains and a particular construction process of the object M in order to be able to better adapt the idealized model ⁇ /, according to the simulation objectives associated with object M.
  • the last phase of the idealization process consists in generating the idealized models of each sub-domain D'k ⁇ and connecting them according to the typology and location associated with each of the IG interfaces between subdomains.
  • the initial volume of the object is segmented into M sub areas densities D'k ⁇ j for which the volume shape meets class from 3D solid type idealization plate , shell, membrane and beam.
  • the idealized geometry of each subdomain is generated from the initial volume geometry of the subdomain.
  • the geometric support generated will be:
  • the thickness of the shell depends on the diameter of the inscribed circle in the sketch in accordance with the MAT associated with the corresponding primitive Pi,
  • a median line in the case of subdomain D'k ( Pi s identified as beam) This line is generated from the sketch outline contour barycenter in the case where the direction of the beam corresponds to the direction of extrusion. In the case where the direction of the beam is orthogonal to the extrusion direction, the line corresponds to the center line of the sketched contour offset from the extrusion half-distance. • The volume support of the subdomain D'k ⁇ corresponding in the case of 3D solid mass.
  • the graph GI interface is enriched with information on the geometric contours of the interface on subdomains, these contours are denoted Q "k).
  • the geometric region of the contour makes it possible to define whether its boundaries belong to the base faces Fb1 and Fb2 of the subdomain D'fc ( " ) , or to one of its lateral faces.
  • This information comes from the content of the graph G, the interfaces between the subdomains primitives Pi, which makes it possible to distinguish the base faces and the faces defining the thickness of a subdomain D'kfj> t; .
  • the contour is redrawn into sub-contours denoted C'i (o, fc).
  • the next step is to determine the pairs of contours belonging to the same subdomain and having part of their contours in common, in other words whose Boolean intersection is non-zero: C'l ⁇ D , ⁇ n C'm [ From k ⁇ ⁇ .
  • the neighborhood relations between contours of the same subdomain D'k ⁇ form a graph structure where the nodes are the contours and the arcs the neighborhood relations.
  • This neighborhood graph denoted G D3 ⁇ 4 . can be nested in the graph of the interfaces G / in the subdomain node D'kf p
  • connection cycles between subdomains When at least 3 (4) type interface contours belonging to 3 distinct subdomains have part of their boundaries in common, the connections of the average surfaces perpendicular to the interfaces to the average surfaces parallel to the interfaces must also be extended in the directions of extrusion adjacent interfaces in the ring.
  • This type of configuration can be identified from the graph G, and nested graphs ( jo ' k as being cycles containing only arcs of G, associated with type interfaces (4) and nodes of G, therefore the graph embedded G Dk contains a path between the contours of the interfaces. These paths correspond to contours of interfaces sharing a common border.
  • the last step consists in connecting the idealized supports of the subdomains of types beam, shell, plate to their respective neighboring subdomains.
  • the connections between average surfaces are made by an operator of extension of average surfaces.
  • the connection surfaces are therefore bounded by connection areas defined by the outlines reported on the average surfaces. This restriction makes the strong connection operator preventing it from creating any surface outside the connection area, which differentiates the process described with respect to the prior art.
  • the application connection allows operators to generate an idealized model M, derived from the original model Mr.
  • the decomposition primitive obtained can be used to monitor the idealizations.
  • a taxonomy of the links between the extrusion primitives is partially illustrated in Figure 6.
  • the location of the geometric interfaces IG between the primitives Pi are precisely identified and can be used to monitor the necessary gaps of average surfaces to improve the idealization process and take into account the know-how of the user.
  • connections with parallel average surfaces can be processed with medium area repositionings and a corresponding adjustment of the material thickness on both sides of the idealized surface, as described above in particular connection processes.
  • This is a common practice in linear analysis in structural mechanics which has been advantageously implemented using the relative position of extrusions.
  • Construction trees and shape generation processes are common approaches to modeling mechanical components.
  • construction trees structured in a compact form of graph, can be extracted from the B-Rep volume model of a component.
  • the proposed method includes criteria for generating primitives of simple shapes and ensuring that intermediate objects have their effectively simplified form after each primitive deletion. These properties guarantee the convergence of the algorithm used to generate the construction graph. Indeed, the generation of a complex object from primitive simple forms involves a process capable of changing a simple initial form incrementally up to get arbitrarily complicated form.
  • building trees are structured into a graph to represent a non-trivial set of generative processes that produce the input B-Rep volume model.
  • the graph contains non-trivial construction trees because the extrusion directions variants producing the same primitive are not encoded, the material addition operations that can be run in parallel are grouped into a single node of the graph ( only one variant of the object) to avoid the description of combinatorial combinations when the primitives are added sequentially as in a CAD software. More generally, each node in the graph can be associated with simple algorithms to generate trivial variants of construction of an object.
  • the advantage of a graph of generative processes has been evaluated as part of the idealizations needed for a finite element analysis.
  • the primitives of simple forms constituting the graph are particularly adapted to a precise morphological analysis which makes it possible to characterize plates / shells / membranes with respect to beams / ribbons and with respect to 3D massifs.
  • This morphological analysis also makes it possible to characterize shape details with respect to the local and idealizable morphologies of M, independently of any numerical method of structural calculation.
  • the decomposition of the object produces a precise description of the geometric interfaces between primitives, which have been advantageously used to set up idealizations.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Processing Or Creating Images (AREA)
  • Architecture (AREA)
  • Image Generation (AREA)

Abstract

L'invention vise un procédé de conception assistée par ordinateur d'un second objet tridimensionnel, à partir d'un premier objet tridimensionnel connu uniquement par ses surfaces limites (à travers un modèle surfacique de type B-Rep) de type plans, cylindres, cônes, sphères, tores, à l'exclusion des formes libres dans la définition de la limite de l'objet, le procédé comportant des étapes : - de décomposition du premier objet en un ensemble de primitives volumiques simples, - d'association à ce premier objet d'un graphe de construction défini à partir de ces primitives volumiques et d'un ensemble de paramètres géométriques d'utilisation de ces primitives volumiques dans le cas spécifique de ce premier objet, ledit graphe de construction permettant de décrire, de manière compacte, toutes les variantes de construction de l'objet par des combinaisons booléennes de ces primitives, - de création du second objet comme une variante du premier objet selon ce graphe de construction, par modification de certains de ces paramètres.

Description

Procédé de conception assistée par ordinateur comportant une étape de modélisation
La présente invention appartient au domaine des procédés de conception d'objets tridimensionnels par ordinateur.
Elle vise en particulier un procédé de conception d'un objet tridimensionnel volumique et une association de cet objet à un graphe de construction basé sur des primitives de formes simples permettant de décrire, de manière compacte, toutes les variantes de construction de ce même objet. La génération automatique du graphe de construction s'appuie sur une phase de décomposition de cet objet 3D initial, connu uniquement par un modèle surfacique de sa frontière, en un ensemble de primitives volumiques simples.
Préambule et art antérieur
Lors de la conception d'un système complet, par exemple un aéronef, il peut apparaître, par exemple du fait de modifications de cahier des charges sur le système complet, un besoin de modification des caractéristiques géométriques d'un objet connu, dont les caractéristiques géométriques et mécaniques sont connues.
Une telle modification dimensionnelle d'une pièce tridimensionnelle connue implique notamment des calculs de tenue mécanique à certains efforts dimensionnants. La réalisation de ces calculs, le plus souvent par des méthodes numériques de type éléments finis, implique une modélisation de la pièce répondant aux objectifs des calculs mis en place et implique des modifications de forme. Cette modélisation comporte une phase dite d'idéalisation, dans laquelle un opérateur procède à une simplification de la pièce pour mettre en évidence les éléments de sa structure, notamment des raidisseurs, parois minces etc. modélisables par des plaques, coques etc. répondant ainsi aux objectifs des calculs correspondants. L'idéalisation se réfère ainsi à des transformations géométriques où un sous-ensemble d'un volume peut être transformé en une surface ou une ligne représentatives respectivement d'une plaque ou d'une coque ou bien d'une poutre dans le cas où l'élément géométrique est une ligne. Cette phase d'idéalisation produit un modèle de l'objet initial dit idéalisé. Ce modèle idéalisé pourra être traité par une approche de type éléments finis. Les résultats de ces calculs pourront conduire à des modifications de dimensions de l'objet initial afin de répondre aux modifications du cahier des charges.
Actuellement, les transformations d'idéalisation sont essentiellement réalisées manuellement. L'accès à un paramétrage et à une décomposition d'un objet adaptés au besoin d'un métier est, au mieux, lié à l'arbre de construction de cet objet, tel qu'il existe dans un environnement CAO (conception assistée par ordinateur) ou plus, généralement, dans un logiciel de modélisation géométrique capable d'associer un arbre de construction au modèle géométrique d'un objet.
Très souvent, les besoins de modification de forme ne peuvent être satisfaits simplement car :
L'arbre de construction est perdu lorsque le modèle géométrique de l'objet doit être transféré entre le logiciel où il a été créé et un autre logiciel répondant au besoin d'un autre métier,
l'objet 3D n'est décrit que par un seul arbre de construction tel que généré par l'utilisateur lors de la construction de l'objet.
On fait référence dans la suite de la description à de nombreux termes empruntés à la théorie mathématique des graphes, de la topologie : graphe, arbre, CW-complexe, etc. Ces termes sont employés dans leur sens classique dans cette théorie.
En CAO, un arbre de construction est défini comme une séquence ordonnée de processus de génération de forme (également appelés processus génératifs correspondant à la création de primitives) usuellement créés par un modeleur CAO au cours d'un processus de conception d'un objet par modélisation surfacique dite B- Rep (acronyme de "Boundary Représentation" : modélisation surfacique d'un volume par sa frontière : faces, arêtes et sommets).
Cependant, un tel arbre de construction n'apporte pas toutes les propriétés souhaitées dans de nombreuses configurations: modifications de dimensions, processus d'idéalisation pour une analyse par éléments finis... Cette remarque s'applique naturellement dans tous les cas où l'objet 3D n'est pas associé à un arbre de construction, ce qui est une situation fréquente dans le cas de conception de systèmes complets.
Les logiciels CAO (conception assistée par ordinateur) et de simulation les plus connus proposent des fonctions d'idéalisation, peu automatisées et peu robustes. Ils proposent également des décompositions en formes caractéristiques ('form features') et en primitives (formes de base de type cylindre, cône, cube etc.) qui sont limitées à un seul arbre de construction et sont peu adaptés à des processus d'idéalisation car les primitives qu'ils contiennent ne conviennent souvent pas à la mise en place de processus d'idéalisation. De plus, les logiciels de CAO associent à des objets des arbres nécessairement binaires, c'est-à-dire qu'une seule primitive est ajoutée à la forme de l'objet intermédiaire à chaque étape de construction, c'est-à-dire à chaque nœud de l'arbre de construction.
Exposé de l'invention
L'invention vise alors un procédé de conception assistée par ordinateur d'un second objet tridimensionnel, à partir d'un premier objet tridimensionnel connu uniquement par ses surfaces limites (à travers un modèle surfacique de type B-Rep), de type plans, cylindres, cônes, sphères, tores, à l'exclusion des formes libres dans la définition de la frontière de l'objet, le procédé comportant des étapes :
- de décomposition du premier objet en un ensemble de primitives volumiques simples,
- d'association de ce premier objet à un graphe de construction défini à partir, d'une part, de ces primitives volumiques et, d'autre part, d'un ensemble de paramètres géométriques d'utilisation de ces primitives volumiques dans le cas spécifique de ce premier objet,
- de création du second objet comme une variante du premier objet selon ce graphe de construction, par modification de certains de ces paramètres (par exemple diamètre, longueur etc.).
On rappelle ici qu'un arbre est un cas particulier de graphe ne comportant pas de cycles. Un graphe de construction peut comporter des cycles, notamment, dans le cas du présent procédé, lorsque deux séquences différentes de génération du même objet sont obtenues par une première série de primitives, identiques et ordonnées de manière identique pour chacune des deux séquences, puis divergent par la forme des primitives contenues dans chaque séquence puis aboutissent à nouveau à une même forme intermédiaire, ce qui se traduit dans le graphe par deux branches terminées par deux mêmes nœuds dudit graphe. Chaque nœud d'une séquence représente une forme intermédiaire évoluant progressivement de primitives "racines" vers le même objet complet. Chacune de ces séquences représente un arbre qui est un arbre de construction de l'objet extrait du graphe de construction.
Dans une mise en œuvre particulière du procédé, ledit graphe de construction inclut toutes les variantes de construction de l'objet à l'aide de combinaisons booléennes de ces primitives.
En d'autres termes, le procédé comporte une étape de modélisation du premier objet tridimensionnel sous forme de graphe de construction utilisant un ensemble prédéterminé de primitives volumiques et d'opérations booléennes déterminant la combinaison de ces primitives volumiques dans ledit objet.
La méthode de décomposition utilisée dans le présent procédé permet de donner une structure à un objet (graphe de décomposition) afin de permettre des modifications simples et rapides de la forme de cet objet.
Le procédé propose d'extraire un graphe de construction d'un modèle volumique (B-Rep) d'un objet, ledit modèle volumique étant classiquement obtenu grâce à un logiciel CAO, de sorte que les processus génératifs (primitives et opérations booléennes associées), identifiés dans le graphe de construction, soient utilisables pour des analyses par éléments finis et, en particulier dans ce cas, pour des processus d'idéalisation. Toutefois, le procédé n'est pas restreint au cas des analyses éléments finis mais peut être utilisé pour toute opération nécessitant une modification de paramètres ou de forme dudit modèle volumique.
Dans une mise en œuvre particulière du procédé, le graphe de décomposition, obtenu par le procédé, comporte en chaque nœud le plus grand nombre de primitives possible qui peut être appliqué à chaque étape de construction de l'objet, ce qui permet un encodage compact d'un grand nombre de possibilités de construction de cet objet contrairement aux arbres de construction de logiciels CAO qui génèrent des arbres de construction binaires. De même, des variantes de génération de primitives ne sont pas distinguées dans le graphe de construction. Par exemple, les variantes de génération par extrusion d'un parallélépipède rectangle selon trois directions différentes ne sont pas distinguées. Plus généralement, le graphe de construction comporte un ensemble de nœuds représentant un ensemble minimal, non trivial, de formes de l'objet à différentes étapes intermédiaires de sa construction.
Dans une mise en œuvre particulière du procédé, les étapes non triviales de construction de l'objet caractérisées par un nœud du graphe de construction peuvent être associées à des algorithmes simples permettant d'énumérer les variantes complémentaires non explicitées. Par exemple, un nœud comportant plusieurs primitives peut être associé à un algorithme exprimant toutes les variantes d'arbres binaires permettant de générer chacun des arbres de construction tels que produits par un logiciel de CAO.
Dans une mise en œuvre particulière du procédé, le graphe de construction est extrait à l'aide d'un opérateur de suppression de primitive qui simplifie progressivement la forme de l'objet. D'une certaine manière, le principe est de «remonter dans le temps» en partant de l'objet complet initial et en supprimant progressivement des primitives de forme de cet objet jusqu'à aboutir à au moins une primitive "racine". Classiquement, le processus de construction géométrique d'un objet à partir de primitives peut être vu comme un processus temporel où l'utilisateur part de primitives simples et les combinent progressivement avec d'autres pour complexifier la forme intermédiaire de l'objet jusqu'à obtenir la forme finale désirée.
Dans une mise en œuvre particulière du procédé, les primitives utilisées comprennent des primitives d'extrusion, définies par deux faces parallèles comportant un contour d'extrusion, et une direction d'extrusion non parallèle à ces faces. De cette manière, le procédé est capable de traiter efficacement les composants de type mécaniques, qui s'adaptent particulièrement bien à une modélisation par primitives d'extrusion.
Dans un cas plus particulier, les primitives d'extrusion sont associées à chaque nœud du graphe de construction à un opérateur booléen de type union, ce qui correspond à une opération d'ajout de matière.
Dans une mise en œuvre particulière du procédé, les primitives utilisées comprennent des primitives de révolution.
Ces différentes primitives de référence considérées ici sont générées à partir d'une étape d'esquisse dans un plan définissant au moins un contour fermé, le contour étant composé de segments de droites et d'arcs de cercles. Dans une mise en œuvre particulière du procédé, celui-ci comporte une étape d'enlèvement de rayons de raccordement de l'objet initial, notamment pour les arrondis à rayon variable. Plus précisément, les rayons de raccordement enlevés sont ceux qui ne peuvent être intégrés dans les contours de primitives d'extrusion ou de révolution.
Dans une mise en œuvre particulière du procédé, la frontière de l'objet initial est transformée, sans changer la forme de l'objet, en un ensemble de faces et d'arêtes maximales. Cette nouvelle représentation est unique et intrinsèque à la forme de l'objet.
Dans une mise en œuvre particulière du procédé, celui-ci comporte une étape d'identification de primitives maximales à chaque étape de décomposition de l'objet, une primitive identifiée à une étape du processus de construction d'un objet étant dite primitive maximale si aucune autre primitive, valide à cette même étape, ne peut être entièrement insérée dans la primitive. Les primitives maximales sont identifiées sur la base des faces et arêtes maximales définissant la frontière de l'objet intermédiaire disponible à chaque étape de décomposition de l'objet initial.
Dans une mise en œuvre particulière du procédé, les processus génératifs utilisés sont de type additif, c'est-à-dire qu'ils sont exclusivement fondés sur un opérateur booléen régularisé d'union lors de la combinaison de primitives à chaque étape t de modélisation des processus génératifs.
Cette disposition est particulièrement avantageuse lorsque l'intention est de générer un ensemble de processus génératifs qui correspondent le mieux aux besoins des processus d'idéalisation. En effet, les objets soumis à des transformations d'idéalisation, comme la détermination de surfaces moyennnes, sont caractérisés par des surfaces ou des lignes situées à l'intérieur de ces primitives, et les connexions entre les primitives localisent également les connexions entre leurs représentants idéalisés (lesdites surfaces et lignes précédentes) lorsque ces connexions dérivent des objectifs formulés pour un modèle éléments finis.
Par conséquent, la représentation idéalisée de l'objet M, correspondant à l'objet final du graphe de construction, peut être dérivée de la représentation idéalisée de chaque primitive maximale Pi présente dans le graphe de construction de M et de ses connexions, indépendamment des autres primitives maximales présentes dans ce même graphe. Ceci s'applique dans le cas où les primitives Pi sont combinées entre elles uniquement par une opération booléenne régularisée d'union.
Dans le cas où des nœuds du graphe de construction comporteraient des opérations d'enlèvement de matière, c'est-à-dire des opérations booléennes régularisées de soustraction, les transformations d'idéalisation sont plus complexes à traiter, alors que les formes de volume résultantes sont identiques, ce qui ne présente pas d'intérêt quant au recours à des opérations booléennes régularisées de soustraction dans ce cas. Cependant, si l'objet M ne peut être décomposé en un ensemble de primitives Pi combinées par des opérations booléennes régularisées d'union, le processus de génération de graphe est applicable mais produira des primitives racines qui ne seront pas des extrusions ou bien des révolutions.
L'exécution de l'idéalisation de l'objet M à partir de ses primitives confère plus de robustesse à ce processus par rapport à l'art antérieur pour deux raisons: d'abord, chaque primitive maximale Pi et ses connexions déterminent tant l'emplacement 3D de la représentation idéalisée de Pi que ses connexions avec d'autres primitives idéalisées voisines, c'est-à-dire des primitives dont l'intersection booléenne avec Pi est non nulle. Deuxièmement, une classification des catégories de connexions peut être définie, ce qui est important parce que les processus d'idéalisation comptent encore sur le savoir-faire de l'utilisateur pour traiter des connexions significativement différentes de connexions simples que traitent actuellement des logiciels de CAO ou de calcul par éléments finis.
Dans une mise en œuvre particulière du procédé, les objets M initiaux décomposés en primitives sont associés à un graphe de construction ne comportant que des processus génératifs d'ajout de matière. C'est-à-dire que chaque nœud du graphe de construction associé à M ne comporte que des opérations booléennes régularisées d'union.
Présentation des figures
Les caractéristiques et avantages de l'invention seront mieux appréciés grâce à la description qui suit, description qui expose les caractéristiques de l'invention au travers d'un exemple non limitatif d'applications.
La description s'appuie sur les figures annexées qui représentent :
Figure 1 : un organigramme des étapes principales d'un procédé tel que décrit, Figure 2 : un schéma global de génération des processus génératifs correspondant à la génération du graphe de construction de l'objet initial,
Figure 3 : les principales étapes de l'extraction d'une primitive Pi à une étape t de génération du graphe de processus génératifs, c'est-à-dire à partir de l'identification de cette primitive jusqu'à son retrait de l'objet intermédiaire, à cette étape, issu de l'objet initial M,
Figure 4 : un organigramme global des différentes étapes d'un procédé d'idéalisation,
Figure 5 : une taxonomie des morphologies associées à un segment de la MAT d'une primitive Pi,
Figure 6 : une partie des interfaces possibles entre sous-domaines lorsque ceux-ci sont de type plaque ou coque.
Description détaillée d'un mode de réalisation de l'invention
Dans les sections qui suivent, on fera souvent référence aux concepts et notations qui sont présentés maintenant.
Le processus de génération de graphe de construction d'un objet 3D est déterminé à partir de différentes séquences de construction de cet objet. Dans l'exposé de l'invention, il est fait référence à une analogie entre la construction géométrique d'un objet et un processus comportant les marques temporelles des opérations de construction. Pour désigner une opération de construction, on se réfère ainsi à un instant f caractérisant celle-ci à l'intérieur d'une séquence décrivant un processus génératif. L'opération précédente sera ainsi repérée par (t-1). L'objet dont on cherche à déterminer le graphe de construction est noté M. C'est l'objet résultat de la combinaison des primitives contenues dans le graphe de construction. Par référence aux instants t d'une séquence, on désigne également par Af0 l'objet de départ M. On désigne par Λί_7 une évolution de l'objet M au cours d'une séquence de construction dont l'origine est l'objet Ma et M-3 est l'objet obtenu à l'instant t} correspondant à la j'eme étape de la séquence avant d'atteindre l'objet Af0. Cette notation indique qu'en incluant l'étape j, il reste j étapes de construction avant que n'atteigne la forme de A% qui coïncide avec l'objet de départ M.
On note dM.t l'ensemble des faces connectées définissant la frontière de l'objet M.j.
1.1. Hypothèses et contexte de modélisation
Compte tenu d'un objet cible M à analyser (par exemple analyse morphologique de M en vue d'un calcul par éléments finis), considérons d'abord l'objet indépendamment du contexte de modélisation indiqué ci-dessus. L'objet M a été généré à l'aide d'un logiciel CAO ou, plus généralement un modeleur géométrique, il est donc obtenu par le biais d'un ensemble de primitives combinées entre elles par ajout ou suppression de matière (opérations booléennes régularisées d'union ou de soustraction entre les primitives).
Les combinaisons par opérations booléennes entre ces primitives créent ainsi des interactions entre leurs surfaces frontières, qui, à leur tour, produisent des intersections de courbes qui forment la frontière, c'est-à-dire les faces, les arêtes et les sommets, d'une modélisation volumique (B-Rep) de l'objet M. Dans une modélisation volumique B-Rep telle qu'utilisée dans le présent procédé, un volume est connu par sa surface frontière, avec des conditions sur cette surface d'être fermée, orientée et sans intersection avec elle-même.
En conséquence, la frontière de l'objet M contient des traces des processus génératifs qui ont produit ses primitives. Ainsi, des éléments de la frontière de M, c'est-à-dire des faces, des arêtes et des sommets, peuvent être considérés comme la mémoire des processus de génération dans lesquels les primitives sont séquentiellement combinées par des opérateurs booléens régularisés.
Les modeleurs CAO courants sont fondés sur les processus strictement séquentiels, où une primitive est combinée avec l'objet intermédiaire à l'aide d'un opérateur booléen régularisé, car l'utilisateur peut difficilement générer simultanément plusieurs primitives sans regarder les résultats intermédiaires, pour voir comment ils se combinent ou interagissent, et leur influence sur la forme de l'objet intermédiaire. Comme indiqué dans le préambule, il résulte de ce comportement que les arbres de construction associés à des objets sont des arbres binaires.
Par conséquent, les opérateurs de modélisation volumique B-Rep dans les modeleurs CAO étant uniquement des opérateurs binaires, lors d'un processus de conception, l'opérateur choisi par l'utilisateur combine la dernière primitive générée à la forme de l'objet M à l'étape t de ce processus génératif.
En outre, les modeleurs CAO fournissant des opérateurs booléens régularisés
(opérateurs garantissant que le modèle géométrique résultat de l'opération est une variété de même dimension que les opérandes) les réduisent à des opérateurs binaires, alors qu'ils sont n-aires, comme classiquement définis dans les approches de modélisation volumique CSG (Constructive Solid Geometry).
Dans le présent procédé, nous ne faisons aucune restriction sur la quantité de primitives éventuellement générées 'en parallèle', c'est-à-dire que l'arité des opérateurs de combinaison est n> 2.
On observe que le nombre de processus génératifs possibles produisant l'objet M peut être arbitrairement grand, par exemple, même un cube peut être obtenu à partir d'un nombre arbitrairement grand d'extrusions d'étendues arbitrairement faibles combinées avec un opérateur d'union.
Nous utilisons donc la notion de primitives maximales de sorte que le nombre de primitives soit fini et aussi petit que possible pour générer l'objet M.
Une primitive Pi, valide, identifiée à une étape t du processus de construction de M en utilisant une face de base Fb1, est dite primitive maximale si aucune autre primitive Pj, valide à cette même étape t, ayant F'b1 comme face de base, ne peut être entièrement insérée dans la primitive Pi (voir la section 2.1 ). Ceci se traduit par la condition : P, ΓΓ P}≠ P„ où Π' désigne l'opérateur booléen régularisé d'intersection (la définition d'un tel opérateur est connue de l'homme du métier). Les primitives maximaies impliquent que le contour d'un croquis peut être arbitrairement complexe, ce qui n'est pas le cas dans la pratique de l'ingénierie actuelle, où l'utilisation de primitives simples facilite le processus interactif de modélisation, la paramétrisation, et les affectations de contraintes géométriques aux contours.
Même si l'utilisation de primitives maximales réduit considérablement le nombre de processus génératifs possibles, ils sont loin d'être uniques pour l'objet M.
Nous considérons, dans la mise en œuvre particulière du procédé, que les processus génératifs constitutifs du graphe de construction sont de type additif, c'est- à-dire qu'ils sont exclusivement fondés sur un opérateur d'union régularisée (la définition d'un tel opérateur est connue de l'homme du métier) lors de la combinaison de primitives à chaque étape f de construction de l'objet à l'aide de processus génératifs de M. Dans une application du graphe de construction à des idéalisations d'objets 3D, l'utilisation de processus génératifs additifs est privilégiée par rapport à des opérations d'enlèvement de matière qui ne peuvent être utilisées facilement dans des opérations d'idéalisation. Si M possède une forme telle que, localement, la décomposition ne peut être obtenue sans recours à une opération d'enlèvement de matière, le processus de décomposition produira un domaine volumique qui ne sera pas une primitive d'extrusion.
Afin de réduire davantage le nombre de processus génératifs explicitement décrits dans le graphe de construction, ces processus génératifs doivent être des variantes non triviales de processus déjà identifiés. Par exemple, le même bloc parallélépipédique peut être extrudé avec trois contours de faces et orientations différents, mais ils créent le même volume. Dans le présent procédé, ces processus équivalents sont détectés par comparaison des propriétés géométriques du contour de l'objet généré. Plus généralement, les variantes triviales de processus génératifs sont implicitement décrites par des algorithmes simples rattachés à chacun des nœuds du graphe de construction. Outre, l'exemple précédent, on peut également mentionner l'algorithme qui énumère toutes les combinaisons possibles d'opérations binaires d'union régularisées entre toutes les primitives Pi présentent en un même nœud afin de réduire un processus génératif à un arbre binaire.
D'autres observations similaires seront abordées dans les sections suivantes pour décrire les critères de sélection de processus génératifs significatifs. Les hypothèses ci-dessus visent à réduire le nombre de processus génératifs produisant le même objet M tout en contenant des primitives adaptées aux transformations de l'idéalisation, indépendamment du processus de conception initialement mis en place par les ingénieurs et indépendamment des contraintes topologiques communes à tous les modeleurs CAO (voir section 1 .2).
L'approche globale peut être représentée par le processus de la figure 1. Dans une première étape 101 , un fichier STEP est fourni en entrée. Il contient le modèle volumique de l'objet M, décrit sous forme B-Rep.
Dans une étape 102, un ensemble de processus génératifs est extrait qui forme des ensembles d'arbres de construction, susceptibles de produire un graphe (ensemble des arbres de constructions parvenant au même objet volumique).
À cette fin, dans une étape 103, des critères qui dépendent de l'application sont utilisés pour identifier un ou plusieurs arbres de construction en fonction des besoins de l'application.
Dans une étape 104, dans le cas d'analyse par éléments finis, des transformations de forme sont réalisées (idéalisation).
1.2. Décomposition de frontière intrinsèque à un modèle B-Rep à l'aide d'entités maximales
Afin d'extraire des processus génératifs à partir de la décomposition d'un modèle volumique B-Rep de l'objet M, il est important d'avoir une décomposition de cet objet M qui caractérise sa frontière et donc sa forme, de façon unique.
Une décomposition d'un modèle volumique B-Rep d'un objet n'est cependant pas unique (et donc ne convient pas), car elle est soumise à deux influences :
1 - Le processus de construction de cet objet, selon qu'il est réalisé de façon progressive (forward) lors d'un processus de conception ou de façon régressive (backward) comme dans le présent procédé.
En effet, chaque opération impliquant une primitive divise / joint les faces et modifie leur bords (arêtes) de cette primitive et de l'objet courant concernés. Lors de l'assemblage de faces constituant la frontière de l'objet résultat, des faces adjacentes peuvent être définies par des surfaces identiques. La décomposition de la frontière de l'objet résultat n'est donc pas unique.
Cependant, les modeleurs CAO peuvent ne peuvent pas fusionner les entités correspondantes dans tous les cas, produisant ainsi une décomposition de la surface limite (en faces non maximales) qui ne change pas la forme de l'objet. Ceci est conforme au théorème d'Euier-Poincaré qui établit une relation entre l'invariant topologique d'un objet volumique et la décomposition de sa frontière en faces, arêtes, sommets.
Pour les besoins du présent procédé, de telles configurations de faces et de bords doivent conduire à un processus de fusion de telle sorte que la décomposition de la surface limite de l'objet soit unique pour une forme donnée. Elle devient donc intrinsèque à la forme de l'objet M;
2 - Les conditions topologiques nécessaires pour mettre en place un pavage cohérent de la frontière de l'objet, c'est-à-dire la décomposition de sa surface frontière, doivent être un CW-complexe (qui est un type d'espace topologique défini pour répondre aux besoins de la théorie de l'homotopie. Un CW-complexe est un espace construit en collant ensemble des cellules. Un CW-complexe de dimension 0 est un ensemble fini de points. Un CW-complexe de dimension 1 est un ensemble de segments. Un CW complexe de dimension 2 est un ensemble de faces...). Par conséquent, les surfaces courbes fermées doivent être partitionnées.
À titre d'exemple, un cylindre est décomposé en deux demi-cylindres dans la plupart des modeleurs CAO ou est décrit avec un patch auto connecté attaché le long d'une génératrice.
Dans les deux cas, le(s) bord(s) reliant les faces cylindriques sont adjacents à la même surface cylindrique et ne sont pas significatifs du point de vue de la forme de l'objet incorporant cette surface. Ainsi, pour nos fins, ce pavage ne doit pas participer à la décomposition de la surface frontière de l'objet afin que cette décomposition soit intrinsèque à la forme de l'objet.
Suite à ces observations, on introduit des concepts de faces maximales et d'arêtes maximales comme un moyen de produire une décomposition intrinsèque et unique de la surface frontière d'un objet donné M.
Les faces maximales sont identifiées en premier.
Pour chaque face de l'objet M, une face maximale F est obtenue par fusion répétée d'une face adjacente Fa partageant une arête commune avec la face F lorsque la face Fa est définie par une surface du même type et de mêmes paramètres que F (typiquement des faces planes adjacentes qui sont définies à partir d'un seul et même plan).
La face F est dite face maximale lorsqu'il n'y a plus de face Fa qui puisse être fusionnée avec F (en termes intuitifs, toute les facettes formant une face d'un objet ont été englobées). Ces faces maximales coïncident avec les "c-faces", définies dans l'art antérieur, dont il a été prouvé qu'elles définissaient l'objet M de façon unique. De même, pour chaque arête (edge) de la frontière de M, une arête maximale £ ayant comme faces adjacentes F1 et F2 est obtenue par fusion répétée avec une arête Ea, adjacente à E, lorsque Ea est également adjacente à F1 et F2 (l'arête maximale £ est alors la courbe brisée la plus grande ayant F1 et F2 comme faces adjacentes).
Encore une fois, le bord (ou arête) E représentant une partie de la frontière d'une face F, est dit bord maximal (ou arête maximale) lorsque plus aucune arête Ea ne peut être fusionnée avec E.
En conséquence de ces processus de fusion successifs, il est possible de se retrouver avec des bords fermés n'ayant pas de sommet ou avec des faces fermées qui n'ont pas de bord, c'est-à-dire pas d'arête.
En raison de l'existence possible de bords maximaux sans sommets et de faces maximales sans bords, les opérations de fusion sont réalisées de façon uniquement topologique, c'est-à-dire que la représentation par modèle volumique B-Rep de l'objet reste inchangée et que sa décomposition en faces et arêtes maximales constitue une représentation topologique de sa frontière interfacée avec sa représentation B-Rep.
Les faces et les bords maximaux sont générées non seulement pour le modèle M initial, mais aussi après l'enlèvement de chaque primitive lors de l'identification du graphe de processus génératifs.
Les primitives maximales sont basées sur les faces et les arêtes maximales.
2. Processus génératifs
Etant donné un objet volumique M d'entrée, la première étape du procédé est de le transformer en un objet sans rayons de raccordement (en anglais : "blending radii"). Pour cela, on applique des fonctions d'enlèvement de formes caractéristiques (en anglais : "defeaturing") disponibles dans la plupart des systèmes de CAO. L'élimination des rayons de raccordement concerne ceux qui ne peuvent être incorporés dans des primitives Pi.
Comme on le voit sur la figure 2, à partir de l'objet M, les processus génératifs sont obtenus en deux phases:
1 - l'objet M est traité par un processus itératif d'identification et d'élimination des primitives Pi. L'objectif de cette phase est de «remonter le temps» jusqu'à atteindre les primitives racines des processus génératifs. Le résultat de cette phase est un ensemble de primitives Pi.
2 - Basé sur des hypothèses de la section 3.1 , un ensemble de processus génératifs est produit en utilisant les primitives obtenues à l'issue de la première phase pour répondre aux exigences d'une application : ici l'idéalisation avant analyse par éléments finis.
2.1. Primitives d'extrusion, leur visibilité et leur attachement à l'objet M J, une évolution de l'objet M correspondant à l'étape j d'un processus génératif
La figure 3 illustre les principales étapes de l'extraction d'une primitive Pi d'un graphe de processus génératif, c'est-à-dire à partir de l'identification de cette primitive jusqu'à son retrait de M, et est expliquée plus en détail ci-dessous.
Afin d'identifier les primitives d'extrusion Pi constituant l'objet M = M0 et les évolutions M , de cet objet, en remontant à l'étape j de la génération du graphe de processus génératifs, il est obligatoire de définir les paramètres géométriques des primitives Pi ainsi que les hypothèses faites dans le présent procédé.
Tout d'abord, une primitive de référence Pi n'est jamais complètement visible (il existe toujours au moins une face de la primitive Pi qui n'est pas incluse dans la surface frontière de M0) dans l'objet M ou M_j sauf si la primitive Pi est isolée comme une racine d'une séquence de construction, c'est-à-dire que Pi = /Vf ou Pi = M-}, Cette situation exprime une terminaison de branche dans le graphe de construction associé à l'objet M. En dehors de ces cas particuliers, les primitives de référence Pi ne sont que partiellement visibles.
Par souci de simplicité, nous nous référons à de telles primitives de référence
Pi (celles qui sont isolées comme racines d'une séquence de construction) comme «primitives visibles».
Une primitive Pi est la mémoire d'un processus génératif qui a eu lieu entre l'objet M-j et l'objet M_(J+1;_ Dans le présent procédé, l'identification des primitives basées sur des contours d'extrusion visibles permet la génération des primitives de référence ayant des contours plus simples comparativement à des primitives dont une partie du contour ne serait pas visible. En effet, à une étape j où l'objet M_; serait constitué d'une primitive
Pi et de l'objet Af_ -+1>, tel que Pi aurait un contour partiellement inclus dans l'objet Af_Q+1), cette configuration donne lieu à une infinité de configurations triviales qui n'ont pas d'influence sur la forme de l'objet M-; et pour lesquelles les parties de contour de la primitive Pi incluses dans l'objet M_y+1] pourraient être constituées d'un nombre arbitraire d'éléments géométriques (segments de droites, arcs de cercles et donc de points de raccordement entre ces entités). Dans une mise en œuvre particulière du procédé, cette disposition consiste à minimiser l'interface, c'est-à-dire la partie commune entre la primitive Pi et l'objet M_y Les paramètres intervenant dans une primitive d'extrusion de référence Pi sont les deux faces de base, Fb1 et Fb2, qui sont planes et comportent le même contour dessiné sur lequel l'extrusion a lieu.
Considérant des extrusions qui ajoutent du volume à un objet préexistant, les bords de la face Fbi sont appelés bords de contour et les arêtes de ce contour sont dites convexes.
Une arête convexe est telle que les normales à ses faces adjacentes définissent un angle a tel que: 0 <a <ττ. Lorsque la primitive Pi appartient à l'objet Mj, les arêtes de son contour le long desquelles la primitive Pi est fixée à l'objet M j peuvent être soit convexes, soit concaves, en fonction de la proximité de la primitive Pi dans l'objet M .
Dans la direction d de l'extrusion, toutes les arêtes générées à partir des sommets du contour sont définies par des segments de droite parallèles entre eux et orthogonaux à la face Fbi. Ces arêtes sont appelées arêtes latérales de Pi. Les faces adjacentes à la face Fbi sont appelés faces latérales. Ces faces latérales sont délimitées par quatre côtés, deux d'entre eux étant des arêtes latérales.
Des arêtes latérales peuvent être des arêtes latérales fictives quand une face latérale coïncide avec une face de l'objet Mj adjacente à la primitive Pi .
Quand les faces latérales de la primitive Pi coïncident avec des faces adjacentes à l'évolution M à l'étape j de l'objet M, il ne peut y avoir d'arête séparant la primitive Pi de l'évolution M_ +1) de stade (stade d'une itération plus ancienne) de l'objet M à cause de la définition des faces maximales. Une telle configuration fait référence à des arêtes fictives d'une face de base.
Visibilité. La visibilité de la primitive Pi dépend de son insertion dans l'objet M , et fixe les conditions pour identifier la primitive Pi dans dMj. La visibilité la plus simple est obtenue lorsque les faces de base Fbi de la primitive Pi dans l'objet Mj existent et quand au moins un bord latéral relie Fbi à M s
Plus généralement, la primitive Pi est identifiée par deux conditions.
Tout d'abord, au moins une face de base Fbi est visible dans l'objet M c'est-à- dire que la primitive Pi peut être identifiée par une surface plane maximale (face comportant toutes les facettes adjacentes à cette face et de mêmes type et paramètres).
En deuxième lieu, il existe une arête latérale, à savoir un segment de droite perpendiculaire et relié à une arête convexe de Fbi. Cette arête définit la distance d'extrusion de la primitive Pi. D'autres faces latérales sont identifiées par propagation à partir des deux côtés de l'arête candidate jusqu'à ce que les arêtes de contour de Fbi ne soient plus convexes.
Plus généralement mais non limitativement, l'arête latérale peut ne pas être orthogonale et être reliée à une arête convexe de Fbi. Dans ce cas, la primitive Pi identifiée sera inclinée par rapport à la face Fbi selon la direction définie par cette arête.
Attachement. Une primitive d'extrusion Pi est attachée à l'objet M-} , évolution à l'étape j de l'objet M, conformément à sa visibilité dans l'objet W_j. La zone d'attachement entre la primitive Pi et l'objet ALy+1] correspond aux faces et aux morceaux de faces de la primitive Pi qui n'existent pas dans l'objet M_; et qui sont nécessaires à la définition de Pi pour que dPi soit une surface fermée : condition nécessaire pour que Pi soit une primitive volumique. L'attache définit une interface géométrique, IG, entre la primitive Pi et l'objet M_<J+1;, qui est l'intersection de Pi et de l'objet Af_(J+1i , évolution à l'étape (j+1 ), de l'objet M. Cette interface géométrique IG peut être une surface ou un volume, ou les deux, c'est-à-dire un modèle non-variété (objet constitué de surfaces et de volumes qui n'est pas, au sens mathématique, une variété). Une des attaches les plus simples survient lorsque la primitive d'extrusion Pi a ses faces de base Fb1 et Fb2 visibles avec des contours similaires. Cela signifie que la primitive Pi est connectée à l'objet M (j +1) à travers des faces latérales seulement.
Par conséquent, l'interface géométrique IG est une surface définie par l'ensemble des faces latérales qui ne sont pas visibles dans la primitive Pi.
Toutes les variantes possibles d'interfaces géométriques IG doivent être évaluées pour garder celles qui sont acceptables, c'est-à-dire celles qui définissent Pi telles que Pi combinée avec l'objet Jf_û+1] produit effectivement M_j . Dans un premier temps, le procédé d'extraction des primitives d'extrusion Pi peut être traduit en un algorithme permettant de les identifier (procédure find_ visible_extrusion de l'algorithme 1 ).
Ensuite, les primitives d'extrusion Pi sont soumises à des conditions de validité telles que décrites dans la section suivante.
2.2. Suppression de primitives en remontant dans le temps
L'objectif est maintenant de décrire l'opérateur de suppression qui produit un nouvel objet Ai-yti] (évolution à l'étape j+1 de l'objet M) antérieur à l'objet M-}. Cet opérateur de suppression est défini comme un opérateur binaire avec, la primitive d'extrusion Pi et l'objet M_ comme opérandes, et l'objet Af_(J+ 1j en tant que résultat. Dans le contexte d'un processus de génération de graphe de construction, l'objet M : se rapporte à une étape j et l'objet _y+1] à une étape (j + 1) plus ancienne dans le graphe de construction de l'objet M.
Caractérisation des interfaces. Afin d'être en mesure de générer l'objet
M_J-J + 1J, une fois qu'une primitive d'extrusion Pi, valide (voir la définition de la contrainte de validité ci-dessous), est identifiée, il est nécessaire de reconstruire les faces adjacentes à la primitive Pi de sorte que l'objet AÎ_Q+ 1I définisse un volume. À cette fin, les faces de l'objet _j adjacentes à la primitive Pi et à l'interface géométrique IG doivent être caractérisées. Ici, nous considérons que la primitive Pi est adjacente à d'autres sous-ensembles de primitives à travers une arête au moins. On considère, dans ce qui suit, que la face de base utilisée pour identifier Pi est Fb1 . L'opérateur de suppression varie en fonction du type d'interface géométrique IG et deux catégories peuvent être mises en place pour simplifier la présentation de cette opération:
1 - L'interface géométrique IG est de type surface. Dans cette catégorie, l'opérateur de suppression devra créer des faces latérales et / ou une extension de la face de base Fb2 de sorte que la face étendue Fb2' coïncide avec l'autre face de base Fb1. De fait, cette catégorie doit être subdivisée en deux sous-catégories :
1 a - L'interface géométrique IG contient seulement des faces latérales de Pi ou bien l'interface géométrique IG contient de telles faces latérales et également une extension de la face de base Fb2 et les arêtes de cette extension sont des arêtes concaves de l'objet M_y
1 b - L'interface géométrique IG contient des faces latérales de la primitive d'extrusion Pi, mais elle contient aussi une extension de la face de base Fb2 et les arêtes de cette extension sont des arêtes fictives de la face de base dans l'objet M.-r Ces arêtes seraient des arêtes convexes dans l'objet „(J+1) (exemple P1 sur la figure 3),
2 - L'interface géométrique IG contient au moins un sous-domaine de nature volumique.
Validité. Quelle que soit la catégorie de IG, une fois que la primitive d'extrusion Pi est identifiée et que ses paramètres sont fixés (contour, distance et direction d'extrusion), il est nécessaire de valider la primitive Pi avant de définir son interface géométrique IG (étape 2 sur la figure 3).
On désigne par Pi le volume de la primitive de référence, c'est-à-dire de l'ensemble de la primitive d'extrusion Pi. Afin de s'assurer que la primitive Pi est en effet une primitive de l'objet _; de M, la condition de validité nécessaire est formellement exprimée à l'aide d'opérateurs booléens régularisés entre ces deux volumes:
(M.j U* Pi) - * M.j = 9 (eq. 1 )
Cette équation indique que Pi intersecte l'objet _y seulement le long des bords en boucles formant son attache à l'objet M- +l c'est-à-dire que la primitive Pi ne franchit pas la limite de l'objet _ à un autre endroit que son attache.
La soustraction booléenne régularisée indique que les configurations limites produisant des points communs, des segments de courbes ou des surfaces entre Pi et l'objet M-. à d'autres endroits que l'attache de la primitive Pi sont acceptables.
Cette condition de validité réduit fortement le nombre de primitives participant à la définition du graphe de construction de l'objet M. Enlèvement de la primitive Pi. L'étape suivante consiste à générer l'objet _y 1j une fois que la primitive d'extrusion (primitive de référence) Pi a été identifiée et retirée de l'objet _ de M. Selon le type d'interface géométrique IG, certaines faces de la primitive de référence Pi peuvent être ajoutées pour s'assurer que l'objet AÎ-Q+IJ est bien un volume. Dans tous les cas, au moins une face de la primitive de référence Pi doit être modifiée pour que la partie visible de la primitive Pi décrive la totalité de à Pi, définissant ainsi la primitive de référence Pi.
Si l'interface géométrique IG est de type 1 a, alors les faces adjacentes aux arêtes de contour de la face de base Fb1 sont orthogonales à Fb1 ou bien toutes parallèles à la direction d'extrusion de Pi. Ces faces sont soit planes, soit cylindriques. L'interface géométrique IG contient les faces F a l définissant les faces latérales de Pi pour former les faces latérales de la primitive d'extrusion Pi qui ont été "entièrement cachées" dans l'objet M-r Fa 1 désigne un ensemble de faces.
Les arêtes de l'attache de la primitive Pi appartenant aux faces latérales de Pi peuvent être des arêtes latérales (réelles ou fictives) ou des arêtes arbitraires. Les arêtes latérales limitent les faces latérales définies dans l'ensemble Fa1, les arêtes arbitraires limitent l'extension des faces latérales partiellement visibles de Pi, elles appartiennent à l'ensemble Fa2.
Ensuite, l'interface géométrique IG peut contenir une extension de Fb2 appelée Fa3 telle que: Fb2 U Fa 3 = Fb1. Alors, la frontière de l'objet _Q+ 1J est définie par: dM-{)f ¾ = (ÔM.} - dPi) U (Fa1 U Fa2 U Fa3), (eq. 2) où 3 _j est l'ensemble des faces connectées définissant la frontière de l'objet
M_j, dPi est l'ensemble des faces connectées délimitant la partie visible de Pi. L'objet
Jf_|fj 1j définit une surface fermée, orientable, sans auto-intersection. L'objet Af_Q+ 1 est donc un volume.
Si l'interface géométrique IG est de type 1 b, IG contient un ensemble de faces Fa1 étendant les faces latérales de la partie visible de la primitive Pi. Pour réduire la description des différentes configurations, concentrons-nous sur l'aspect essentiel lié à l'extension des faces Fb2 contenues dans IG. Si cette extension peut être définie comme Fa3 ci-dessus, il doit être observé que les arêtes fictives de cette extension dans l'objet M-} sont remplacées par des arêtes convexes dans l'objet Ai_g+1i soit des arêtes du même type (convexe) que les arêtes correspondantes de Fb1. Sans entrer dans les détails, ces arêtes fictives peuvent être enlevées pour simplifier le contour de la primitive Pi, car ils apportent une complexité inutile à la forme de Pi et n'affecte pas la complexité de la forme de l'objet _y+1j Cette simplification de contour peut influer sur le contenu des ensembles Fa1 et Fa3 ci- dessus, mais il n'a aucun impact sur l'intégrité du volume M_Q+ 11 obtenu.
Si l'interface géométrique IG est de type 2, elle contient par définition au moins un sous domaine de nature volumique. Là encore, la diversité des configurations peut être assez large.
Une première condition pour générer une interface volumique adresse les surfaces adjacentes à Pi. Si S est l'extension d'une telle surface et si S Π * Pi≠ 0, S peut contribuer à la création d'un sous-domaine volumique.
Ensuite, chacune de ces surfaces S doit être traitée. À cette fin, toutes les arêtes attachant la primitive Pi dans l'objet M_ (J+ 11 et délimitant la même surface S dans l'objet Af_y+1] sont regroupées car elles forment un sous-ensemble du contour des faces pouvant contribuer à un sous-domaine volumique définissant IG.
Ces groupes sont nommés Ea. Les groupes Ea, avec d'autres ensembles d'arêtes, sont utilisés pour identifier des boucles dans les surfaces S qui définissent un sous-domaine volumique de IG qui doit satisfaire des conditions de validité non décrites ici par souci de concision.
II peut y avoir plusieurs sous-domaines volumiques valides définissant des variantes d'ensemble de faces permettant de remplacer la partie visible de Pi, dPi, dans dM-j par des séries de faces qui favorisent soit l'extension des surfaces adjacentes à Pi ou bien l'empreinte de Pi dans l'objet M-Q+I) avec l'utilisation de faces appartenant à la partie cachée de Pi dans l'objet Af_ . Toutes les variantes sont traitées pour évaluer leur contribution au graphe de processus génératifs. La contribution d'une primitive Pi au graphe de construction de M est décrite à la section 3.
Si, dans un cadre général, il peut y avoir plusieurs variantes de l'interface géométrique IG pour définir l'évolution M_(J + 1} de l'objet M, ces variantes produisent toujours un volume réalisable, c'est-à-dire que l'objet Af_(J+1j est nécessairement bornée par une surface frontière fermée, orientée et sans auto-intersection qui sont des conditions nécessaires pour que l'objet _Q+1] soit un volume. L'existence de l'objet j _(j-+1] définie comme un volume permet, dans le processus itératif de détermination du graphe de construction de M, de garantir que l'objet J#_CJ+1J, produit à la fin d'une itération où des primitives valides Pi sont retirées de l'objet courant Af_;, est un volume représenté sous forme B-Rep, comme l'est l'objet initial M.
3. Extraction du graphe de construction d'un objet M
3.1. Filtrage des processus génératifs
Après avoir défini l'opérateur de suppression de primitive, le but est maintenant d'intégrer les contraintes sur les variantes d'IG, et donc sur les différentes primitives Pi valides et candidates à être intégrées dans le graphe de construction de l'objet M, afin qu'un ensemble significatif d'objets M-., j> 0 puisse être généré pour produire un graphe de processus génératifs.
Comme mentionné précédemment, le but est de «remonter le temps» à partir de l'objet M vers des primitives simples qui constituent les racines des arbres de construction possibles de l'objet M.
À cette fin, tout retrait acceptable de primitives Pi, candidates à l'étape j de la génération du graphe doit produire une transformation de l'objet M-j en k objets _(J+1jft utilisant chacun l'interface géométrique IGk, l'une des variantes de l'interface géométrique IG, tels que les objets _ -tljft soient plus simples que l'objet M_ .
Ce concept de simplicité est une condition nécessaire pour que la génération de graphe converge vers un ensemble d'arbres de construction ayant des primitives en tant que racines des processus de construction de l'objet M. En conséquence, la notion de simplicité de forme appliquée à la transition entre l'objet M_; et l'objet _{i#1)fc est suffisante pour assurer la convergence du processus de génération du graphe de construction.
La simplification de la forme survenant entre l'objet M_ et _(J +1i¾ peut être définie comme suit. Tout d'abord, il doit être noté que les ensembles des faces connectées délimitant l'objet _j et M_(J+1^ : c'est-à-dire 3M_j et
<9 _ J+13k contiennent des faces et des arêtes maximales.
En fait, après que la primitive de référence Pi ait été supprimée et remplacée (dans l'objet) par l'interface géométrique IGk pour produire l'objet „(j 1)fo la décomposition de sa frontière est réévaluée pour contenir uniquement des faces et des arêtes maximales.
Si on note rij le nombre de faces maximales dans M_ et n(j +1)k la même quantité dans l'objet Af_(j+1jkf alors la quantité djk: djk = ns - ηϋ +1)k caractérise la simplification de la forme pour la variante IGk de l'interface IG, issue de la primitive visible Pi, si djk> 0.
Cette condition de validité est justifiée car elle impose une diminution du nombre de faces maximales des modèles successifs M_(j+1)fe au cours de chaque étape j de génération du graphe de construction. Cette condition s'appuie sur des faces maximales qui sont des entités intrinsèques à chaque objet Af_ . Le processus de génération du graphe de construction est donc intrinsèque à l'objet M. 3.2. Graphe de processus génératifs
Après avoir défini la condition pour évoluer selon l'ordre inverse des processus de construction possibles de l'objet M dans le graphe des processus de génération, la création de ce graphe est résumée dans l'algorithme 1 :
Procédure: Extract graph
inputM ;
node list <— root; current node <— root;
arc list <— nil; current arc <— nil; nb conf ig = 1;
list config(O) = M;
while nb conf ig > 0 do
for i = 0 to i = nb conf ig do
Mj = get conf ig(list conf ig(i));
list conf ignew = P rocess variant(Mj );
end for
nb conf ig = compare conf ig(list conf ig, list conf ignew);
end while
Procédure: list conf ig = P rocess variant(Mj );
ext list =f ind extrusion(Mj );
while size(ext list) > 0 do
for i = 0 to i = size(ext list) do
P (i) = get P if rom list(ext list);
P (i) = simplify prim contour(P (i), Mj); interf Ust(i) = generate geom interf aces(P (i), Mj );
interf list(i) = discard complex (interf 'list(i), P (i), Mj );
if size(interf 'list(i)) = 0 then
remove f rom list(P (i), ext list);
end if
end for
initialize primitive list(prim list);
for i = O to i = size(ext list) do
append(prim list, interf list(i)) ;
end for
sort primitive(prim list);
nb conf ig = generate independent ext(prim list, Mj , );
j =j - i;
for i = 0 to i = nb conf ig do
prim set = extract primitive set(i, prim list);
Mj = remove primitives (Mj +1, prim set);
node = generate node(Mj , prim set);
add node(node list, node);
arc = generate arc(node, current node);
add arc(arc, current arc);
end for
end while
if size(ext list) = 0 then
list conf ig = 0;
end if
Procédure.-/ ind extrusion(Mj )
ext list =f ind visible extrusions(Mj );
ext list = remove ext outside model(Mj , ext list);
ext list = remove ext included ext(ext list);
A une étape j de génération de ce graphe, la procédure principale extract_graph traite les variantes possibles de l'objet M_(j+1jfefaisant partie de la liste de noeuds nodejist en parcourant les processus de construction de M dans leurs ordres inverses en utilisant la procédure de traitement des variantes process_variant et compare les nouvelles variantes générées Λί aux nœuds du graphe (un nœud du graphe est ici un modèle simplifié, c'est-à-dire une évolution vers l'étape (j+1 ) de l'objet M) existant en utilisant la procédure compare_config.
Si les variantes M -(j+ij ¾ sont identiques, les nœuds du graphe sont fusionnés, ce qui crée des cycles dans le graphe (puisque deux, ou plus, successions différentes de retraits de primitives aboutissent à une même variante de l'objet M à l'étape (j+1 )).
Ensuite, la procédure extract_graph ajoute au graphe une structure arborescente à une variante donnée correspondant aux nouvelles variantes plus simples _(J+1ik dérivées de Ai_ . Le graphe est terminé lorsqu'il n'y a pas plus de variante d'évolution de l'objet M à traiter, c'est-à-dire que la liste de nœuds du graphe nodejist est vide.
Pour produire un graphe compact, il est obligatoire, à chaque étape j, de déterminer la plus grande quantité possible de primitives Pi satisfaisant tous les critères décrits dans les sections précédentes et de les affecter à un nœud du graphe.
Ainsi, chacun des nœuds du graphe exprime le fait que toutes les primitives Pi à ce nœud du graphe pourraient être supprimées (lorsque le graphe est balayé « en remontant le temps »), une par une, dans un ordre arbitraire, ce qui évite d'avoir à décrire des variantes d'ordre triviales comme cela a déjà été mentionné si un arbre de construction binaire de l'objet M doit être extrait du graphe de construction.
Pour traiter chaque variante M_j de l'objet M, la procédure de traitement des variantes Process_variant commence par identifier des primitives d'extrusion visibles valides dans _j en utilisant find_extrusion (voir sections 2.1 et 2.2 respectivement).
Toutefois, afin de produire des primitives maximales, toutes les primitives valides qui peuvent être incluses dans d'autres primitives (parce que leur contour ou leur distance d'extrusion sont plus petits que les autres) sont enlevées ( remo ve_ ext_ included_ext) car elles produiraient des solutions triviales.
Une fois que des primitives maximales valides ont été identifiées, le traitement de la variante Af_; actuelle porte sur la simplification de contour dans une procédure simplify_prim_ contour, si ceci n'impacte pas la complexité de forme de l'évolution (voir rubrique 2.2), c'est-à-dire que l'objet (ou évolution) _(J-+1J doit toujours avoir une forme plus simple que celle de l'objet Ai_i.
Ensuite, toutes les interfaces géométriques IGk valides de chaque primitive sont générées avec une procédure generate_geom_in terfa ces (voir section 2.2) et les interfaces géométriques IGk qui augmentent la complexité de la forme de l'objet Af_(J+1j sont supprimées avec une procédure discard_complex pour assurer la convergence de l'algorithme de génération du graphe de construction (voir section 3-1 ).
Ici, le but est de supprimer (utilisant remove_primitives) la plus grande quantité possible de primitives d'extrusion de référence Pi dont les interfaces IGk ne se chevauchent pas les unes les autres, autrement djk ne serait pas significatif (simplification de la forme garantie par la variante IGk). Le critère de suppression exprime que n'importe quel couple de primitive (Pi,Pj), distinctes l'une de l'autre et issues de tous les traitements précédents, doit être tel que rattache de Pi dans l'objet _; doit être géométriquement disjointe de l'attache de Pj. Cela signifie que les arêtes de la frontière de la partie visible de Pi dans l'objet M-} et les arêtes de la frontière de la partie visible de Pj dans l'objet Af_j constituent des ensembles disjoints. Les ensembles de primitives indépendantes issues de tous les traitements précédents peuvent être affectés au nœud _Q+1> et sont ensuite triés pour faciliter la navigation de l'utilisateur dans le graphe.
3.3. Résultats de l'extraction du graphe de processus génératifs
L'algorithme précédent a été appliqué à un ensemble de composants dont les formes sont compatibles avec des procédés d'extrusion pour rester cohérent avec l'algorithme 1 bien que ce soient des composants industriels. Ces tests permettent de mettre en évidence la convergence de l'algorithme. Dans le cas où les composants ne sont pas compatibles avec les définitions de primitives d'extrusion ou bien avec des processus génératifs d'ajout de matière, l'algorithme est toutefois opérationnel mais les objets non décomposables ne seront pas des primitives d'extrusion comme décrit dans les sections précédentes.
Les exemples traités montrent également que la structure de graphe de construction est effectivement une structure nécessaire pour décrire des variantes non triviales de construction d'objets. Les formes des composants traités dans les exemples montrent que le recours à des opérations uniques d'ajout de matière pour la description de leurs processus de construction est particulièrement adaptée à l'identification de parties de ces objets qui sont bien adaptées à des transformations d'idéalisation. Si la méthode de décomposition décrite n'incorpore pas, actuellement, d'opération d'enlèvement de matière et ne peut décomposer entièrement en primitives une très grande diversité de formes d'objet, elle met néanmoins en évidence le fait que privilégier des opérations d'ajout de matière pour la description de processus de construction d'objets est un critère particulièrement bien adapté lorsque la décomposition obtenue est utilisée pour une analyse morphologique destinée à effectuer des opérations d'idéalisation préalables à des calculs éléments finis.
La structure de graphe obtenue sur certains exemples montre que l'agrégation de nombreuses primitives d'extrusions en parallèle dans un seul nœud du graphe peut être atteinte et produit une représentation compacte du graphe de construction. Ces résultats montrent également la nécessité d'introduire une contrainte de continuité pour améliorer le processus de décomposition vis-à-vis des transformations d'idéalisations pour des applications de type calcul éléments finis. Cette contrainte peut être formalisée comme suit : les configurations produites par une procédure generate_independent_ext doivent être telles que chaque variante d'objet générée à partir de l'objet M_7 doit contenir un objet volumique décrit par une seule composante connexe comme c'est le cas pour l'objet M.
Cette contrainte de continuité exprime le fait que l'objet M est un milieu continu et que son processus de conception suit également ce concept à chaque étape de son processus de construction géométrique.
Par conséquent, chacune de ses étapes de transformation doit également vérifier cette contrainte de continuité pour assurer que tout modèle simplifié, c'est-à- dire que tout nœud du graphe, peut être utilisé comme base pour un processus d'idéalisation.
Ensuite, il appartient aux idéalisations et à leurs hypothèses de lever une telle contrainte, par exemple, lors du remplacement d'une primitive par des conditions aux limites cinématiques pour exprimer un comportement local de type corps rigide.
Relativement à cette contrainte de continuité, il convient d'observer que si cette contrainte n'est pas prise en compte dans la méthode actuelle, le graphe de construction exprime une plus grande diversité de processus de construction de l'objet. Cette plus grande diversité peut faciliter la mise en place de modifications de dimensions et de forme de l'objet car la diversité des primitives et donc des dimensions qui leurs sont associées, est plus importante lorsque la contrainte de continuité ne participe pas à la génération du graphe de construction.
Egalement, on peut observer que les historiques de construction d'objets, telles que décrites par les graphes de construction obtenus, sont plus faciles à comprendre pour un utilisateur que celles effectivement utilisées pour modéliser l'objet à l'aide d'un logiciel CAO. Dans ce dernier cas, en effet, le processus de construction de l'objet est décrit par un seul arbre, de type binaire. Lors de la construction d'objets de forme complexe nécessitant de nombreuses étapes (plusieurs dizaines voire plus de la centaine pour objets industriels complexes), il devient difficile pour l'utilisateur de déterminer l'impact de son choix (type et contour de primitive, opération d'ajout ou d'enlèvement de matière) à une étape j d'un processus de construction sur une étape ultérieure séparée de l'étape j par une ou plusieurs dizaines d'autres opérations élémentaires de construction. De toute évidence, les primitives d'extrusion représentant des processus d'ajout de matière répondent mieux aux exigences d'un processus d'idéalisation et sont également mieux adaptées à un processus de modification de dimensions comme détaillé dans la section 1.
II a été démontré que ce graphe est une base prometteuse pour obtenir une meilleure compréhension de la structure de la forme d'un objet et évaluer sa pertinence pour les idéalisations.
4. Génération de modèles idéalisés à partir d'un graphe de processus génératifs
Ici, nous décrivons comment un graphe de processus génératifs obtenu avec l'algorithme 1 peut être utilisé dans des idéalisations de forme.
Plus généralement, le point de départ du procédé d'idéalisation peut être définit comme suit :
- un objet 3D volumique, décrit par sa frontière selon une formalisation B-Rep constitue le modèle d'entrée, il est noté M,
- un graphe de construction est associé à l'objet M pour décrire son processus de construction à partir d'un ensemble de primitives de formes simples. Une telle primitive est notée Pi. Le graphe est conforme aux caractéristiques décrites jusqu'à la section 3. Ce graphe peut être réduit à un arbre binaire tel qu'il peut être généré par un logiciel de CAO. Ce graphe ou cet arbre est désigné par Gc. Dans tous les cas, la contrainte associée à tout graphe ou arbre lié à l'objet M concerne le fait que l'opérateur associé à chaque nœud procède par ajout de matière. Chaque primitive Pi présente dans Gc associé à l'objet M peut être décrite par une primitive d'extrusion, - Lors de la construction de l'objet M à partir de primitives Pi tel que décrit dans
Gc, chaque primitive Pi possède au moins une interface géométrique IG avec au moins une autre primitive présente dans le graphe de construction Gc- Cette interface géométrique est décrite explicitement, selon une représentation B-Rep, c'est-à-dire que l'interface géométrique IG est représentée par des faces, des arêtes, des sommets et que ces derniers portent des attributs qui les distinguent des autres faces, arêtes et sommets constituant la frontière de Pi. Conformément aux sections précédentes, l'interface géométrique IG peut constituer un modèle géométrique de type non-variété. Si le graphe de construction Gc est issu d'un logiciel de CAO, on considère donc que les primitives Pi contiennent explicitement les interfaces géométriques IG décrites précédemment.
Le résultat du processus d'idéalisation est l'objet M,, issu de l'objet M. Un processus d'idéalisation d'un objet consiste à identifier des parties de cet objet dont leur morphologie répond à des proportions permettant de les placer dans des catégories prédéfinies représentatives de comportements mécaniques. Ces catégories sont en nombre limité et peuvent être énumérées comme suit :
Poutre (sous-domaine géométrique d'un objet dont deux des dimensions sont faibles devant la troisième. Ces deux dimensions définissent la section de la poutre),
Plaque, coque, membrane (sous-domaine géométrique d'un objet dont une des dimensions est faible devant les deux autres. Cette dimension définit l'épaisseur de la plaque, de la coque ou de la membrane),
Massif 3D (sous-domaine qui ne bénéficie pas des propriétés morphologiques précédentes et qui doit être traité par un comportement mécanique tridimensionnel).
D'un point de vue géométrique, le principe du procédé d'idéalisation correspond à une réduction de dimension de variété des sous-domaines identifiés. Par exemple, un sous-domaine volumique convexe (variété de dimension 3), morphologiquement de type poutre sera idéalisé en une ligne (variété de dimension 1 ). La ligne correspondant au lieu des centres d'inertie des sections est localisée à l'intérieur du sous-domaine volumique initial. Ensuite, pour la construction du modèle idéalisé issu de M, des opérations géométriques de connexion entre les sous-domaines idéalisés doivent être réalisées. Un avantage du graphe Gc et des interfaces géométriques IG est que les lieux géométriques des interfaces géométriques IG sur les primitives Pi permettent de localiser et borner les connexions entre les sous-domaines idéalisés. Ceci constitue une des difficultés importantes levée par le procédé d'idéalisation décrit ci-dessous.
Dans l'exposé qui suit, on se référera à une opération de réduction de dimension ou d'idéalisation pour désigner plus simplement une opération de réduction de dimension d'une variété géométrique d'un sous-domaine (primitive Pi ou partie de cette primitive).
Un processus d'idéalisation fait significativement référence au savoir-faire de l'utilisateur afin de répondre aux objectifs d'une analyse élément finis, par exemple. Le procédé proposé permet des interventions de l'utilisateur afin d'adapter certaines idéalisations et certaines connexions entre sous-domaines idéalisés, selon son savoir- faire. 4.1. Structure du procédé d'idéalisation
Le procédé d'idéalisation d'un objet M repose sur des opérations d'analyses morphologiques, des opérations d'idéalisation et des opérations de connexions entre sous-domaines idéalisés, afin de produire le modèle idéalisé de M, désigné par M,.
La figure 4 décrit les différentes étapes de ce procédé. Dans une première phase, la décomposition de l'objet M en primitives Pi telles que décrites dans le graphe Gc donne lieu à une première phase d'analyse morphologique de chacune des primitives Pi. Pour le cas de primitives d'extrusion, cette analyse morphologique permet de déterminer si la primitive Pi possède une morphologie de type plaque, coque ou membrane plutôt que massif 3D. Cette étape est décrite à la section 4.2 et fait appel à l'intervention de l'utilisateur pour définir des seuils afin d'ajuster les frontières des catégories de morphologies.
La seconde analyse morphologique concerne à nouveau toutes les primitives Pi et permet de déterminer si celles-ci peuvent être subdivisées en sous-domaines, notés Dj(pQ , morphologiquement différents de celui qui leur a été affecté lors de la première analyse. Cette analyse est conduite à partir du contour d'extrusion utilisé pour la définition de la primitive Pi. La décomposition ainsi obtenue de chaque primitive Pi en sous-domaines génère de nouvelles interfaces IG. Cette analyse fait également appel à l'utilisateur et à son savoir-faire pour ajuster les frontières des catégories de morphologies et intervenir, si nécessaire dans les choix d'interfaces entre les sous-domaines ¾j¾.
Dans une seconde phase, à partir d'une typologie des connexions entre les différentes morphologies d'idéalisation, une analyse des interfaces IG entre primitives Pi est utilisée pour propager et actualiser les limites géométriques de chaque sous- domaine Dj(pi), Cette phase correspond à un processus de reconstruction de l'objet M à partir des primitives Pi et des sous-domaines j^p.j contenus dans chaque primitive
Pi. Cette opération est équivalente à une opération d'union booléenne régularisée : M = ϋ · Ρ£ = υ*υ* Ο] Ρί) représentant un processus de construction de l'objet M à partir du graphe de construction Gc. Cette étape, décrite en section 4.3, aboutit à la décomposition de l'objet M en nouveaux sous-domaines dont la morphologie a été catégorisée en type poutre, type plaque, membrane, coque ou type massif 3D car cette opération prend en compte l'influence des interfaces IG entre Pi et entre
Cela peut conduire à des primitives Pi découpées en deux ou plus. Les sous- domaines modifiés ou créés par cette opération sont collectivement désignés par : I *fe j*i]. Une nouvelle analyse morphologique de chaque D'k ,^ est donc nécessaire pour évaluer les évolutions de morphologies résultantes par cette opération d'union.
A ce stade, il convient de noter que la morphologie de chaque Bffc{Pi combinée à la typologie des connexions entre les différentes morphologies d'idéalisations, permet d'identifier des sous-domaines qui peuvent être considérés comme des détails et ce, indépendamment d'une notion de taille d'élément fini.
Dans une troisième phase prend place la génération de l'idéalisation de chaque sous-domaine D'h^Q et, ensuite, la typologie et la localisation des interfaces géométriques IG sont utilisées pour connecter les modèles géométriques idéalisés des sous-domaines D'k^P j entre eux et ainsi dériver un modèle idéalisé M, de l'objet M. Lors de cette opération, les interfaces IG entre D'k^ sont utilisées pour borner les connexions entre D¾{ft-i et obtenir un processus de connexion robuste. Dans une opération suivante, la typologie des connexions entre les différentes morphologies d'idéalisation est utilisée pour repositionner certaines lignes ou surfaces moyennes afin de simplifier l'objet M,. Cette étape est décrite dans la section 4.4. Lors de cette étape, l'utilisateur peut intervenir pour modifier certaines configurations en fonction de son savoir-faire.
Globalement, le processus décrit est donc un processus automatique que l'utilisateur peut interrompre pour modifier ponctuellement un nombre faible de configurations en fonction de son savoir-faire.
4.2. Evaluation des primitives pour l'idéalisation
Les primitives Pi extraites du graphe Gc peuvent être utilisées pour analyser leur morphologie et évaluer leur adéquation aux idéalisations. Cette première analyse détermine si la primitive Pi possède une morphologie de type plaque, coque ou membrane plutôt que massif 3D. Parce que les primitives sont toutes des extrusions et associées à des opérations d'ajout de matière, une première dimension caractéristique de la primitive est déterminée par la longueur d'extrusion d. Le critère morphologique utilisé pour déterminer si une primitive Pi, par défaut de type massif 3D, comporte au minimum un sous domaine géométrique de type plaque, coque ou membrane est un ratio entre la longueur d'extrusion et le diamètre maximal, max Φ, du cercle inscrit dans le contour d'esquisse de Pi. La détermination du diamètre maximal, max Φ, peut être effectuée en appliquant une méthode de transformation par axe médian MAT ("Medial Axis Transform") à travers un algorithme correspondant à cette méthode.
Le critère morphologique est exprimé par un ratio et peut être formalisé comme suit: x = max ((max Φ / d), (d / max Φ)). L'utilisateur définit alors un seuil de référence que xu ne doit pas dépasser pour que la primitive soit considérée comme de type plaque, membrane ou coque. Ce seuil est définit par défaut à xu = xr =10, correspondant, en mécanique, à la morphologie de référence généralement admise dans la formulation des modèles mécaniques de structures minces de types plaque, membrane, coque. Toutefois, l'utilisateur peut réduire la valeur de ce seuil, en fonction de son savoir-faire, afin d'être plus tolérant sur la morphologie des primitives idéalisables. Ainsi, toute valeur de x>xr conduit à une primitive idéalisée automatiquement. Lorsque que xu < xr et xu < x <xr, l'utilisateur a spécifié un seuil tolérant un plus grand nombre d'idéalisations et toute Pi possédant un seuil dans l'intervalle ainsi défini est considérée comme idéalisable. Cependant, l'utilisateur pourra intervenir ponctuellement pour modifier le statut de certaines Pi en recourant à son savoir-faire. Pour Pi telle que x < xu, son statut de massif 3D n'est pas remis en question.
I! convient de noter que x = (max Φ / d) ou bien x = (d / max Φ) indique respectivement que les deux dimensions indépendantes présentes dans le contour de la face d'extrusion sont significativement plus grandes que l'épaisseur de l'extrusion d'une part et que la direction d'extrusion est une direction d'idéalisation pour Pi, d'autre part. Dans tous les cas, ces catégories de configurations expriment une condition suffisante pour appliquer une réduction dimensionnelle à la primitive Pi. Donc Pi comporte au moins un sous-domaine ¾¾) morphologiquement de type plaque, coque ou membrane.
A ce stade du processus d'idéalisation, les interfaces IG entre les primitives Pi et le graphe Gc permettent de définir un graphe des interfaces entre les primitives Pi noté G,. Le contenu de G/ sera explicité à la section 4.3. La seconde analyse morphologique concerne à nouveau chaque Pi et a pour objectif de déterminer si des parties de la primitive Pi, i.e. des sous-domaines D (PQ, sont morphologiquement analogues à des poutres, par exemple, et peuvent donc subir une réduction dimensionnelle supplémentaire. En effet, le ratio x ne caractérise qu'un aspect morphologique d'un sous-domaine de Pi car le lieu de la MAT où x est défini ne se réduit pas nécessairement à un point. La figure 5 illustre effectivement différentes configurations où x est défini sur un segment de la MAT du contour d'extrusion de Pi. Cette figure est divisée en deux tableaux selon que Pi est idéalisable à partir de sa face de base (tableau de gauche) ou bien à partir de sa direction d'extrusion (tableau de droite). Dans le tableau de gauche, x caractérise l'aplatissement de Pi. Considérant par exemple le cas : x < xu et y > xr. Cette configuration illustre le fait que x est constant sur ce segment et que la longueur de ce segment influe sur la morphologie de Pi. Distinguer cette morphologie par rapport à l'aplatissement de Pi, caractérisé par x, nécessite la définition d'un nouveau paramètre y = L2 / max(<t>). Dans la figure 5, L2 représente un arc de la MAT de Pi appartenant à la catégorie 2 définie ci-après. Le paramètre y est représentatif de l'allongement de Pi dans le plan de son contour et permet de distinguer des primitives morphologiquement de type poutre à l'intérieur de la catégorie des primitives morphologiquement de type plaque ou coque. Afin d'établir un lien avec le paramètre x, les seuils xu et xr sont également utilisés pour spécifier des intervalles de morphologie d'allongement. Ainsi, les seuils xu, xr, appliqués aux paramètres x et y produisent les neuf configurations présentes dans le tableau de gauche. Le tableau de droite est élaboré selon le même principe, en considérant que Pi présente un premier allongement dans la direction d'extrusion et non un aplatissement comme dans le tableau précédent. Ces tableaux énumèrent les différentes morphologies possibles en prenant en compte le paramètre xu fixé par l'utilisateur.
La figure 5 constitue une taxonomie des morphologies associées à un segment de la MAT de Pi. Compte tenu du fait que le contour d'extrusion de Pi est constitué de segments de droite et d'arcs de cercles, la MAT comporte des segments rectilignes et courbes. La MAT de Pi est structurée selon deux catégories de segments :
1. les segments dont un point extrémité est situé sur le contour d'extrusion de Pi et l'autre point extrémité est connecté à un autre segment de la MAT,
2. les segments dont les deux points extrémités sont connectés à d'autres segments de la MAT. Dans le cas particulier de segment ne possédant pas de point extrémité (cas de segment circulaire défini à partir d'un contour de Pi représentant une couronne circulaire), la MAT est réduite à un cercle. Ce cas particulier n'a pas d'incidence sur le procédé d'idéalisation. Les segments de catégorie 1 sont supprimés et l'analyse morphologique porte sur les segments de catégorie 2 et notés Sur chacun de ces segments, le rapport y possède un maximum ou bien est constant et ymax représente le maximum de ce rapport qui est affecté au segment correspondant. Lorsque Pi comporte des contours intérieurs, la MAT obtenue et réduite à des segments de catégorie 2 et comporte des cycles. Dans ce cas, une MAT, notée MAT', est également déterminée en utilisant uniquement le contour extérieur de Pi. Une analyse morphologique comparative entre les segments de MAT' correspondant à un cycle dans MAT permet de traiter les configurations avec contours intérieurs et d'analyser les aplatissements correspondants pour distinguer des plaques évidées de poutres creuses.
Les segments sont regroupés selon trois sous-ensembles : a. les segments ¾¾] formant une chaîne ouverte ne comportant qu'un seul point de bifurcation de MAT à une des extrémités de la séquence, b. les segments ¾Pi] formant une chaîne ouverte comportant deux points de bifurcation de MAT à chacune des extrémités de cette séquence, c. les segments 5j Pl formant une chaîne fermée comportant un nombre arbitraire de points de bifurcation de MAT et représentant un cycle minimum de MAT.
La morphologie de chaque segment est affectée selon la taxonomie définie dans les tableaux de la figure 5. Le découpage de Pi intervient alors sur la base des changements de classification déterminée automatiquement sur chaque 5/ Pt par l'analyse morphologique ou bien par la modification effectuée par l'utilisateur, en fonction de son savoir-faire. Les découpages sont localisés sur les transitions entre deux sous-ensembles pris parmi : Massif 3D, (plaque ou coque), (poutre ou ruban). Ce découpage produit les sous-domaines D (Pt) de chaque primitive Pi qui vont être utilisés dans le processus d'idéalisation qui suit. Au cours de cette analyse morphologique, il apparaît que la classification des différents 5j(n) de la primitive Pi peut conduire à affecter un statut de Massif 3D à un segment SJ PQ alors que Pi possède un statut global initial de plaque défini par x, par exemple. Cet exemple de configuration n'est pas contradictoire avec le processus d'idéalisation mais indique que la portion de MAT de la primitive Pi correspondant à ¾Pi) constitue potentiellement un détail à l'intérieur de Pi car cette portion de MAT de la primitive Pi est significativement plus petite que la primitive Pi. Cette notion de détail correspond à des morphologies associées à des segments possédant des paramètres (x, y) qui constituent une taxonomie complémentaire à la morphologie des sous-domaines décrite à la figure 5. Cette taxonomie n'est pas décrite ici pour conserver la concision de description du procédé mais il convient de noter que la notion de détail apparaissant ici est indépendante de toute méthode numérique de résolution du problème d'analyse de structure généré à partir du modèle Λ /,. Ceci constitue un point particulièrement nouveau par rapport à l'art antérieur.
A l'issue de cette analyse morphologique, les sous-domaines ¾¾], comme partie de la primitive Pi, sont insérés ; avec leur statut morphologique, la localisation de leurs interfaces géométriques, dans le graphe G/ des interfaces entre les primitives Pi décrit ci-après. 4.3. Extension de l'analyse morphologique des sous -domaines sur l'ensemble de l'objet
L'analyse morphologique des primitives Pi, prises isolément, est la première application du graphe de construction Gc. Les interfaces géométriques IG entre primitives Pi et le découpage des Pi suite à leur deuxième étape d'analyse morphologique définissent un ensemble d'interfaces géométriques IG représentées dans le graphe G, des interfaces entre les primitives Pi . Les nœuds du graphe G, des interfaces entre les primitives Pi sont des sous-domaines ¾«j et les arcs sont des interfaces IG.
La figure 6 décrit une partie des interfaces possibles entre sous-domaines ¾PQ lorsque ceux-ci sont de type plaque ou coque. Cette figure illustre la codification des connexions entre sous-domaines qui est introduite dans le graphe G/ des interfaces entre les primitives Pi. Afin de structurer les informations de connexion entre sous-domaines OJ , les nœuds du graphe G, sont structurés comme suit :
le nœud est subdivisé en trois éléments représentant la structure de sous- domaines c'est-à-dire un élément représentant les faces définissant l'épaisseur de ¾¾) et deux autres éléments représentant chacun une face de base de ffj jfj.
Le graphe G, des interfaces entre les primitives Pi possède alors des propriétés permettant d'identifier le rôle structurel de groupes de Dj(»}. Par exemple, un cycle formé par trois sous-domaines liés entre eux par des connexions de configuration (4) (voir figure 6) tel qu'un de ces DJ PQ : Dk.( Pt], soit lié aux deux autres par ses faces définissant son épaisseur qui s'appuient donc sur des faces de base des deux autres sous-domaines, O ipq, et une connexion de même nature (face de base d'un sous-domaine connectée à une face définissant l'épaisseur de l'autre sous- domaine) est établie entre les sous-domaines Dprp, et !?¾«]. Cette configuration correspond à un rôle structurel de type raidisseur de sous-domaine Sur la base de la taxonomie de connexions entre sous-domaines ¾ΡΪ] et en fonction du statut de chaque sous-domaine (massif 3D, plaque/coque/membrane, poutre), d'autres rôles peuvent être identifiés tels que des plaques raidies, des treillis. Chaque sous-domaine ¾«] possède un statut caractérisant la réduction dimensionnelle qui peut lui être appliquée (massif 3D, plaque/coque/membrane, poutre) auquel s'ajoute le statut de détail pour caractériser des sous-domaines qui pourront être supprimés sans avoir d'incidence significative sur les résultats de calcul éléments finis.
Sur la base de ce statut, une taxonomie a été mise en place qui permet de caractériser les classes de connections possibles entre sous-domaines La figure 6 donne une représentation de cette taxonomie pour des configurations de connections entre sous-domaines de type plaque/coque/membrane. Si cette figure illustre des configurations parallèles et orthogonales pour des raisons de simplicité, celles-ci peuvent être étendues à des plages angulaires plus importantes pour décrire les classes de connections, ce qui amène à englober des IG de type volumique et non uniquement de type surfacique comme indiqué sur la figure 6. La figure 6 décrit toutes les configurations valides entre deux sous-domaines S1 et S2 pour lesquels un paramètre d'épaisseur peut être attaché à chacun d'eux, ce qui est compatible avec des primitives Pi de type extrusion. Les quatre configurations valides peuvent être structurées en deux groupes : (1 ) et (4) forment C1 et (2) et (3) forment C2. La configuration (1 ) de C1 est telle que les épaisseurs e1 et e2 de S1 et S2 respectivement, sont influencées par IG. C'est-à-dire que la zone de recouvrement entre S1 et S2 agit comme une augmentation d'épaisseur qui raidit chacun des sous- domaines sur l'étendue d'IG. Cet accroissement de raideur peut être significatif et nécessiter son incorporation à l'aide d'une variation d'épaisseur pour mieux représenter le comportement réel de la structure. Cette zone de recouvrement peut être affectée à S1 ou S2 ou bien former un sous-domaine indépendant définit avec épaisseur (e1 +e2). Quelque soit la solution retenue, S1 ou S2 ou les deux sont modifiés ainsi que leur interface IG, produisant une ou deux nouvelles interfaces IG' (voir figure 6). Les interfaces IG' sont nécessairement de type (2) et coupent S1 ou S2 ou les deux en fonction de la solution retenue.
De manière similaire, la configuration (4) est telle que S2 peut être raidie par S1 en fonction de l'épaisseur de S1 et/ou de la forme en 2D d'IG. Afin de simplifier la description, on fait référence ici à une forme en 2D désignant une interface surfacique. L'influence de la forme se caractérise par exemple par la différence entre une IG bornée par un seul contour fermé ou bien par une IG bornée par plusieurs contours fermés. Ce dernier cas est représentatif de S1 avec une forme de tube, IG est alors une couronne qui aura pour effet de raidir la surface de IG sur S2 qui est bornée par le contour extérieur de la couronne. Dans ce cas, l'accroissement de raideur sur une zone de S2 peut conduire à un partitionnement de S2 en sous-domaines plus petits et l'effet d'IG aura pour conséquence la production d'une configuration de type (2) avec des interfaces IG' quand S2 est découpé par S1.
La configuration (1 ) réduit les aires d'épaisseur constante de S1 et S2 (e1 et e2 respectivement), ce qui peut influencer la morphologie de S1 et S2 conformément au critère d'idéalisation de primitive Pi définit dans la section précédente. La configuration (4) réduit l'aire de S2 d'épaisseur e2 mais n'a pas d'influence sur S1 , ce qui influence la morphologie de S2 uniquement. Il peut donc être observé que traiter des configurations appartenant à C1 produit des configurations appartenant à C2 uniquement. Considérant maintenant les configurations de C2, aucune d'entre elle ne produit d'augmentation de raideur comparable à C1 et nécessitant un nouveau découpage de S1 ou S2. Par conséquent, les configurations de C2 ne nécessitent pas de traitement complémentaire et aucune modification de configuration effectuée dans C1 ne produit de nouvelle configuration dans C1. Cela indique que les traitements de configurations dans C1 impliquant des découpages de sous-domaines sont conservatifs par rapport à C2. La procédure de traitement des configurations C1 converge donc vers des configurations C2 uniquement. Ces observations et cette propriété permettent de mettre en place une approche algorithmique itérative qui converge nécessairement.
Plus généralement, l'interface géométrique IG peut être de type volumique entre deux sous-domaines ¾¾ Cette généralisation est équivalente à considérer des configurations pour lesquelles les conditions de parallélisme et de perpendicularité entre S1 et S2 sont remplacées par des configurations où les angles entre S1 et S2 s'écartent de ces configurations de référence. De telles configurations se ramènent aux configurations de référence de C1 et C2 comme suit.
Dans un premier temps, il convient d'observer que la définition des primitives Pi (voir le concept de visibilité d'une primitive dans la génération de Gc) garantit que toute primitive avec une interface IG volumique a toujours une face de base visible, donc son IG ne peut contenir qu'une seule face base de la primitive Pi. Dans les représentations 2D de la figure 6, les contours de S1 et S2 comportent les projections des faces de base Fb1 et Fb2 de chaque primitive d'extrusion définissant S1 et S2. Dans ces représentations, ce qui distingue C1 de C2 est caractérisé par le fait que les configurations (1 ) et (4) contiennent chacune S2 telle qu'une de ses faces de base n'intersectent pas S1 . Dans le cas présent, on considère que les faces de base de S1 et S2 contiennent le contour d'extrusion des primitives correspondantes. De plus, pour distinguer la configuration (1 ) de la configuration (4), on observe également qu'une face de base de S1 n'admet aucune intersection avec S2 pour caractériser la configuration (1 ) par rapport à la configuration (4). On peut observer que la configuration (4) implique en totalité des faces latérales de S1 alors que la configuration (1 ) ne pourra impliquer en totalité des faces latérales de S1 et/ou S2.
Dans la configuration (2) de C2, des faces latérales de S1 participent en totalité à IG alors que les faces latérales de S2 n'y participent qu'en partie. Ceci permet de distinguer cette configuration par rapport à la configuration (3) où des faces latérales de S1 et ou S2 participent, en partie, à IG. Cette description montre que la taxonomie de configurations proposée s'étend à des positions relatives quelconques de S1 et de S2.
Pour des raisons de concision, la présentation des taxonomies de configurations de connexions entre (plaques et poutres, poutres et poutres, massif 3D et plaques, massif 3D et poutres n'est pas abordée). Toutefois, elles sont traitées en utilisant des principes similaires. La taxonomie de connexions de type massif 3D avec massif 3D ne présente pas d'intérêt car ces connexions n'impliquent pas de transformations d'idéalisation.
Partant de la taxonomie des connexions décrite et analysée précédemment, le processus suivant consiste à prendre en compte les effets de raidissement liés à certaines connexions pour établir les connexions entre sous-domaines Dj(pty conduisant éventuellement à des découpages de ces sous-domaines produisant les sous-domaines D'fc(j¾) et mettre à jour la morphologie des J?¾(«) afin de déterminer la nature de l'idéalisation pouvant être appliquée à chacun d'entre eux. L'analyse morphologique ainsi obtenue peut être évaluée graphiquement par l'utilisateur afin d'appliquer certains changements en fonction de son savoir-faire.
Ce processus peut être synthétisé par l'algorithme suivant (voir algorithme 2). Cet algorithme est adapté aux configurations de traitement des seules connexions décrites dans la figure 6, pour simplifier sa description. La prise en compte de la totalité de la taxonomie des connexions reprend des principes similaires à ceux de l'algorithme 2. Le principe de cet algorithme est de classer chaque IG entre deux sous-domaines ¾?(ι¾ telle que si IG appartient à C1 (configurations (1 ) et (4) dans l'algorithme 2), elle doit être transformée pour produire de nouvelles interfaces géométriques IG' (voir figure 5 où des interfaces IG' sont indiquées pour les configurations (1 ) et (4)) et les nouveaux sous-domaines qui doivent être analysés morphologiquement (procédure Propagate morphology analysis). Selon la configuration de connexion entre deux sous-domaines J¾j¾) l'un des deux ou les deux sont découpés le long du contour de IG pour produire D'k(Pl . Ensuite, la transformation MAT est appliquée à chacun des sous-domaines afin de mettre en place une nouvelle analyse morphologique et déterminer les paramètres morphologiques (prodédure MA morphology analysis) qui reflètent les opérations d'union entre Β'¾ρ¾] qui permettent de générer le modèle M. C'est-à-dire que la génération du modèle M à partir des £¾«), i.e. Ai = U ; . = U Ujû (pt], est remplacée par : M = Uf Pj = UJU] qui prend en compte le résultat de la deuxième étape de l'analyse morphologique des Pi. L'algorithme termine lorsque toutes les configurations de C1 ont été traitées.
Procédure Propagate morphologyanalysis(Gc, xu)
for each P in list primitives (G c) do
if P.x > xu then
for each IG in list interfaces prim(P ) do
Pngh = Get connectedprimitive(P, IG)
ii IG.config = 1 or IG.config = 4 then
interVol = Get interfaceVol(P, Pngh, IG)
Pr = Remove interfaceVol from prim(P, interVol) for i = 1 to Card(Pr) do
P ' = Extract partition(i, Pr)
P '.x = MA morphology analysis(P ')
Pngh-x = MA morphology analysis(Pngh)
if IG.c
P rngh = Remove interVol from prim(Pngh, interVol) interVol.x = MA morphology analysis (interVol)
for j = 1 to Card(P rngh) do
P'ngh = Extract partition , P_rngh)
P 'ngh.x = MA morphology analysis(P 'ngh)
if interVol.x < xu then
Merge(P, Pngu, interVol)
else
p = p>
Merge(P„gh, interVol)
Remove primitive(Pngh, list primitives( Gc))
if P '.x < xu then
Merge(Pngh, P ')
Procédure MA morphology analysis(Pi)
for each Dj in list subdomain(Pi) do
Cont = Get Contour(Dj)
listofpts = Discretize contour -(Cont)
vor = Voronoi(listofpts)
maxR = Get max radius of inscribed Circles(vor)
x(j) = Set primitive idealizableType(maxR, Dj)
return
Parmi les éléments caractéristiques de cet algorithme, on doit observer que l'influence de la primitive voisine Pngh de Pi, est prise en compte lors de la mise à jour de Pi qui devient Pr. Ici, chaque primitive Pi, Pngh désigne une collection de sous- domaines VJ(Pt) résultant de l'analyse morphologique préliminaire de chacune d'entre elles. En fait, Pr peut donc contenir plusieurs sous-domaines volumiques, lorsque Card(Pr) > 1 , en fonction de la forme de Pi et de Pngh. Chaque partition P' de Pr peut être de morphologie différente de celle de Pi, ce qui constitue une indication d'idéalisation plus précise pour l'utilisateur.
Dans le cas de la configuration (1 ), l'aire de recouvrement entre Pngh et Pi doit être analysée également, de même que son influence sur Pngh qui devient P rngh. Dans ce cas également, P rngh peut posséder plusieurs partitions, i.e. Card(P rngh)≥ 1 , et la morphologie de chaque partition P'ngh, correspondant à une collection de sous- domaines £¾pj], doit être également analysée. Si le volume commun entre P'ngh et P' n'est pas idéalisable, il est fusionné avec le plus rigide des deux sous-domaines Pngh ou Pi afin de préserver la morphologie du sous-domaine le plus adapté à une idéalisation. Dans le cas où une partition P' de Pr n'est pas idéalisable dans la configuration (4), cette partition peut être fusionnée avec Pngh si cette dernière possède une morphologie de statut identique (de type plaque/coque/membrane par exemple). Les processus de découpage des primitives, en fonction de leurs interfaces IG produisent donc des modifications des sous-domaines UJ(pi) pour générer les sous- domaines D¾ Ps).
Ce processus a été appliqué à différents composants tests et on a pu observer que chaque sous-domaine ffj(pi} est strictement borné par une interface IG de la catégorie C2 ou bien par une interface IG' produite par l'algorithme précédent. Ainsi, le procédé produit une information précise sur des zones idéalisables et la nature des idéalisations possibles dans ces zones constituant le modèle M. Des zones de M correspondant à des primitives connectées selon le type (1 ) sur une ou deux des faces de base opposées de primitives sont subdivisées en nouveaux sous-domaines qui fournissent des informations plus précises. Toutefois, dans des empilements de configurations de type (1 ) comportant plus de trois sous-domaines empilés, de nouvelles configurations morphologiques peuvent émerger qui doivent être étudiées pour définir les conditions d'idéalisation correspondantes.
A l'intérieur du graphe de construction Gc, le processus de propagation de l'analyse morphologique est appliqué aux différentes variantes de construction de l'objet M. Ceci permet à l'utilisateur de déterminer un compromis entre les sous- domaines idéalisables et un processus de construction particulier de l'objet M afin de pouvoir adapter au mieux le modèle idéalisé Λ/, en fonction des objectifs de simulation associés à l'objet M.
4.4. Traitement des connexions entre les primitives idéalisées
La dernière phase du processus d'idéalisation consiste à générer les modèles idéalisés de chaque sous-domaine D'k^ et de les connecter suivant la typologie et la localisation associées à chacune des interfaces IG entre sous-domaines.
Suite à l'analyse morphologique décrite en section 4.2 et 4.3, le volume initial de l'objet M est segmenté en sous domaines volumiques D'k^j pour lesquels la forme volumique répond à une catégorie d'idéalisation de type massif 3D, plaque, coque, membrane et poutre.
Dans un premier temps la géométrie idéalisée de chaque sous-domaine est générée à partir de la géométrie volumique initiale du sous-domaine. Suivant la catégorie d'idéalisation du sous-domaine, le support géométrique généré sera :
· une surface moyenne plane dans le cas de sous-domaine £>'fcy>,; identifié comme plaque (voir taxonomie de la figure 5). Cette surface correspond à la surface d'esquisse du sous domaine décalée de la demi-épaisseur dans le sens de la direction d'extrusion,
• Une surface moyenne dans le cas de sous-domaine identifié comme coque (voir taxonomie de la figure 5). Cette surface moyenne est générée à partir de l'extrusion de la ligne médiane de l'esquisse 2D du sous-domaine D' ^x dans la direction d'extrusion de 'k^Pl
L'épaisseur de la coque est fonction du diamètre du cercle inscrit dans l'esquisse, conformément à la MAT associée à la primitive Pi correspondante,
• Une ligne médiane dans le cas de sous-domaine D'k(Pis identifié comme poutre. Cette ligne est générée à partir du barycentre de contour d'esquisse de dans le cas où la direction de la poutre correspond à la direction d'extrusion. Dans le cas où la direction de la poutre est orthogonale à la direction d'extrusion, la ligne correspond à la ligne médiane du contour d'esquisse décalée de la demi-distance d'extrusion. • Le support volumique du sous-domaine D'k^ correspondant dans le cas de massif 3D.
Dans une seconde étape, le graphe des interfaces IG est enrichi par des informations sur les contours géométriques de l'interface sur les sous-domaines, ces contours sont notés Q »k). La région géométrique du contour permet de définir si ses frontières appartiennent aux faces de base Fb1 et Fb2 du sous-domaine D'fc(«), ou à l'une de ses faces latérales. Ces informations sont issues du contenu du graphe G, des interfaces entre les sous-domaines des primitives Pi , qui permet de distinguer les faces de base et les faces définissant l'épaisseur d'un sous-domaine D'kfj>t;. Dans le cas où un contour appartient à plusieurs faces latérales ou à une face de base et une ou plusieurs faces latérales, le contour est redécoupé en sous- contours notés C'i(o,fc).
L'étape suivante consiste à déterminer les couples de contours appartenant au même sous-domaine et ayant une partie de leurs contours en commun, autrement dit dont l'intersection booléenne est non nulle : C'l^D, ^ n C'm[D'k ≠ ø.
Les relations de voisinages entre contours d'un même sous-domaine D'k^ forment une structure de graphe où les nœuds sont les contours et les arcs les relations de voisinage. Ce graphe de voisinage noté G. peut être imbriqué dans le graphe des interfaces G/ dans le nœud du sous-domaine D'kf p
A l'aide de la structure du graphe G, incluant les graphes G pour chacun des sous-domaines 'k^, des algorithmes peuvent être appliqués afin de déterminer des propriétés particulières du graphe répondant à des règles de connexions, entre supports idéalisés, définies à partir de la pratique courante de préparation de modèles idéalisés à partir de modèles volumiques B-Rep. Les algorithmes correspondant sont appliqués automatiquement mais l'utilisateur a la possibilité de modifier localement les résultats proposés par les algorithmes.
A titre d'exemple, dans le cas de connexions entre sous-domaines de type plaque, trois algorithmes sont utilisés pour traiter : des configurations de groupes de plaques parallèles. Ces groupes de sous-domaines rassemblent les surfaces planes moyennes qui peuvent être alignées selon un même plan et ainsi ne pas nécessiter de surfaces de raccord supplémentaires entre elles. Ce décalage de surface est une règle provenant de l'utilisateur et intégrée dans les logiciels de calcul de calcul éléments finis. Cette règle autorise le décalage de surface moyenne d'une distance directement prise en compte lors de la mise en place du calcul par éléments finis par une formulation adaptée des éléments finis utilisés. Ainsi, tout chemin du graphe G, des interfaces entre les primitives Pi , passant uniquement par des arcs correspondant à des interfaces de type (2) est un groupe de surfaces planes parallèles,
des configurations de sous-domaines de bord lorsque le contour d'interface de type (4) du sous-domaine Z>'fc<PiÎ parallèle à l'interface est situé sur la frontière de sa face de base. Une connexion directe de la surface moyenne de D*}(PQ, orthogonale à l'interface, située par défaut au milieu de sous-domaine D'j(p('i entraine une zone de petite dimension (incluant la demi épaisseur de entre la frontière de
D¾p¾3 et la surface de raccord de surface moyenne. Ce type de géométrie est gênant lors d'une modélisation par éléments finis car il entraine la génération de mailles de petites dimensions et de mauvaise qualité. Il est alors préférable de repositionner la surface moyenne de ¾(«} sur le bord de la surface moyenne de D'k^ évitant ainsi toute zone étroite. Cette configuration, décrite par simplicité avec un positionnement orthogonal de D'J(P par rapport à D'k^ se généralise à des positions angulaires quelconques comme décrit dans la section précédente,
Des configurations de cycles de connexions entre sous-domaines. Lorsqu'au moins 3 contours d'interfaces de type (4) appartenant à 3 sous-domaines distincts ont une partie de leurs frontières en commun, les connexions des surfaces moyennes perpendiculaires aux interfaces vers les surfaces moyennes parallèles aux interfaces doivent également être prolongées selon les directions d'extrusion des interfaces voisines dans le cycle. Ce type de configuration peut être identifié à partir du graphe G, et des graphes imbriqués (jo'k comme étant des cycles contenant uniquement des arcs de G, associés à des interfaces de type (4) et des nœuds de G, donc le graphe imbriqué GDk contient un chemin entre les contours des interfaces. Ces chemins correspondent à des contours d'interfaces partageant une frontière commune. La liste de configurations particulières présentée ci-dessus n'est pas exhaustive mais reflète l'utilisation faite du processus de décomposition de M et donc du graphe de construction Gc, de l'analyse morphologique de M et du graphe d'interfaces G/. D'autres configurations particulières telles que la présence de raidisseurs connectés à des faces opposées de sous-domaines D'k{p ) peut nécessiter également des opérations de repositionnement de la surface moyenne de ces raidisseurs lorsqu'elles sont trop proches les unes des autres dans D'h^.
Une fois les configurations particulières précédentes identifiées par les algorithmes précédents, la dernière étape consiste à connecter les supports idéalisés des sous domaines de types poutre, coque, plaque à leurs sous domaines voisins respectifs. Les connexions entre surfaces moyennes sont réalisées par un opérateur de prolongement de surfaces moyennes. Comme les localisations précises des interfaces entre les sous-domaines D¾p¾j à connecter sont connues précisément par leurs contours Ci^q, les surfaces de connexion sont donc bornées par des zones de connexion définies par les contours rapportés sur les surfaces moyennes. Cette restriction rend robuste l'opérateur de connexion lui évitant de créer toute surface en dehors de la zone de connexion, ce qui différentie le processus décrit par rapport à l'art antérieur. L'application des opérateurs de connexion permet ainsi de générer un modèle idéalisé M, dérivé du modèle initial M.
Si l'analyse morphologique de la primitive Pi est une des applications du graphe de processus génératifs, la primitive de décomposition obtenue peut être utilisée pour surveiller les idéalisations. À cette fin, une taxonomie des liens entre les primitives d'extrusion est partiellement illustrée dans la figure 6. Après avoir décomposé l'objet M en primitives d'extrusion Pi, la localisation des interfaces géométriques IG entre les primitives Pi sont précisément identifiées et peuvent être utilisées pour surveiller les écarts nécessaires de surfaces moyennes pour améliorer le processus d'idéalisation et prendre en compte le savoir-faire de l'utilisateur.
En particulier, les connexions avec des surfaces moyennes parallèles peuvent être traitées avec des repositionnements de surfaces moyennes et un ajustement correspondant de l'épaisseur du matériau sur les deux côtés de la surface idéalisée, comme décrit ci-dessus dans les traitements particuliers de connexions. Il s'agit d'une pratique courante dans l'analyse linéaire en mécanique des structures qui a été avantageusement mis en œuvre en utilisant la position relative des extrusions.
Avantages du procédé
Les arbres de construction et les processus de génération de forme sont des approches communes pour modéliser des composants mécaniques.
Ici, il a été démontré que des arbres de construction, structurés sous une forme compacte de graphe, peuvent être extraits du modèle volumique B-Rep d'un composant.
Le procédé proposé comporte des critères permettant de générer des primitives de formes simples et garantissant que les objets intermédiaires ont leur forme effectivement simplifiée après chaque suppression de primitive. Ces propriétés garantissent la convergence de l'algorithme utilisé pour générer le graphe de construction. En effet, la génération de la forme d'un objet complexe à partir de primitives de formes simples suppose un processus capable de modifier une forme initiale simple incrémentalement jusqu'à obtenir une forme arbitrairement compliquée.
Il a été montré que les arbres de construction sont structurés en un graphe pour représenter un ensemble non trivial de processus génératifs qui produisent le modèle volumique B-Rep d'entrée.
Le graphe contient des arbres non triviaux de construction du fait que les variantes de directions d'extrusion produisant la même primitive ne sont pas codées, les opérations d'addition de matière qui peuvent être conduites en parallèle sont regroupées en un seul nœud du graphe (une seule variante d'évolution de l'objet) pour éviter la description des combinaisons combinatoires lorsque les primitives sont ajoutés séquentiellement comme dans un logiciel de CAO. Plus généralement, chaque nœud du graphe peut être associé à des algorithmes simples permettant de générer les variantes triviales de construction d'un objet. L'avantage d'un graphe de processus génératifs a été évalué dans le cadre d'idéalisations nécessaires pour une analyse par éléments finis. Les primitives de formes simples constituant le graphe sont particulièrement adaptées à une analyse morphologique précise qui permet de caractériser des plaques/coques/membranes par rapport à des poutres/rubans et par rapport à des massifs3D. Cette analyse morphologique permet également de caractériser des détails de forme par rapport aux morphologies locales et idéalisables de M et ce, indépendamment de toute méthode numérique de calcul de structure.
En outre, la décomposition de l'objet produit une description précise des interfaces géométriques entre primitives, qui ont été avantageusement utilisées pour mettre en place des idéalisations.

Claims

REVENDICATIONS
1. Procédé de conception assistée par ordinateur d'un second objet tridimensionnel, à partir d'un premier objet tridimensionnel M connu uniquement par ses surfaces limites (à travers un modèle volumique de type B-Rep) de type plans, cylindres, cônes, sphères, tores, à l'exclusion de formes libres dans la définition de la limite de l'objet, le procédé comportant des étapes :
- de décomposition du premier objet en un ensemble de primitives volumiques simples,
- d'association à ce premier objet d'un graphe de construction défini à partir de ces primitives volumiques et d'un ensemble de paramètres géométriques d'utilisation de ces primitives volumiques dans le cas spécifique de ce premier objet,
- de création du second objet comme une variante du premier objet selon ce graphe de construction, par modification de certains de ces paramètres.
2. Procédé selon la revendication 1 , caractérisé en ce que le graphe de construction inclue toutes les variantes de construction de l'objet par des combinaisons booléennes de ces primitives.
3. Procédé selon l'une quelconque des revendications 1 et 2, caractérisé en ce que le graphe de construction, comporte en chaque nœud le plus grand nombre de primitives possible qui peut être appliqué à chaque étape, ce qui permet un encodage compact d'un grand nombre de possibilités de construction d'un objet.
4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que le graphe de construction est extrait à l'aide d'un opérateur de suppression de primitive qui simplifie progressivement la forme de l'objet.
5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que les primitives utilisées comprennent des primitives d'extrusion, définies par deux faces parallèles comportant un contour d'extrusion, et une direction d'extrusion non parallèle à ces faces.
6. Procédé selon la revendication 5, caractérisé en ce que les primitives d'extrusion sont associées à chaque nœud du graphe de construction à un opérateur booléen de type union, ce qui correspond à une opération d'ajout de matière.
7. Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce que les primitives utilisées comprennent des primitives de révolution.
8. Procédé selon l'une quelconque des revendications 1 à 7, caractérisé en ce qu'il comporte une étape d'enlèvement de rayons de raccordement de l'objet initial, notamment pour les arrondis à rayon variable.
9. Procédé selon l'une quelconque des revendications 1 à 8, caractérisé en ce qu'il comporte une étape d'identification de primitives maximales à chaque étape de décomposition de l'objet, une primitive identifiée à une étape f du processus de construction d'un objet M, étant dite primitive maximale si aucune autre primitive Pj. valide à cette même étape t, ne peut être entièrement insérée dans la primitive Pi, c'est à dire : Pi (Y Ρ} ψ Ρρ où n* désigne l'opérateur booléen régularisé d'intersection.
10. Procédé selon l'une quelconque des revendications 1 à 9, caractérisé en ce que les processus génératifs utilisés sont de type additif, c'est à dire qu'ils sont exclusivement fondés sur un opérateur d'union régularisée lors de la combinaison de primitives à chaque étape t de modélisation des processus génératifs.
EP14761372.3A 2013-09-13 2014-09-09 Procédé de conception assistée par ordinateur comportant une étape de modélisation Withdrawn EP3044708A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1358842A FR3010812A1 (fr) 2013-09-13 2013-09-13 Procede de conception assistee par ordinateur comportant une etape de modelisation
PCT/EP2014/069161 WO2015036390A1 (fr) 2013-09-13 2014-09-09 Procédé de conception assistée par ordinateur comportant une étape de modélisation

Publications (1)

Publication Number Publication Date
EP3044708A1 true EP3044708A1 (fr) 2016-07-20

Family

ID=50159257

Family Applications (1)

Application Number Title Priority Date Filing Date
EP14761372.3A Withdrawn EP3044708A1 (fr) 2013-09-13 2014-09-09 Procédé de conception assistée par ordinateur comportant une étape de modélisation

Country Status (5)

Country Link
US (1) US10354020B2 (fr)
EP (1) EP3044708A1 (fr)
CN (1) CN105793848B (fr)
FR (1) FR3010812A1 (fr)
WO (1) WO2015036390A1 (fr)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015117181A1 (de) 2015-10-08 2017-04-13 Airbus Operations Gmbh Luftfahrzeugrekonfigurator zum Rekonfigurieren einer Luftfahrzeugkonfiguration
DE102015117343A1 (de) 2015-10-12 2017-04-13 Airbus Operations Gmbh Bauteilkonfigurator zum Generieren von Varianten eines zu installierenden Bauteils
WO2017137158A1 (fr) * 2016-02-10 2017-08-17 Testo SE & Co. KGaA Procédé et dispositif d'enregistrement d'images pour déterminer une grandeur de mesure géométrique d'un objet sélectionné
CN106909730B (zh) * 2017-02-21 2020-05-05 山东师范大学 基于同伦映射算法的建筑物三维模型仿真方法及系统
US11244502B2 (en) * 2017-11-29 2022-02-08 Adobe Inc. Generating 3D structures using genetic programming to satisfy functional and geometric constraints
EP3675059B1 (fr) * 2018-12-29 2022-09-14 Dassault Systèmes Extraction d'un arbre de caractéristiques à partir d'une maille
WO2020147914A1 (fr) * 2019-01-18 2020-07-23 Sew-Eurodrive Gmbh & Co. Kg Génération de modèle volumique pour des objets à composants multiples
US11281820B2 (en) 2019-04-02 2022-03-22 Desktop Metal, Inc. Systems and methods for growth-based design
WO2021010963A1 (fr) * 2019-07-15 2021-01-21 Hewlett-Packard Development Company, L.P. Opérateurs décalés
CN114894140B (zh) * 2022-04-24 2023-09-15 珠海格力精密模具有限公司 一种测量三维模型间隔厚度的方法、装置、设备和介质
CN115100357B (zh) * 2022-07-08 2024-03-12 中国航空发动机研究院 几何特征描述的数据文件生成方法及格式转换方法
CN118316188B (zh) * 2024-04-03 2025-05-16 国网陕西省电力有限公司电力科学研究院 应用于电网数据类的资产监控系统及方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5377129A (en) * 1990-07-12 1994-12-27 Massachusetts Institute Of Technology Particle interaction processing system
EP0760125B1 (fr) * 1994-05-16 2002-04-03 Apple Computer, Inc. Systeme de personnalisation de la representation et du comportement d'interfaces utilisateurs graphiques
DE69525338T2 (de) * 1994-05-16 2002-10-24 Apple Computer, Inc. Abstraktion von mustern und farben in einer graphischen benutzerschnittstelle
US6243102B1 (en) * 1994-05-16 2001-06-05 Apple Computer, Inc. Data-driven layout engine
US6404433B1 (en) * 1994-05-16 2002-06-11 Apple Computer, Inc. Data-driven layout engine

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
None *
See also references of WO2015036390A1 *

Also Published As

Publication number Publication date
US10354020B2 (en) 2019-07-16
CN105793848B (zh) 2019-06-28
WO2015036390A1 (fr) 2015-03-19
FR3010812A1 (fr) 2015-03-20
CN105793848A (zh) 2016-07-20
US20160224694A1 (en) 2016-08-04

Similar Documents

Publication Publication Date Title
WO2015036390A1 (fr) Procédé de conception assistée par ordinateur comportant une étape de modélisation
Mescheder et al. Occupancy networks: Learning 3d reconstruction in function space
US11275353B2 (en) Creating a voxel representation of a three dimensional (3-D) object
Géraud et al. A quasi-linear algorithm to compute the tree of shapes of n D images
FR3052891A1 (fr) Procede d&#39;estimation du facteur d&#39;intensite des contraintes et procede de calcul de duree de vie associe
EP2589020A2 (fr) Procede de compression / decompression hiérarchique de maillage tridimensionnel
EP0627693A1 (fr) Dispositif de segmentation d&#39;images composées de textures et système de segmentation d&#39;images comprenant un tel dispositif
Boussuge et al. Extraction of generative processes from B-Rep shapes and application to idealization transformations
FR3028333A1 (fr) Creation de maillage de reservoir utilisant un raffinement anisotrope prolonge, adapte a la geometrie, d&#39;un polyedre
EP3105693B1 (fr) Procede de determination d&#39;un motif d&#39;auto-assemblage d&#39;un copolymere a blocs
Sulzer et al. Concise plane arrangements for low-poly surface and volume modelling
Setty et al. Framework for 3D object hole filling
EP2359339B1 (fr) Procédé de conception assistée par ordinateur pour créer une surface dans un système complexe
EP4078408A1 (fr) Méthode de simulation numérique par apprentissage automatique
EP3105679B1 (fr) Encodage de scenarios de defaillance d&#39;un processeur manycore
WO2006018570A2 (fr) Procede et systeme d&#39;identification de zones de proximite entre plusieurs objets geometriques simules numeriquement
CN111582053A (zh) 基于特征矩阵的毛坯模型复杂特征分层识别方法
Boutry et al. How to make n-D plain maps defined on discrete surfaces Alexandrov-well-composed in a self-dual way
JP2023143870A (ja) スケッチ加工
EP1121665B1 (fr) Procede de codage d&#39;un maillage source, avec optimisation de la position d&#39;un sommet resultant d&#39;une fusion d&#39;arete, et applications correspondantes
EP3622445B1 (fr) Procede, mise en oeuvre par ordinateur, de recherche de regles d&#39;association dans une base de donnees
EP4012651B1 (fr) Procédés, programme d&#39;ordinateur et système pour l&#39;identification, la détection et la localisation d&#39;une instance d&#39;objet dans une scène tridimensionnelle
Bærentzen et al. Reconstruction of a botanical tree from a 3D point cloud
FR2995109A1 (fr) Procede de simulation d&#39;un ensemble d&#39;elements, programme d&#39;ordinateur associe
WO2001004843A1 (fr) Integration de lignes de contrainte dans une triangulation de delaunay

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20160408

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAX Request for extension of the european patent (deleted)
RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: AIRBUS GROUP SAS

Owner name: INSTITUT POLYTECHNIQUE DE GRENOBLE

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: AIRBUS (SAS)

Owner name: INSTITUT POLYTECHNIQUE DE GRENOBLE

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20191212

17Q First examination report despatched

Effective date: 20191219

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20220510