Insight Generation Based on Extracted PLM Data
The system addresses manufacturing complexity issues in CAD models by querying PLM databases to extract and analyze manufacturing attributes, proposing design changes that enhance manufacturability and reduce costs through real-time feedback.
Patent Information
- Application Number
- JP2022575313
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-05-27
- Filing Date
- 2021-06-08
- Publication Date
- 2025-07-10
- Estimated Expiration
- 2041-06-08
AI Technical Summary
Designers often overlook manufacturing complexities in CAD models, leading to delays and increased costs due to factors like special tooling requirements and inefficient manufacturing processes, which are not identified until late in the design process.
A computing system that queries a PLM database to extract manufacturing attributes from CAD files, maps these attributes to a host platform, determines changes for improved manufacturability, and outputs recommendations to a display, thereby reducing manufacturing complexity and cost.
The system automatically identifies and proposes design modifications to address manufacturing complexities, ensuring efficient manufacturing processes and reducing costs by providing real-time feedback during the design stage.
Smart Images

Figure 0007705894000001 
Figure 0007705894000002 
Figure 0007705894000003
Abstract
Description
Technical Field
[0001] Cross - Reference to Related Applications This application claims the benefit under 35 U.S.C. § 119(e) of U.S. Provisional Patent Application No. 63 / 036,050, filed on June 8, 2020, and U.S. Non - Provisional Patent Application No. 17 / 331,786, filed on May 27, 2021. Both of these applications were filed with the United States Patent and Trademark Office, and the entire disclosure of each is incorporated herein by reference for all purposes.
Background Art
[0002] Computer - Aided Design (CAD) is a technology that uses a computer to assist in creating, modifying, and optimizing component design drawings (for example, for manufacturing components or parts). CAD software may use vector - based graphics to depict objects, instead of relying on traditional hand - drawing. In some cases, CAD software may generate raster graphics that display the overall appearance of the object being designed. CAD software may encompass more than just shape. For example, CAD may convey information such as materials, processes, dimensions, tolerances, etc., according to application - specific rules.
[0003] Parts designers often assemble models of parts using CAD software. Then, the parts designers pass that model (CAD drawing) to the manufacturing company. Typically, designers may focus on factors that can affect performance (such as size, shape, material, tolerance, etc.). However, designers may not understand the complexity / cost of manufacturing such designs. For example, while three different special drilling operations may be required during manufacturing to create a 1-inch hole in a component of a particular shape, only one standard drilling operation may be sufficient if a 0.5-inch hole is created in the same location on that component. As another example, cuts within a sheet metal piece may not be manufacturable due to the thickness of the sheet metal, depending on the shape. Designers may not be aware of such problems at all. In some cases, it may be weeks after the design drawing has been submitted for manufacturing before the designer becomes aware of the problem, in which case significant delays will occur.
Summary of the Invention
Problems to be Solved by the Invention
[0004] The present invention has been made to solve the problems in the above prior art.
Means for Solving the Problems
[0005] According to one aspect of an exemplary embodiment, a computing system including a processor is provided, and the processor queries a database regarding multiple values of a part to be manufactured in multiple fields of a computer-aided design (CAD) file stored in the database, maps the multiple fields of the CAD file to multiple corresponding fields of a host platform according to the type of the database, extracts multiple values from the CAD file, transfers the multiple values to the multiple corresponding fields of the mapped host platform, determines a change in one or more manufacturing attributes of the part to be manufactured based on the transferred multiple values, and outputs the change to a display.
[0006] According to one aspect of another exemplary embodiment, a method is provided, and the method includes querying a database regarding multiple values of a part to be manufactured in multiple fields of a computer-aided design (CAD) file stored in the database, mapping the multiple fields of the CAD file to multiple corresponding fields of a host platform according to the type of the database, extracting multiple values from the CAD file, transferring the multiple values to the multiple corresponding fields of the mapped host platform, determining a change in one or more manufacturing attributes of the part to be manufactured based on the transferred multiple values, and outputting the change to a display.
[0007] According to one aspect of another exemplary embodiment, a non-transitory computer-readable medium queries a database regarding a plurality of values of a part to be manufactured in a plurality of fields of a computer-aided design (CAD) file stored in the database, maps the plurality of fields of the CAD file to a plurality of corresponding fields of a host platform according to the type of the database, extracts a plurality of values from the CAD file and transfers the plurality of values to the plurality of corresponding fields of the mapped host platform, determines a change in one or more manufacturing attributes of the part to be manufactured based on the transferred plurality of values, and outputs the change to a display.
[0008] The features and advantages of the present exemplary embodiment, and the manner of achieving them, will become more readily apparent by referring to the following detailed description in conjunction with the accompanying drawings.
[0009] Throughout the drawings and the detailed description, unless otherwise described, the same reference numerals are to be understood as referring to the same elements, features, and structures. The relative sizes and depictions of those elements may be exaggerated or adjusted for clarity, illustration, and / or convenience.
Brief Description of the Drawings
[0010]
Figure 1A
Figure 1B
Figure 1C
Figure 2A
Figure 2B
Figure 2C
Figure 3A
Figure 3B
Figure 4
Figure 5
[0011] In the following description, specific details are set forth in order to provide a thorough understanding of various exemplary embodiments. Of course, it will be apparent to those skilled in the art that various modifications to these embodiments will be readily apparent, and the general principles presented herein may be applied to other embodiments and applications without departing from the spirit and scope of the disclosure. Further, in the following description, numerous details are set forth for purposes of illustration. However, as will be understood by those skilled in the art, embodiments may be practiced without these specific details. Also, in some instances, well-known structures and processes are not shown or described in order to avoid obscuring the description with unnecessary details. Accordingly, the disclosure is not limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.
[0012] Designers of parts to be manufactured often fail to notice factors that can have a significant impact on the complexity of part manufacturing. Complexities such as special tooling or additional tooling processes can be caused by various geometry features in the design, which can lead to various obstacles such as delays, design defects, increased manufacturing costs, etc. For example, geometry features such as cuts, bends, holes, shapes, etc. may require special manufacturing (using special tools) rather than basic manufacturing (using basic tools). As another example, designers may make choices regarding position, size, tolerance specifications, etc. based on preference without any understanding that another position, size, pattern, etc. can be manufactured in a simpler process. Furthermore, a change in one design attribute of a component can cause problems in other design attributes of that component.
[0013] In the design stage of a part, the designer may generate a technical model (e.g., a computer-aided design (CAD) model stored in a file) that includes rendering / visualization of the part. The CAD file may include additional attributes stored in the metadata of the CAD file itself or in a parts object paired with the CAD file, in addition to the structural design (geometry shape) of the part. The additional attributes may include the quantity / amount of parts to be manufactured, the materials used, the manufacturing process, dimensions, tolerances, etc. Once the design is complete, the CAD file and its corresponding parts object may be submitted to a manufacturer that mass-produces the part.
[0014] Many designers create CAD files using product lifecycle management (PLM) software. And the PLM software stores a copy of the CAD file in its own PLM database. The PLM database has various configurations for the data stored in the CAD file and the parts object. To mention just a few examples, PTC WINDCHILL(R) and SAP TEAMCENTER(R) have various APIs that use various field names, data types, etc.
[0015] The exemplary embodiments are directed to a host platform and method capable of reducing manufacturing complexity and cost by discovering and proposing design modifications to parts / components. Instead of asking the user to submit CAD files, the host platform (e.g., a web server, a cloud platform, an in-house server, etc.) may query a remote database (e.g., a web server, a cloud platform, an in-house server, etc.) such as a product lifecycle management (PLM) database for part data. Specifically, a connection program on the host platform may send a query message to an agent installed in the PLM system. The query message may include data fields understood by the host platform. In response, the agent may translate / convert those data fields and other values into the format of the PLM system. The converted query message may be sent from the agent to the PLM database via the API of the PLM system. The agent may receive query values from the PLM database and pass those results to the connector of the host platform. Here, the agent may convert those results into a format understood by the host platform.
[0016] According to various embodiments, the agent may include mappings that enable the agent to convert values within a query into values in a format understood by each PLM database in which the agent is installed (which includes formats understood by the application programming interface (API) of the PLM database). The agent may include various mappings corresponding to various types of PLM databases. In so doing, the agent enables the extraction of part / component data from CAD files stored in the PLM database without requiring the query software to understand the data format and the capabilities of the PLM API. Otherwise, the agent creates a seamless experience across different PLM databases by ignoring differences in field names, values, data types, etc.
[0017] Based on data extracted from the PLM database by the agent, the system may identify one or more geometry features of interest of the part and recommend modifications to improve the design for manufacturability and cost (DFMC) for those one or more geometry features. For example, modifications to reduce the number of tools required, to change special tooling processes to basic (standard) tooling processes, to reduce manufacturing time, to reduce manufacturing cost, to reduce the number of materials used, etc. may be proposed. These modifications may include changes to the shape, size, position, depth, type, etc. of the geometry feature / design. As another example, the modification may include a proposal to increase the magnitude of the tolerance (i.e., the magnitude of the allowable difference between the design / CAD and the actual product). The proposed changes may be output to a user interface, where the geometric features of the part may be highlighted or flagged in some other way so that the visual representation of the part is displayed and the part is visually identifiable. Further, text content explaining the recommended changes associated with the highlighted part may be presented. Then the user / designer may view the proposal, change the design, and then submit it finally.
[0018] This process may be iterative in that the designer may be presented with proposals many times until the most efficient manufacturing design is determined. In this example, the system automatically checks for design guidance during part design and before the part model is submitted for manufacturing, and notifies the designer of any proposed design changes. Further, the system may propose design changes to meet manufacturing requirements. The system also has the function of processing a large number (e.g., 1000 or more) of parts submitted during a given period (e.g., 30 days here) and informing the user which parts to focus their efforts on based on the number / scale of the problems. While prior art systems can perform primitive geometric analysis, the systems described herein can perform a complete simulation of the manufacturing process, thereby making the results more perfect and avoiding "false alarms" to some extent. The algorithms used by the insight service to find outliers (e.g., parts that are critical / high-risk from a manufacturability perspective) may be more deeply involved than just in relation to the number / scale of the problems. For example, each manufacturing process group (e.g., forging, casting, plastics, etc.) may be configured to detect outliers and may have its own unique algorithm.
[0019] Further, the system may output proposals to the user via the user interface of the host system. For example, the provision of proposals may be done by the host system while a component is being reviewed (e.g., during CAD creation), such that such proposals are made before the component is manufactured. The system may display feedback regarding the current manufacturing evaluation of the component and propose to the user ways to increase efficiency. The system can lead the user to a more efficient complexity through an iterative process of repeatedly providing feedback while the user is changing the design of the product via the user interface. Further, the user can delve into the manufacturing problems identified by the system and consider the root causes of such manufacturing problems.
[0020] Figure 1A shows a system 100 for PLM data extraction and insight generation according to an exemplary embodiment. Referring to Figure 1A, a host platform 130 may host an insight generation service 132 that recommends modifications to the parts to be manufactured. Here, the insight generation service 132 may output the recommended modifications to one or more user devices 140 and 150. To generate the recommended modifications, the host platform 130 may extract data from one or more PLM servers 110 and 120 that store the design drawings / CAD models of the parts to be manufactured. Here, the host platform 130 may be a web server, a cloud platform, etc., and the PLM servers 110 and 120 may be in-house servers, cloud servers, web servers, etc. Further, the user devices 140 and 150 may be personal computers, tablets, mobile phones, laptops, etc. The host platform 130, the PLM servers 110 and 120, and the user devices 140 and 150 may be connected to each other via a network such as the Internet.
[0021] To perform data extraction, the host platform 130 may include a connector 131 installed on the host platform 130, and agents 133 and 134 remotely installed on the PLM servers 110 and 120, respectively. A user may request insights about a particular part / model via the insight service 132 by one of the user devices 140 and 150, which is transferred to the connector 131. As another example, the host platform 130 may automatically scan the PLM servers 110 and 120 for multiple parts / models at once, periodically or based on certain conditions. For example, the host platform 130 may query the PLM server 110 about all parts manufactured by user A in the last 30 days and perform manufacturability and cost analysis on all of those parts simultaneously. The results of the analysis may be output via the user interface of the insight service 132, which is displayed on one or both of the user devices 140 and 150.
[0022] According to various embodiments, the host platform 130 may automatically query and obtain various types of PLM data from various types of PLM databases using various agents installed therein. The queried information is valuable for manufacturing in the design process as well as other areas of supplier management (such as obtaining quotes for building parts, etc.). And the host platform 130 may generate manufacturing guidance via the insight service 132, which communicates to the designer parts in the CAD design that are more difficult (more costly) to manufacture. This guidance may include proposed design modifications that result in tooling changes, design changes, etc. The host platform 130 may also provide skip or reduced routing sequences (which reduce the steps when creating parts), etc. Further, a cost breakdown useful for educating the designer may be presented.
[0023] A human can interact with the user interfaces of PLM servers 110 and 120 to view part data. However, this process is not very valuable to the user. This is because no insights are created and the part data remains within the PLM system. In contrast, in this exemplary embodiment, the host platform 130 extracts / draws out part data directly from the PLM servers, eliminating the need for the user to interact with the PLM servers 110 and 120. The CAD models within PLM servers 110 and 120 hold information regarding the product structure (geometric shape) for manufacturing, as well as other obstacles introduced during manufacturing (e.g., materials, processing information, tolerances, etc.). The host platform 130 can extract data from PLM servers 110 and 120, automatically determine cost-reducing modifications for the parts being designed, and output the proposed guidance to the user interface. In some embodiments, the user may configure a workflow that attaches a detailed report showing guidance on both cost and manufacturability, and this report may be attached to the part object within the PLM system. In this way, a human / user can continue to work within the user interface of the PLM server and gain some benefits. However, for further guidance, the user may need to open and interact with the user interface provided by the insights service.
[0024] In some embodiments, the connector 131 may obtain PLM data from the PLM servers 110 and 120 by means of a workflow. Here, the workflow specifies what to extract from the PLM system (e.g., part values, submission time range, etc.). The workflow starts / triggers a query from the connector 131 to one or both of the agents 133 and 134. The agents 133 and 134 serve as intermediaries that provide a mapping between the data values requested from the host platform 130 and the data values stored in the corresponding PLM servers 110 and 120. This agent is located at the customer's location (e.g., cloud or in-house facility). The agent also has an embedded mapping that understands the APIs required by the PLM servers 110 and 120. The agents 133 and 134 may retrieve CAD files from the PLM servers and pass them to the connector 131.
[0025] The agents 133 and 134 may each query the PLM data stored in the PLM servers 110 and 120. The query is defined in a general format by the connector 131 of the host platform 130 and is then converted by the agents 133 and 134 into a proprietary format that can be understood by the APIs of the corresponding PLM servers 110 and 120. And the initial query in a general representation comes from the CIC application. This query may include the name of the field having the data value to be extracted, the time range, query operators (e.g., AND, OR, etc.), and the like. The data obtained as a result of the query may be returned to the connector 131 and the insight service 132.
[0026] Complexity can be caused by multiple factors. For example, features with tolerances that require special manufacturing processes can cause significant complexity. As another example, a certain cutting process may take longer than another type of cutting process, but it may be necessary to modify the design to shorten the cutting process time. It is not sufficient to just recognize complexity, but there is also merit in understanding what can be gained from it. The Insight Service 132 may analyze multiple different parts at once and present an insight notification 160 of the analysis result to one or both of the user devices 140 and 150, as shown in FIG. 1B. For example, the insight notification 160 may be output to the user interface of the Insight Service 132 displayed on the screen of the user device 140. As another example, the insight notification 160 may be embedded in an email, text message, etc. and sent to the corresponding email application, messaging application, etc. on the user device 140.
[0027] Here, the insight notification 160 includes an explanation 161 of the processes performed and the procedures the user should follow. The insight notification 160 further includes a table of values that includes an interactive part ID value 162. Clicking on the part ID value 162 may cause the user interface to move to a recommendations screen 170, as shown in FIG. 1C, for example. In this example, the user selects an interactive part ID value 163 from the table shown in FIG. 1B, thereby causing the user interface to be redirected to the recommendations screen 170 shown in FIG. 1C. Referring to FIG. 1C, the recommendations screen 170 includes an explanation 171 of the first recommended change, an explanation 172 of the second recommended change, visualizations 173 and 174 highlighting the features of the first recommended change, and a visualization 175 highlighting the features of the second recommended change. Here, the highlighting process may include various overlay colors, bolding, circles, marks, or any other indicia on the screen, which helps the user understand which features the recommended changes are associated with.
[0028] The types of suggestions / guidance generated by the Insight Service 132 may vary depending on the manufacturing process (e.g., plastic, metal, casting, assembly, etc.). Various materials, processes, machines, geometric features, etc. may be changed to affect complexity. Some of the proposed changes may initially be costly (e.g., to create a mold), but later cost savings can be achieved by mass-producing parts based on that mold. The manufacturing of parts may be done in various sets of ways. All of those constraints may be considered, and guidance may be provided to simplify it or make it possible in the first place. Further, the Insight Service 132 may interpret the geometry of features within the CAD model variously depending on the type of process being carried out. For example, if the component is sheet metal, the curved surface may be a bend, and if it is a plastic part, it may simply be a formed edge (not necessarily a distinct feature). The Insight Service 132 may assess the geometry, what the geometry represents, and how it can be manufactured.
[0029] Figure 2A shows a process 200 in which an agent 226 installed in the PLM server 210 extracts data for insight generation according to an exemplary embodiment. Referring to Figure 2A, a host platform 220 includes a connector 222 and an insight service 224. The insight service 224 may be configured to generate suggestions for modifications to a part design (e.g., a CAD model, etc.) to reduce cost and / or complexity. On the other hand, the connector 222 is a software program that communicates with the agent 226 installed in the PLM server 210. In some embodiments, the connector 222 may receive a data request for a CAD file / data from the insight service 224. As another example, the connector 222 may receive a data request for a CAD file / data from a workflow process operating internally within the host platform 220. The workflow may automatically request data from the connector 222 periodically or according to conditions.
[0030] Connector 222 may receive CAD file / data requests and send queries to agent 226. Agent 226 may communicate with the database 214 of PLM server 210 via the API 212 of the PLM server. The API 212 can control how data is accessed from the database 214. According to various embodiments, agent 226 may include a translation process that converts a query from connector 222 / host platform 220 into a query statement formatted according to the specifications of the database 214 specified by the API 212. Here, the agent may use a mapping table as shown and described with respect to Figure 2B to map data fields / values to another data value and use that other data value in the query statement.
[0031] Agent 226 may send the generated query statement to the database 214 via the API 212. In response, the database 214 may return one or more CAD files (and their part objects) to agent 226 based on the query statement. As another example, the database 214 may extract data from the CAD file / part object and return the extracted data values to agent 226. In response, agent 226 may transfer the CAD file / part object to the insight service 224 via connector 222. Here, agent 226 may send the CAD file / part object via the Internet communication channel established between the agent 226 software installed and operating on the PLM server 210 and the connector 222 software installed and operating on the host platform 220.
[0032] In response to receiving the CAD file / parts object, the Insight Service 224 may identify possible modifications to the part design to reduce manufacturing complexity and cost and output a notification to the user interface 228. The notification may include, but is not limited to, the examples of FIGS. 1B and 1C. Here, the user interface 228 may be on a user device connected to the host platform 220 via the Internet. For example, the host platform 220 may be a cloud platform, and the user interface 228 may be within a browser operating on a user device (such as a tablet, laptop, mobile phone, etc.) connected to the cloud platform via the Internet.
[0033] There may be a cost calculation engine (not shown) within the Insight Service 224. According to various embodiments, the geometric characteristics of the part to be manufactured may 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 advance the cost calculation of the part (such as material, processing group, annual quantity, VPE, batch size, tolerance, secondary processing, process sequence, etc.) may be drawn from various sources (such as PLM fields, CAD file attributes (PMI), workflow settings, VPE defaults, and user defaults). However, regardless of how the cost calculation process is guided by these inputs, the CAD model may be read, the geometry extracted for the cost calculation engine, and cost values and manufacturing guidance generated.
[0034] In the example of FIG. 2A, agent 226 may capture data from PLM DB 214 and transfer it to connector 222. Connector 222 can then arrange for those data to be transferred to the costing engine within insight service 224. For example, it may be another interface that the costing engine reaches. Here, connector 222 may prepare the input to be transferred to insight service 224. For example, whether a part is considered to be a tube, sheet metal, etc. may be identified from within the CAD file. Further, other details about the part may also be extracted from the CAD file, which will be described in detail later. Connector 222 is responsible for extracting data from the appropriate place, and the costing engine within insight generation service 224 may generate recommendations. The costing engine may perform model-based design. For example, the costing engine may read geometric values, tolerance information, etc. from the CAD file. Insight service 224 has code input into the CAD file, processes the geometry, and recognizes the spatial connections between objects. Geometry extraction, as well as obtaining all of the geometry and the sizes of the objects, are performed on the CAD file by the costing engine.
[0035] Certain attributes that contribute to increased manufacturing complexity may be extracted from the CAD file itself (e.g., within the metadata) or from parts objects that are additional data files paired with the CAD file. Those attributes may include one or more of tooling information, tolerance information, material information, process information, etc. Tooling information can provide information on which tools are required to design geometric features detected from a model within the CAD, e.g., whether special tools or additional tooling components are required to manufacture the geometric features detected from the model. Tooling information can identify which features require special tooling, basic tooling, multiple tools, etc. Tolerance information can identify achievable tolerance levels relative to the tolerance levels required for cuts, holes, bends, etc. For example, tolerance information can reveal the amount of relaxation required to step back from a special tooling process to a basic tooling process. Material information can identify the amount and type of material required to create the specified geometric features, and how those materials affect complexity. Process information can provide complexity information that varies depending on the type of manufacturing process being performed (e.g., casting, plastic molding, sheet metal, etc.). Also, of course, other information may be useful in determining complexity, and these information types are merely examples.
[0036] Complexity can be caused by multiple factors. For example, features with tolerances that require special manufacturing processes can cause significant complexity. As another example, one cut process may take longer than another type of cut process, but modifying the design may be necessary to shorten the cut process time. Therefore, although complexity alone may not be sufficient, there is also merit in understanding what can be gained from complexity. The Insight Service 224 may create one or more proposals for the part design drawing / CAD model and display a visualization of the part with the features to be modified highlighted (e.g., in a bright color, etc.) to make them more prominent than other features in the CAD model. The proposals are displayed as images but may be output through the user interface 228, enabling the user to visually confirm the changes. The user interface 228 may also present text / descriptions explaining the proposed modifications. Further, the Insight Service 224 may iteratively generate proposals to reduce multiple aspects of complexity until the most efficient component design is generated.
[0037] In some embodiments, there are features within a part for which there are multiple design processes that can be used to create that feature. One or more rules may be created or used to filter out processes. The Insight Service 224 may analyze a significant amount of manufacturing options as well as various criteria and methods that may be executable to achieve the desired result (design) of the product to be manufactured. For example, the Insight Service 224 may identify multiple executable design variations and specify the lowest-cost design variation, the shortest-time required time variation, the most basic design variation (the easiest to manufacture), etc. The Insight Service 224 may create multiple proposals output to the user interface that enable the designer to make a final choice about the optimal way forward. The presence of certain features can cause complexity and may prevent efficient manufacturing, and they may include unnecessary tolerances, dimensions that are too large, dimensions that are too small, materials that do not conform to a particular manufacturing process, etc. The Insight Server 120 may identify these problems and propose alternative options that still achieve the purpose of the component being designed. In some cases, the proposed changes enable the manufacture of the component. This modification may increase the cost but may reduce complexity in the future.
[0038] In some embodiments, a user (e.g., a designer) may establish a high-level connection with the Insight Service 224 by classifying parts into machining parts, sheet metal parts, sand casting parts, etc. And the Insight Service 224 may identify tools, special machining, basic machining, geometric features (including attributes such as tolerances, surfaces, bends, holes, positions, sizes, corners, etc.) based on the models included in the acquired CAD files. Further, the Insight Service 224 may then make proposals regarding how to modify one or more geometric features of the components identified from the model. Also, of course, the designer may input various attributes regarding the parts to be manufactured from the user interface 228, which may further assist the Insight Service 224 in making identifications and proposals. For example, the user may input information regarding material type, manufacturing type, manufacturing quantity, required manufacturing time, etc.
[0039] The proposals made by the Insight Server 120 may include design corrections or other modifications that make changes such as tooling changes, process changes, material changes, etc. For example, sharp internal corners may not be easily made with cylindrical tools and may require special tools that are difficult to obtain and expensive. This can be solved by adding rounded edges. As another example, manufacturing enhancement (special manufacturing) may be required due to tolerances. When tolerances are strict, special finishing is often required. Therefore, proposing to relax the tolerances may eliminate the need for special finishing. As another example, changing the size or shape of a geometric feature may reduce the number (and time) of tools required to manufacture such a design. For example, if the tolerance of a sheet metal hole is 4 / 1000 of an inch, three separate drilling operations may be required, but if this hole tolerance is relaxed to 8 / 1000 of an inch, one standard drilling operation may suffice. In many cases, features of a design that increase complexity are not essential and are only what the designer prefers for the aesthetics of the design. Therefore, the proposed modifications may not affect the performance of the components.
[0040] Figures 2B and 2C show examples of the mapping tables 230 and 240 of the agent 226 of FIG. 2A according to an exemplary embodiment. Referring to FIG. 2A, the mapping table 230 can provide a mapping for the case of "standard" PLM fields. In the mapping here, the field name of the data value in the host platform 220 is mapped to the field name of the data value in the PLM database 214. For example, the mapping entry 231 maps the field name 232 in the host platform 220 to the field name 234 in the PLM database 214. The mapping entry 231 also includes an action identifier 233 that specifies the type of action to be performed on the data in the PLM database 214 (e.g., read from there, write to there, etc.), and a data type value 235 that specifies the type of the data value to be read. In this example, the mapping entry 231 indicates that the field named "Part Identifier" (part identifier) stored locally in the memory of the host platform 220 is mapped to the field named Part_ID in the PLM database 214.
[0041] When agent 226 receives from connector 222 a query that includes a request for data from the field name "Part Identifier", it reviews mapping table 230 and, based on the mapping table, converts that query into a similar query that uses the field name "Part_ID" instead of the field name "Part Identifier". Next, when agent 226 generates an API call that includes a query statement having "Part_ID" and sends that API call to API 212, API 212 retrieves data from PLM database 214. In response, agent 226 may receive as a return from PLM database 214 a data value and / or a CAD file associated with the data value. Each additional field (e.g., Part Number, Revision Number, etc.) may further serve to identify the part being queried, or a group of parts being queried.
[0042] In this example, the mapping table 230 includes "standard" PLM fields that may be included in the mapping between the host platform 220 and the PLM database 214. Each of these fields may be modified, deleted, etc. by the user. Further, another mapping as shown in FIG. 2C may be added by the user. In this example, the mapping table 240 may be visualized by the user interface, thereby enabling the user to interact with the mapping. Referring to FIG. 2C, the user has selected the mapping table 240 and selected the "Add Mapping" button 241. In response, the mapping table initializes a new mapping entry 242 having a plurality of drop-down boxes, and these drop-down boxes enable the user to select a host field name 243, an action 244, a PLM field name 245, and a data type 246. In this way, the user can create a new PLM mapping. Although not shown, the user can also edit an existing mapping in the mapping 230 or the mapping 240 with an edit button. The additional mapping table 240 may vary according to the user's interests and the type of data retrieved.
[0043] FIGS. 3A-3B illustrate a process of translating a query by an agent according to an exemplary embodiment. Referring to FIG. 3A, a query 300A is generated by a host platform (e.g., a connector, etc.) and sent to the agent 226. In this example, the agent 226 is installed on the PLM server. Here, the query 300A is a request for CAD files of parts created in the forging process, and the CAD files are in the PLM database and include the user A's email as an attribute or include the user A as a reviewer. In other words, the query 300A requires the forging process and requests all CAD files of parts associated with the user A (e.g., as a reviewer or stored in the user A's email).
[0044] Query 300A includes a first statement that specifies information about the data type. Here, the first statement includes fields 310A, 311, and 312, which specify the requirements for CAD files in the forging process group. Here, field 310A specifies the name of the field, equals specifies that the value should be equal, and 313 specifies the value itself. Thus, the requirement is for all CAD files that require the forging process. The operator 302 in this case is not used and thus is set to the default AND. However, since there is only one query statement included, the conjunction operator is not necessary. On the other hand, the second statement includes fields 320A, 321, and 322, and the third statement includes fields 330A, 331, and 332, both of which specify the attributes of the data. Here, the second statement and the third statement are combined with the operator 304 (i.e., OR), which specifies that the CAD file may include either the second statement or the third statement. In this example, the second statement requires that the CAD file be included in user A's email or that the CAD file have user A as the file reviewer.
[0045] In response to receiving query 300A, agent 226 may translate query terms that include values for individual statements based on the mappings stored in mapping table 230 and / or 240. Referring to FIGS. 3A and 3B, agent 226 translates query 300A into query 300B. Here, the values in fields 310A, 320A, and 330A of query 300A are modified / converted to the values shown in fields 310B, 320B, and 330B of query 300B. In this case, the value "Process Group" in field 310A is converted to "Pro_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, and the value "Reviewer" in field 330A remains the same in field 330B.
[0046] Once query 300A has been converted to query 300B, agent 226 may send an API call representing query 300B to the PLM database via the API of the PLM database. In some embodiments, query 300B may be the same query that agent 226 receives and may include modified data values therein. As another example, query 300B may be another query instantiated by agent 226 in response to receiving query 300A.
[0047] Figure 4 shows a method 400 for extracting PLM data and generating component insights according to an exemplary embodiment. As an example, method 400 may be implemented by a server, a user device, a cloud platform, or other computing systems, or a combination of systems. Referring to Figure 4, the method may include, at 410, querying a database regarding a plurality of values of parts to be manufactured in a plurality of fields of a computer-aided design (CAD) file stored in the database. The query may include one or more statements specifying data values of the CAD file obtained from the PLM database and attributes of the CAD file.
[0048] The method may include, at 420, mapping a plurality of fields of the CAD file to a plurality of corresponding fields of the host platform according to the type of the database. The method may include, at 430, extracting the plurality of values from the CAD file and transferring the plurality of values to the plurality of corresponding fields of the mapped host platform. The method may include, at 440, determining a change in one or more manufacturing attributes of the parts to be manufactured based on the plurality of transferred values. The method may include, at 450, outputting the change to a display. In some embodiments, between step 430 and step 440, geometric values (size, angle, shape, etc.) of the parts to be manufactured embedded in the CAD file may be extracted and processed. For example, the step of reading the geometry and generating a GCD may be used as an input to the cost calculation means. Accordingly, the cost calculation process can be automated. Further, steps of finding parts for which cost calculation should be performed, retrieving and setting up cost calculation inputs, retrieving CAD models, starting the insight service 224, push-distributing notifications and reports, and writing back values to the PLM database are all automated by this exemplary embodiment.
[0049] In some embodiments, the step of querying may include generating an application programming interface (API) call to identify a plurality of fields in the CAD file and sending it to the database. In some embodiments, the database may include a product lifecycle management (PLM) database, and the step of mapping may include mapping the fields in the PLM database to the corresponding fields of the host platform, where the corresponding fields of the host platform have different field names from the fields in the PLM database. In some embodiments, the step of querying may include sending a query statement to the database that embeds a plurality of fields including the part identifier value, part number value, and revision number value of the part to be manufactured.
[0050] In some embodiments, the step of mapping may include mapping a plurality of fields in the CAD file to a plurality of corresponding fields on the host platform via an agent installed on at least one of the database and the computing system intervening between the database and the host platform. In some embodiments, the step of mapping a plurality of fields in the CAD file to a plurality of corresponding fields on the host platform may include generating different mappings depending on whether the CAD file is extracted from either a first type of database or a second type of database. In some embodiments, the method may further include receiving a query including identifiers of a plurality of corresponding fields on the host platform, translating the query into an API call based on the application programming interface (API) of the database, and then querying the database. In some embodiments, the step of determining may include identifying changes to reduce the manufacturing cost for one or more attributes of the part to be manufactured, and displaying the identified changes on the user interface.
[0051] Figure 5 shows a computing system 500 capable of performing an object copy operation according to an exemplary embodiment. For example, the computing system 500 may be a database node, a server, a cloud platform, a user device, etc. In some embodiments, the computing system 500 may be distributed among multiple devices. Referring to Figure 5, the computing system 500 includes a network interface 510, a processor 520, an output 530, and a storage device 540 (e.g., in-memory). Although not shown in Figure 5, the computing system 500 may also include other components (e.g., a display, an input device, a receiver, a transmitter, a persistent disk, etc.) or be electronically connected to them. The processor 520 may control those other components of the computing system 500.
[0052] The network interface 510 may transmit and receive data via a network (e.g., the Internet, a private network, a public network, an enterprise network, etc.). The network interface 510 may be a wireless interface, a wired interface, or a combination thereof. The processor 520 may include one or more processing devices each including one or more processing cores. In some examples, the processor 520 is one or more multi-core processors. Also, the processor 520 may be fixed or reconfigurable.
[0053] Output 530 may output data to an embedded display of the computing system 500, an externally connected display, a display connected to a cloud platform, another computing device, or the like. For example, output 530 may be a port, interface, cable, wire, circuit board, etc. having an input / output function. Network interface 510, output 530, or a combination thereof may interact with applications running on other devices. Storage device 540 is not limited to a specific storage device and may include any known memory device (e.g., RAM, ROM, hard disk, etc.), and may or may not be included in a cloud environment. Storage device 540 may store software modules or other instructions executable by processor 520 to implement the method 400 shown in FIG. 4.
[0054] According to various embodiments, processor 520 may receive an image including a geometric design of a component. The image may include a technical model such as CAD, among others. Processor 520 may receive an identification of a type of manufacturing process corresponding to the component from among a plurality of types of manufacturing processes. Such types may include a plastic molding process, a sheet metal process, a casting process, etc. Processor 520 may recognize geometric features of the component from the image based on the type of manufacturing process, and may determine a proposed modification to one or more of the size, shape, and position of the recognized geometric features to reduce manufacturing complexity. The geometric features may be represented from the geometric boundary representation of the component / part within the input model. Further, output 530 may output to the user interface a proposal regarding a method for modifying the geometric design of the component based on the determined modification of the recognized geometric features.
[0055] In some embodiments, processor 520 may recognize one or more of the bends, corners, holes, and surfaces of a component from an image based on the geometric lines, broken lines, shapes, holes, etc. included in the drawing. Processor 520 may determine a correction based on one or more of the type of tool used to create the recognized geometric feature, the number of tools used to create the recognized geometric feature, the tolerance of the recognized geometric feature, the material of the recognized geometric feature, the expected time required to manufacture the recognized geometric feature, etc. The processor may automatically detect one or more different tools used. In some cases, the user may specify the type of tool to use with the drawing, and processor 520 may be able to find one or more other tools that can be used as an alternative or addition to assist in improving the complexity.
[0056] As can be understood from the above specification, each of the above embodiments of the present disclosure may be implemented using computer programming techniques or computer engineering techniques including computer software, firmware, hardware, or any combination or subset thereof. Any program having computer-readable code obtained in this way may be embedded in or provided on one or more non-transitory computer-readable media, whereby a computer program product (i.e., a manufactured article) conforming to each of the described embodiments of the present disclosure is created. For example, the non-transitory computer-readable media may be a fixed drive, diskette, optical disk, magnetic tape, flash memory, external drive, semiconductor memory (e.g., read-only memory (ROM), random access memory (RAM)), and / or any other non-transitory transmission and / or reception media (e.g., the Internet, cloud storage, Internet of Things (IoT), or other communication networks or links), and is not limited thereto. The manufactured article containing the computer code may be made and / or used by directly executing the code from one medium, or by copying the code from one medium to another, or by sending the code over a network.
[0057] A computer program (also called a program, software, software application, "apps", or code) may include machine instructions for a programmable processor and may be implemented in a high-level procedural programming language and / or an object-oriented programming language, and / or an assembly / machine language. 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., magnetic disk, optical disk, memory, programmable logic device (PLD)) used to provide machine instructions and / or data to a programmable processor (which includes a machine-readable medium that receives the machine instructions as a machine-readable signal). However, "machine-readable medium" and "computer-readable medium" do not include transitory signals. The term "machine-readable signal" means any signal that can be used to provide machine instructions and / or any other kind of data to a programmable processor.
[0058] The descriptions and illustrations of the processes above should not be construed in this specification as meaning that the order in which each process step is performed is fixed. Rather, each process step may be performed in any order that is practicable, including performing at least some steps simultaneously. Although the present disclosure has been described in connection with specific embodiments, it will be apparent to those skilled in the art that various changes, substitutions, and modifications may be made to the embodiments of the present disclosure without departing from the spirit and scope of the present disclosure as set forth in the appended claims.
Claims
**Claim 1** A processor, querying the database regarding a plurality of values of a part to be manufactured in 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 according to the type of the database; extracting the plurality of values from the CAD file and transferring the plurality of values to the plurality of corresponding fields of the mapped host platform; determining a change in one or more manufacturing attributes of the part to be manufactured based on the transferred plurality of values; outputting the change to a display; the processor configured to perform the above A computing system comprising the above. **Claim 2** The computing system according to claim 1, wherein the processor is configured to perform a step of generating an application programming interface (API) call for identifying the plurality of fields of the CAD file and sending the API call to the database. **Claim 3** The database includes a product lifecycle management (PLM) database, and the processor is configured to perform a step of mapping a field in the PLM database to a corresponding field of a host platform, and the corresponding field of the host platform has a field name different from the field in the PLM database. The computing system according to claim 1. **Claim 4** The computing system according to claim 1, wherein the processor is configured to perform a step of sending a query statement in which a plurality of fields including a part identifier value, a part number value, and a revision number value of the part to be manufactured are embedded to the database. **Claim 5** The processor is configured to perform a step of mapping the plurality of fields of the CAD file to the plurality of corresponding fields of the host platform via an agent installed in a computing system intervening between the database and the host platform, the computing system according to claim 1.
6. The processor is configured to perform a step of generating different mappings according to whether the CAD file is extracted from either a first type of database or a second type of database, the computing system according to claim 1.
7. The processor is further configured to perform a step of receiving a query including identifiers of the plurality of corresponding fields in the host platform, and a step of translating the query into an API call based on an application programming interface (API) of the database and then querying the database, the computing system according to claim 1.
8. The processor is configured to perform a step of identifying changes for reducing manufacturing cost with respect to one or more manufacturing attributes of the part to be manufactured, and a step of displaying the identified changes on a user interface, the computing system according to claim 1.
9. Querying the database regarding a plurality of values of a part to be manufactured in 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 according to the type of the database; Extracting the plurality of values from the CAD file and transferring the plurality of values to the plurality of corresponding fields of the mapped host platform; Determining a change in one or more manufacturing attributes of the part to be manufactured based on the transferred plurality of values; Outputting the change to a display; A method including the above steps.
10. The step of querying includes generating an application programming interface (API) call to identify the plurality of fields of the CAD file and sending the API call to the database, according to the method of claim 9.
11. The database includes a product lifecycle management (PLM) database, and the mapping step includes mapping a field in the PLM database to a corresponding field of a host platform, where the corresponding field of the host platform has a different field name from the field in the PLM database, according to the method of claim 9.
12. The step of querying includes sending a query statement embedded with a plurality of fields including a part identifier value, a part number value, and a revision number value of the part to be manufactured to the database, according to the method of claim 9.
13. The mapping step includes mapping the plurality of fields of the CAD file to the plurality of corresponding fields of the host platform via an agent installed in a computing system intervening between the database and the host platform, according to the method of claim 9.
14. The step of mapping the plurality of fields of the CAD file to the plurality of corresponding fields of the host platform includes generating different mappings according to whether the CAD file is extracted from either a first type of database or a second type of database, according to the method of claim 9.
15. The method of claim 9 further includes receiving a query including identifiers of the plurality of corresponding fields in the host platform, translating the query into an API call based on the application programming interface (API) of the database, and then querying the database.
16. The step of making the determination further includes identifying changes to reduce manufacturing costs for one or more manufacturing attributes of the part to be manufactured, and displaying the identified changes on a user interface. The method according to claim 9.
17. When executed by a processor, querying the database regarding a plurality of values of a part to be manufactured in 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 according to the type of the database; extracting the plurality of values from the CAD file and transferring the plurality of values to the plurality of corresponding fields of the mapped host platform; determining a change in one or more manufacturing attributes of the part to be manufactured based on the transferred plurality of values; outputting the change to a display; A non-transitory computer-readable medium including instructions for causing a computer to perform a method including the above steps.
18. The step of querying includes generating an application programming interface (API) call to identify the plurality of fields of the CAD file and sending it to the database. The non-transitory computer-readable medium according to claim 17.
19. The database includes a product lifecycle management (PLM) database. The mapping step includes mapping a field in the PLM database to a corresponding field of a host platform. The corresponding field of the host platform has a different field name from the field in the PLM database. The non-transitory computer-readable medium according to claim 17.
20. The step of querying includes sending a query statement embedded with a plurality of fields including a part identifier value, a part number value, and a revision number value of the part to be manufactured to the database. The non-transitory computer-readable medium according to claim 17.
Citation Information
Patent Citations
Modularized configuration system for crucible mechanism of vacuum coating machine
CN102925865A
Product design assisting system and method
JP2005189978A
Automatic Data Configuration Strategy, Such as For Storing and Manipulating Product Manufacturing Data
US20070288119A1
Method and apparatus for predicting object properties and events using similarity-based information retrieval and modeling
US20100332210A1