Generating insight based on the retrieved PLM data

By querying the PLM database through the host platform and mapping CAD file data using an agent program, the system can identify and suggest modifications to part designs, thus solving the problem of designers neglecting manufacturing complexity and cost, and achieving the effect of reducing manufacturing complexity and cost.

CN115769209BActive Publication Date: 2026-03-31APRIORI INC
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-06-08
Publication Date
2026-03-31

AI Technical Summary

Technical Problem

Designers often overlook manufacturing complexity and cost factors when designing parts, leading to delays and increased costs during the manufacturing process. Existing technologies are insufficient to effectively identify and recommend design modifications to reduce complexity and costs.

Method used

By querying the PLM database through the host platform and using an agent program to map the data of the CAD file to the fields of the host platform, the geometric features of the parts are identified and modifications are suggested to reduce manufacturing complexity and cost.

Benefits of technology

It enables automatic identification and modification suggestions during the design phase, reducing manufacturing complexity and costs, improving manufacturing efficiency, and reducing manufacturing time and material usage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115769209B_ABST
    Figure CN115769209B_ABST
Patent Text Reader

Abstract

The provided systems and methods can extract part data from a PLM database and make suggestions for changes to manufacturing of the part. In one example, the method can include querying the database to obtain a plurality of values for a part to be manufactured from a plurality of fields of a computer aided design (CAD) file stored in the database; mapping the plurality of fields of the CAD file to a plurality of corresponding fields of a host platform based on a type of the database; extracting the plurality of values from the CAD file and transferring the plurality of values to the mapped plurality of corresponding fields of the host platform; determining changes to one or more manufacturing attributes of the part to be manufactured based on the transferred plurality of values; and outputting the changes to a display.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-references to related applications

[0002] This application is entitled to the benefit of U.S. Provisional Patent Application No. 63 / 036,050, filed June 8, 2020, and U.S. Non-Provisional Patent Application No. 17 / 331,786, filed May 27, 2021, pursuant to 35 USC §119(e), both of which are filed with the United States Patent and Trademark Office and the entire disclosure thereof is incorporated herein by reference for all purposes. Background Technology

[0003] Computer-aided design (CAD) is a technology that allows computers to help create, modify, and optimize part designs, such as those for manufacturing components and parts. CAD software can depict objects using vector-based drawings instead of relying on traditional hand drafting. In some cases, CAD software can produce raster graphics that show the overall appearance of the designed object. CAD software may involve more than just shapes. For example, CAD can convey information such as materials, processes, dimensions, tolerances, or similar information according to specific application conventions.

[0004] Part designers often use CAD software to assemble part models. They then provide this model (CAD drawing) to the manufacturing company. Typically, designers may focus on factors that affect performance, such as dimensions, shape, material, and tolerances. However, they may not be aware of the manufacturing complexity and cost of their design. For example, a one-inch hole in a part of a specific shape might require three different specialized drilling operations during manufacturing, while a half-inch hole in a similar location on the part might only require one standard drilling operation. Another example is that due to the thickness of the sheet metal, it might be impossible to manufacture a cutout shape within a single sheet. Designers may never realize this problem. In some cases, designers may only discover the problem weeks after the design has been submitted for manufacturing, causing significant delays. Summary of the Invention

[0005] According to one aspect of an exemplary embodiment, a computing system is provided, including a processor configured to: query a database to obtain multiple values ​​of a part to be manufactured from multiple fields of a computer-aided design (CAD) file stored in the database; map the multiple fields of the CAD file to multiple corresponding fields of a host platform based on the type of the database; extract the multiple values ​​from the CAD file and transfer the multiple values ​​to the mapped multiple corresponding fields of the host platform; determine changes in one or more manufacturing attributes of the part to be manufactured based on the transferred multiple values; and output these changes to a display.

[0006] According to one aspect of another exemplary embodiment, a method is provided that may include: querying a database from multiple fields of a computer-aided design (CAD) file stored in a database to obtain multiple values ​​for a part to be manufactured; mapping the multiple fields of the CAD file to multiple corresponding fields of a host platform based on the type of the database; extracting the multiple values ​​from the CAD file and transferring the multiple values ​​to the mapped multiple corresponding fields of the host platform; determining changes in one or more manufacturing attributes of the part to be manufactured based on the transferred multiple values; and outputting these changes to a display.

[0007] According to one aspect of another exemplary embodiment, a non-transitory computer-readable medium may perform the following steps: querying a database from multiple fields of a computer-aided design (CAD) file stored in a database to obtain multiple values ​​for a part to be manufactured; mapping the multiple fields of the CAD file to multiple corresponding fields of a host platform based on the type of the database; extracting multiple values ​​from the CAD file and transferring the multiple values ​​to the mapped multiple corresponding fields of the host platform; determining changes in one or more manufacturing attributes of the part to be manufactured based on the transferred multiple values; and outputting these changes to a display. Attached Figure Description

[0008] The features and advantages of exemplary embodiments, as well as the ways in which these features and advantages are implemented, will become more readily understood with reference to the following detailed description taken in conjunction with the accompanying drawings.

[0009] Figure 1A This is a diagram illustrating a system for PLM data extraction and insight generation (or deep insights) according to an exemplary embodiment.

[0010] Figure 1B This is a diagram illustrating a user interface according to an exemplary embodiment, the user interface including displaying the results of a manufacturability analysis.

[0011] Figure 1C This is a diagram illustrating a user interface according to an exemplary embodiment, which includes suggested changes to the manufacturing process.

[0012] Figure 2A This is a diagram illustrating the process of an agent software program installed on a PLM server according to an exemplary embodiment.

[0013] Figure 2B and 2C This illustrates an exemplary embodiment. Figure 2A A diagram of the mapping table of the agent software program.

[0014] Figure 3A and 3BThis is a diagram illustrating the process of transforming a query through agent software according to an exemplary embodiment.

[0015] Figure 4 This is a diagram illustrating a method for extracting PLM data and generating insights into components according to an exemplary embodiment.

[0016] Figure 5 This is a diagram illustrating a computing system according to an exemplary embodiment.

[0017] Throughout the accompanying drawings and detailed description, unless otherwise stated, the same reference numerals will be understood to refer to the same elements, features, and structures. For clarity, illustration, and / or convenience, the relative sizes and descriptions of these elements may be exaggerated or adjusted. Detailed Implementation

[0018] In the following description, specific details are set forth to provide a complete understanding of various exemplary embodiments. It should be understood that various modifications to the embodiments will be readily understood by those skilled in the art, and the general principles defined herein can be applied to other embodiments and applications without departing from the spirit and scope of this disclosure. Furthermore, numerous details are set forth in the following description for purposes of explanation. However, it should be understood by those skilled in the art that embodiments can be implemented without using these specific details. In other instances, well-known structures and processes have not been shown or described to avoid unnecessarily obscuring details. Therefore, this disclosure is not intended to be limited to the embodiments shown, but rather to be given the broadest scope consistent with the principles and features disclosed herein.

[0019] Designers of parts to be manufactured are often unaware of factors that can significantly influence the complexity of part manufacturing. Complexities such as specialized tooling processes and additional tooling processes can arise from different geometric features within the design and can generate numerous drawbacks, including delays, design flaws, and increased manufacturing costs. For example, geometric features such as cuts, bends, holes, and shapes may require specialized manufacturing (using specialized tools) rather than basic manufacturing (using basic tools). Furthermore, designers may choose locations, dimensions, and tolerances based on preference, completely unaware that different locations, dimensions, and patterns could be manufactured using simpler processes. Moreover, a change in one design attribute of a part can create problems in other design attributes of the part.

[0020] During the part design phase, designers can generate technical models, such as computer-aided design (CAD) models stored in files that include renderings / visualizations of the part. In addition to the part's structural design (geometry), CAD files can also include additional attributes, stored either within the CAD file's metadata or in the part objects paired with the CAD file. These additional attributes can include the volume / quantity of the parts to be manufactured, the materials to be used, manufacturing processes, dimensions, tolerances, etc. Once the designer has completed this process, the CAD file and its corresponding part objects can be submitted to a manufacturer to produce a specified number of parts.

[0021] Many designers use Product Lifecycle Management (PLM) software to create their CAD files. The PLM software then stores a copy of that CAD file in its own PLM database. The PLM database has different configurations for the data stored in the CAD file and the part objects. To give just a few examples, PTC... and SAP They have different APIs, which use different field names, data types, etc.

[0022] Exemplary embodiments pertain to a host platform and method capable of identifying and suggesting design modifications to parts / components, thereby reducing manufacturing complexity and costs. The host platform (e.g., a web server, cloud platform, on-premises server, etc.) does not require user-submitted CAD files but can instead query remote databases (e.g., web servers, cloud platforms, on-premises servers, etc.), such as Product Lifecycle Management (PLM) databases, to obtain part data. Specifically, a connection program on the host platform can transmit query information to an agent installed on a PLM system. This query message may include data fields understood by the host platform. In response, the agent can transform / convert the data fields and other values ​​into the PLM system's format. The transformed query information can be transmitted by the agent to the PLM database via the PLM system's API. The agent can receive the queried values ​​from the PLM database and provide the results to the host platform's connector. Here, the agent can convert the results into a format understood by the host platform.

[0023] According to various embodiments, the agent may include the ability to transform values ​​within a query into values ​​with a format understood by the corresponding PLM database on which the agent is installed, including formats understood by the PLM database's application programming interface (API). The agent may include different mappings for different types of PLM databases. In this way, the agent can extract part / assembly data from CAD files stored in a PLM database without requiring the query software to understand the data formats and characteristics of the PLM API. Instead, the agent abstracts the differences between field name values, data types, etc., thereby creating a seamless experience across different PLM databases.

[0024] Based on data extracted from the PLM database by the agent, the system can identify one or more geometric features of interest for a part and recommend modifications to those features to improve Design for Manufacturability and Cost (DFMC). For example, modifications can be suggested to reduce the number of tools required, change specialized tooling processes to basic (standard) tooling processes, reduce manufacturing time, lower manufacturing costs, reduce the amount of material used, and so on. Modifications can include changes to the shape, size, location, depth, type, etc., of the geometric features / design. As another example, modifications can include suggestions to increase tolerances (i.e., the amount of allowable difference between the design / CAD and the actual product). The suggested changes can be output to the user interface, where the part is visually represented, and the part's geometric features can be highlighted or otherwise marked for visual identification. Additionally, text content describing the recommended changes associated with the highlighted part can be provided. Here, users / designers can review these suggestions and make changes to the design before final submission.

[0025] This process can be iterative, providing designers with multiple suggestions (or rounds of suggestions) until the most effective manufacturing design is determined. In this example, the system can automatically review design guidelines and notify designers of any suggested design changes while the part is being designed and before the part model is submitted for manufacturing. Furthermore, the system can suggest design changes to meet manufacturing requirements. The system is also capable of handling numerous parts (e.g., over 1000) submitted within a predetermined timeframe (e.g., the past thirty days) and informing users which parts require focused attention based on the number / severity of issues. While related systems can perform basic geometric analysis, the system described herein can provide a comprehensive simulation of the manufacturing process, resulting in more complete outcomes and avoiding some "false alarms." The algorithm used by the insight service to find outliers (e.g., parts that are critical / high-risk from a manufacturability perspective) may be more relevant than simply the number / scale of issues. For example, each manufacturing process group (e.g., forging, casting, plastics, etc.) can have its own specific algorithm that can be configured for outlier detection.

[0026] Furthermore, the system can provide suggestions to users through the host system's user interface. For example, suggestions can be offered when the host system reviews a component (e.g., during CAD creation), thus providing such suggestions before the component is manufactured. The system can display feedback on the current manufacturing assessment of the component and suggest ways to improve efficiency. The system can guide users through an iterative process via the user interface to achieve more efficient complexity, providing feedback iteratively as users change the product design. Additionally, users can delve into manufacturing problems identified by the system and view the root causes of such problems.

[0027] Figure 1A A system 100 for PLM data extraction and insight generation, according to an exemplary embodiment, is shown. (Refer to...) Figure 1AThe host platform 130 can host an insight generation service 132 that recommends modifications to the part to be manufactured. Here, the insight generation service 132 can output the recommended modifications to one or more user devices 140 and 150. To generate the recommended modifications, the host platform 130 can extract data from one or more PLM servers 110 and 120, which store the design / CAD model of the part to be manufactured. Here, the host platform 130 can be a web server, cloud platform, or the like, while the PLM servers 110 and 120 can be local deployment servers, cloud servers, web servers, or the like. Furthermore, user devices 140 and 150 can include personal computers, tablets, mobile phones, laptops, etc. The host platform 130, PLM servers 110 and 120, and user devices 140 and 150 can be interconnected via a network (such as the Internet).

[0028] To perform data extraction, host platform 130 may include connector 131 installed on host platform 130 and agents 133 and 134 remotely installed on PLM servers 110 and 120, respectively. A user can request insights for a specific part / model via insight service 132 through one of user devices 140 and 150, which is then forwarded to connector 131. As another example, host platform 130 may periodically or automatically scan PLM servers 110 and 120 based on specific conditions to scan multiple parts / models at once. For example, host platform 130 may query PLM server 110 for all parts manufactured by user A in the past thirty days and simultaneously perform manufacturability and cost analysis on all parts. The results of the analysis can be output via the user interface of insight service 132 displayed on one or more of user devices 140 and 150.

[0029] According to various embodiments, host platform 130 can automatically query and obtain different types of PLM data from PLM databases using various agents installed in different types of PLM databases. The queried information is valuable for manufacturing in the design process and also valuable for other areas of supplier management (obtaining quotes to develop their parts, etc.). Host platform 130 can then generate manufacturing guidance through insight service 132, which tells design engineers about the more difficult-to-manufacture (more costly) parts in the CAD design. This guidance may include suggested modifications to the design to allow for changes in tooling, design variations, etc. Host platform 130 may also provide routing sequences that can be skipped or reduced (reducing steps in manufacturing the parts). In addition, cost breakdowns may be provided to help educate designers.

[0030] People may interact with the user interface of PLM servers 110 and 120 to view part data. However, this process does not provide much value to the user because no insights are created, and the part data remains within the PLM system. Instead, in an exemplary embodiment, host platform 130 allows users to pull / retrieve part data directly from the PLM servers without interacting with them. For manufacturing purposes, the CAD models within PLM servers 110 and 120 maintain the product structure (geometry) and information about other barriers to manufacturing (such as materials, process information, tolerances, etc.). Host platform 130 can pull data from PLM servers 110 and 120 and automatically determine modifications to the part being designed to reduce costs, then output the suggested guidance to the user interface. In some embodiments, users can configure workflows to attach detailed reports displaying cost and manufacturability guidance, which can be attached to the part object in the PLM system. In this way, humans / users can continue to work within the user interface of the PLM server and gain some benefits. However, to receive additional guidance, users may have to open and interact with the user interface provided by the Insights service.

[0031] In some embodiments, connector 131 can obtain PLM data from PLM servers 110 and 120 via a workflow. Here, the workflow specifies what should be retrieved from the PLM system, such as part values, submission time ranges, etc. The workflow initiates / triggers queries from connector 131 to one or more agents 133 and 134. Agents 133 and 134 act as intermediaries, providing a mapping between the data values ​​requested by host platform 130 and the data values ​​stored in the corresponding PLM servers 110 and 120. This agent resides at the customer's location (e.g., cloud or on-premises deployment). The agent also embeds a mapping of the APIs required to understand PLM servers 110 and 120. Agents 133 and 134 can retrieve CAD files from the PLM servers and provide them to connector 131.

[0032] Agents 133 and 134 can query PLM data stored in PLM servers 110 and 120, respectively. The query is defined in a generic format by connector 131 on host platform 130, and then translated by agents 133 and 134 into a specific format understandable by the APIs of the corresponding PLM servers 110 and 120. The initial query then originates from a CIC application with a generic expression. This query may include field names with the data values ​​to be extracted, time ranges, query operators (e.g., AND, OR, etc.), etc. The resulting data from the query can be returned to connector 131 and the Insights service 132.

[0033] Complexity can be driven by multiple factors. For example, features with tolerances requiring specialized manufacturing processes can generate significant complexity. As another example, a cutting process might take longer than another type of cutting process, but to perform a faster cutting process, the design might need to be modified. Simply knowing about complexity is insufficient; rather, understanding what is derived from complexity is also beneficial. Insights 132 can analyze multiple different parts at once and, for example... Figure 1B One or more of the user devices 140 and 150 shown provide insight notifications 160 for analytics. For example, insight notification 160 can be output through the user interface of the insight service 132 displayed on the screen of user device 140. As another example, insight notification 160 can be embedded in emails, text messages, etc., and sent to the corresponding email application, messaging application, etc. on user device 140.

[0034] Here, the Insight Notification 160 includes a description 161 of the process being performed and the steps the user is to take. The Insight Notification 160 also includes a numerical table with interactive part ID values ​​162. When the part ID value 162 is clicked, the user interface can navigate to a recommendation screen 170, such as... Figure 1C As shown. In this example, the user from Figure 1B Selecting the interactive part ID value 163 in the table shown will redirect the user interface to... Figure 1C The recommended screen angle shown is 170. (Refer to...) Figure 1C The recommendation screen 170 includes a description 171 of a first recommended change, a description 172 of a second recommended change, visualizations 173 and 174 highlighting features of the first recommended change, and a visualization 175 highlighting features of the second recommended change. Here, the highlighting process may include different overlay colors, bolding, circles, markers, or any other on-screen indicators that help the user understand which feature the recommended change is associated with.

[0035] The types of suggestions / guidance generated by Insights 132 can vary depending on the manufacturing process (e.g., plastics, metals, casting, assembly, etc.). Different materials, processes, machines, geometries, etc., can be altered to affect complexity. Some suggested changes may be costly initially (e.g., building molds), but can save costs later when manufacturing large quantities of parts based on those molds. Parts can be manufactured in different series. All constraints can be taken into account and guidance provided to make it simpler or even feasible. Furthermore, Insights 132 can interpret the geometry in the CAD model differently based on the type of process performed. For example, if the part is a sheet metal, curves might be bent, while a plastic part might simply be a formed edge (not a prominent feature). Insights 132 can assess the geometry and what it represents, and then evaluate how it could possibly be manufactured.

[0036] Figure 2A The process 200 of agent 226, which is installed on PLM server 210, is illustrated, and extracts data for insight generation according to an exemplary embodiment. (Refer to...) Figure 2A The host platform 220 includes a connector 222 and an insight service 224. The insight service 224 can be configured to generate suggested modifications to part designs (e.g., CAD models, etc.) to reduce cost and / or complexity. Meanwhile, the connector 222 is a software program that communicates with an agent 226 installed on the PLM server 210. In some embodiments, the connector 222 can receive data requests for CAD files / data from the insight service 224. As another example, the connector 222 can receive data requests for CAD files / data from a workflow process running internally within the host platform 220. This workflow can periodically or conditionally request data automatically from the connector 222.

[0037] Connector 222 can receive requests for CAD files / data and transmit queries to agent 226. Agent 226 can communicate with the database 214 of PLM server 210 via PLM server API 212. API 212 can control how data is accessed from database 214. According to various embodiments, agent 226 may include a transformation process that converts queries from connector 222 / host platform 220 into query statements formatted according to the specifications of database 214 as specified by API 212. Here, the agent can use, for example, regarding... Figure 2B The mapping table shown and described is used to map data fields / data values ​​to different data values ​​and to use different data values ​​in query statements.

[0038] Agent 226 can transmit the generated query statement to database 214 via API 212. In response, database 214 can return one or more CAD files (and their part objects) to agent 226 based on the query statement. As another example, database 214 can extract data from CAD files / part objects and return the extracted data values ​​to agent 226. In response, agent 226 can transfer the CAD files / part objects to insight service 224 via connector 222. Here, agent 226 can transfer CAD files / part objects via an internet communication channel established between agent 226 software installed and running on PLM server 210 and connector 222 software installed and running on host platform 220.

[0039] In response to receiving CAD files / part objects, the Insight Service 224 can identify possible modifications to the part's design to reduce manufacturing complexity and cost, and output a notification to the user interface 228. This notification may include, but is not limited to, modifications to the part's design. Figure 1B and 1C Example. Here, user interface 228 can be on a user device connected to host platform 220 via the Internet. For example, host platform 220 can be a cloud platform, and user interface 228 can be within a browser that is connected to the cloud platform via the Internet and runs on the user's device (such as a tablet, laptop, mobile phone, or the like).

[0040] Within the Insight Service 224 can be a cost calculation engine (not shown). According to various embodiments, the geometric properties of the part to be manufactured can be extracted from the CAD file via the Insight Service 224 and used by the cost calculation engine to determine changes / modifications to the part design. For example, fields used to drive the cost calculation of the part (such as material, process group, annual production, VPE, batch size, tolerance, secondary processing, routing, etc.) can be extracted from various sources, including: PLM fields, CAD file properties (PMI), workflow settings, VPE defaults, and user defaults. However, regardless of how the cost calculation process is guided by these inputs, the CAD model can be read and the geometry extracted for the cost engine to generate cost values ​​and manufacturing instructions.

[0041] exist Figure 2AIn the example, agent 226 can capture data from PLM DB 214 and transfer it to connector 222. Connector 222 can then set things up for transfer to the cost calculation engine within Insight Service 224. This could involve a different interface to the cost calculation engine. Here, connector 222 can prepare the input to be transferred to Insight Service 224. For example, whether a part should be a pipe, sheet metal, etc., can be identified from within the CAD file. Furthermore, other details about the part can be extracted from the CAD file, as further described below. Connector 222 is responsible for extracting data from the correct source, and then the cost calculation engine within Insight Service 224 can generate recommendations. The cost calculation engine can perform model-based design. For example, the cost calculation engine can read geometric values, tolerance information, etc., from the CAD file. Insight Service 224 has code that enters the CAD file, processes the geometry, and understands the spatial relationships between things. The cost engine performs geometry extraction on the CAD file to obtain all the geometry and dimensions of the objects.

[0042] Certain attributes that drive manufacturing complexity can be extracted from the CAD file itself (e.g., within metadata) or from part objects that are additional data files paired with the CAD file. These attributes can include one or more of tooling information, tolerance information, material information, process information, etc. Tooling information can provide information about which tools are needed to design the geometry detected from the model in the CAD file; for example, whether specialized tools or additional tooling parts are needed to manufacture the geometry detected from the model. Tooling information can identify which features require specialized tooling, basic tooling, the number of tools, etc. Tolerance information can provide identification of achievable tolerance levels and the tolerance levels required for cuts, holes, bends, etc. For example, tolerance information can identify the amount of backlash required to descend from a specialized tooling process to a basic tooling process. Material information can identify the amount and type of material required to create the identified geometry, and how these materials affect complexity, etc. Process information can provide complexity information that varies based on the type of manufacturing process to be performed (e.g., casting, plastic molding, sheet metal, etc.). It should also be understood that other information may help determine complexity, and the types of information are for illustrative purposes only.

[0043] Complexity can be driven by a variety of factors. For example, features with tolerances requiring specialized manufacturing processes can generate significant complexity. As another example, a cutting process may take longer than another type of cutting process, but to perform a faster cutting process, the design may need to be modified. Therefore, complexity alone may not be sufficient, as understanding what comes from complexity is also beneficial. Insight service 224 can make one or more suggestions for the design / CAD model of a part and display a visualization of the part, highlighting the features to be modified (e.g., with bright colors, etc.) to make them stand out from other features in the CAD model. Although displayed as an image, the suggestions can be output through user interface 228, allowing the user to visually see the changes. User interface 228 can also provide text / descriptions describing the suggested modifications. Furthermore, insight service 224 can iteratively generate suggestions to reduce complexity in multiple aspects until the most efficient part design is generated.

[0044] In some embodiments, features within a part may have multiple design processes capable of creating those features. One or more rules may be formulated, or one or more rules may be used to disqualify a process. Insight service 224 can analyze a large number of manufacturing alternatives and potentially feasible different standards and methods to meet the expected outcome (design) of the product being manufactured. For example, insight service 224 can identify multiple feasible design variations and identify the lowest-cost variation, the least time-consuming variation, the basic (easiest to manufacture) design variation, etc. Insight service 224 can make multiple recommendations, output through a user interface, enabling the designer to make a final choice on how best to proceed. The presence of certain features can introduce complexity and hinder manufacturing efficiency, and these may include unnecessary tolerances, excessively large or small dimensions, materials incompatible with certain manufacturing processes, etc. Insight server 120 can identify these problems and propose alternatives that still meet the objectives of the designed part. In some cases, the proposed changes are to enable the part to be manufactured. This modification may increase costs but saves complexity in the future.

[0045] In some embodiments, a user (e.g., a designer) can establish a high-level connection with Insight Service 224 by categorizing parts as machined parts, sheet metal parts, sand-cast parts, or similar parts. Insight Service 224 can then identify tools, specialized machining, basic machining, and geometric features including attributes such as tolerances, surfaces, bends, holes, locations, dimensions, and corners, based on the model included in the acquired CAD file. Furthermore, Insight Service 224 can then suggest how to modify one or more geometric features of the part identified from the model. Additionally, it should be understood that designers can input various attributes about the part to be manufactured via user interface 228, which can further assist Insight Service 224 in identifying and making suggestions. For example, the user can input information about material type, manufacturing type, quantity, required manufacturing time, etc.

[0046] Suggestions from Insight Server 120 can include design modifications or alterations to tooling, machining, materials, etc. For example, sharp internal corners that cannot be easily manufactured with cylindrical tools may require specialized tools that are less used and more expensive. This can be addressed by adding rounded edges. Another example is tolerances that can drive additional manufacturing (specialized manufacturing). Tight tolerances often require specialized finishing. Therefore, suggesting a tolerance reduction (or elimination of a tolerance) may eliminate the need for specialized finishing. Furthermore, changing the size or shape of a geometric feature can reduce the number of tools (and time) required to manufacture that design. For instance, a hole with a tolerance of 4 / 1000 inch on a sheet of metal might require three separate drilling processes, but if the hole's tolerance is reduced to 8 / 1000 inch, it might only require one standard drilling process. In many cases, adding complexity to design features is not necessary, but simply because the designer prefers the aesthetics of the design. Therefore, the suggested modifications may not affect the performance of the part.

[0047] Figure 2B and 2C An exemplary embodiment is shown. Figure 2A Examples of mapping tables 230 and 240 for agent 226. See reference... Figure 2AMapping table 230 can provide mappings for "standard" PLM fields. Here, the mapping includes mapping field names of data values ​​in host platform 220 to field names of data values ​​in PLM database 214. For example, mapping entry 231 maps field name 232 from host platform 220 to field name 234 in PLM database 214. Mapping entry 231 also includes an action identifier 233 and a data type value 235, where action identifier 233 specifies the type of action (e.g., read, write, etc.) to be taken on data from PLM database 214, and data type value 235 specifies the type of data value to be read. In this example, mapping entry 231 indicates that a field named "Part Identifier" stored locally in the memory of host platform 220 will be mapped to a field named Part_ID in PLM database 214.

[0048] When agent 226 receives a query from connector 222 that includes a request for data from a field named "Part Identifier," agent 226 examines mapping table 230 and transforms the query into a similar query based on the mapping table using the field name "Part_ID" instead of "Part Identifier." Agent 226 then generates an API call that includes the query statement with "Part ID" and passes the API call to API 212, which pulls data from PLM database 214. In response, agent 226 may receive data values ​​and / or associated CAD files from PLM database 214. Each additional field (e.g., part number, revision number, etc.) can further help identify the part being queried or a group of parts being queried.

[0049] In this example, mapping table 230 includes "standard" PLM fields that may be included in the mapping between host platform 220 and PLM database 214. Each of these fields can be modified, deleted, etc., by the user. Additionally, new mappings can be added by the user, such as... Figure 2C As shown in the image. In this example, map 240 can be visualized through a user interface, allowing the user to interact with the map. (See reference...) Figure 2C The user has selected mapping table 240 and chosen the "Add Mapping" button 241. In response, the mapping table initializes a new mapping sentinel 242, which has a dropdown menu allowing the user to select the host field name 243, action 244, PLM field name 245, and data type 246. Therefore, the user can create a new PLM mapping. Although not displayed, the user can also edit mapping table 230 or an existing mapping on mapping table 240 using the edit button. The additional mapping table 240 can vary based on the user's interests and the type of data being retrieved.

[0050] Figure 3A and 3B The process of transforming a query through a proxy according to an exemplary embodiment is illustrated. (Refer to...) Figure 3A Query 300A is generated by the host platform (e.g., a connector) and transmitted to agent 226. In this example, agent 226 is installed on a PLM server. Here, query 300A is a request for the CAD file of a part that will be created by a forging process, and the CAD file is found in the PLM database and includes either user A's email address as an attribute or user A as a reviewer, which is also an attribute. In other words, query 300A is requesting any CAD file of a part that requires a forging process and is associated with user A (e.g., as a reviewer or stored in user A's email).

[0051] Query 300A includes a first statement that specifies information about the data type. This first statement includes fields 310A, 311, and 312, which specify a request for CAD files from the Forging processing group. Field 310A specifies the field name, equality specifies that the values ​​should be equal, and 313 specifies the value itself. Therefore, the request is for any CAD file involving forging processes. In this case, operator 302 is not used and is therefore set to the default "AND". However, since only one query statement is included, a concatenation operator is not needed. Meanwhile, the second statement includes fields 320A, 321, and 322, and the third statement includes fields 330A, 331, and 332. Both the second and third statements specify the attributes of the data. Here, the second and third statements are concatenated by operator 304 (i.e., OR), which specifies that the CAD file can include either the second or third statement. In this example, the second statement requests that the CAD file be included in user A's email, or requests that the CAD file have user A as the reviewer of the file.

[0052] In response to receiving query 300A, agent 226 can transform query terms that include values ​​within each statement based on mappings stored in mapping tables 230 and / or 240. (See reference...) Figure 3A and 3BAgent 226 transforms query 300A into query 300B. Here, the values ​​in fields 310A, 320A, and 330A of query 300A have been modified / converted to the values ​​displayed in fields 310B, 320B, and 330B of query 300B. In this case, the value "Process Group" in field 310A is converted to "Process_Group" in field 310B. Similarly, the value "Check-in User Email" in field 320A is converted to the value "User_Email" in field 320B of query 300B, while the value "Reviewer" in field 330A remains the same in field 330B.

[0053] Once query 300A has been converted into query 300B, agent 226 can transmit an API call representing query 300B to the PLM database via the PLM database's API. In some embodiments, query 300B may be the same query received by agent 226, with modified data values. As another example, query 300B may be a different query instantiated by agent 226 in response to receiving query 300A.

[0054] Figure 4 A method 400 for extracting PLM data and generating insights into components, according to an exemplary embodiment, is illustrated. As an example, method 400 can be performed by a server, user equipment, cloud platform, or other computing system or combination of systems. (Refer to...) Figure 4 In 410, the method may include querying a database to obtain multiple values ​​for a part to be manufactured from multiple fields of a computer-aided design (CAD) file stored in the database. The query may include one or more statements specifying data values ​​and attributes of the CAD file to be obtained from the PLM database.

[0055] In step 420, the method may include mapping multiple fields of the CAD file to multiple corresponding fields of the host platform based on the database type. In step 430, the method may include extracting multiple values ​​from the CAD file and transferring these multiple values ​​to the mapped multiple corresponding fields of the host platform. In step 440, the method may include determining changes in one or more manufacturing attributes of the part to be manufactured based on the transferred multiple values. In step 450, the method may include outputting these changes to a display. In some embodiments, between steps 430 and 440, geometric values ​​(dimensions, angles, shapes, etc.) of the part to be manufactured embedded in the CAD file may be extracted and processed. For example, reading the geometry and generating a GCD can serve as input to the cost calculation method. Therefore, the cost calculation process can be automated. Furthermore, finding parts that should be costed, retrieving and setting cost calculation inputs, retrieving CAD models, invoking the Insight Service 224, pushing notifications and reports, and writing values ​​back to the PLM database are also automatically performed through exemplary embodiments.

[0056] In some embodiments, a query may include generating an application programming interface (API) call that identifies multiple fields of a CAD file and transmitting the API call to a database. In some embodiments, the database may include a product lifecycle management (PLM) database, and the mapping may include mapping fields from the PLM database to corresponding fields on a host platform, wherein the corresponding fields on the host platform have different field names than the fields from the PLM database. In some embodiments, a query may include transmitting a query statement to the database that includes multiple fields embedded therein, including a part identifier value, a part number value, and a revision number value for the part to be manufactured.

[0057] In some embodiments, mapping may include mapping multiple fields of a CAD file to multiple corresponding fields on a host platform via an agent installed in at least one of a database and an intervention computing system between the database and the host platform. In some embodiments, mapping multiple fields of a CAD file to multiple corresponding fields on the host platform may include generating different mappings based on whether the CAD file was extracted from a first type of database or a second type of database. In some embodiments, the method may further include receiving a query from the host platform that includes identifiers of multiple corresponding fields, and translating the query into an application programming interface (API) call based on the database's API before querying the database. In some embodiments, determining may include identifying changes in one or more properties of a part to be manufactured to reduce manufacturing costs, and displaying the identified changes via a user interface.

[0058] Figure 5A computing system 500 capable of performing object copying operations according to an exemplary embodiment is illustrated. For example, the computing system 500 may be a database node, server, cloud platform, user device, etc. In some embodiments, the computing system 500 may be distributed across multiple devices. (Refer to...) Figure 5 The computing system 500 includes a network interface 510, a processor 520, an output 530, and a storage device 540 such as memory. Although in Figure 5 Although not shown, the computing system 500 may also include other components or be electronically connected to other components, such as a display, input unit, receiver, transmitter, persistent disk, etc. The processor 520 can control the other components of the computing system 500.

[0059] Network interface 510 can transmit and receive data through networks such as the Internet, private networks, public networks, and enterprise networks. Network interface 510 can be a wireless interface, a wired interface, or a combination thereof. Processor 520 can include one or more processing devices, each including one or more processing cores. In some examples, processor 520 is a multi-core processor or multiple multi-core processors. Additionally, processor 520 can be fixed or reconfigurable.

[0060] Output 530 can output data to an embedded display of computing system 500, an externally connected display, a display connected to a cloud platform, another computing device, etc. For example, output 530 may include ports, interfaces, cables, wires, circuit boards, and / or the like with input / output capabilities. Network interface 510, output 530, or a combination thereof can interact with applications executing on other devices. Storage device 540 is not limited to specific storage devices and may include any known storage device, such as RAM, ROM, hard disk, etc., and may or may not be included in the cloud environment. Memory 540 may store software modules or other instructions that can be executed by processor 520. Figure 4 Method 400 is shown.

[0061] According to various embodiments, processor 520 can receive an image including the geometric design of a component. This image may include a technical model such as CAD. Processor 520 can receive identification of the manufacturing process type of the component from multiple manufacturing process types. These types may include plastic molding processes, sheet metal processes, casting processes, etc. Processor 520 can identify geometric features of the component from the image based on the type of manufacturing process and determine suggested modifications to one or more of the dimensions, shapes, and locations of the identified geometric features to reduce manufacturing complexity. These geometric features can be obtained from a geometric boundary representation of the component / part within an input model. Furthermore, output 530 can output suggestions to a user interface on how to modify the geometric design of the component based on the determined modifications to the identified geometric features.

[0062] In some embodiments, processor 520 can identify one or more of the following from an image: bends, corners, holes, and surfaces of a component, based on geometric lines, breaks, shapes, holes, etc., included in the drawing. Processor 520 can determine corrections based on one or more of the following: the type of tool used to create the identified geometric feature, the number of tools used to create the identified geometric feature, the tolerance of the identified geometric feature, the material of the identified geometric feature, and the predicted amount of time to manufacture the identified geometric feature. The processor can automatically detect one or more different tools to be used. In some cases, the user can provide the type of tools they wish to use with the drawing, and processor 520 can detect one or more other tools that can be used alternatively or to further enhance complexity.

[0063] As can be understood from the foregoing description, the examples described above can be implemented using computer programming or engineering techniques, including computer software, firmware, hardware, or any combination or subset thereof. Any program of this formation having computer-readable code can be embodied in or provided in one or more non-transitory computer-readable media, thereby creating a computer program product, i.e., a manufactured article, according to the disclosed examples discussed. For example, a non-transitory computer-readable medium can be, but is not limited to, a fixed drive, floppy disk, optical disk, magnetic tape, flash memory, external drive, semiconductor memory such as read-only memory (ROM), random access memory (RAM), and / or any other non-transitory transmission and / or reception medium, such as the Internet, cloud storage, the Internet of Things (IoT), or other communication networks or links. A manufactured article containing computer code can be manufactured and / or used by executing the code directly from a medium, by copying the code from one medium to another, or by transmitting the code over a network.

[0064] Computer programs (also referred to as programs, software, software applications, "applications," or code) may include machine instructions for a programmable processor and may be implemented using high-level programming and / or object-oriented programming languages ​​and / or assembly / machine languages. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, apparatus, cloud storage, Internet of Things, and / or device (e.g., disk, optical disk, memory, programmable logic device (PLD)) used to provide machine instructions and / or data to a programmable processor, including machine-readable media that receive machine instructions as machine-readable signals. However, "machine-readable medium" and "computer-readable medium" do not include transient signals. The term "machine-readable signal" refers to any signal that can be used to provide machine instructions and / or any other kind of data to a programmable processor.

[0065] The above description and illustration of the process should not be construed as implying a fixed order of performing the process steps. Rather, the process steps may be performed in any practically feasible order, including performing at least some steps simultaneously. Although the disclosure has been described with reference to specific examples, it should be understood that various obvious changes, substitutions, and modifications can be made to the disclosed embodiments by those skilled in the art without departing from the spirit and scope of the disclosure set forth in the appended claims.

Claims

1. A computing system comprising: a processor configured to: receive, by an agent installed on a product lifecycle management (PLM) database, a query from a host platform, wherein the query includes a request for a plurality of values of a part to be extracted from a plurality of fields of a PLM object stored in the PLM database, wherein the host platform is connected to the agent over a computer network, and the plurality of fields includes a plurality of field names in a format of the host platform; translate, by the agent installed on the PLM database, the plurality of field names in the format of the host platform to a plurality of field names in a format of an application programming interface (API) of the PLM database; execute, by the agent installed on the PLM database, an API call to the PLM database based on the plurality of translated field names to extract the plurality of values of the part from the plurality of translated field names within the PLM object stored in the PLM database; transfer the plurality of values extracted from the agent installed on the PLM database to the host platform; determine a change in one or more manufacturing attributes of the part to be manufactured based on the plurality of transferred values; and output the change to a display. the processor is configured to generate, by the agent installed on the PLM database, one or more API calls that identify a plurality of field names in an API format of the PLM database, and transmit the one or more API calls to the PLM database.

2. The computing system of claim 1, wherein, the processor is configured to map, by the agent installed on the PLM database, fields from the PLM database to corresponding fields of the host platform based on a type of the PLM database.

3. The computing system of claim 1, wherein, the processor is configured to send, by the agent installed on the PLM database, a query statement to the PLM database, the query statement including a part identifier value, a part number value, and a revision number value of the part to be manufactured.

4. The computing system of claim 1, wherein, the processor is configured to generate different mappings based on whether the API call is executed on an API of a first type of PLM database or an API of a second type of PLM database.

5. The computing system of claim 1, wherein, the processor is configured to identify a change in one or more attributes of the part to be manufactured to reduce manufacturing cost, and display the identified change through a user interface.

6. The computing system of claim 1, wherein, 7. A method comprising: receiving, by an agent installed on a product lifecycle management (PLM) database, a query from a host platform, wherein the query includes a request for a plurality of values of a part to be extracted from a plurality of fields of a PLM object stored in the PLM database on which the agent is installed, the host platform is connected to the agent installed on the PLM database over a computer network, and the plurality of fields includes a plurality of field names in a format of the host platform; translating, by the agent installed on the PLM database, the plurality of field names in the format of the host platform to a plurality of field names in a format of an application programming interface (API) of the PLM database; ​ performing, by the agent installed on the PLM database, an API call on the PLM database based on the plurality of transformed field names to extract the plurality of values of the part from the plurality of transformed field names within the PLM object stored in the PLM database; transferring the plurality of values extracted from the agent installed on the PLM database to the host platform; determining, based on the plurality of transferred values, a change in one or more manufacturing attributes of the part to be manufactured; and outputting the change to a display.

8. The method of claim 7, wherein, The performing includes generating, by the agent installed on the PLM database, one or more API calls that identify a plurality of field names in an API format of the PLM database and transmitting the one or more API calls to the PLM database.

9. The method of claim 7, wherein, The transforming includes mapping, by the agent installed on the PLM database, fields from the PLM database to corresponding fields of the host platform, wherein the corresponding fields of the host platform have different field names than the fields in the PLM database.

10. The method of claim 7, wherein, The performing includes transmitting, by the agent installed on the PLM database, a query statement to the PLM database, the query statement including a part identifier value, a part number value, and a revision number value of a part to be manufactured.

11. The method of claim 7, wherein, The transforming includes transforming, by the agent in an intermediary computing system installed between the PLM database and the host platform, the plurality of field names in a format of the host platform to a plurality of transformed field names in a format of the PLM database.

12. The method of claim 7, wherein, Mapping the plurality of fields includes generating different mappings based on whether the API call is to be performed on an API of a first type of PLM database or on an API of a second type of PLM database.

13. The method of claim 7, wherein, The determining includes identifying a change in one or more attributes of a part to be manufactured to reduce manufacturing costs and displaying the identified change through a user interface.

14. A non-transitory computer readable medium comprising instructions that, when executed by a processor, cause a computer to perform a method comprising: receiving, by an agent installed on a product lifecycle management (PLM) database, a query from a host platform, wherein the query includes a request to extract a plurality of values of a part from a plurality of fields of a PLM object stored in the PLM database on which the agent is installed, wherein the plurality of fields includes a plurality of field names in a format of the host platform; transforming, by the agent installed on the PLM database, the plurality of field names in the format of the host platform to a plurality of field names in a format of an application programming interface (API) of the PLM database; performing, by the agent installed on the PLM database, an API call on the PLM database based on the plurality of transformed field names to extract the plurality of values of the part from the plurality of transformed field names within the PLM object stored in the PLM database; transferring the plurality of values extracted from the agent installed on the PLM database to the host platform; determining changes to one or more manufacturing attributes of a part to be manufactured based on the plurality of values transferred; and outputting the changes to a display.

15. The non-transitory computer-readable medium of claim 14, wherein, The executing includes generating, by the agent installed on the PLM database, one or more API calls that identify a plurality of field names in a format of an API of the PLM database and transmitting the one or more API calls to the PLM database.

16. The non-transitory computer-readable medium of claim 14, wherein, The transforming includes mapping, by the agent installed on the PLM database, fields from the PLM database to corresponding fields of the host platform, wherein the corresponding fields of the host platform have different field names than the fields of the PLM database.

17. The non-transitory computer-readable medium of claim 14, wherein, The executing includes transmitting, by the agent installed on the PLM database, a query statement to the PLM database, the query statement including a part identifier value, a part number value, and a revision number value of a part to be manufactured.

Citation Information

Patent Citations

  • Automatic Data Configuration Strategy, Such as For Storing and Manipulating Product Manufacturing Data

    US20070288119A1