Techniques for visualizing and exploring large-scale generative design datasets

By generating tools such as design browsers and synthetic browsers, a large number of design option analysis difficulties faced by designers and differences in designer evaluation are solved, and efficient identification and collaborative selection of design options that meet engineering and aesthetic standards is achieved, which significantly improves the The efficiency and effectiveness of the design process are achieved.

CN112368702BActive Publication Date: 2025-01-17AUTODESK INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN201980042372.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-03-19
Filing Date
2019-04-23
Publication Date
2025-01-17
Estimated Expiration
2039-05-18

AI Technical Summary

Technical Problem

In the generative design workflow, designers face a large number of design options analysis difficulties, leading to the possibility of neglecting designs that meet engineering and aesthetic standards, and there are differences in the evaluation of design solutions by different designers, reducing the efficiency of multi-person collaboration.

Method used

Using a computer-implemented approach, by generating design browsers, synthesizing browsers and trade-off browsers, users can generate design options sets based on problem definitions, filter design spaces, and identify subsets of design options that meet engineering and aesthetic standards through interactive tools. Automatically analyze design features to assist designers in collaborative selection.

Benefits of technology

Effectively browse and identify design options that meet engineering and aesthetic standards, reduce designer analytic burden, improve multi-person design selection efficiency, and significantly improve technological progress when processing large-scale data sets.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112368702B_ABST
    Figure CN112368702B_ABST
Patent Text Reader

Abstract

The design application is configured to visualize and explore large-scale generative design datasets. The design browser includes a graphical user interface (GUI) engine for a generative design browser, a synthesis browser, and a tradeoff browser. The design browser displays a visualization of multiple design options contained in a design space. The design browser allows a user to filter the design space based on input parameters that affect the generative design process and various design features associated with different design options. The synthesis browser displays a fully interactive synthesis containing multiple different design options. The synthesis browser provides various tools that allow the user to filter the design space through interaction with the synthesis. The tradeoff browser displays the tradeoff space based on different orderings of the design options. The different orderings may correspond to competing design features specified by different designers.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to U.S. Provisional Patent Application Serial No. 62 / 661,461, filed on April 23, 2018, entitled “Techniques for Visualizing and Exploring Large-Scale Generative Design Datasets,” filed on March 19, 2019, and U.S. Patent Application Serial No. 16 / 358,633, filed on March 19, 2019, entitled “Techniques for Visualizing and Exploring Large-Scale Generative Design Datasets,” filed on March 19, 2019, and U.S. Patent Application Serial No. 16 / 358,635, filed on March 19, 2019, entitled “Techniques for Visualizing and Exploring Large-Scale Generative Design Datasets.” The subject matter of these related applications is hereby incorporated herein by reference.

[0003] background

[0004] Technical Field of Various Embodiments

[0005] Embodiments of the present invention generally relate to computer-aided design techniques, and more particularly, to techniques for visualizing and browsing large-scale generative design data sets.

[0006] Description of Related Background Technology

[0007] In a generative design workflow, a designer analyzes an engineering problem and generates a problem definition that describes various aspects of that engineering problem. In particular, the problem definition specifies the different design criteria that any given design should meet, including design constraints and design goals. The designer inputs the problem definition into a generative design system, which then automatically generates a number of design options that meet the design criteria. The designer then reviews the different design options and identifies a subset of design options that meet the various engineering and / or aesthetic criteria held by the designer.

[0008] One drawback of the above approach is that for any given problem definition, a generative design system generates tens of thousands of design options. Thus, there is a large amount of data for the designer to analyze. Designers often address this problem by ignoring a large portion of the generated design options. However, with this approach, the designer may end up ignoring and not considering many "good" designs that, if properly analyzed and considered by the designer, would be found to meet engineering and / or aesthetic criteria.

[0009] Another drawback of the above approach is that different designers often have different opinions on whether a given design solution meets certain engineering and / or aesthetic criteria. This disagreement reduces the efficiency of having multiple designers jointly analyze the numerous design options that are typically generated when using a generative design system. Designers often address this issue by considering a subset of the generated design options that only meet the engineering and / or aesthetic criteria that are held in common by all designers involved in the design process. However, given the large number of design options to consider, this approach can also result in many potentially "good" designs being overlooked and not considered.

[0010] As previously stated, what is needed in the art are more efficient techniques for analyzing large-scale generative design data sets. Summary of the invention

[0011] Various embodiments include a computer-implemented method for analyzing design options, the method comprising: generating a set of design options based on a problem definition associated with an engineering design problem; generating a set of images based on the set of design options, wherein each image included in the set of images is associated with a different alpha value; combining the set of images to generate a first composite, the first composite indicating at least a portion of a boundary associated with each design option included in the set of design options; receiving a first user interaction with the first composite; and generating a subset of design options based on the first user interaction and one or more geometric criteria derived from the first user interaction.

[0012] At least one technical advantage of the disclosed design application over the prior art is that the large-scale data sets typically associated with the generative design process can be more efficiently navigated to identify the design options that best meet engineering and / or aesthetic criteria. Thus, the disclosed design application relieves the designer from laboriously analyzing each of a large number of design options. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] In order to be able to understand in detail the manner in which the above-mentioned features of the various embodiments of the present invention are described in more detail by reference to the embodiments, which have been briefly summarized above, some of which are shown in the accompanying drawings. However, it should be noted that the drawings only show typical embodiments of the present invention and are therefore not to be considered as limiting the scope of the present invention, as the present invention may admit of other equally effective embodiments.

[0014] Figure 1 A system configured to implement one or more aspects of the present invention is shown;

[0015] Figure 2 According to various embodiments of the present invention Figure 1 A more detailed description of the design application;

[0016] Figure 3A An exemplary problem definition according to various embodiments of the present invention is shown;

[0017] Figure 3B An exemplary design space according to various embodiments of the present invention is shown;

[0018] Figure 4 According to various embodiments of the present invention Figure 2 A more detailed illustration of the Design Browser;

[0019] Figure 5 According to various embodiments of the present invention Figure 2 A more detailed illustration of the synthetic browser;

[0020] Figure 6 The present invention shows various embodiments of the Figure 2 How the graphical user interface (GUI) engine generates composite images;

[0021] Fig. 7A Various embodiments of the present invention are shown. Figure 2 How the GUI engine filters the design space through the chisel tool;

[0022] Figure 7B The present invention shows various embodiments of the Figure 2 How the GUI engine filters the design space through selection tools;

[0023] Figure 7C The present invention shows various embodiments of the Figure 2 How the GUI engine filters the design space through edge tools;

[0024] Figure 8 is a flow chart of method steps for generating a composite image representing a portion of a design space according to various embodiments of the present invention;

[0025] Fig. 9 According to various embodiments of the present invention Figure 2 A more detailed illustration of the trade-offs for browsers;

[0026] Fig.10 is a flow chart of method steps for generating a subset of design options having one or more competing design features according to various embodiments of the invention. DETAILED DESCRIPTION

[0027] In the following description, numerous specific details are set forth to provide a more thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be practiced without one or more of these specific details.

[0028] As described above, a designer may implement a generative design process to generate a design space that includes a variety of design options that meet specific design criteria. However, the design space may contain a large number of design options. As a result, it may be difficult for a designer to navigate the design space to identify a specific subset of design options that best meet the various functional and / or aesthetic principles held by the designer. These problems are further complicated when multiple designers have different views on the functional and / or aesthetic principles that need to be coordinated with each other to navigate the design space.

[0029] To address these issues, various embodiments include a design application configured to visualize and browse large-scale generative design data sets. A design browser includes a GUI engine that can generate a design browser, a synthesis browser, and a trade-off browser. The design browser displays a visualization of multiple design options contained in a design space. The design browser allows a user to filter the design space based on input parameters that affect the generative design process and various design features associated with different design options. The synthesis browser displays a fully interactive synthesis containing multiple different design options. The synthesis browser provides various tools that allow users to filter the design space through interaction with the synthesis. The trade-off browser displays a trade-off space based on different rankings of the design options. The different rankings may correspond to competing design features specified by different designers.

[0030] At least one technical advantage of the disclosed design application over the prior art is that large-scale data sets typically associated with generative design processes can be more efficiently navigated to identify design options that best meet engineering and / or aesthetic criteria. Thus, the disclosed design application relieves a designer from laboriously analyzing each of a large number of design options. Another technical advantage of the disclosed design application is that design options are automatically analyzed relative to potentially competing design features to determine a subset of design options that most effectively embody those design features. Thus, the disclosed design application allows designers with different opinions on which design options meet engineering and / or aesthetic criteria to more effectively collaborate to select a design. Thus, the disclosed design application is particularly useful for processing large-scale data sets, such as those typically associated with generative design projects. For these reasons, the disclosed technology represents a significant technical advance over previous approaches.

[0031] System Overview

[0032] Figure 1 A system configured to implement one or more aspects of the present invention is shown. As shown, system 100 includes one or more clients 110 and one or more servers 130 coupled together via a network 150. A given client 110 or a given server 130 can be any technically feasible type of computer system, including a desktop computer, a laptop computer, a mobile device, a virtualized instance of a computing device, a distributed and / or cloud-based computer system, etc. Network 150 can be any technically feasible set of interconnected communication links, including a local area network (LAN), a wide area network (WAN), the World Wide Web or the Internet, etc.

[0033] As further shown, client 110 includes a processor 112, an input / output (I / O) device 114, and a memory 116 coupled together. Processor 112 includes any technically feasible set of hardware units configured to process data and execute software applications. For example, processor 112 may include one or more central processing units (CPUs). I / O device 114 includes any technically feasible set of devices configured to perform input and / or output operations, including, for example, a display device, a keyboard, and a touch screen, etc.

[0034] Memory 116 includes any technically feasible storage medium configured to store data and software applications, such as a hard disk, random access memory (RAM) modules, and read-only memory (ROM). Memory 116 includes client design application 120(0). Client design application 120(0) is a software application that, when executed by processor 112, causes processor 112 to interoperate with a corresponding client design application 120(1) resident in server 130, as will be described in more detail below.

[0035] The server 130 includes a processor 132, an I / O device 134, and a memory 136 coupled together. The processor 132 includes any technically feasible set of hardware units configured to process data and execute software applications, such as one or more CPUs. The I / O device 134 includes any technically feasible set of devices configured to perform input and / or output operations, such as a display device, a keyboard, or a touch screen, etc.

[0036] Memory 136 includes any technically feasible storage medium configured to store data and software applications, such as, for example, a hard disk, a RAM module, and a ROM. Memory 136 includes server-side design application 120(1). Server-side design application 120(1) is a software application that, when executed by processor 132, enables processor 132 to interoperate with client-side design application 120(0), as described above.

[0037] In operation, the client-side design application 120(0) generates a problem definition 122 based on input received from a user. The problem definition 122 specifies various design constraints, design goals, and other design criteria associated with the engineering problem to be solved. The server-side design application 120(1) analyzes the problem definition 122 and implements a generative design process to generate a design space 124 based on the problem definition 122. The design space 124 includes a plurality of design options 126. Each design option 126 satisfies various design criteria set forth in the problem definition 122. The client-side design application 120(0) performs various techniques to visualize and navigate the plurality of design options 126 contained in the design space 124. The client-side design application 120(0) also performs various techniques to filter the design options 126 to generate design selections 128. The design selections 128 satisfy various engineering and / or aesthetic criteria associated with one or more users.

[0038] Typically, the client-side design application 120(0) and the server-side design application 120(1) together represent different parts of a distributed software entity. Therefore, for simplicity, the client-side design application 120(0) and the server-side design application 120(1) are collectively referred to herein as the design application 120. Figure 2 The design application 120 is described in more detail.

[0039] Software Overview

[0040] Figure 2 According to various embodiments of the present invention Figure 1 As shown in the figure, the design application 120 includes a generative design engine 200 and a GUI engine 210.

[0041] Generative design engine 200 processes problem definition 122 to generate design space 124. Specifically, generative design engine 200 performs a generative design process based on problem definition 122 to generate each design option 126 included in design space 124. In one embodiment, generative design engine 200 may execute a multi-objective solver and / or a topology generation algorithm to generate design options 126. Figure 3A An example of problem definition 122 is described in more detail. Figure 3B Examples of design space 124 are described in more detail.

[0042] The GUI engine 210 generates a GUI 220 that represents some or all of the design space 124. The GUI engine 210 receives the user input 212 and then filters the design options 126 based on the user input 212 to generate the design choices 128. As such, the design choices 128 are a subset of the design options 126. The GUI engine 210 includes various sub-modules with which the user can interact to cause the GUI engine 210 to filter the design options 126.

[0043] Specifically, GUI 220 includes a design browser 222, a synthesis browser 224, and a trade-off browser 226. Design browser 222 provides a visualization tool that allows a user to efficiently navigate design space 124. Figure 4 The design browser 222 is described in more detail. The synthesis browser 224 allows a user to interact with the synthesis model of multiple design options 126 to filter those design options and generate some or all of the design selections 128. Figure 5-8 The trade-off browser 226 includes utilities for ranking the design options 126 based on input received from a plurality of users to generate one or more design choices 128. Figure 9-10The tradeoff browser 226 is described in more detail.

[0044] As described above, generative design engine 200 performs a generative design process based on problem definition 122 to generate design space 124 and design options 126 included therein. Figure 3A-3B An exemplary problem definition 122 and corresponding design space 124 generated via a generative design process are set forth.

[0045] Example problem definition and corresponding design space

[0046] Figure 3A Exemplary problem definitions according to various embodiments of the invention are set forth. Problem definition 122 generally relates to an engineering problem to be solved. In the example shown, the engineering problem is the need for a structure that can support a specific load. The structure needs to be placed between an upper support and a lower support and should have sufficient strength to support the specific load. Problem definition 122 captures these various design criteria in the manner shown.

[0047] More specifically, problem definition 122 includes an upper support 300 and a lower support 310, wherein load 302 is applied to upper support 300. Problem definition 122 also includes a generative region 320 where a generative design process can occur, and a non-generative region 330 where a generative design process cannot occur.

[0048] Based on problem definition 122, Figure 2 The generative design engine 200 performs an iterative generative design process to programmatically generate design options 126 that solve the above-described engineering design problem and satisfy the various design criteria listed in the problem definition 122. For example, the generative design engine 200 can execute a multi-objective solver and / or a topology generation algorithm to generate a three-dimensional (3D) set of structures that couple the upper support 300 and the lower support 310 within the generation region 320 and have sufficient strength to support the load 302. The generative design engine 200 performs a generative design process to generate and populate the design space 124 with design options 126, as described below in conjunction with Figure 3B Described in more detail.

[0049] Figure 3B An exemplary design space according to various embodiments of the present invention is shown. Design space 124 corresponds to the above combined Figure 3B The engineering problem mentioned above includes design options 126(0) to 126(N). Each design option 126 includes a Figure 3A The geometry of the design criteria proposed in the problem definition 122.

[0050] Generative design engine 200 can generate a large number of design options 126 within design space 124. For example, generative design engine 200 can generate ten thousand design options 126 that all meet the design criteria listed in problem definition 122. Some design options 126 can include similar geometries, such as design options 126(0) and 126(1), while other design options 126 can include different geometries, such as design options 126(1) and 126(N). In general, design options 126 include any technically feasible geometry, including regular structures as well as irregular structures.

[0051] In one embodiment, generative design engine 200 may generate different design options 126 by changing one or more input parameters of the generative design process. In another embodiment, generative design engine 200 may also generate design options 126 by changing one or more values ​​set forth in problem definition 122, thereby potentially increasing the number of design options 126 included in design space 124 by a large amount.

[0052] Because design space 124 may include a large number of design options 126, and because those design options 126 may have a range of different types of geometries, a user is typically unable to manually analyze each design option 126 one by one in any reasonable amount of time. In other words, design space 124 contains a large amount of data that a user cannot process without ignoring potentially feasible design options 126. To address this problem, Figure 2 The GUI engine 210 generates a design browser 222, a composition browser 224, and a tradeoff browser 226 in the GUI 220 to provide the user with various tools to visualize, browse, and filter the design space 124, as described in more detail below.

[0053] Design browser for browsing the design space

[0054] Figure 4 According to various embodiments of the present invention Figure 2 As shown, the design browser 222 includes a design viewer 400, a multi-attribute grid 410, input parameters 420, design features 430, and a design sort 440.

[0055] The design viewer 400 depicts the various design options 126 included in the design space 124. The design viewer 400 may also depict any subset of the design options 126. The design options may be displayed as single points, thumbnails, or interactive 3D models, among other representations. The multi-attribute grid 410 depicts a classification of the design options 126 placed relative to a set of axes based on different sets of design features.

[0056] Input parameters 420 include single property controls 422 that can be manipulated by a user to change the values ​​of various input parameters. Each input parameter generally corresponds to an input to the generative design process discussed previously. For example, a given input parameter may be Figure 3A The user may manipulate a given single attribute control 422 to set a specific value of the load 302. The user may manipulate a given single attribute control 422 to set a specific value range for the corresponding input parameter. In response, the GUI engine 210 updates the design viewer 400 and / or the multi-attribute grid 410 to filter out those design options 126 having input parameters that fall outside of the value range. In this manner, the single attribute controls 422 enable the user to efficiently navigate the design space 124. Each single attribute control 422 also indicates the distribution of design options 126 representing different parameter values ​​for different design options 126.

[0057] The design features 430 include single attribute controls 432 that can be manipulated by the user to change the values ​​of various design features. Each design feature generally corresponds to an emergent property associated with a design option 126. For example, a given design feature can be a weight value for a corresponding design option 126. Similar to the single attribute controls 422 described above, a user can manipulate a given single attribute control 432 to set a specific range of values ​​for the corresponding design feature. In response, the GUI engine 210 updates the design viewer 400 and / or the multi-attribute grid 410 to filter out those design options 126 having design features that fall outside of the value range. In this manner, the single attribute controls 432 enable the user to efficiently navigate the design space 124. Each single attribute control 432 also indicates the distribution of design options 126 representing different design feature values ​​for different design options 126.

[0058] Design sort 440 includes one or more sorts 442 and sort set controls 444. A user can manipulate each sort control 444 to adjust the weight value applied to a corresponding design option attribute. A given design option attribute can be an input parameter or a design feature. Based on the settings applied to the sort control 444, GUI engine 210 sorts the design options 126 within the sort 442. The sort 442 indicates the distribution of the design options 126 sorted based on the weight values ​​set forth in the sort control 444.

[0059] Based on the interaction with the user, the GUI engine 210 gradually filters the design space 124 to suppress the display of design options 126 that do not meet various selection criteria. The user can specify various selection criteria through the different GUI controls discussed above. As the design options 126 that do not meet the selection criteria are filtered out, the design viewer 400 displays fewer and fewer design options 126. The design viewer 400 also displays more detailed versions of the remaining design options 126. The user can also interact with the composite version of multiple design options 126 by interacting with the composite browser 224, as described below in conjunction with Figure 5-8 Described in more detail.

[0060] Synthesis browser for filtering design space

[0061] Figure 5 According to various embodiments of the present invention Figure 2 As shown, the composite browser 224 includes a composite body 500, which, in the example shown, is based on Figure 3B The design options 126(0), 126(1) and 126(N) are generated.

[0062] The GUI engine 210 generates the composite 500 to display various contours associated with the plurality of design options 126 in conjunction with one another. In this way, design options 126 having similar or dissimilar features can be more easily compared to one another. The GUI engine 210 exposes a set of tools in the composite browser 224 that allow the user to filter the design space 124 based on interaction with the composite 500. In particular, the composite browser 224 includes a chisel tool 510, a selection tool 520, and an edge tool 530. Fig. 7A , 7B and 7C describe these different tools in more detail.

[0063] GUI engine 210 may use several different techniques to generate composite body 500. In practice, GUI engine 210 renders a set of images based on the 3D model associated with different design options 126, and then composites the set of images together with varying alpha values, as shown below. Figure 6 Described in more detail.

[0064] Figure 6 The present invention shows various embodiments of the Figure 2500. As shown, the GUI engine 210 performs a rendering operation with each design option 126 to generate a different image 600. Each image 600 is a two-dimensional (2D) rendering of a 3D model associated with a given design option 126. The GUI engine 210 calculates a different alpha value for each image 600. A given alpha value can have any value between 0 and 1. In the example shown, the alpha values ​​of images 600(0), 600(1), and 600(N) are A, B, and C. The GUI engine 210 performs an alpha blending process on the images 600 based on the associated alpha values ​​to generate the composite body 500.

[0065] In one embodiment, the GUI engine 210 may sequentially perform the above-described alpha blending process for the image sequence 600. In doing so, the GUI engine 210 may assign an alpha value to each image 600 depending on the position of the image 600 in the sequence. n Given an image 600, the GUI engine 210 may assign 1 / P n For example, the GUI engine 210 may assign alpha values ​​of 1, 1 / 2, and 1 / 3 to the images 600(0), 600(1), and 600(N), respectively.

[0066] Generally speaking Figure 5-6 , the above-described synthesis method is computationally efficient, thus allowing the GUI engine 210 to update the composite body 500 in real time based on user input. For example, the GUI engine 210 may receive user input indicating that the composite body 500 should be rotated in 3D. In response, the GUI engine 210 may rotate the 3D models associated with each base design option 126, render a set of images representing rotated versions of these 3D models, and then synthesize the images together to generate an updated version of the composite body 500. The engine 210 may perform these steps quickly enough to allow a smooth rotation of the composite body 500 to be displayed to the user.

[0067] In one embodiment, the GUI engine 210 may generate the composite body 500 by combining a set of 3D models associated with the plurality of design options 126 and then rendering a single image based on those combined models. The GUI engine 210 may also generate a rotated version of the composite body 500 in response to user input by applying a rotation operation to the combined models and rendering another image. In another embodiment, the GUI engine 210 may generate a rotated version of the composite body 500 by performing a combined operation. Figure 6 An alpha blending method with a set of pre-rendered images is described to generate a composite volume 500.

[0068] As described above, the design browser 224 exposes a set of tools that allow the user to interact with the composite 500 to filter out design options 126 that do not meet certain selection criteria proposed by the user. Figure 7A-7B Describe these tools in more detail.

[0069] Fig. 7A The present invention shows various embodiments of the Figure 2 26(N). GUI engine 210 illustrates how the GUI engine of FIG. 26 may filter the design space via the chisel tool. As shown, a user indicates a location 700 on composite body 500 using chisel tool 510. Based on location 700, GUI engine 210 performs a hit test on each base 3D model to determine that location 700 intersects design option 126(N) but does not intersect design options 126(0) and 126(1). In response, GUI engine 210 filters out design option 126(N) and regenerates composite body 500 to not include any images derived from design option 126(N). In this manner, chisel tool 510 allows a user to select specific areas where design options 126 should not include any material, and eliminates any design options 126 that include material in those specific areas.

[0070] Figure 7B The present invention shows various embodiments of the Figure 2 520. As shown, using the selection tool 520, the user indicates a location 710 on the composite body 500. Based on the location 710, the GUI engine 210 performs a hit test on each of the base 3D models to determine that the location 710 intersects with the design options 126(0) and 126(1), but does not intersect with the design option 126(N). In response, the GUI engine 210 filters out the design option 126(N) and regenerates the composite body 500 to not include any images derived from the design option 126(N). Using this technique, the selection tool 520 allows the user to select specific areas where the design options 126 should include material, and eliminates any design options 126 that do not include material in those specific areas.

[0071] Figure 7C The present invention shows various embodiments of the Figure 2 530, a user traces an arc 730 on a portion of the composite body 500. The GUI engine 210 analyzes the arc 730 and then generates neighboring points 732 and 734. The neighboring points 732 and 734 are located on opposite sides of the arc 730. The GUI engine 730 performs a hit test on the 3D model associated with each base design option 126 to determine whether any of the neighboring points 732 and 734 intersects the 3D model.

[0072] Where each adjacent point 732 intersects the given 3D model and each adjacent point 734 does not intersect the given 3D model, the GUI engine 210 determines that the arc 730 resides along an edge of the given 3D model. The GUI engine 210 then filters the design options 126 to eliminate any design options 126 that lack an edge that aligns with the arc 730. In the example shown, the GUI engine 210 determines that the arc 730 resides along an edge of design option 126 (N), but does not reside along any edges of design options 126 (0) and 126 (1). Therefore, the GUI engine 210 suppresses design options 126 (0) and 126 (1) and regenerates the composite 500 to not include any images derived from design options 126 (0) and 126 (1). In this manner, the edge tool 530 allows the user to indicate specific geometric features that the design options 126 should have, and eliminates any design options 126 that lack these specific geometric features. Figure 8 Each of the above techniques is described in more detail.

[0073] Figure 8 is a flow chart of method steps for generating a composite image representing a portion of a design space according to various embodiments of the present invention. Figures 1 to 7C The method steps are described with reference to a system, but those skilled in the art will understand that any system configured to perform the method steps in any order is within the scope of the present invention.

[0074] As shown, method 800 begins at step 802, wherein Figure 2 The generative design engine 200 generates a set of design options. The generative design engine 200 analyzes the problem definition 122 and then generates a design space 124 containing design options 126. In doing so, the generative design engine 200 performs a generative design process. In one embodiment, the generative design engine 200 can execute a multi-objective solver and / or a topology generation algorithm to generate the design options 126.

[0075] In step 804, Figure 2 The GUI engine 210 renders a set of images based on the set of design options. Each image is a 2D rendering of a 3D model associated with a given design option 126. In one embodiment, after the design engine 200 initially generates the design options 126, the GUI engine 210 can pre-render the set of images.

[0076] At step 806, the GUI engine 210 calculates a different alpha value for each image. A given alpha value may be any value between zero and one. In one embodiment, the GUI engine 210 may generate a different alpha value for each image, the alpha value depending on the position of the image in the sequence. For an image with position number P in the sequence, nFor a given image, the GUI engine 210 can convert 1 / P n The alpha value is assigned to the image. This method can allow each image to contribute an equal number of pixel values ​​during subsequent alpha blending.

[0077] In step 808, the GUI engine 210 synthesizes the image set based on different alpha values ​​to generate a synthesized image. The GUI engine 210 performs an alpha blending process using the alpha value generated in step 806. The GUI engine 210 may sequentially synthesize the images using the techniques described in conjunction with step 806.

[0078] At step 810, the GUI engine 210 outputs the composite image to a display device. The GUI engine 210 may perform steps 804, 806, 808, and 810 in a computationally efficient manner so that the composite body may be generated and / or updated in real time based on user input. For example, the GUI engine 210 may perform these steps to generate a rotated version of the composite body based on a rotation command received from a user.

[0079] In step 812, the GUI engine 210 determines a set of points in the composite image. The GUI engine 210 may determine the set of points based on the user's interaction with any of the chisel tool 510, the selection tool 520, and the edge tool 530. The set of points may correspond to, for example, Fig. 7A and 7B Any of the positions 700 and 710 shown in FIG. 1 , or Figure 7C The arc 730 shown in FIG.

[0080] At step 814, the GUI engine 210 projects the point set into each design option to generate a set of hit results. In particular, the GUI engine 210 performs hit testing using the point set and the different 3D models associated with each design option 126. The GUI engine 210 then generates hit test results indicating which points in the point set intersect with which 3D models.

[0081] At step 816, the GUI engine 210 generates a subset of design options based on the hit results. Depending on the specific tool that determined the point set, the GUI engine 210 performs different operations. If the point set is determined using the chisel tool 510, the GUI engine 210 suppresses any design options 126 that have 3D models that intersect the point set, as described above in conjunction with Fig. 7A If a point set is determined using the selection tool 520, the GUI engine 210 suppresses any design options 126 having a 3D model that does not intersect the point set, as described above in conjunction with Figure 7B If a set of points is determined using the edge tool 510, the GUI engine 210 suppresses any design options 126 that have 3D models that lack edges corresponding to those points, as described above in conjunction with Figure 7C as described.

[0082] At step 818, the GUI engine 210 updates the composite image based on the subset of design options. The GUI engine 210 generates the design choices 128 to reflect the subset of design options 126 generated via step 816, and then updates the composite to include only the images derived from the remaining 3D models. The GUI engine 210 may re-render the image based on the remaining 3D model, or simply recalculate the alpha value of the corresponding image and repeat the alpha blending process.

[0083] Overall reference Figure 5-8 One advantage of the techniques described thus far is that GUI engine 210 can effectively filter design space 124 based on user input to reduce the number of design options 126 that need to be visually analyzed by the user. Thus, the user can navigate design space 124 more efficiently than with conventional techniques.

[0084] The GUI engine 210 also implements additional techniques to analyze the trade-offs between different rankings of the design options 126 associated with different users, as will be described below in conjunction with Figure 9-10 Described in more detail.

[0085] Trade-off Explorer for Constraining Design Spaces

[0086] Fig. 9 According to various embodiments of the present invention Figure 2 2. More detailed illustration of the tradeoff explorer of FIG. 226. As shown, the tradeoff explorer 226 includes a tradeoff space 900, which includes ranking axes 902(0) and 902(1). The tradeoff space 900 includes the design options 126 plotted relative to the ranking axes 902. The tradeoff explorer 226 also includes Figure 4 4. The design ordering 440 includes the orderings 442(0) and 442(1) and the ordering control 444. In operation, the tradeoff browser 226 receives input from a plurality of users indicating different orderings of the design options 126. The GUI engine 210 processes the different orderings and then populates the tradeoff space 900 with the design options 126 organized according to those orderings. To do so, the GUI engine 210 configures each ordering axis 902 based on the different orderings 442 and then positions each design option 126 relative to those ordering axes.

[0087] In the example shown, the GUI engine 210 receives input from two users and then generates rankings 442(0) and 442(1) based on the input. The GUI engine 210 then populates the trade-off space 900 with the design options 126 according to the rankings 442(0) and 442(1). Specifically, the GUI engine 210 configures the ranking axis 902(0) based on the ranking 442(0) and configures the ranking axis 902(1) based on the ranking 442(1). For a given design option 126, the GUI engine 210 then determines a set of coordinates for locating the given design option 126 within the trade-off space 900. The GUI engine 210 determines the set of coordinates based on the ranking of the given design option 126 within the rankings 442(0) and 442(1). For example, assume that the given design option 126 is ranked 32nd within the ranking 442(0) and 16th within the ranking 442(1). GUI engine 210 may then position a given design option 126 with respect to sorting axes 902 ( 0 ) and 902 ( 1 ) at (X, Y) coordinates of (32, 16).

[0088] By the above method, the GUI engine 210 generates a trade-off space 900 to visually depict the extent to which different design options 126 satisfy two or more rankings. Those rankings may be generated by different users who have different opinions on which design options 126 most effectively satisfy various engineering and / or aesthetic criteria. Thus, the positioning of the design options 126 within the trade-off space 900 reflects the trade-offs between the different design options 126 relative to those different rankings. For example, a design option 126 residing in the upper left quadrant of the trade-off space 900 may be ranked higher according to ranking 442 (0), but ranked lower according to ranking 442 (1). Conversely, a design option 126 residing in the lower right quadrant of the trade-off space 900 may be ranked lower according to ranking 442 (0), but ranked higher according to ranking 442 (1).

[0089] In one embodiment, the GUI engine 210 automatically generates a ranking 442 based on user input. The user input reflects sample design options 126 that should have a higher ranking. The GUI engine 210 analyzes one or more highly ranked sample design options 126 indicated in the user input, and then ranks the other design options 126 based on the similarity of those design options 126 to the highly ranked design options 126. Among other methods, the GUI engine 210 can determine the similarity between the design options 126 based on the design features 430 associated with those design options 126. The GUI engine can also perform the above techniques using sample design options 126, and the sample design options 126 should also be ranked lower. In doing so, the GUI engine 210 analyzes one or more lower ranked sample design options 126, and then ranks the other design options 126 based on how different those design options 126 are from the lower ranked design options 126.

[0090] Once the GUI engine 210 generates and populates the trade-off space 900, the GUI engine 210 then analyzes the positions of the design options 126 in the trade-off space 900 to identify a subset 910 of the design options 126 that are ranked highly according to one or both rankings 442. This subset 910 of the design options 126 may similarly or equally satisfy the engineering and / or aesthetic criteria or both users, or may represent trade-offs between different engineering and / or aesthetic criteria. The GUI engine 210 may perform several different techniques to identify the subset of the design options 126.

[0091] In one embodiment, the GUI engine 210 may determine a Pareto frontier that includes design options 126 that maximize a metric that reflects both the rankings 442(0) and 442(1). In another embodiment, the GUI engine 210 may generate a convex hull that intersects the design options 126 that minimize the total distance to the ranking axes 902(0) and 902(1). In yet another embodiment, the GUI engine 210 may identify design options 126 that fall within a particular geometric region or envelope of the tradeoff space 900.

[0092] Through the above techniques, the GUI engine 210 automatically analyzes and visualizes the trade-offs between the design options 126 based on the different rankings 442. These techniques are particularly useful when these rankings are very different or inconsistent with each other. In particular, different users with different engineering and / or aesthetic standards may rank the design options 126 differently. The GUI engine 210 facilitates collaboration between these different users by automatically identifying specific design options 126 that can satisfy the engineering and / or aesthetic standards of both users. Fig.10 Each of the above techniques is described in more detail.

[0093] Fig.10 is a flow chart of method steps for generating a subset of design options having one or more competing design features according to various embodiments of the present invention. Figure 1-2 The system of and 9 describes the method steps, but those skilled in the art will understand that any system configured to perform the method steps in any order falls within the scope of the present invention.

[0094] As shown, method 1000 begins at step 1002, wherein Figure 2 The generative design engine 200 generates a set of design options. The generative design engine 200 generates a design space 124 and design options 126 based on the problem definition 122 through a generative design process. Step 1002 is similar to the above combined Figure 8 Step 802 of method 800 is described.

[0095] At step 1004, the GUI engine 210 determines a set of design features corresponding to each design option. The GUI engine 210 may analyze the physical properties of the design options 126, evaluate the geometric attributes of the design options 126, determine various engineering properties 126 of the design options, and so on. In general, at step 1004, the GUI engine 210 determines any technically feasible set of emergent features for each design option 126.

[0096] At step 1006, the GUI engine 210 generates a first ranking of the design option sets based on the first user input. In one embodiment, the first user input indicates a design option set 126 that should be ranked highly and / or a design option set 126 that should be ranked low. The first user may provide the first user input, for example, by manually ranking several design options 126. The GUI engine 210 may analyze the first user input and rank the other design options 126 based on how similar or dissimilar those other design options 126 are to the highly ranked and low ranked design options 126m, respectively. When determining the similarity and / or dissimilarity between any two design options 126, the GUI engine 210 may compare the values ​​of the corresponding design characteristics associated with those design options 126.

[0097] At step 1008, the GUI engine 210 generates a second ranking of the design option sets based on the second user input. In one embodiment, the second user input indicates design option sets 126 that should be ranked highly and / or design option sets 126 that should be ranked low, as described above in connection with step 1006. The second user typically provides the second user input, although in some cases, only one user may provide the first user input and the second user input. In some cases, the first ranking and the second ranking may be significantly different from each other due to differences in opinion between the first user and the second user.

[0098] In step 1010, the GUI engine 210 generates a trade space including a set of design options. The GUI engine 210 processes the first and second rankings generated in steps 1006 and 1008, and then organizes the design options 126 in the trade space 900 based on these rankings. In doing so, the GUI engine 210 configures each ranking axis 902 based on a different ranking, and then positions each design option 126 relative to those ranking axes.

[0099] At step 1012, the GUI engine 210 organizes the set of design options within the trade space based on the first ranking and the second ranking. In one embodiment, for a given design option 126, the GUI engine 210 can generate a set of Cartesian coordinates based on how the design option 126 is ranked in the first and second rankings. The GUI engine 210 then positions the design option 126 within the trade space 900 based on those coordinates. In general, the position of a given design option 126 within the trade space 900 reflects how the design option 126 is ranked according to the first and second rankings.

[0100] At step 1014, the GUI engine 210 generates a Pareto frontier based on the set of design options. The Pareto frontier may reside along a convex edge of an envelope that includes all of the design options 126. The Pareto frontier may be determined using any technically feasible set of techniques. In one embodiment, the GUI engine 210 may calculate a metric for each design option 126 based on the first and second rankings, and then incrementally include the design options 126 within the Pareto frontier that minimizes the metric.

[0101] At step 1016, the GUI engine 210 determines a subset of the design options that reside along the Pareto frontier. The subset of design options 126 may correspond to Figure 1 1014. The subset of design options 126 may also define a Pareto frontier when the frontier is calculated using the techniques described above in conjunction with step 1014. The subset of design options 126 may satisfy the engineering and / or aesthetic criteria of the first user and the second user, and therefore represent a fair trade-off between the different opinions held by each user. Those skilled in the art will appreciate that the techniques described herein may be applied to making trade-offs between a variety of different options other than those associated with engineering design problems.

[0102] In summary, a design application is configured to visualize and explore large-scale generative design datasets. A design browser includes a GUI engine that can generate a design browser, a synthesis browser, and a trade-off browser. The design browser displays a visualization of multiple design options contained in a design space. The design browser allows a user to filter the design space based on input parameters that affect the generative design process and various design features associated with different design options. The synthesis browser displays a fully interactive synthesis containing multiple different design options. The synthesis browser provides various tools that allow the user to filter the design space through interaction with the synthesis. The trade-off browser displays the trade-off space based on different rankings of the design options. The different rankings may correspond to competing design features specified by different designers.

[0103] At least one technical advantage of the disclosed technology over the prior art is that large-scale data sets typically associated with generative design processes can be more efficiently browsed to identify design options that best meet engineering and / or aesthetic criteria. Among other things, the disclosed technology relieves designers from having to analyze every design option generated by a generative design system. Another technical advantage of the disclosed technology is that design options are automatically analyzed relative to potentially competing design features to determine a subset of design options that most effectively embody those design features. Therefore, the disclosed technology allows designers who have different opinions on which design options meet engineering and / or aesthetic criteria to work together more effectively when evaluating and selecting designs. Therefore, the disclosed technology is particularly useful for processing large-scale data sets, such as those typically associated with generative design projects. These technical advantages represent one or more technical advances over prior art methods.

[0104] 1. Some embodiments include a computer-implemented method for analyzing design options, the method comprising: generating a set of design options based on a problem definition associated with an engineering design problem; generating a set of images based on the set of design options, wherein each image included in the set of images is associated with a different alpha value; combining the set of images to generate a first composite body, the first composite body indicating at least a portion of a boundary associated with each design option included in the set of design options; receiving a first user interaction with the first composite body; and generating a subset of design options based on the first user interaction and one or more geometric criteria derived from the first user interaction.

[0105] 2. A computer-implemented method according to clause 1, wherein generating the set of design options includes: determining at least one design criterion included in the problem definition; performing a generative design process based on the at least one design criterion, wherein each design option included in the set of design options satisfies the at least one design criterion; and filtering the set of design options based on a first ranking of the set of design options, wherein the first ranking indicates the extent to which each design option included in the set of design options includes a first design feature.

[0106] 3. A computer-implemented method according to any of clauses 1-2, wherein each design option included in the set of design options includes a different three-dimensional model, and generating the set of images includes performing a different rendering operation for each different three-dimensional model.

[0107] 4. A computer-implemented method according to any of clauses 1-3, wherein combining the set of images comprises assigning an ordered set to the set of images, and performing one or more alpha blending operations on the set of images based on the ordered set.

[0108] 5. A computer-implemented method according to any of clauses 1-4, wherein generating a subset of design options comprises: generating a point set based on a first user interaction with the first composite body; and filtering the set of design options based on the point set and the one or more geometric criteria.

[0109] 6. A computer-implemented method according to any of clauses 1-5, wherein filtering the set of design options based on the point set and the one or more geometric criteria comprises: determining that a portion of the three-dimensional model associated with a first design option intersects with at least one point included in the point set; and including the first design option in the subset of design options.

[0110] 7. A computer-implemented method according to any of clauses 1-6, wherein filtering the set of design options based on the point set and the one or more geometric criteria comprises: determining that a portion of the three-dimensional model associated with a first design option does not intersect any point included in the point set; and including the first design option in the subset of design options.

[0111] 8. A computer-implemented method according to any one of clauses 1-7, wherein filtering the set of design options based on the point set and the one or more geometric criteria comprises: determining that an edge portion of the three-dimensional model associated with a first design option resides along a sequence of points included in the point set; and including the first design option in a subset of the design options.

[0112] 9. The computer-implemented method of any of clauses 1-8, further comprising: generating a second composite body based on the first composite body in response to user input indicating that the first composite body should be rotated.

[0113] 10. The computer-implemented method of any one of clauses 1-9, further comprising: generating a set of three-dimensional models based on the set of design options; combining the set of three-dimensional models to generate a second composite body; and generating a second subset of design options based on a second user interacting with the second composite body.

[0114] 11. Some embodiments include a non-transitory computer-readable medium storing program instructions that, when executed by a processor, cause the processor to analyze design options by performing the following steps: generating a set of design options based on a problem definition associated with an engineering design problem; generating a set of images based on the set of design options, wherein each image included in the set of images is associated with a different alpha value; combining the set of images to generate a first composite body, the first composite body indicating at least a portion of a boundary associated with each design option included in the set of design options; receiving a first user interaction with the first composite body; and generating a subset of design options based on the first user interaction and one or more geometric criteria derived from the first user interaction.

[0115] 12. A non-transitory computer-readable medium according to clause 11, wherein the step of generating the set of design options includes: determining at least one design criterion included in the problem definition; performing a generative design process based on the at least one design criterion, wherein each design option included in the set of design options satisfies the at least one design criterion; and filtering the set of design options based on a first ranking of the set of design options, wherein the first ranking indicates the extent to which each design option included in the set of design options includes a first design feature.

[0116] 13. The non-transitory computer-readable medium of any of clauses 11-12, wherein each design option included in the set of design options comprises a different three-dimensional model, and generating the set of images comprises performing a different rendering operation for each different three-dimensional model.

[0117] 14. The non-transitory computer-readable medium of any of clauses 11-13, wherein the step of combining the set of images comprises assigning an ordered set to the set of images, and performing one or more alpha blending operations on the set of images based on the ordered set.

[0118] 15. The non-transitory computer-readable medium of any of clauses 11-14, further comprising generating a first alpha value for a first image in the set of images based on a first ranking assigned to the first image.

[0119] 16. The non-transitory computer-readable medium of any of clauses 11-15, wherein the step of combining the set of images comprises alpha blending the first image and the second image based on the first alpha value. .

[0120] 17. A non-transitory computer-readable medium according to any of clauses 11-16, wherein the step of generating the subset of design options comprises: generating a point set based on a first user interaction with the first composite body; and filtering the set of design options based on the point set and the one or more geometric criteria.

[0121] 18. A non-transitory computer-readable medium according to any of clauses 11-17, wherein filtering the set of design options based on the point set and the one or more geometric criteria includes: determining that a portion of the three-dimensional model associated with a first design option intersects with at least one point included in the point set; and including the first design option in the subset of design options.

[0122] 19. A non-transitory computer-readable medium according to any of clauses 11-18, wherein filtering the set of design options based on the point set and the one or more geometric criteria includes: determining that a portion of the three-dimensional model associated with a first design option does not intersect any point included in the point set; and including the first design option in the subset of design options.

[0123] 20. Some embodiments include a system comprising: a memory storing a software application; and a processor executing the software application to perform the following steps: generating a set of design options based on a problem definition associated with an engineering design problem; generating a set of images based on the set of design options, wherein each image included in the set of images is associated with a different alpha value; combining the set of images to generate a first composite body, the first composite body indicating at least a portion of a boundary associated with each design option included in the set of design options; receiving a first user interaction with the first composite body; and generating a subset of design options based on the first user interaction and one or more geometric criteria derived from the first user interaction.

[0124] Any and all combinations of any claim elements recited in any claim and / or any elements described in this application, in any manner, are within the intended scope of the invention and protection.

[0125] The description of the various embodiments has been presented for purposes of illustration, but is not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments.

[0126] Aspects of the present embodiments may be embodied as systems, methods, or computer program products. Thus, aspects of the present disclosure may take the form of a complete hardware embodiment, a complete software embodiment (including firmware, resident software, microcode, etc.), or an embodiment that combines software and hardware aspects that may generally be referred to herein as "modules" or "systems" in their entirety. In addition, aspects of the present disclosure may take the form of a computer program product contained in one or more computer-readable media having computer-readable program code contained thereon.

[0127] Any combination of one or more computer-readable media may be utilized. The computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. A computer-readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or apparatus, or any suitable combination of the foregoing. More specific examples (non-exhaustive list) of computer-readable storage media would include the following: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer-readable storage medium may be any tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or apparatus.

[0128] Aspects of the present disclosure are described above with reference to the flowchart and / or block diagram of the method, device (system) and computer program product according to the embodiments of the present disclosure. It will be understood that each frame in the flowchart and / or block diagram and the combination of frames in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer or other programmable data processing device to produce a machine. The instructions, when executed via the processor of a computer or other programmable data processing device, enable the function / action specified in one or more frames of the flowchart and / or block diagram to be implemented. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, an application-specific processor or a field programmable gate array.

[0129] The flow charts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a module, segment or part of the code, which includes one or more executable instructions for realizing one or more specified logical functions. It should also be noted that in some alternative implementations, the functions indicated in the box may not occur in the order indicated in the figure. For example, the two boxes shown in succession can actually be executed substantially simultaneously, or sometimes these boxes can be executed in reverse order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart and the combination of the boxes in the block diagram and / or flow chart can be realized by a combination of a system based on special-purpose hardware or special-purpose hardware and computer instructions that performs a specified function or action.

[0130] While the foregoing is directed to embodiments of the present disclosure, other and further embodiments of the disclosure may be devised without departing from the basic scope thereof, and the scope of the disclosure is determined by the claims that follow.

Claims

1. A computer-implemented method for analyzing design options, the method comprising: receiving a first user selection of at least one design option included in a set of design options, wherein each design option included in the set of design options includes a geometric structure; receiving a second user selection of at least one design option included in the set of design options; generating a trade-off space displaying the set of design options based at least in part on a first ranking of the set of design options and a second ranking of the set of design options, wherein the first ranking is generated at least in part based on the first user selection and the second ranking is generated at least in part based on the second user selection; as well as A subset of design options residing along a first boundary within the tradeoff space is generated, wherein at least one design option in the subset of design options is ranked higher than all other design options in the set of design options according to at least one of the first ranking of the set of design options or the second ranking of the set of design options.

2. The computer-implemented method of claim 1 , further comprising: generating, based on the first user selection, a first ranking corresponding to a first design option in the set of design options; generating the first ranking based at least in part on the first ranking; generating a second ranking corresponding to the first design options based on a second user selection; as well as The second ordering is generated based on the second ordering. 3 . The computer-implemented method of claim 2 , further comprising generating a first set of coordinates for the first design option based on the first ranking and the second ranking, wherein the first design option is within the trade-off space based on the first set of coordinates.

4. The computer-implemented method of claim 2, wherein: The first ranking indicates the extent to which the first design option includes a first feature, and the second ranking indicates the extent to which the first design option includes a second feature.

5. The computer-implemented method of claim 2, wherein: Generating the first sorting includes: calculating one or more similarity values ​​between the first design option and one or more other design options in the set of design options; and The set of design options is ranked based on the one or more similarity values.

6. The computer-implemented method of claim 1 , further comprising evaluating a first objective function based on the at least one design option in the subset of design options selected by a first user to generate a first metric, wherein the first metric exceeds any other metric generated for any other design option in the set of design options.

7. The computer-implemented method of claim 1 , further comprising determining the first boundary by: generating a convex hull associated with a set of design options; and The portion of the convex hull that intersects an orientation between a first axis and a second axis associated with the tradeoff space is calculated.

8. The computer-implemented method of claim 1, further comprising calculating the first frontier by determining a Pareto frontier associated with the set of design options.

9. The computer-implemented method of claim 1, further comprising generating the set of design options by filtering a plurality of design options based on a first user interacting with a first composite image including the plurality of design options.

10. The computer-implemented method of claim 1, further comprising generating the first ranking based at least in part on a first set of weight values ​​corresponding to the set of design options, wherein each weight value in the first set of weight values ​​corresponds to a different feature associated with the set of design options.

11. The computer-implemented method of claim 1 , wherein: The display of the trade space includes a first axis and a second axis, and wherein a first design option in the set of design options is displayed at a first position along the first axis based on the first ranking and at a second position along the second axis based on the second ranking.

12. A non-transitory computer readable medium storing program instructions that, when executed by one or more processors, cause the one or more processors to analyze design options by performing the following steps: receiving a first user selection of at least one design option included in a set of design options, wherein each design option included in the set of design options includes a geometric structure; receiving a second user selection of at least one design option included in the set of design options; generating a trade-off space displaying the set of design options based at least in part on a first ranking of the set of design options and a second ranking of the set of design options, wherein the first ranking is generated at least in part based on the first user selection and the second ranking is generated at least in part based on the second user selection; as well as A subset of design options residing along a first boundary within the tradeoff space is generated, wherein at least one design option in the subset of design options is ranked higher than all other design options in the set of design options according to at least one of the first ranking of the set of design options or the second ranking of the set of design options.

13. The non-transitory computer readable medium of claim 12, further comprising the steps of: generating, based on the first user selection, a first ranking corresponding to a first design option in the set of design options; generating the first ranking based at least in part on the first ranking; generating a second ranking corresponding to the first design options based on a second user selection; as well as The second ordering is generated based on the second ordering.

14. The non-transitory computer readable medium of claim 13, further comprising the steps of: A first set of coordinates is generated for the first design option based on the first ranking and the second ranking, wherein the first design option is within the trade-off space based on the first set of coordinates.

15. The non-transitory computer readable medium of claim 13, wherein: The first ranking indicates the extent to which the first design option includes a first feature, and the second ranking indicates the extent to which the first design option includes a second feature.

16. The non-transitory computer readable medium of claim 13, wherein: Generating the first sorting includes: calculating one or more similarity values ​​between the first design option and one or more other design options in the set of design options; and The set of design options is ranked based on the one or more similarity values.

17. The non-transitory computer readable medium of claim 12, wherein: The following steps are also included: A first objective function is evaluated based on the at least one design option in the subset of design options selected by a first user to generate a first metric, wherein the first metric exceeds any other metric generated for any other design option in the set of design options.

18. The non-transitory computer readable medium of claim 12, wherein: The set of design options is generated by filtering a plurality of design options based on a first user interacting with a first composite image including the plurality of design options.

19. The non-transitory computer readable medium of claim 18, further comprising generating the first composite image by: rendering a set of images based on a set of three-dimensional models associated with the set of design options; generating a different alpha value for each image in the image set; and Alpha blending is performed on the set of images.

20. The non-transitory computer readable medium of claim 12, wherein: A first design option maximizes a first metric generated based on the first ranking and the second ranking.

21. A system comprising: one or more memories storing software applications; as well as One or more processors executing the software application to perform the following steps: receiving a first user selection of at least one design option included in a set of design options, wherein each design option included in the set of design options includes a geometric structure; receiving a second user selection of at least one design option included in the set of design options; generating a trade-off space displaying the set of design options based at least in part on a first ranking of the set of design options and a second ranking of the set of design options, wherein the first ranking is generated at least in part based on the first user selection and the second ranking is generated at least in part based on the second user selection; as well as A subset of design options residing along a first boundary within the tradeoff space is generated, wherein at least one design option in the subset of design options is ranked higher than all other design options in the set of design options according to at least one of the first ranking of the set of design options or the second ranking of the set of design options.

22. The system of claim 21, wherein the set of design options indicates trade-offs associated with a decision, wherein the decision corresponds to an engineering design problem, and the set of design options solves the engineering design problem.

Citation Information

Patent Citations

  • Method for image blending

    US20060109284A1

  • Multi-objective design optimization using adaptive classification

    US20160092606A1

  • Approach for generating and exploring a design space

    US20160147913A1

  • Method and apparatus for model-based compositing

    US6532022B1

  • Compositing separately-generated three-dimensional images

    US6891533B1