System and method for multi-user spatial impact analysis and management

By detecting and analyzing spatial conflicts in the CAD system in cloud services and using the message broker system to transmit impact notifications, the problem of cross-functional designers' design changes in the same spatial area is solved, and early conflict identification and resolution is achieved. Reduces product development costs and time.

CN113939823BActive Publication Date: 2025-01-07SIMENS INDASTRI SOFTVEAR INK
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN201980097351.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2019-06-10
Publication Date
2025-01-07
Estimated Expiration
2039-06-10

AI Technical Summary

Technical Problem

In CAD systems, cross-functional designers are prone to conflicts in collaborative designs within the same spatial area, resulting in design changes that are invisible until later in the design process, resulting in expensive design rework and delayed product development.

Method used

By detecting and analyzing spatial conflicts in cloud services, transmitting impact notifications between client systems using a message broker system, providing real-time 3D graphic feedback and impact analysis panels, ensuring designers can identify and resolve potential conflicts in a timely manner.

Benefits of technology

It realizes early identification and resolution of conflicts during the design process, significantly saving product development costs, improving efficiency, reducing conflicts and shortening product time to market.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113939823B_ABST
    Figure CN113939823B_ABST
Patent Text Reader

Abstract

Methods, corresponding systems, and computer-readable media for CAD operations are disclosed herein. A method includes accessing (302) a computer-aided design, engineering, visualization, or manufacturing (CAx) model (208) of a part or assembly to be manufactured by a data processing system (202, 500). The method includes storing (304) a plurality of impact definitions (204) corresponding to the CAx model (208). The method includes receiving (306) an indication of a first spatial region of the CAx model (208) from a first client system (220A) and receiving an indication of a second spatial region of the CAx model (208) from a second client system (220B). The method includes receiving (308) a notification of a save event created by the first client system (220A) for the first spatial region. The method includes performing impact detection (310) to detect potential impacts based on the save event, the first spatial region, and the impact definition (204). The method includes sending (312) an impact notification to the first client system (220A) and the second client system (220B).
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure generally relates to computer-aided design, engineering, visualization, and manufacturing systems ("CAD systems" or "CAx systems"), product lifecycle management ("PLM") systems, and similar systems for managing data for products and other items (collectively, "product data management" systems or PDM systems). Background Art

[0002] CAD systems are used to design and visualize two-dimensional (2D) and three-dimensional (3D) models and drawings to be manufactured into physical products, including large model assemblies with thousands or millions of parts. Improved systems are needed. Summary of the invention

[0003] Various disclosed embodiments include methods and corresponding systems for CAD operations and computer-readable media. A method includes accessing a computer-aided design, engineering, visualization or manufacturing (CAx) model of a part or assembly to be manufactured through a data processing system. The method includes storing multiple impact definitions corresponding to the CAx model. The method includes receiving an indication of a first spatial region of the CAx model from a first client system, and receiving an indication of a second spatial region of the CAx model from a second client system. The method includes receiving a notification of a save event created by the first client system for the first spatial region. The method includes performing impact detection based on the save event, the first spatial region and the impact definition to detect potential impacts. The method includes sending an impact notification to the first client system and the second client system. Although the exemplary process is described in the context of two client systems, those skilled in the art will recognize that any number of client systems or other systems as described herein may be used.

[0004] In various embodiments, the save event identifies a part or assembly in the first spatial region that has had a geometric change or a component change. In various embodiments, the performing impact detection includes: performing a where-used query on the part or assembly to determine a where-used result; determining whether the where-used result corresponds to an impact definition; and for each where-used result corresponding to the impact definition, evaluating the geometric change or component change according to the impact definition to identify potential impacts. In various embodiments, the first client system then displays the impact results. Various embodiments also include sending an impact notification to the collaboration client. In various embodiments, sending the impact notification to the first client system and the second client system includes sending the impact notification to a message broker, which publishes the impact notification to the first client system and the second client system. In various embodiments, the notification of the save event is received from the message broker. In various embodiments, the first client system displays 3D graphical feedback to the user illustrating the potential impact. In various embodiments, the first client system displays an impact analysis panel that includes aggregate or historical information of the impact over time. In various embodiments, the impact notification includes one or more of the following: an identifier of the client that generated the save event that caused the impact notification, the name or type of the design tool that generated the save event that caused the impact notification, the spatial area affected by the save event that caused the impact notification, a general identifier of any part or component that was changed, added, or deleted by the save event that caused the impact notification, geometry, CAx, or other data that can be used to display the potential impact, or a user name or other identifier of the client user that generated the save event that caused the impact notification.

[0005] Each disclosed embodiment also includes a data processing system, which includes a processor. The data processing system also includes an accessible memory. The data processing system is specifically configured to perform the process as described herein.

[0006] Various disclosed embodiments also include non-transitory computer-readable media encoded with executable instructions that, when executed, cause one or more data processing systems to perform processes as described herein.

[0007] The features and technical advantages of the present disclosure have been outlined quite broadly above so that those skilled in the art may better understand the detailed description that follows. Additional features and advantages of the present disclosure that form the subject matter of the claims will be described below. Those skilled in the art will appreciate that they can easily use the disclosed concepts and specific embodiments as a basis for modifying or designing other structures to achieve the same purposes of the present disclosure. Those skilled in the art will also recognize that such equivalent structures will not depart from the spirit and scope of the present disclosure in its broadest form.

[0008] Before describing the following specific embodiments, it may be helpful to clarify the definitions of certain words or phrases used in this patent document: the terms "including" and "comprising" and their derivatives mean including rather than limiting; the term "or" is inclusive and means "and / or"; the phrases "associated with" and "associated with" and their derivatives may mean including, included in, interconnected, contained, contained in, connected to or connected with, coupled to or coupled with, communicable with, cooperating with, interlaced, parallel, close to, bound to or bound with, having a certain characteristic, etc.; the term "controller" refers to any device, system or part thereof that controls at least one operation, whether such device is implemented in hardware, firmware, software or a combination of at least two thereof. It should be noted that the functions associated with any particular controller may be centralized or distributed, whether local or remote. Definitions of certain words and phrases are provided in this patent document, and those of ordinary skill in the art will understand that such definitions apply to prior and future uses of such defined words and phrases in many, if not most, instances. Although some terms may include a variety of embodiments, the appended claims may expressly limit these terms to specific embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] For a more complete understanding of the present disclosure and advantages thereof, reference is now made to the following description taken in conjunction with the accompanying drawings, wherein like numerals represent like objects, and wherein:

[0010] Figure 1 An example of a portion of a complex model of an aircraft having many systems in the same region of space that may be processed in accordance with the disclosed embodiments is illustrated;

[0011] Figure 2 A block diagram of a conflict analysis system according to a disclosed embodiment is illustrated;

[0012] Figure 3 A flowchart illustrating a process according to the disclosed embodiments;

[0013] Figure 4 illustrates an exemplary impact detection process that may be performed by the system according to the disclosed embodiments; and

[0014] Figure 5 A block diagram of a data processing system is illustrated in which embodiments may be implemented. DETAILED DESCRIPTION

[0015] The accompanying drawings and various embodiments discussed below for describing the principles of the present disclosure in this patent document are merely illustrative and should not be interpreted in any way as limiting the scope of the present disclosure. It will be appreciated by those skilled in the art that the principles of the present disclosure may be implemented in any suitably arranged device. Numerous innovative teachings of the present application will be described with reference to exemplary, non-limiting embodiments.

[0016] In industries such as (but not limited to) automotive, aerospace, heavy machinery, and marine, CAD models of these often large assemblies are developed and modified by cross-functional CAD designers working simultaneously within confined spatial areas of the model. For example, structural designers, electrical system designers, HVAC designers, and others may all work in the same spatial area of ​​the product model. In such cases, there is often a space contention between these cross-functional designers, where two parts of an assembly "clash" within the model space. Here are some examples of how these conflicts are discovered late in the design process.

[0017] Figure 1 An example of a portion of a complex model 100 of an aircraft having many systems in the same region of space is illustrated.

[0018] In most desktop CAD systems, once a design is loaded into the system, the user is isolated from what other users are doing. This means that multiple designers working at the same time can make conflicting design changes because they occupy the same area of ​​space in the product.

[0019] Changes that a user has made in the context of one variant of a product (e.g., a base model of a vehicle) may conflict with other variants of the product (e.g., a sports car model or a sedan model of a vehicle). In such a conflict, using this example, the model may present a "collision" where a portion of the sports car model component conflicts with a portion of the base model component. Since each user may be operating independently, these conflicts are not visible to any one designer.

[0020] These conflicts may not be visible due to business processes, where cross-functional design teams can see each other’s work only when they reach certain stages in the design process, and the entire mockup of the product goes through a review process.

[0021] These conflicts include conflicts that are not actual "clashes" of entities, such as violations of design constraints. For example, a conflict may be caused by violating a compliance or safety requirement assigned to a particular system. For example, safety reasons may require that a specific clearance be maintained around a particular workpiece of an electrical device.

[0022] These design conflicts may only be reconciled during a review that occurs very late in the design process. For example, this reconciliation may be accomplished by periodically performing batch-to-batch checks on the entire product. This approach requires specialized hardware facilities and dedicated staff to review the results and determine the root cause of the problem. This is an expensive and time-consuming process and requires multiple design iterations over a long period of time in order to arrive at a solution.

[0023] Delayed conflict checking will result in expensive design rework and potentially increase product development costs and cause implementation delays. The disclosed embodiments include systems and methods for detecting such conflicts and providing users with immediate feedback on the impact when such conflicts occur. This enables conflicts to be resolved much earlier in the design process and results in significant savings in product development costs.

[0024] The disclosed embodiments include systems and methods for 3D spatial impact analysis. Various embodiments are implemented as a high-performance and scalable cloud service that automatically detects and analyzes spatial conflicts to deliver real-time notifications to client systems and their users. These notifications can include graphical feedback about design changes and author users. Various embodiments can include a real-time "dashboard" on the client system that provides a view of current and historical issues to system engineers.

[0025] Figure 2 A block diagram of a conflict analysis system 200 according to the disclosed embodiment is illustrated. In this example, and as described in more detail below, a conflict analysis server 202 performs an impact definition process 204 and an impact detection process 206. The conflict analysis server 202 may also store a model 208, which may be or include any CAx model or data reflecting a product, component, spatial area, or other data described herein, and the model 208 may include references to any CAx model or data reflecting a product, component in a PDM system.

[0026] That is, in some embodiments, the CAx model 208 may reference other data residing in a different physical system, such as a PDM system, one example of which is the TEAMCENTER software product from Siemens Product Lifecycle Management Software Inc. The clash analysis server 202 may store references to the models in the PDM system and the corresponding spatial region definitions as the model 208.

[0027] Conflict analysis server 202 communicates with message broker system 210. Message broker system 210 communicates with multiple clients 220, including client 220A, client 220B, client 220C, and client 220D. Although four clients 220 are illustrated in this example, those skilled in the art will recognize that more or fewer clients may be used in any particular implementation.

[0028] Although this example shows the message broker system 210 as a physical system separate from the conflict analysis server 202 , in other implementations, the message broker system 210 is implemented as a process executing on the conflict analysis server 210 .

[0029] Can be performed over any wired or wireless network or communication protocol Figure 2 . Specifically, in certain embodiments, conflict analysis server 202 and message broker 210 are implemented as "cloud" servers / "cloud" services such that the processes described herein through conflict analysis server 202 are offloaded from client systems and executed in a scalable cloud-based architecture. Similarly, any data or processes described with respect to the various components may be executed by a separate data processing system or by multiple data processing systems that communicate with each other to act together as the system described herein. Unless expressly stated otherwise, references to a "data processing system" are intended to include multiple physical data processing systems that act in concert to perform the operations or functions described.

[0030] The message broker system 210 performs high-performance transmission of messages between distributed systems (which include conflict analysis servers 202 and clients 220). In some cases, commercial off-the-shelf software products such as RABBITMQ open source message broker software from Pivotal Software, APACHE ACTIVEMQ open source message broker software from Apache Software Foundation, or APACHE KAFKA open source stream processing software platform from Apache Software Foundation can be used to implement the message broker system 210. In the environment of designing an active notification system, the message broker supports the transmission of messages between the CAx client 220 and other elements described herein. The message broker can work in a "publish and subscribe" mode, in which there is a publisher system that sends a message and many subscriber systems that can receive the message. The subscriber system can specify filters for the messages it can receive.

[0031] Messaging between clients 220, message broker 210, and conflict analysis server 202 may be in any format useful for performing the processes described herein.

[0032] As illustrated in the example of client 220A, each client 220 may execute multiple software processes. In particular, each client 220 executes a design tool 224, which may be any CAD / CAM / CAE or other application or process for product design or analysis that may use the space impact analysis described herein. The design tool 224 may also include a PLM client (such as ACTIVE WORKSPACE and TEAMCENTER software products from Siemens Product Lifecycle Management Software) and a collaboration tool.

[0033] The conflict analysis system 200 may also include one or more collaboration clients 230 that do not include the design tool 224 themselves, but instead have a collaboration tool 234. The collaboration tool 234 may be any commercial or proprietary collaboration or communication tool. The collaboration client 230 (which may be any data processing system including a portable device such as a smartphone or tablet) may or may not support the full design tool 224, but may still be able to communicate using the collaboration tool 234.

[0034] Each client 220 and collaboration client 230 also executes design activity notification 222. Design activity notification 222 can be implemented as a separate software process from design tool 224, or can be integrated with design tool 224. Similarly, design activity notification 222 can be implemented as a separate software process from collaboration tool 234, or can be integrated with collaboration tool 234. Design activity notification 222 monitors the use of design tool 224 to transmit spatial issues to message broker 210, as described herein, and notifies design tool 224 and / or users of issues and notifications transmitted from message broker 210. Design activity notification 222 facilitates real-time transmission of design activity notifications issued by design tool 224 on each client 220. These notifications can be received by other clients 220, or can be received by message broker 210 to be forwarded to other clients 220 and / or conflict analysis server 202.

[0035] On the collaboration client 230, the collaboration tool 234 can receive and process messages from any other client 220, collaboration client 230, message broker 210, or clash analysis server 202, and pass those messages to the collaboration tool 234. This allows users of the collaboration client 230 to remain aware of issues such as potential spatial impacts, even when those users are not using the design tool 224. This is also true when a user is "logged into" the collaboration tool 234 instead of the design tool 224 on any given system, so that users will still receive relevant messages even when they are not using the design tool 224.

[0036] The design activity notification 222 on each client 220 or collaboration client 230 can be used as a client-side adapter to translate, convert or process messages according to the needs of a specific client. The design activity notification 222 can publish messages, including capturing design activity events performed by users, packaging events into notification message formats, and / or publishing messages to message brokers. The design activity notification 222 can receive messages, including displaying notifications to users through a graphical user interface (GUI) and / or transmitting notifications through a pre-configured message channel (e.g., a message channel in a commercial collaboration tool).

[0037] Design activity notifications 222 may also provide significant advantages over other systems even beyond the space impact analysis process described herein. For example, design activity notifications 222 provide a means for exchanging notifications related to any activity type of interest (e.g., check-in / check-out of CAx files), notifications of parts saved since last load, notifications when new versions are available, etc.

[0038] In certain embodiments, the disclosed systems and methods include a messaging format for defining each event that occurs in a design session. Each message can be used as a "contract" that will facilitate multiple clients 220 to consume messages generated by the design tool 224. The messaging format also specifies message properties that can be used to filter messages during subscription. In these embodiments, the event message format contains fields or data for context, user, type, and event data.

[0039] The "context" identifies the CAx object associated with the event, which may be, for example, a handle to a CAx object in a CAx document or database. In the disclosed embodiment, since multiple clients each operate in a common CAx model and environment, each of the client 220 and the conflict analysis server 202 may access the same CAx database storing the data (or a mirror / copy of the data).

[0040] "User" identifies the user associated with the event. "Type" describes the event type, allowing the client 220 to implement a specific handler based on the event type. "Event Data" includes additional data that describes information related to the specific event.

[0041] The conflict analysis system 200 can implement a scalable cloud service that can be deployed on a public network system, a private cloud system, an indoor data center, or some combination of these systems or centers. A cloud-based conflict analysis server 202 provides an impact definition 204. The impact definition 204 is a cloud-based service capability that can be exposed through a representational state transfer application program interface (RESTful API) that allows applications to specify information that contains the user's intent and a spatial area in a CAD component representing a product. The area can be explicitly defined, such as a 3D bounding box or an irregular volume, or it can be implicitly defined, such as implicitly derived from engineering requirements captured in a demand management system. Implicit area definitions are particularly useful for checking compliance or safety regulations. There may be multiple discrete areas of interest distributed across multiple products. This information can be permanently stored in a cloud database (whether on the conflict analysis server 202 or on a separate database server) for quick access.

[0042] The cloud-based conflict analysis server 202 provides impact detection 206 , as described in more detail below, which applies the impact definitions 204 to determine the impact between spatial regions being processed by different users.

[0043] In certain embodiments, as disclosed herein, the impact notification is sent by the conflict analysis server 202 to the message broker 210. The message broker 210 then sends the impact notification message to the first client system and the second client system and any other clients 220 that should be notified of the impact notification. In addition, the message broker 210 can send the impact notification to one or more collaboration clients 230, for example, to notify users of the potential impact, even if these users are not currently using the design tool 224 to edit the spatial area. In each case, in certain embodiments, the design activity notification 222 can receive the impact notification message and provide a notification to the user of the corresponding system, such as displaying a warning of the potential impact, displaying the changes made to the model by the save event that generated the potential impact, or displaying other content.

[0044] The disclosed embodiments can provide real-time 3D graphical feedback to users through each client 220. The spatial impact notification from the conflict analysis server 202 is received by all clients 220 affected by the change and the design tool 222 or design activity notification 222 of the client 220 that caused the change. The user associated with each client 220 will be provided with 3D graphical feedback that will show a preview of the conflicting changes and a representation of the user that caused the conflict. This will encourage users to work together to take corrective actions immediately.

[0045] The disclosed embodiments may provide space impact reports and dashboards. The design activity notification 222 may include a collaboration tool adapter that publishes notifications to standard commercial off-the-shelf (COTS) collaboration tools. This facilitates notification and review of issues outside of the design tool 224. In addition, in various embodiments, each of the client 220, the message agent 210, and / or the conflict analysis server 202 may capture space impact notifications and store the space impact notifications in an impact analysis results database, which may be physically implemented on any of these devices or on a separate database server. These space impact notifications may then be used to populate a real-time dashboard that will allow the lead engineer in the organization to view product areas where space conflicts exist. Reports such as product areas with the most space conflicts may be presented. These reports will help identify potential areas for improvement.

[0046] The disclosed embodiments provide a complete end-to-end solution that supports real-time detection, analysis and management of spatial conflicts, thereby significantly reducing product development costs, improving efficiency, reducing the possibility of conflicts, shortening time to market, and other benefits by discovering problems much earlier in the design cycle.

[0047] Design activity notification 222 and multi-user spatial impact analysis services provided by conflict analysis server 202 provide key technical components that can improve efficiency in product design. The use of message broker 210 and cloud service technology enables the performance and scalability required to support real-time calculation of specific impacts.

[0048] Figure 3 A flow chart illustrating a process 300 according to the disclosed embodiments is shown, which may be performed by the conflict analysis system 200 (hereinafter collectively referred to as the "system").

[0049] The system accesses a CAx model (302). The CAx model may be used for a part or assembly to be manufactured. The model may be a 3D solid model, or may be other data structures that define such a 3D solid model. The model may be stored, for example, in a memory of the conflict analysis server 202 or in a separate database server (e.g., a PDM system). Of course, in a cloud implementation, the separate database server may be logically considered to be part of the conflict analysis server 202. In various embodiments, the stored model or a reference to the stored model is maintained on the system and may be viewed, edited, or manipulated by multiple client systems.

[0050] The system stores a plurality of impact definitions (304) corresponding to the CAx model. The impact definitions explicitly or implicitly define spatial impacts between objects in spatial regions of the model. For example, an impact definition may define that two physical bodies cannot occupy the same 3D space (i.e., actual "interference" between objects). As another example, an impact definition may define regions that are occupied in certain variants of the model to avoid interference or other impacts in other variants of the model. As another example, an impact definition may define preset tolerances or distances required between components of the model, and these preset tolerances or distances may vary depending on the type of component (e.g., a smaller distance may be required between purely structural components, while a larger distance may be required between electrical or heat-generating components). The spatial impacts defined by the impact definitions may include actual prohibited conflicts (such as conflicts between objects) as well as acceptable impacts that should alert the user (such as tight tolerances, heat exchange, electrical issues, or other).

[0051] The system receives an indication of a first spatial region of the model from a first client system and an indication of a second spatial region of the CAx model from a second client system (306). The first spatial region and the second spatial region can both be subsets of the spatial region occupied by the model; that is, the first spatial region and the second spatial region are generally portions of the overall model on which users of the first client system and users of the second client system will work. The first spatial region and the second spatial region can be the same or different, but for the purposes of the process, they share some common spatial regions. That is, the first spatial region and the second spatial region can be the same, but in most cases they will be different but have some overlapping space, or in other cases, one of the received spatial regions can be a subset of the other spatial region. Although only two clients and corresponding spatial regions are used in this example, those skilled in the art will recognize that the techniques disclosed herein are applicable to any number of clients and any number of corresponding spatial regions used by the clients. The system can also create or modify an impact definition based on the received first spatial region and the second spatial region.

[0052] In general operation, the client system will download and create a local copy of a specific spatial area of ​​the model to be viewed or worked on. That is, when a user on a client system wants to work on a model, the client system will attempt to retrieve the entire model, which may include thousands or millions of parts and may not be effectively delivered to the client, and the client system is difficult or unable to manage effectively. Instead, the client system only retrieves a limited spatial area for editing and creates a local working copy of the spatial area. From time to time, the client system automatically or manually saves any changes to the local working copy back to the model. Since different client systems use different local copies, the edits made to them may conflict. At 306, each client system notifies the conflict analysis server of the spatial area of ​​the model for which a local working copy is being created.

[0053] In certain embodiments, as disclosed herein, these indications are received as messages from a message broker. That is, the first and second clients 220 send messages to the message broker 210 using the design activity notifications 222, and the message broker 210 sends messages to be received by the conflict analysis server 202.

[0054] The system receives notification of a save event created by a first client system for a first spatial region (308). As described herein, each client system occasionally saves edits to its corresponding spatial region back to the model. When this occurs, the system receives notification that the spatial region for that client has been saved or otherwise updated. It should be noted that a "save" event is intended to include any event that indicates that a client system has made an update or change to the shared model.

[0055] In certain embodiments, as disclosed herein, these notifications are received as messages from a message broker. That is, the first and second clients 220 send a notification to the message broker 210 using the design activity notification 222, indicating that the design tool 224 on the respective client 220 has executed a save event. The message broker 210 sends a message to be received by the conflict analysis server 202 as a notification of the save event. The notification of the save event may be published by the first client system, where the conflict analysis server is a subscriber to the notification.

[0056] Notification of a save event may include any relevant data, such as the client 220 that generated the save event, the name or type of design tool that generated the save event, the spatial area affected by the save event, the universal identifiers of any parts or components that were changed, added, or deleted by the change event, the user name or other identifier of the user of the client that generated the save event, or other data.

[0057] The system performs impact detection based on the save event, the first spatial region, and the impact definition to detect potential impacts (310). In response to receiving the save event notification, the system analyzes the edited / saved portion of the model corresponding to the first spatial region and applies the impact definition to detect potential impacts. Of course, not every save event will have a potential impact, so some iterations of the process will end with performing impact detection and then return to 308 to wait for the next save notification.

[0058] Figure 4 An exemplary impact detection process 400 that may be performed by a system in accordance with the disclosed embodiments is illustrated.

[0059] The system receives notification of a save event as in 308 (402). The save event may include any of the above data and may reflect the saving of any CAD part or assembly in a spatial region where a geometry change or component change has occurred. A geometry change or component change may include a geometry change or component position change, which may result in an actual "interference" conflict or violation of other conflict definition constraints or tolerances, and the geometry change or component change may include other changes, such as changing the material used to construct the component so that interference or conflict occurs between the component and other parts and components. These changes may include changes to any material properties, such as the electrical or thermal conductivity, strength, flexibility or brittleness, thermal response, porosity, permeability, corrosion resistance, reactivity, or other magnetic properties, mechanical properties, electrical properties, optical properties, or thermal properties of the material.

[0060] The system performs a where-used query on the parts or assemblies of the model to determine where-used results ( 404 ).

[0061] The system determines whether the usage location result corresponds to the impact definition ( 406 ).

[0062] For each site-of-use result corresponding to an impact definition, the system evaluates the geometry change or component change according to the impact definition to identify potential impacts ( 408 ).

[0063] The system can then send impact notifications as described below.

[0064] return Figure 3 In the process of , the system sends an impact notification to the first client system and the second client system (312). The impact notification may include any relevant data, such as the client 220 that generated the save event that resulted in the impact notification, the name or type of the design tool that generated the save event that resulted in the impact notification, the spatial area affected by the save event that resulted in the impact notification, the universal identifier of any parts or components that were changed, added, or deleted by the save event that resulted in the impact notification, geometry, CAD or other data that can be used to display potential impacts, the user name or other identifier of the user of the client that generated the save event that resulted in the impact notification, or other data. Sending the impact notification can publish the impact notification to all subscribed client systems or users.

[0065] By allowing each client 220 and collaborating clients 230 to subscribe to notifications for specific models or areas of space, users of these systems can synchronize and coordinate their project tasks and eliminate unexpected conflicts.

[0066] In response to receiving the impact notification, the first client system, the second client system, or any other system that receives the impact notification may then display impact results (314). The impact results may include information such as potential impacts, a user name or other identifier of a user of the client that generated the save event that resulted in the impact notification, or other data. The impact results may include displaying 3D graphical feedback to the user illustrating the potential impact, and may include a real-time impact analysis panel displaying information such as the type of impact, the frequency of the impact or the spatial region of the impact, the user or CAx type that generated the impact, or other aggregate or historical information of the impact over time.

[0067] The disclosed embodiments improve existing systems by providing a design activity notification process that can be implemented with an open message format, which facilitates the exchange of activity events between CAx, PLM, and collaboration clients. This is particularly valuable because it provides a complete system for transmitting CAx events between different clients in real time, and supports use cases where users receive notifications even if they are not logged into CAx.

[0068] The multi-user spatial impact analysis service provided by the clash analysis server 202 improves upon existing systems in a number of ways. For example, the disclosed embodiments include the ability to perform instant analysis of spatial clashes between regions of interest associated with users and provide instant feedback via a variety of mechanisms, such as graphical notifications via CAx clients and notifications published to PLM and collaboration clients to support offline access by CAx users.

[0069] The disclosed embodiments provide instant detection of multi-user spatial conflicts in all uses of a CAD part or assembly in multiple configurations of a product assembly, and support explicit definition of spatial regions of interest (e.g., 3D bounding boxes, irregular volumes) and implicit regions defined by engineering requirements. The disclosed spatial impact analysis methods (e.g., instant 3D graphical feedback in the CAx client and a real-time impact analysis dashboard) provide specific, unique improvements by enabling real-time graphical feedback when conflicts occur and by providing lead engineers with a method to quickly gain insight into the product areas with the most problems. The use of cloud services and message brokers is a unique technical strategy that provides the scalability required to meet the real-time impact analysis calculations required by the system.

[0070] Figure 5A block diagram of a data processing system 500 is illustrated in which an embodiment may be implemented, for example, as a CAx or PDM system that is specifically configured by software or other means to perform the processes described herein, and in particular, as each of the multiple interconnected and communicating systems described herein. The depicted data processing system includes a processor 502 connected to a secondary cache / bridge 504, which in turn is connected to a local system bus 506. The local system bus 506 may be, for example, a peripheral component interconnect (PCI) architecture bus. Also connected to the local system bus in the depicted example are a main memory 508 and a graphics adapter 510. The graphics adapter 510 may be connected to a display 511.

[0071] Other peripheral devices, such as a local area network (LAN) / wide area network / wireless (e.g., Wi-Fi) adapter 512, may also be connected to the local system bus 506. An expansion bus interface 514 connects the local system bus 506 to an input / output (I / O) bus 516. The I / O bus 516 connects to a keyboard / mouse adapter 518, a disk controller 520, and an I / O adapter 522. The disk controller 520 may be connected to a memory 526, which may be any suitable machine-usable or machine-readable storage medium, including but not limited to non-volatile hard-coded type media, such as read-only memory (ROM) or erasable electrically programmable read-only memory (EEPROM), magnetic tape storage, and user-recordable type media, such as floppy disks, hard drives, and compact disk read-only memory (CD-ROM) or digital versatile disks (DVD), as well as other known optical, electrical, or magnetic storage devices. Memory 526 can store any CAD data, models, variables, impact definitions, spatial regions, notifications, results, or other information or data discussed herein or that can be used to perform the processes discussed herein (shown as data 528), as well as any executable code or instructions (shown as code 527) that can be used to perform the processes described herein.

[0072] Also connected to I / O bus 516 in the example shown is audio adapter 524, to which speakers (not shown) may be connected for playing sounds. Keyboard / mouse adapter 518 provides a connection for a pointing device (not shown), such as a mouse, trackball, track pointer, touch screen, etc.

[0073] Those of ordinary skill in the art will understand that Figure 5 The hardware depicted in the drawings may be changed for a particular implementation. For example, other peripheral devices such as optical disk drives may be used in addition to or in place of the depicted hardware. The depicted examples are for explanation purposes only and are not meant to imply architectural limitations with respect to the present disclosure.

[0074] The data processing system according to an embodiment of the present disclosure includes an operating system that uses a graphical user interface. The operating system allows multiple display windows to be presented in the graphical user interface simultaneously, wherein each display window provides an interface to different applications or different instances of the same application. The cursor in the graphical user interface can be manipulated by the user through a pointing device. The position of the cursor can be changed and / or an event such as clicking a mouse button can be generated to activate a desired response.

[0075] If appropriately modified, one of various commercially available operating systems may be used, such as Microsoft Windows, a product of Microsoft Corporation located in Redmond, Wash. TM As described, an operating system is modified or created according to the present disclosure.

[0076] LAN / WAN / Wireless adapter 512 can be connected to a network 530 (which is not part of data processing system 500), which can be any public or private data processing system network or combination of networks known to those skilled in the art, including the Internet. Data processing system 500 can communicate via network 530 with a server system 540, which is also not part of data processing system 500, but can be implemented as a separate data processing system 500, including as a PDM system or another CAx system, for example. Similarly, data processing system 500 can communicate via network 530 with any other system described herein.

[0077] Of course, those skilled in the art will recognize that certain steps in the processing procedures described above may be omitted, performed simultaneously or sequentially, or performed in a different order unless specifically indicated or required by the sequence of operations.

[0078] Those skilled in the art will recognize that, for the sake of brevity and clarity, the complete structure and operation of all data processing systems suitable for use with the present disclosure are not depicted or described herein. Instead, only the data processing systems that are unique to the present disclosure or necessary for understanding the present disclosure are depicted and described. The remainder of the structure and operation of the data processing system 500 may conform to any of the various current implementations and practices known in the art.

[0079] It is important to note that while the present disclosure includes descriptions in the context of fully functional systems, those skilled in the art will appreciate that at least a portion of the mechanisms of the present disclosure can be distributed in the form of instructions contained in a machine-usable medium, a computer-usable medium, or a computer-readable medium in any of the respective forms, and that the present disclosure applies equally regardless of the particular type of instruction or signal bearing medium or storage medium used to actually perform the distribution. Examples of machine-usable / readable or computer-usable / readable media include: non-volatile hard-coded type media, such as read-only memory (ROM) or erasable electrically programmable read-only memory (EEPROM), and user-recordable type media, such as floppy disks, hard drives, and compact disk read-only memories (CD-ROMs) or digital versatile disks (DVDs).

[0080] Although the exemplary embodiments of the present disclosure have been described in detail, those skilled in the art will understand that they may make various changes, substitutions, alterations, and improvements herein without departing from the spirit and scope of the disclosure in its broadest form.

[0081] Other approaches to solving the CAD problem are described in the following documents and are incorporated herein by reference: U.S. Patent Publication Nos. 2016 / 0246899 and 2014 / 0317589 and U.S. Patent No. 9,648,059.

[0082] Nothing in this application should be construed as implying that any particular element, step, or function is an essential element that must be included in the scope of such claims: the scope of patented subject matter is limited only by the claims as allowed. Furthermore, none of the claims is intended to invoke 35 USC § 112(f) unless the precise words "means for" are followed by a participle.

Claims

1. A method for multi-user spatial impact analysis and management, comprising: Accessing (302) via a data processing system (500) a CAx model (208) of a computer-aided design, engineering, visualization or manufacturing of a part or assembly to be manufactured; storing (304) a plurality of impact definitions (204) corresponding to the CAx model (208); receiving (306) an indication of a first spatial region of the CAx model (208) from a first client system (220A), and receiving (306) an indication of a second spatial region of the CAx model (208) from a second client system (220B); receiving a notification (308) of a save event created by the first client system (220A) for the first spatial area; performing impact detection (310) based on the save event, the first spatial region, and the impact definition (204) to detect potential impacts; as well as sending (312) an impact notification to the first client system (220A) and the second client system (220B); wherein the save event identifies a part or assembly in the first spatial region that has undergone a geometry change or a component change, and The execution impact detection includes: performing (404) a location-of-use query on the part or assembly to determine a location-of-use result; determining ( 406 ) whether the location-of-use result corresponds to an impact definition ( 204 ); and For each site-of-use result corresponding to an impact definition (204), the geometry change or component change is evaluated (408) according to the impact definition (204) to identify the potential impact.

2. The method according to claim 1, wherein: The first client system (220A) then displays the impact results.

3. The method according to claim 1, further comprising: The impact notification is sent to the collaboration client (230).

4. The method according to claim 1, wherein: The sending of the impact notification to the first client system (220A) and the second client system (220B) includes: sending the impact notification to a message agent (210), wherein the message agent (210) publishes the impact notification to the first client system (220A) and the second client system (220B).

5. The method according to claim 1, wherein: Notification of a save event is received from the message broker (210).

6. The method according to claim 1, wherein: The first client system (220A) displays 3D graphical feedback to a user, the 3D graphical feedback illustrating the potential impact.

7. The method according to claim 1, wherein: The first client system (220A) displays an impact analysis panel including aggregate or historical information of impacts over time.

8. The method according to any one of claims 1 to 7, wherein: The impact notification includes one or more of the following: an identifier of the client that generated the save event that caused the impact notification, the name or type of the design tool that generated the save event that caused the impact notification, the spatial area affected by the save event that caused the impact notification, a general identifier of any part or component that was changed, added or deleted by the save event that caused the impact notification, geometry, CAx or other data that can be used to display the potential impact, or a user name or other identifier of the client user that generated the save event that caused the impact notification.

9. A data processing system (500) for multi-user spatial impact analysis and management, comprising: Processor (502); as well as Having access to a memory (508), the data processing system (500) is particularly configured to perform the method of any one of claims 1 to 8.

10. A non-transitory computer readable medium (526) encoded with executable instructions (527) that, when executed, cause one or more data processing systems (500) to perform the method of any one of claims 1 to 8.

Citation Information

Patent Citations

  • System and method for concurrent multi-user cax workflow

    US20140317589A1

  • Multi-User Cloud Parametric Feature-Based 3D CAD System

    US20160246899A1

  • System and methods for multi-user CAx editing conflict management

    US9648059B2