| CPC G06F 30/18 (2020.01) [G06F 16/2457 (2019.01); G06F 16/288 (2019.01); G06F 16/9024 (2019.01); G06F 30/00 (2020.01); G06F 30/12 (2020.01); G06F 30/17 (2020.01); G06F 30/20 (2020.01); G06T 15/06 (2013.01); G06T 15/10 (2013.01); G06F 2111/20 (2020.01)] | 12 Claims |

|
1. A computer-implemented method of identifying parts of a new product by a designer using a client computer that is connected to a server, the server storing a non-hierarchical graph and a database, the method comprising:
building, by a processor, the non-hierarchical graph from at least two products stored in the database before a design of the new product has started, the database storing an orientation associated with each part of the at least two products, the graph comprising nodes and edges between nodes,
each node representing a part of one of the at least two products with attributes including an orientation of the part and one or more clash points, and each edge representing a relationship among a set of relationships between a pair of parts represented by nodes, wherein the set of relationships include:
a father/child relationship that represents a hierarchy between a pair of parts;
a neighbor relationship that represents a distance between a pair of parts;
a similar shape relationship that represents a global or local similarity in form of a pair of parts;
a similar function relationship that represents local equivalence of connections between two parts;
fit relationship that defines a presence of a standardized connection between two parts;
the graph comprising at least two edges connecting a same pair of nodes, the two edges representing different relationships,
a server storing the non-hierarchical graph and the database;
obtaining a part of the new product to be completed;
performing, upon user action by a designer using a client computer that is connected to the server, a selection on the obtained part;
computing and adding, by the processor, in the graph a node representing the selected part;
identifying one or more nodes that have closest relationships to the node representing the selected part and that have the best fit with the node representing the selected part, the identifying the one or more nodes having the best fit including identifying the one or more nodes having the closest clash points with the least interferences;
retrieving, from the database, one or more new parts corresponding to one or more identified nodes;
downloading, by the client computer, the retrieved one or more new parts;
ranking the one or more identified nodes corresponding to the one or more retrieved new parts according to closeness of relationships to the node representing the selected part;
computing, for the new part corresponding to the identified node with the highest closeness, a position that fits with the orientation of the obtained part; and
displaying, to the designer, the part with the new part corresponding to the identified node with the highest closeness at the computed position,
wherein the identifying of the one or more nodes that have the closest relationships to the node representing the selected part comprises:
obtaining signatures of the nodes of the graph that are connected with an edge to the node representing the selected part, identifying one or more most similar signatures with the signature of the node representing the selected part,
identifying the orientation associated with the part of the new product to be completed and associating the identified orientations with each of the one or more nodes that have the closest relationships to the node representing the selected part, and
filtering the one or more similar signatures by identifying, among the one or more similar signatures, at least one signature whose orientation matches with the orientation of the obtained part of the new product.
|