Method and system for storing legacy computer-based models
By defining rules in the PLM platform to configure the representation of mapped to PLM physical products or physical products, the problem of modern modeling programs being unable to handle legacy model configurations is solved, achieving more accurate configuration mapping and performance optimization.
Patent Information
- Application Number
- CN202411406564.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-05-21
- Filing Date
- 2024-10-10
- Publication Date
- 2025-04-15
AI Technical Summary
Modern computer-based modeling programs such as PLM platforms cannot handle the configuration characteristics of legacy computer-based models, resulting in the inability to accurately map configuration intent when saving CAD files to the PLM system.
A method and system are provided that allows users to define rules to configure representations mapped to PLM physical products or physical products, assign different ‘subtypes’ to parts and components through file-level standards, and determine mapping rules based on configuration-level standards.
The intention to map CAD configuration more accurately in the PLM system is achieved, reducing the number of unwanted physical products, thereby optimizing database size and performance.
Smart Images

Figure CN119829566A_ABST
Abstract
Description
Background Art
[0001] Many existing products and simulation systems for designing and simulating objects (e.g., components, parts and assemblies or assemblies of parts, and other examples) are provided on the market. Such systems typically employ computer-aided design (CAD) and / or computer-aided engineering (CAE) programs. These systems allow users to build, manipulate and simulate complex three-dimensional (3D) models of objects or assemblies of objects (e.g., real-world objects). Therefore, CAD systems and CAE systems provide representations of modeled objects using edges, lines, faces, polygons, or closed volumes. Lines, edges, faces, polygons, and closed volumes can be represented in various ways, such as non-uniform rational basis splines (NURBS).
[0002] CAD systems manage parts or assemblies of parts of modeled objects, which are primarily specifications of geometric shapes. In particular, CAD files contain specifications from which geometric shapes are generated. Representations are generated from geometric shapes. Specifications, geometry, and representations can be stored in a single CAD file or in multiple CAD files. CAD systems include graphical tools for representing modeled objects to designers; these tools are specialized for the display of complex objects. For example, an assembly can contain thousands of parts. CAD systems can be used to manage object models stored in electronic files.
[0003] CAD and CAE systems use computer-based models to represent objects. Computer-based models can be programmed in a way that the model has the properties of one or more underlying real-world objects (e.g., physical, material, or other physics-based) represented by the model. In addition, computer-based models can be used to perform simulations of the real-world objects / environments represented by the model.
[0004] Existing computer-based modeling software systems, e.g. The concept of "configurations" has been available for over 20 years. Configurations are a feature in modeling software programs that allow users to create and manage multiple variations of a part or assembly within a single file. Users can vary dimensions, feature suppression, custom properties, and other parameters across different configurations. Summary of the invention
[0005] As described above, the concept / feature of "configuration" has been present in computer-based modeling software for more than 20 years. As a result, there are a large number of legacy computer-based models from legacy software programs, such as CAD models, that include configurations that would be beneficial to use in modern software programs. However, modern computer-based modeling programs / platforms, such as product lifecycle management (PLM) platforms, are unable to handle the configuration features of these legacy computer-based models. Various embodiments provide such functionality.
[0006] Embodiments provide the ability to define rules for CAD file configuration for PLM physical products or representations of physical products. In embodiments, users can define different rules that will assign different "subtypes" to parts and assemblies using file-level standards to identify subtypes.
[0007] An exemplary embodiment relates to a computer-implemented method for storing a legacy computer-based model in a PLM platform. The method begins with a processor obtaining a legacy computer-based model in a memory of the processor, wherein the legacy computer-based model includes one or more configurations of one or more elements representing a real-world object. To proceed, for a given configuration, the method defines a data processing rule, wherein the defined data processing rule indicates a type of at least one element of the given configuration, and the type defines logic for processing the at least one element according to a characteristic of the at least one element. Then, the given configuration is processed according to the defined data processing rule and the defined logic. Processing the given configuration includes storing at least one element of the given configuration as a unique product or a representation of a unique product in a memory associated with the PLM platform.
[0008] In an embodiment, defining the data processing rule includes receiving an indication of a type of at least one element of a given configuration from a user. In another embodiment, defining the data processing rule includes receiving an indication of logic for processing the at least one element from a user, wherein the indication of the logic determines whether the at least one element is stored as a unique product or a representation of a unique product based on a characteristic.
[0009] In another embodiment, processing a given configuration according to the defined data processing rules and the defined logic includes: for at least one element of the given configuration, identifying a type of the at least one element based on the defined data processing rules, and based on the identified type, determining the defined logic for processing the at least one element according to a characteristic. Such an embodiment identifies a given characteristic of the at least one element, and based on the determined defined logic and the identified given characteristic, stores the at least one element in a memory associated with the PLM platform as a unique product or a representation of a unique product.
[0010] According to an embodiment, one or more elements representing a real-world object include at least one individual component or component assembly of one or more configurations.
[0011] In another embodiment, processing a given configuration according to the defined data processing rules and the defined logic includes identifying a given element of the given configuration, wherein the defined data processing rules and the defined logic do not indicate whether the given element should be stored as a unique product or a representation of a unique product. In response to identifying the given element, such embodiments store the given element as a unique product or a representation of a unique product according to the default data processing rules. In addition, embodiments may also use contingency provisions for configurations that are not classified by any rules.
[0012] In another embodiment, at least one of the one or more configurations is a simplified configuration or a graphical representation configuration, such as one of the Speedpak configurations. In such an embodiment, a parent configuration of the at least one configuration is identified, and elements of the at least one configuration are stored in memory as representations of a unique product corresponding to the identified parent configuration.
[0013] Another exemplary embodiment relates to a system for storing legacy computer-based models, such as in a PLM platform. The system includes: a processor; and a memory having computer code instructions stored thereon. The processor and the memory are configured with the computer code instructions to cause the system to implement any embodiment or combination of embodiments described herein.
[0014] Yet another embodiment relates to a cloud computing implementation for storing legacy computer-based models. Such embodiments relate to a computer program product executed by a server communicating with one or more clients across a network. The computer program product includes a computer-readable medium having program instructions that, when executed by a processor, cause the processor to implement any embodiment or combination of embodiments described herein. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] The foregoing will be apparent from the following more particular description of exemplary embodiments as illustrated in the accompanying drawings in which like reference numerals refer to the same parts throughout the different views. The drawings are not necessarily drawn to scale, emphasis instead being placed upon illustrating the embodiments.
[0016] Figure 1 is a flow chart illustrating a method of storing a legacy computer-based model according to an embodiment.
[0017] Figure 2 is a flow chart of a computer-implemented method for storing legacy computer-based models in a PLM platform, according to an embodiment.
[0018] Figure 3A – Figure 3C An exemplary graphical user interface (GUI) that may be used in embodiments is depicted.
[0019] Figure 4is a simplified block diagram of a computer system for storing legacy computer-based models according to an embodiment.
[0020] Figure 5 is a simplified block diagram of a computer network environment in which embodiments may be implemented. DETAILED DESCRIPTION
[0021] The following is a description of example embodiments.
[0022] Computer-based modeling software, such as CAD software programs Provides configuration functionality. It should be noted that although this document may mention However, the embodiments are not limited to Rather, the embodiments may be implemented and used in any software program that provides configuration functionality.
[0023] There are three main use cases for Configurations. The first use case, Use Case One (UC1), is modeling families of parts or assemblies. For example, each configuration is a unique part within a unique part number. A typical example of this would be different sizes of bolts. The second use case, Use Case Two (UC2), represents different states (representations) of the same part or assembly. For example, this could be an open / closed door on a cabinet, a spring at different compressions, or a fully detailed and simplified model of a complex part. In this example, the simplified model can be used in downstream processes to improve software performance. The third main use case, Use Case Three (UC3), represents a part or assembly before and after a process such as welding or machining.
[0024] When saving CAD files to various software products, such as Product Lifecycle Management (PLM) systems, e.g. When designing a platform, the handling of configurations should be considered. There are different existing approaches for handling configurations. One approach is that each configuration becomes a unique physical product with a unique part number. However, this does not match the intent behind the UC1. Figure 1 Treating each configuration as a unique physical product with a unique part number produces an unwanted physical product where the configuration has been used for the purpose described in UC2 or UC3. This occurs when saving data to e.g. Platform PLM system.
[0025] Another existing approach is to use predefined logic to map some configurations to physical products (UC1), and other configurations to representations of physical products (UC2 and UC3). With this approach, the representations remain in the CAD file as configurations, however, the representations are not managed by the PLM system as unique objects. In other words, the CAD software will remain aware of the representations as configurations, but the PLM software will not be aware of the configurations. The logic for mapping configurations analyzes certain characteristics of the CAD (e.g., legacy computer-based model) file, such as configuration settings, to determine whether each configuration should be mapped to a physical product (with a unique part number) or a representation of a physical product (associated with an existing part number). This mapping can occur when the legacy model is opened from disk; or after it is opened in response to a user invoking a command to update the model. In both cases, the user has explicitly chosen to update the model using the command (in For example, if the update Compatibility”). Note that before the model is saved to the PLM system ( platform), no changes will be made.
[0026] In legacy systems, users had to decide between these two existing approaches when saving data to the platform. However, users may have a combination of data patterns and configuration use cases in their organization and therefore need to define logic that is used in a more precise and specific manner. In legacy systems, this is not possible. Additionally, in legacy systems, it is not possible to customize the logic used to save CAD data to the PLM system in order to ensure that the design intent of the CAD configuration can be accurately reflected in the destination PLM system. In organizations that use CAD configurations for multiple purposes and may have complex data patterns, there is no combination of options that can generate the desired results for all data patterns.
[0027] Embodiments address this problem. Embodiments provide the ability to define rules for mapping CAD file configurations to PLM physical products or representations of physical products. Embodiments allow users to define different rules that assign different "subtypes" to their parts and assemblies using file-level criteria to identify the subtype (e.g., file attributes such as part number, file name, etc.).
[0028] According to an embodiment, for each sub-type of file, logic can be defined to map configurations to PLM physical products or as representations of a single physical product or multiple physical products. For a single physical product, a user can use configuration-level criteria to define which configuration will become a single physical product. Other configurations can be representations of a designated single physical product. For multiple physical products, i.e., rules related to multiple different physical products, configuration-level criteria can be used to identify mappings (e.g., configuration attributes, configuration names, configuration settings). Multiple configurations can become physical products while maintaining the ability for some configurations to be designated as representations of a parent physical product.
[0029] For example, for the mapping of a single physical product, an exemplary bolt that is 2 inches in length and has full details associated with it can be defined as a configuration for a single physical product, and the representation can be the same 2 inch bolt without full details on the bolt's threads. In this example, using the representation (a 2 inch bolt without thread details) requires less computing power and memory, and therefore improves the performance of the modeling software. This simplified bolt configuration is a representation of the fully detailed parent physical product configuration of the 2 inch bolt. When using mapping rules for multiple physical products, a user may be able to specify that, for example, all part numbers beginning with "98" or "99" are to be considered physical products, and all other part numbers are representations.
[0030] Embodiments provide improved accuracy in mapping the intent behind CAD configuration usage to the PLM system. This reduces the amount of physical products that are not needed in the PLM system, which can have downstream benefits on database size and performance.
[0031] Figure 11 is a flow chart illustrating a method embodiment 100 for storing legacy computer-based models in a PLM platform. The method 100 starts at step 101 in response to a user opening a CAD model, and then proceeds to step 102, where it is determined whether "Update 3DEXPERIENCE Compatibility" is turned on. In other words, step 102 checks whether the user has selected to utilize the functionality of the embodiment when importing the CAD file into the PLM platform. From step 102, if the answer is "no" (i.e., do not utilize the functionality of the embodiment), the method proceeds to "end" 120 because no progress is required. If the answer at step 102 is "yes", the method 100 moves to step 103 and determines whether any custom rules are defined. If no custom rules are defined (i.e., the answer at step 103 is "no"), the method proceeds to step 104, where the CAD model is imported into the PLM system using hard-coded configuration mapping logic (i.e., default configuration mapping logic), and then moves to "end" 120. If step 103 determines that custom rules are defined (ie, the answer is "yes"), method 100 moves to step 105 where sub-type rules are applied.
[0032] To apply the subtype rules, the method 100 first moves to step 106 and determines whether the model is included in the subtype. If the answer is "no" at step 106 (i.e., the model is not included in the subtype), the method 100 moves to step 104 where the hard-coded configuration mapping logic is used, and then moves to "end" 120. If the answer is "yes" at step 106 (i.e., the model is included in the subtype), the method 100 moves to step 107 to process the configuration mapping rules for the subtype, and then moves to step 108 to determine whether the configuration is a single physical product or multiple physical products.
[0033] To continue, in response to determining at step 108 that the configuration is a single physical product, method 100 moves to step 111 to determine which configuration is the single physical product. In method 100, the single physical product can be an active configuration, a first configuration, or a named configuration. In an embodiment, a user can select which configuration is the single physical product. According to an embodiment, an "active" configuration is the configuration that was active the last time the model was saved, a first configuration is the first configuration in a history list of all configurations, and a "named" configuration is a configuration with a specific name. If the single physical product is the active configuration, method 100 moves to step 117, in which the single physical product is processed as the active configuration and the other configurations are processed as representations. If step 111 determines that the single physical product is the first configuration, method 100 moves to step 118, in which the single physical product is processed as the first configuration and the other configurations are processed as representations. If step 111 determines that the single physical product is a named configuration, method 100 moves to step 115 and determines whether the named configuration is available. If the named configuration is available (yes at step 115), method 100 moves to step 119, where the named configuration is processed as a physical product and the other configurations are processed as representations. After processing at each of steps 117, 118, and 119, method 100 moves to step 120 and ends. Returning to step 115, if the named configuration is not available (i.e., the answer is "no"), the method moves to step 116 where a fallback method is used. To continue, method 100 moves to step 113, where a fallback method is selected. From step 113, the selected fallback method can be: a named configuration, in which case the method moves to step 115; a first configuration, in which case the method moves to step 118; or an active configuration, in which case the method moves to step 117.
[0034] Returning to step 108, alternatively, if at step 108, the method 100 determines that the configuration is a multiple physical product, the method moves to step 109 to process the configuration using multiple physical product mapping rules (e.g., mapping all part numbers beginning with "98" or "99" to multiple physical products). Processing the configuration according to the multiple physical product mapping rules includes determining, at step 110, whether the mapping rules result in at least one physical product. If it is determined at step 110 that the mapping will result in at least one physical product (i.e., yes at step 110), the method 100 moves to step 114, where the configuration is mapped to a physical product and representation according to the multiple physical product mapping rules from step 109, and after step 114, the method 100 ends 120. If it is determined at step 110 that the mapping will not result in at least one physical product (i.e., the answer is no), the method moves to step 112 and uses a fallback method to specify a physical product. The fallback method is a default decision as to which configuration is mapped to a physical product. From step 112, method 100 moves to step 113, where a fallback method is selected, and as described above, the method continues from step 113. In an embodiment, the fallback method may be selected at step 113, such as by a user through an interface, or may be automatically selected, such as by executing programming logic.
[0035] Figure 2 is a flow chart of a computer-implemented method 200 for storing legacy computer-based models in a PLM platform, according to an embodiment. It should be noted that while the method 200 is described as providing functionality for storing legacy computer-based models in a PLM platform, embodiments of the method 200 are not limited to operating in the aforementioned context, but rather embodiments of the method 200 may be implemented for any software / program requiring configuration management, for example, in a program that cannot handle configurations of models imported into the program.
[0036] The method 200 begins at step 201, where a legacy computer-based model is obtained in a memory of a processor (implementing the method), wherein the legacy computer-based model includes one or more configurations of one or more elements representing a real-world object. In an embodiment, the computer-based model may be obtained automatically at step 201 or in response to user input. Furthermore, in an embodiment, the computer-based model may be obtained from any source, such as a memory, which may be accessed via a computing device implementing the method 200. To continue, at step 202, for a given configuration, the method 200 defines 202 data processing rules. Defining data processing rules at step 202 may include selecting and / or associating existing data processing rules to be used with the given configuration, or creating new data processing rules, such as user-created, to be used with the given configuration. The defined data processing rules indicate a type of at least one element of the configuration, and the type defines logic for processing the at least one element according to a characteristic of the at least one element. To illustrate step 202, in an exemplary embodiment, a user may define data processing rules for all parts of the "fastener" type. For example, such a rule may indicate that for fastener type parts whose part numbers begin with, for example, the letter "A", such as "A100" (where the part number is a characteristic), the fastener is stored as a unique product, and for fastener type parts whose part numbers begin with, for example, the letter "B", such as "B100", the fastener is stored as a representation of a unique product. By being able to identify multiple similar parts to be processed with the same type logic, this prevents the user from having to repeat efforts for each object of the same type. Additionally, this allows the user to edit the type logic in one location. Then, at step 203, a given configuration is processed according to the defined data processing rules and the defined logic. Processing the configuration at step 203 includes storing at least one element of the configuration as a unique product or a representation of a unique product in a memory associated with the PLM platform. To illustrate step 203, considering the aforementioned example, at step 203, a fastener of a given configuration is identified and the aforementioned rule is applied based on the part number of the fastener. Specifically, if, for example, the fastener has a part number beginning with "A80," the fastener is stored as a unique product, but if the fastener has a part number beginning with "B80," the fastener is stored as a representation of a unique product.
[0037] Method 200 is computer-implemented, such that the functions and effective operations (e.g., steps 201-203) can be automatically performed by one or more digital processors. In addition, method 200 can be implemented using any computer device or combination of computing devices known in the art. In other examples, method 200 can be implemented using the following description of the computer program. Figure 4 The computer system 400 described below and Figure 5The described computer network environment 500 is implemented.
[0038] Additionally, the method 200 may be implemented in a Platform as a Service (PaaS) environment. A platform is described herein merely as one example of an environment in which embodiments, such as method 200 , may be implemented.
[0039] In an embodiment of the method 200, defining the data processing rules at step 202 includes receiving an indication of a type of at least one element of a given configuration from a user. In another embodiment, defining the data processing rules at step 202 includes receiving an indication of logic for processing the at least one element from a user, wherein the indication of the logic determines whether the at least one element is stored as a unique product or a representation of a unique product based on characteristics of the CAD file. According to an embodiment, exemplary characteristics include configuration settings of the CAD file, which may determine how each configuration is mapped. The configuration settings may include: a configuration name, a configuration description, configuration specific properties (i.e., user-defined metadata fields), such as properties of a material (i.e., steel), a configuration setting indicating how the part is to be processed within a bill of materials (BOM) (i.e., whether the part is to be treated as a unique part or the same as the parent part within the BOM), and whether the configuration is an active configuration, a named configuration, or a first configuration. According to an embodiment, the configuration name and the configuration description are based on a string comparison, the configuration setting indicating how the part is to be processed within the BOM is based on a predefined option, and whether the configuration is an active, named, or first configuration is based on a yes / no type of the option. In addition, in an embodiment of the method 200, the following description of the configuration may be used to define the configuration settings. Figure 3A -C describes the interface definition rules.
[0040] In another embodiment of the method 200, processing the given configuration according to the defined data processing rules and the defined logic at step 202 includes: for at least one element of the given configuration, identifying a type of the at least one element based on the defined data processing rules, and determining defined logic for processing the at least one element according to a characteristic based on the identified type. Such an embodiment identifies a given characteristic of the at least one element, and based on the determined defined logic and the identified given characteristic, stores the at least one element in a memory associated with the PLM platform as a unique product or a representation of a unique product.
[0041] According to an embodiment, one or more elements representing a real-world object include at least one individual component or component assembly of one or more configurations.
[0042] In another embodiment of the method 200, processing the given configuration according to the defined data processing rules and the defined logic at step 203 includes identifying a given element of the given configuration, wherein the defined data processing rules and the defined logic do not indicate whether the given element should be stored as a unique product or a representation of a unique product. In response to identifying the given element, such embodiments store the given element as a unique product or a representation of a unique product according to the default data processing rules. In addition, embodiments may also use contingency provisions for configurations that are not classified by any rules.
[0043] In another embodiment, at least one of the one or more configurations is a simplified configuration or a graphical representation configuration, such as one of the Speedpak configurations. In such an embodiment, a parent configuration of the at least one configuration is identified, and elements of the at least one configuration are stored in memory as representations of a unique product corresponding to the identified parent configuration.
[0044] In an embodiment, if a configuration is a graphical representation configuration or a simplified configuration, the configuration is converted to a representation for its parent configuration. Even if a user has added specific rules to handle these special types of configurations, the rules are not applied to such configurations. Such an embodiment traverses the configuration mapping rules, such as all stored rules, and collects which configurations need to be physical products and representations. For example, a hypothetical "Config_A" is classified as a representation by a hypothetical "Rule_1". However, a hypothetical "Rule_5" should make "Config_A" a physical product by selecting the 3DExperience object type as "Physical Product", and then converting "Config_A" to a physical product ignoring "Rule_1". In this example, designating the configuration as a physical product is prioritized.
[0045] According to some rule definitions, according to an embodiment, hypothetically "Config_B" should be a representation of "Config_C" (where "Config_C" should be a physical product), but "Config_C" itself has been classified as a representation of a physical product corresponding to "Config_A", then "Config_B" is also classified as a representation of a physical product corresponding to "Config_A".
[0046] In an embodiment, when a given configuration ("Config_A") is mapped as a "representation" of a parent physical product, where the user has selected to use an "active configuration" ("Config_B") as the parent physical product, and "Config_B" itself is a representation, then "Config_A" is mapped as a representation of the parent product of Config_B. This mapping logic may be referred to herein as a hierarchical mapping.
[0047] In an embodiment, if the selection for mapping the configuration is selected as "Representation", and the configuration is selected to use the "named configuration", such as "qwerty"'s "configuration" as the parent physical product, or if the configuration name (i.e., "qwerty") does not exist, use "first configuration", then if the named configuration exists and is identified as a representation, the conversion is handled in the same manner as the hierarchical mapping embodiment (i.e., saving the legacy CAD model into the PLM platform). If the named configuration does not exist, but if the active / first configuration is identified as a representation, the conversion is handled in the same manner as the hierarchical mapping embodiment.
[0048] Embodiments may utilize contingency provisions for configurations that cannot be classified by any of the rules. According to the contingency provisions, in the case of such unclassified configurations, the configurations not included in the mapping rules will be created as representations of the physical product that are mapped to the named configuration, the active configuration, or the first configuration. If the named configuration exists and is identified as a representation, the conversion (i.e., storing the CAD model in the PLM platform) is handled in the same manner as the hierarchical mapping embodiment. If the named configuration does not exist, but if the active / first configuration is identified as a representation, the conversion is handled in the same manner as the hierarchical mapping embodiment.
[0049] According to an embodiment, in the case of "associated with parent", i.e. exported configuration, such configuration will typically be a representation of a physical product corresponding to its parent configuration or handled in the same manner as the hierarchical mapping embodiment, unless one of the rules identifies it as a physical product by selecting the 3DEX object type as "Physical Product" (i.e., the user only wants it to be made into a physical product and the embodiment does not restrict it).
[0050] Figure 3A A GUI 301 is shown that can be used in an embodiment. Specifically, the GUI 301 is an exemplary integrated rule editor window. The integrated rule editor 301 includes tabs 302 for switching between part and assembly user interfaces. In each interface, subtype rules can be defined in the subtype name column, such as fastener 303. The user can add rows to subtype parts or assemblies, where different configuration mapping rules apply to each subtype. The lower pane 304 defines the configuration mapping rules for the selected subtype row. The user can select between single and multiple physical products.
[0051] Figure 3BA subtype rule definition GUI 305 is shown. According to an embodiment, the subtype rule GUI 305 allows a user to define how a particular subtype is to be handled. For example, a subtype rule may be used for all "Fastener Hardware (Multi-PP), all part numbers starting with 98 and 99". In such an example, the user would then add conditions to this rule, such as custom attributes 306, name 307, and part number 308. This would assign the rule to "Subtype" 309. In this example, subtype 309 is "Fastener".
[0052] Figure 3C The configuration mapping rule editor GUI 310 for the above-described embodiment is shown. The GUI 310 allows a user to map multiple configurations to representations or physical products at once. Figure 3C In the GUI, it is described that "all configurations with a unique part number" will be mapped to physical products 311. This can be set based on user defined conditions 312 in the GUI. Figure 3B – 3C shows one example of a sub-type rule definition, and one of ordinary skill in the art will appreciate that this can be reconfigured for multiple sub-type rule definitions.
[0053] Figure 4 4 is a simplified block diagram of a computer-based system 400 that can be used to implement any of the embodiments described herein. System 400 includes a bus 401. Bus 401 acts as an interconnect between various components of system 400. Connected to bus 401 is an input / output device interface 402, which is used to connect various input and output devices, such as keyboards, mice, displays, speakers, etc., to system 400. Central processing unit (CPU) 406 is connected to bus 401 and provides execution of computer instructions for implementing embodiments such as method 200. Memory 403 provides volatile storage of data for executing computer instructions for implementing embodiments described herein. Storage device 404 provides non-volatile storage for software instructions such as operating systems (not shown) and embodiment configurations. System 400 also includes a network interface 405 for connecting to any variety of networks known in the art, including wide area networks (WANs) and local area networks (LANs).
[0054] It should be understood that the exemplary embodiments described herein can be implemented in many different ways. In some cases, the various methods and machines described herein can each be implemented by a physical, virtual, or hybrid general-purpose computer, such as computer system 400 or a computer network environment, such as computer environment 500, as described below with respect to Figure 5The computer system 400 can be transformed into a machine that performs the methods described herein, for example, by loading software instructions into the memory 403 or non-volatile storage device 404 for execution by the CPU 406. It should be further understood by those skilled in the art that the system 400 and its various components can be configured to perform any embodiment or combination of embodiments described herein. Further, the system 400 can utilize hardware 4148.1073-002CN that is operatively coupled internally or externally to the system 400.
[0055] The various embodiments described herein may be implemented by any combination of hardware, software, and firmware modules.
[0056] Figure 5 A computer network environment 500 is shown in which embodiments of the present invention may be implemented. In the computer network environment 500, a server 501 is linked to clients 503a-n via a communication network 502. The environment 500 may be used to allow the clients 503a-n to perform any of the methods described herein, either alone or in combination with the server 501. For non-limiting examples, the computer network environment 500 provides a cloud computing embodiment, a software as a service (SAAS) embodiment, and the like.
[0057] Embodiments or aspects thereof may be implemented in the form of hardware, firmware, or software. If implemented in software, the software may be stored on any non-transitory computer-readable medium that is configured to enable a processor to load the software or a subset of its instructions. The processor then executes the instructions and is configured to operate or cause the device to operate in the manner described herein.
[0058] Further, firmware, software, routines or instructions may be described herein as performing certain actions and / or functions of a data processor. However, it should be understood that such descriptions included herein are only for convenience and such actions are actually caused by a computing device, processor, controller or other device that executes the firmware, software, routines, instructions.
[0059] It should be understood that flow charts, block diagrams, and network diagrams may include more or fewer elements, be arranged in different ways, or be presented in different ways. However, it should be further understood that certain embodiments may indicate block diagrams and network diagrams and the number of block diagrams and network diagrams that illustrate the execution of an embodiment implemented in a particular manner.
[0060] Thus, additional embodiments may also be implemented in a variety of computer architectures, physical, virtual, cloud computers, and / or some combination thereof, and thus, the data processors described herein are intended only to illustrate and not limit the embodiments.
[0061] While example embodiments have been particularly shown and described, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the embodiments as covered by the appended claims.
[0062] For example, the foregoing description and details of the embodiments in the Figures refer to applicant-assignee (Dassault Systèmes Simulation) and Dassault Systèmes, tools and platforms for purposes of illustration and not limitation. Other similar tools and platforms are suitable.
[0063] The teachings of all patents, published applications, and references cited herein are incorporated by reference in their entirety.
Claims
1. A computer-implemented method for storing a legacy computer-based model in a product lifecycle management (PLM) platform, the method comprising, by a processor: A legacy computer-based model is obtained in a memory of the processor, wherein: The legacy computer-based model is comprised of one or more configurations of one or more elements representing a real-world object; For a given configuration: defining a data processing rule, wherein the defined data processing rule indicates a type of at least one element of the given configuration, and the type defines logic for processing the at least one element according to a characteristic of the at least one element; and The given configuration is processed according to the defined data processing rules and the defined logic, wherein processing the given configuration includes storing the at least one element of the given configuration as a unique product or a representation of a unique product in a memory associated with the PLM platform.
2. The method according to claim 1, wherein: Defining the data processing rules includes: An indication of the type of the at least one element of the given configuration is received from a user.
3. The method according to claim 1, wherein: Defining the data processing rules includes: An indication of logic for processing the at least one element is received from a user, wherein the indication of the logic determines whether the at least one element is stored as a unique product or a representation of a unique product based on the characteristic.
4. The method according to claim 1, wherein: Processing the given configuration according to the defined data processing rules and the defined logic comprises, for the at least one element of the given configuration: identifying the type of the at least one element based on the defined data processing rules; Based on the identified type, determining defined logic for processing the at least one element according to the characteristic; identifying a given characteristic of the at least one element; and The at least one element is stored in a memory associated with the PLM platform as a unique product or a representation of a unique product based on the determined defined logic and the identified given characteristics.
5. The method according to claim 1, wherein: The one or more elements representing the real-world object include: At least one individual component or assembly of said one or more configured components.
6. The method according to claim 1, wherein: Processing the given configuration according to the defined data processing rules and the defined logic comprises: identifying a given element of the given configuration, wherein the defined data processing rules and the defined logic do not indicate that the given element should be stored as a unique product or a representation of a unique product; and In response to identifying the given element, the given element is stored as a unique product or a representation of a unique product according to a default data processing rule.
7. The method according to claim 1, wherein: At least one of the one or more configurations is one of a simplified configuration or a graphical representation configuration.
8. The method according to claim 7, further comprising: identifying a parent configuration of the at least one configuration; as well as Elements of the at least one configuration are stored in the memory as representations of unique products corresponding to the identified parent configuration.
9. A system for storing legacy computer-based models in a product lifecycle management (PLM) platform, the system comprising: processor; as well as a memory having computer code instructions stored thereon, the processor and the memory having the computer code instructions being configured to cause the system to: obtaining in the memory a legacy computer-based model, wherein the legacy computer-based model is comprised of one or more configurations of one or more elements representing a real-world object; For a given configuration: defining a data processing rule, wherein the defined data processing rule indicates a type of at least one element of the given configuration, and the type defines logic for processing the at least one element according to a characteristic of the at least one element; and The given configuration is processed according to the defined data processing rules and the defined processing, wherein processing the given configuration includes storing the at least one element of the given configuration as a unique product or a representation of a unique product in a memory associated with the PLM platform.
10. The system according to claim 9, wherein: To define the data processing rules, the processor and the memory having the computer code instructions are further configured to cause the system to: An indication of the type of the at least one element of the given configuration is received from a user.
11. The system according to claim 9, wherein: To define the data processing rules, the processor and the memory having the computer code instructions are further configured to cause the system to: An indication of the logic for processing the at least one element is received from a user, wherein the indication of the logic determines whether the at least one element is stored as a unique product or a representation of a unique product based on the characteristic.
12. The system according to claim 9, wherein: In order to process the given configuration according to the defined data processing rules and the defined logic, the processor and the memory having the computer code instructions are further configured to cause the system to, for the at least one element of the given configuration: identifying the type of the at least one element based on the defined data processing rules; Based on the identified type, determining defined logic for processing the at least one element according to the characteristic; identifying a given characteristic of the at least one element; and The at least one element is stored in a memory associated with the PLM platform as a unique product or a representation of a unique product based on the determined defined logic and the identified given characteristics.
13. The system according to claim 9, wherein: The one or more elements representing the real-world object include: At least one individual component or assembly of said one or more configured components.
14. The system according to claim 9, wherein: In order to process the given configuration according to the defined data processing rules and the defined logic, the processor and the memory having the computer code instructions are further configured to cause the system to: identifying a given element of the given configuration, wherein the defined data processing rules and the defined logic do not indicate that the given element should be stored as a unique product or a representation of a unique product; and In response to identifying the given element, the given element is stored as a unique product or a representation of a unique product according to a default data processing rule.
15. The system according to claim 9, wherein: At least one of the one or more configurations is one of a simplified configuration or a graphical representation configuration.
16. The system of claim 15, wherein: The processor and the memory having the computer code instructions are further configured to cause the system to: identifying a parent configuration of the at least one configuration; and Elements of the at least one configuration are stored in the memory as representations of unique products corresponding to the identified parent configuration.
17. A non-transitory computer program product for storing legacy computer-based models in a product lifecycle management (PLM) platform, the computer program product being executed by a server in communication with one or more clients across a network, and comprising: A computer readable medium comprising program instructions which, when executed by a processor, cause the processor to: Obtaining in memory a legacy computer-based model, wherein the legacy computer-based model is comprised of one or more configurations of one or more elements representing a real-world object; For a given configuration: 4148.1073-002CN defining a data processing rule, wherein the defined data processing rule indicates a type of at least one element of the given configuration, and the type defines logic for processing the at least one element according to a characteristic of the at least one element; and The given configuration is processed according to the defined data processing rules and the defined processing, wherein processing the given configuration includes storing the at least one element of the given configuration as a unique product or a representation of a unique product in a memory associated with the PLM platform.
18. The computer program product of claim 17, wherein: To define the data processing rules, the program instructions, when executed by the processor, cause the processor to perform at least one of the following operations: receiving from a user an indication of the type of the at least one element of the given configuration; and An indication of the logic for processing the at least one element is received from a user, wherein the indication of the logic determines whether the at least one element is stored as a unique product or a representation of a unique product based on the characteristic.
19. The computer program product of claim 17, wherein: In order to process the given configuration according to the defined data processing rules and the defined logic, the program instructions, when executed by the processor, cause the processor, for the at least one element of the given configuration: identifying the type of the at least one element based on the defined data processing rules; Based on the identified type, determining defined logic for processing the at least one element according to the characteristic; identifying a given characteristic of the at least one element; and The at least one element is stored in a memory associated with the PLM platform as a unique product or a representation of a unique product based on the determined defined logic and the identified given characteristics.
20. The computer program product of claim 17, wherein: At least one of the one or more configurations is one of a simplified configuration or a graphical representation configuration, and wherein the program instructions, when executed by the processor, further cause the processor to: identifying a parent configuration of the at least one configuration; and Elements of the at least one configuration are stored in the memory as representations of unique products corresponding to the identified parent configuration.