Topological message passing for three dimensional models in boundary representation format
Methods, systems, and apparatus, including medium-encoded computer program products, for computer aided design of physical structures include: obtaining a B-Rep model including parametric surfaces and associated coedges; generating feature matrices from the coedges associated with the parametric surfaces; using the feature matrices in a convolution layer of a convolutional neural network of a machine learning algorithm to recognize a collection of faces or edges in the B-Rep model, including concatenating results of transforming the feature matrices using a topological walk matrix that represents topological information for the parametric surfaces based on adjacency relationships among the coedges (e.g., including ordering information); and preparing, based on the at least one collection of faces or edges recognized by the machine learning algorithm, (i) a display of the B-Rep model to facilitate user changes or (ii) a design of the B-Rep model to facilitate manufacturing a physical structure using the B-Rep model.
1 . A method comprising:
obtaining, in a structural modelling program, a three dimensional model of a manufacturable object comprising one or more modelled manifolds defined by boundary representation data structure entities comprising (i) trimmed parametric surfaces and (ii) coedges associated with the trimmed parametric surfaces, wherein the coedges specify topological information for the trimmed parametric surfaces, and the topological information comprises adjacency relationships among the coedges including ordering information comprising next and previous coedges around a parent face of a given coedge;
generating, by the structural modelling program, feature matrices from the boundary representation data structure entities, wherein the feature matrices represent geometry information about the trimmed parametric surfaces;
using, by the structural modelling program, the feature matrices in at least one convolution layer of a convolutional neural network of a machine learning algorithm to recognize at least one collection of faces or edges in the one or more modelled manifolds, wherein using the feature matrices in the at least one convolution layer comprises concatenating results of transforming the feature matrices using at least one topological walk matrix built from data of the boundary representation data structure entities to represent the topological information for the trimmed parametric surfaces, wherein the data comprises the adjacency relationships among the coedges including the ordering information; and
preparing, by the structural modelling program and based on the at least one collection of faces or edges recognized by the machine learning algorithm, (i) a display of the three dimensional model of the manufacturable object to facilitate user input to change the three dimensional model or (ii) a design of the three dimensional model of the manufacturable object to facilitate manufacturing a physical structure using the three dimensional model.
2 . The method of claim 1 , wherein the one or more modelled manifolds comprise at least one closed manifold representing a modelled solid.
3 . The method of claim 1 , wherein the one or more modelled manifolds comprise at least one open manifold representing a modelled sheet body.
4 . The method of claim 1 , wherein the geometry information about the trimmed parametric surfaces comprises surface type information associated with faces of the trimmed parametric surfaces.
5 . The method of claim 1 , wherein the geometry information about the trimmed parametric surfaces comprises curve type information associated with edges of the trimmed parametric surfaces.
6 . The method of claim 1 , wherein the geometry information about the trimmed parametric surfaces comprises convexity information associated with edges of the trimmed parametric surfaces.
7 . The method of claim 1 , wherein the geometry information about the trimmed parametric surfaces comprises boundary representation flag information indicating an orientation of a face, an edge, a coedge, a surface, or a curve.
8 . The method of claim 7 , wherein the geometry information about the trimmed parametric surfaces comprises the boundary representation flag information indicating at least one of (i) whether a coedge has a same direction as a curve of its associated edge, (ii) whether a normal direction of a face is parallel to normals of an underlying surface, or (iii) whether a coedge is the coedge referenced by the parent loop.
9 . The method of claim 1 , wherein using the feature matrices in the at least one convolution layer of the convolutional neural network of the machine learning algorithm to recognize the at least one collection of faces or edges comprises identifying the at least one collection of faces or edges as being similar to at least one of multiple other collections of faces or edges in other three dimensional models, the other three dimensional models being in boundary representation format and having been previously processed by the machine learning algorithm in a self-supervised manner using adjacency relationships including ordering information for coedges in the other three dimensional models that are processed using at least one convolutional kernel defined with respect to coedges to find learnable parameters associated with both geometry and topology information within a region of a three dimensional model.
10 . The method of claim 9 , wherein the collections of faces or edges are represented using vectors of numbers for faces, edges and coedges in a multi-dimensional embedding space, and the identifying uses similarity of the vectors of numbers assessed using cosine similarity, Euclidean distance, or another measure of similarity in the multi-dimensional embedding space.
11 . The method of claim 10 , comprising running the machine learning algorithm in which the feature matrices are used in the at least one convolution layer, and running the machine learning algorithm comprises pooling information from coedges onto their parent faces and edges in each convolution unit of the convolutional neural network.
12 . The method of claim 1 , wherein the structural modelling program comprises a computer aided design program.
13 . The method of claim 1 , wherein the structural modelling program comprises a computer aided engineering program.
14 . The method of claim 1 , wherein the structural modelling program comprises a computer aided manufacturing program.
15 . The method of claim 1 , wherein the structural modelling program comprises a process planning program.
16 . The method of claim 1 , wherein the preparing comprises modifying the display of the three dimensional model by designating the at least one collection of faces or edges in the display of the three dimensional model.
17 . The method of claim 1 , wherein the preparing comprises modifying the display of the three dimensional model by designating a suggested completion of a user selection of the at least one collection of faces or edges in the display of the three dimensional model.
18 . The method of claim 1 , wherein the preparing comprises modifying the display of the three dimensional model by alerting a user about a suitability of the three dimensional model for at least one predefined downstream process.
19 . The method of claim 18 , wherein the at least one predefined downstream process comprises a manufacturing process or a structural performance process.
20 . The method of claim 1 , wherein the preparing comprises modifying the design of the three dimensional model by manipulating geometry of the at least one collection of faces or edges to automate a predefined workflow.
21 . The method of claim 1 , wherein the preparing comprises modifying the design of the three dimensional model by removing a feature in the three dimensional model, in accordance with the at least one collection of faces or edges, to prepare the three dimensional model for use in a finite element analysis simulation of physical properties of the physical structure to be manufactured.
22 . The method of claim 1 , wherein the preparing comprises preparing the design of the three dimensional model by producing one or more toolpath strategies to machine the physical structure during the manufacturing.
23 . A non-transitory computer-readable medium encoding instructions operable to cause data processing apparatus to perform operations comprising:
obtaining a three dimensional model of a manufacturable object comprising one or more modelled manifolds defined by boundary representation data structure entities comprising (i) trimmed parametric surfaces and (ii) coedges associated with the trimmed parametric surfaces, wherein the coedges specify topological information for the trimmed parametric surfaces, and the topological information comprises adjacency relationships among the coedges including ordering information comprising next and previous coedges around a parent face of a given coedge;
generating feature matrices from the boundary representation data structure entities, wherein the feature matrices represent geometry information about the trimmed parametric surfaces;
using the feature matrices in at least one convolution layer of a convolutional neural network of a machine learning algorithm to recognize at least one collection of faces or edges in the one or more modelled manifolds, wherein using the feature matrices in the at least one convolution layer comprises concatenating results of transforming the feature matrices using at least one topological walk matrix built from data of the boundary representation data structure entities to represent the topological information for the trimmed parametric surfaces, wherein the data comprises the adjacency relationships among the coedges including the ordering information; and
preparing, based on the at least one collection of faces or edges recognized by the machine learning algorithm, (i) a display of the three dimensional model of the manufacturable object to facilitate user input to change the three dimensional model or (ii) a design of the three dimensional model of the manufacturable object to facilitate manufacturing a physical structure using the three dimensional model.
24 . The non-transitory computer-readable medium of claim 23 , wherein the one or more modelled manifolds comprise at least one closed manifold representing a modelled solid.
25 . The non-transitory computer-readable medium of claim 23 , wherein the one or more modelled manifolds comprise at least one open manifold representing a modelled sheet body.
26 . The non-transitory computer-readable medium of claim 23 , wherein the geometry information about the trimmed parametric surfaces comprises surface type information associated with faces of the trimmed parametric surfaces.
27 . The non-transitory computer-readable medium of claim 23 , wherein the geometry information about the trimmed parametric surfaces comprises curve type information associated with edges of the trimmed parametric surfaces.
28 . The non-transitory computer-readable medium of claim 23 , wherein the geometry information about the trimmed parametric surfaces comprises convexity information associated with edges of the trimmed parametric surfaces.
29 . The non-transitory computer-readable medium of claim 23 , wherein the geometry information about the trimmed parametric surfaces comprises boundary representation flag information indicating an orientation of a face, an edge, a coedge, a surface, or a curve.
30 . The non-transitory computer-readable medium of claim 29 , wherein the geometry information about the trimmed parametric surfaces comprises the boundary representation flag information indicating at least one of (i) whether a coedge has a same direction as a curve of its associated edge, (ii) whether a normal direction of a face is parallel to normals of an underlying surface, or (iii) whether a coedge is the coedge referenced by the parent loop.
31 . The non-transitory computer-readable medium of claim 23 , wherein using the feature matrices in the at least one convolution layer of the convolutional neural network of the machine learning algorithm to recognize the at least one collection of faces or edges comprises identifying the at least one collection of faces or edges as being similar to at least one of multiple other collections of faces or edges in other three dimensional models, the other three dimensional models being in boundary representation format and having been previously processed by the machine learning algorithm in a self-supervised manner using adjacency relationships including ordering information for coedges in the other three dimensional models that are processed using at least one convolutional kernel defined with respect to coedges to find learnable parameters associated with both geometry and topology information within a region of a three dimensional model.
32 . The non-transitory computer-readable medium of claim 31 , wherein the collections of faces or edges are represented using vectors of numbers for faces, edges and coedges in a multi-dimensional embedding space, and the identifying uses similarity of the vectors of numbers assessed using cosine similarity, Euclidean distance, or another measure of similarity in the multi-dimensional embedding space.
33 . The non-transitory computer-readable medium of claim 32 , wherein the operations comprise running the machine learning algorithm in which the feature matrices are used in the at least one convolution layer, and running the machine learning algorithm comprises pooling information from coedges onto their parent faces and edges in each convolution unit of the convolutional neural network.
34 . The non-transitory computer-readable medium of claim 23 , wherein the preparing comprises modifying the display of the three dimensional model by designating the at least one collection of faces or edges in the display of the three dimensional model.
35 . The non-transitory computer-readable medium of claim 23 , wherein the preparing comprises modifying the display of the three dimensional model by designating a suggested completion of a user selection of the at least one collection of faces or edges in the display of the three dimensional model.
36 . The non-transitory computer-readable medium of claim 23 , wherein the preparing comprises modifying the display of the three dimensional model by alerting a user about a suitability of the three dimensional model for at least one predefined downstream process.
37 . The non-transitory computer-readable medium of claim 36 , wherein the at least one predefined downstream process comprises a manufacturing process or a structural performance process.
38 . The non-transitory computer-readable medium of claim 23 , wherein the preparing comprises modifying the design of the three dimensional model by manipulating geometry of the at least one collection of faces or edges to automate a predefined workflow.
39 . The non-transitory computer-readable medium of claim 23 , wherein the preparing comprises modifying the design of the three dimensional model by removing a feature in the three dimensional model, in accordance with the at least one collection of faces or edges, to prepare the three dimensional model for use in a finite element analysis simulation of physical properties of the physical structure to be manufactured.
40 . The non-transitory computer-readable medium of claim 23 , wherein the preparing comprises preparing the design of the three dimensional model by producing one or more toolpath strategies to machine the physical structure during the manufacturing.
41 . A system comprising:
a data processing apparatus including at least one hardware processor; and
a non-transitory computer-readable medium encoding instructions of a structural modelling program configured to cause the data processing apparatus to perform operations comprising:
obtaining a three dimensional model of a manufacturable object comprising one or more modelled manifolds defined by boundary representation data structure entities comprising (i) trimmed parametric surfaces and (ii) coedges associated with the trimmed parametric surfaces, wherein the coedges specify topological information for the trimmed parametric surfaces, and the topological information comprises adjacency relationships among the coedges including ordering information comprising next and previous coedges around a parent face of a given coedge;
generating feature matrices from the boundary representation data structure entities, wherein the feature matrices represent geometry information about the trimmed parametric surfaces;
using the feature matrices in at least one convolution layer of a convolutional neural network of a machine learning algorithm to recognize at least one collection of faces or edges in the one or more modelled manifolds, wherein using the feature matrices in the at least one convolution layer comprises concatenating results of transforming the feature matrices using at least one topological walk matrix built from data of the boundary representation data structure entities to represent the topological information for the trimmed parametric surfaces, wherein the data comprises the adjacency relationships among the coedges including the ordering information; and
preparing, based on the at least one collection of faces or edges recognized by the machine learning algorithm, (i) a display of the three dimensional model of the manufacturable object to facilitate user input to change the three dimensional model or (ii) a design of the three dimensional model of the manufacturable object to facilitate manufacturing a physical structure using the three dimensional model.
42 . The system of claim 41 , wherein the one or more modelled manifolds comprise at least one closed manifold representing a modelled solid.
43 . The system of claim 41 , wherein the one or more modelled manifolds comprise at least one open manifold representing a modelled sheet body.
44 . The system of claim 41 , wherein the geometry information about the trimmed parametric surfaces comprises surface type information associated with faces of the trimmed parametric surfaces.
45 . The system of claim 41 , wherein the geometry information about the trimmed parametric surfaces comprises curve type information associated with edges of the trimmed parametric surfaces.
46 . The system of claim 41 , wherein the geometry information about the trimmed parametric surfaces comprises convexity information associated with edges of the trimmed parametric surfaces.
47 . The system of claim 41 , wherein the geometry information about the trimmed parametric surfaces comprises boundary representation flag information indicating an orientation of a face, an edge, a coedge, a surface, or a curve.
48 . The system of claim 47 , wherein the geometry information about the trimmed parametric surfaces comprises the boundary representation flag information indicating at least one of (i) whether a coedge has a same direction as a curve of its associated edge, (ii) whether a normal direction of a face is parallel to normals of an underlying surface, or (iii) whether a coedge is the coedge referenced by the parent loop.
49 . The system of claim 41 , wherein using the feature matrices in the at least one convolution layer of the convolutional neural network of the machine learning algorithm to recognize the at least one collection of faces or edges comprises identifying the at least one collection of faces or edges as being similar to at least one of multiple other collections of faces or edges in other three dimensional models, the other three dimensional models being in boundary representation format and having been previously processed by the machine learning algorithm in a self-supervised manner using adjacency relationships including ordering information for coedges in the other three dimensional models that are processed using at least one convolutional kernel defined with respect to coedges to find learnable parameters associated with both geometry and topology information within a region of a three dimensional model.
50 . The system of claim 49 , wherein the collections of faces or edges are represented using vectors of numbers for faces, edges and coedges in a multi-dimensional embedding space, and the identifying uses similarity of the vectors of numbers assessed using cosine similarity, Euclidean distance, or another measure of similarity in the multi-dimensional embedding space.
51 . The system of claim 50 , wherein the operations comprise running the machine learning algorithm in which the feature matrices are used in the at least one convolution layer, and running the machine learning algorithm comprises pooling information from coedges onto their parent faces and edges in each convolution unit of the convolutional neural network.
52 . The system of claim 41 , wherein the structural modelling program comprises a computer aided design program.
53 . The system of claim 41 , wherein the structural modelling program comprises a computer aided engineering program.
54 . The system of claim 41 , wherein the structural modelling program comprises a computer aided manufacturing program.
55 . The system of claim 41 , wherein the structural modelling program comprises a process planning program.
56 . The system of claim 41 , wherein the preparing comprises modifying the display of the three dimensional model by designating the at least one collection of faces or edges in the display of the three dimensional model.
57 . The system of claim 41 , wherein the preparing comprises modifying the display of the three dimensional model by designating a suggested completion of a user selection of the at least one collection of faces or edges in the display of the three dimensional model.
58 . The system of claim 41 , wherein the preparing comprises modifying the display of the three dimensional model by alerting a user about a suitability of the three dimensional model for at least one predefined downstream process.
59 . The system of claim 58 , wherein the at least one predefined downstream process comprises a manufacturing process or a structural performance process.
60 . The system of claim 41 , wherein the preparing comprises modifying the design of the three dimensional model by manipulating geometry of the at least one collection of faces or edges to automate a predefined workflow.
61 . The system of claim 41 , wherein the preparing comprises modifying the design of the three dimensional model by removing a feature in the three dimensional model, in accordance with the at least one collection of faces or edges, to prepare the three dimensional model for use in a finite element analysis simulation of physical properties of the physical structure to be manufactured.
62 . The system of claim 41 , wherein the preparing comprises preparing the design of the three dimensional model by producing one or more toolpath strategies to machine the physical structure during the manufacturing.