文章
文章
文章

Getting into the Flow of Generative Design for MEP

分享此文章

Generative Design 101

The future of the AEC industry is extremely exciting. Converging technologies will soon disrupt the whole industry as new automated workflows emerge. Generative design is the pinnacle of these new workflows. Once a problem is thoroughly and adequately defined, all possible design variations can be produced, explored, scored, and optimized. This article will show how generative design can be used for mechanical, electrical, and plumbing (MEP) design engineering.

Before jumping into solving specific MEP problems, it is good to have a holistic understanding of what generative design is, how it works, and what is required to get there. My definition of generative design is, “a connected design process that involves generating outputs that meet certain constraints of a defined problem. The process involves identifying variables to a problem and creating a massive number of possible solutions.”

With the exception of some software programs, you cannot typically buy generative design off the shelf. Software programs such as Test Fit usually only serve to solve individual, specific problems such as multifamily layouts but not hospital layouts.

A process that can fit the needs of an individual or an individual company’s specific problem usually requires more specialized input and development. This has led to increasing popularity of Algorithmic Design. This is largely due to the ease of entry with computational design software. Autodesk was one of the first available lines of such software products. Dynamo is computational design software that connects directly to Revit. With Dynamo, parametric problems could be constructed with variable inputs.

Next came Project Fractal which ran a variety of solutions from a Dynamo script but due to problems with a high number of variables, this process was too slow to bring much value. This has been replaced by Project Refinery resulting in an optimal solution that can be found quickly using genetic algorithms (NSGA-II optimization to be exact). These genetic algorithms are the best tools to solve complex problems with a large or unknown solution.

A genetic algorithm is a calculated trial-and-error search that is inspired by Charles Darwin’s theory of natural selection where the fittest individuals (inputs variable) are selected for reproduction in order to produce offspring for the next generation of inputs. The process optimizes designs quickly by adding a feedback loop. At the end of each generation, the design is scored, or given a “fit score.” Characteristics or attributes from designs with high fitness are then used to create a new set of inputs for the design problem. This process is called “cross over.” Just like biology, the process also introduces mutation or random tweaks to the new set of inputs after each generation to provide diversity to each generation. This guarantees the algorithms will not converge on false optimal solutions. The process repeats, creating a new and improved generation until it finds the best combination of inputs.

Constructing a Generative Design Problem

Building generative design algorithms is simple, but creating an algorithm that results in useful outputs takes creativity and lateral thinking. The goal is to build a flexible and scalable framework that can be applied to an extensive number of design problems. Building a useful framework consists of first asking the right questions and gathering the right data. Next, this information and logic needs to be turned into code that not only solves the problem with a variety of inputs but also give a score to the various solutions. This is where the challenge lies and where a shift will take place in the kinds of skills that designers and engineers will need.

While researching generative design, I stumbled across a YouTube video called Super Mario OI by Seth Bling. In the video, he shows Mario flying through a level. The catch is that Mario is being controlled by artificial intelligence. The program is made of neural networks and genetic algorithms that improve Mario’s performance each time he plays through the level. I love this example, not only because I grew up playing Mario, but because it is an excellent analogy of the generative design workflow and the components needed to build a generative design framework.

We must first define our goal. Mario’s goal is to find the fastest route through the level. Next, we need to find a way to measure our stated goal. The Mario game uses a timer and the percent of level completion to measure success. A combination of these two parameters makes up the fitness function. Third, we need to build out and constrain the problem. In the Mario analogy, this is the level itself, a kind of maze or problem statement to navigate or solve. The final step is to identify the variables that can be manipulated to solve the defined problem. For Mario, it’s the combination of inputs from the controller: A, B, X, Y, Up, Down, Left, Right. Once the problem is defined in this manner, an algorithm can be trained to beat the most talented of humans.

Just like in the Mario example, a design system needs to be defined. This is the framework. Then Project Refinery will be the artificial intelligence engine that will generate the creation of design alternatives that exist in the design system finding the best combination of inputs for the excellent solution. The framework consists of four parts:

Identify Goals

The first step with any generative design workflow is to identify the exact problem we are solving. It is critical to dedicate time to the vision in order to outline key goals and possible inputs. The generative design process relies heavily on key, front-loaded information derived from users, key stakeholders, and accurate historical data. Every attempt should be made to collect and analyze as much of this data as possible.

Build Algorithm

Once all the goals are defined, we can move on to step two, defining the problem. This step requires that the problem be defined in detail yet strategically constrained. The success of the outputs depends on how the model is parameterized and constrained. Too many inputs will lead to a design space that is too big or noisy to explore. Too few inputs will not yield a big enough design space to be of value. The goal is to build a flexible model that can generate designs that can be numerically tested against the goals.

Identify Variables 

The third step is to identify key input parameters to the problem and established which of these parameters are variables and which ones are fixed. Some examples of a fixed parameters include models, building code, and owner preferences. Some examples of variable parameters include the number of items, different manufacturing equipment, and positioning.

Measure

The fourth step is to establish a way to measure the success of the results. A fitness function does this. Fitness functions are used in genetic algorithms to guide simulations towards optimal design solutions. Each solution, therefore, needs to be awarded a score that indicates how close it came to meeting the overall specifications of the desired solution. These results should generate intuitive results, meaning the best/worst candidates should have the best/worst score values.

For optimization problems, simple functions such as the sum can be used as the fitness function. There are a few nonintuitive pitfalls to be aware of when creating a fitness function. For example, using an if statement where true = 0 and false = 1 or using a function that increases as solutions get better, but doesn’t identify the best solution is not so good either. These methodologies have the risk of not finding an optimal solution. This happens when the algorithm cannot converge to a single point of the fitness function.

Constructing frameworks will be illustrated in the first few simple examples to get into the flow of solving optimization problems using Project Refinery. Each problem will be constructed and solved for an optimal solution using this framework, which is summarized below.

Problem Framework

GoalWhat do you want to achieve?
ConstraintsDefine inputs and outputs and their relationships. 
VariablesWhat inputs can be manipulated?
Fitness FunctionHow will the goal(s) be measured?

cloud

Example 1: Calculus 101 with Project Refinery

When I first heard that Project Refinery could optimize a Dynamo graph, I immediately thought of the Calculus 101 problem of minimizing the surface area of a soda can. In this example, we will first solve this problem using calculus and then see how that translates to solving the problem with Dynamo and Project Refinery. We will see how under the hood Project Refinery is merely looking for a maximum or minimum of a function using calculus optimizes tactics.

Problem Framework

Goal
Minimize the amount of material to produce the can.

Inputs 
? = 12oz, 355ml

Constraints 
? = ??2h
h>0, ?>0

Variables 
Cylinder high and radius

Fitness Function 
Minimize Surface Area

Calculus Solution

The first step is to define the problem: the equation for the volume of a sphere is, where r is the radius and h is the height. We also know that the volume is fixed at 12 oz = 355 ml. The total surface area of a cylinder can be found by combining the area of the top and bottom of the can with the area of the side of the can.

2

The next step of the problem is to restate the problem so as to get a function of a single variable. To do this, the value equation is solved for the height (h) and then substituted into the area function. Now area can be defined by the radius and using calculus, the minimum value can be calculated.

Next, the problem needs to be constrained. The minimum value will either occur at one of the endpoints of the domain of definition or at one of the critical points. Note that the domain of this function will be (0, ∞). Clearly, we cannot have r = 0. That makes the area go to zero, which would make it tough for our can to hold any liquid. We also could not have r = ∞ since this would be a flat can with no height and this also would not hold any liquid. This means the minimum must take place between r = 0 and r = ∞.

0

One way you could solve this problem is to graph the equation and then find where the value is the lowest, or as we said before, we can use calculus. In a continues function, a maximum or minimum is always where the function flattens or where the derivative of the function is equal to zero. The derivative basically finds the slope of a function at any point. These locations are considered critical points. Critical points are key in finding maximum and minimum values of graphs with calculus.

rnage

a

In order to find out if a critical point is a maximum or minimum we calculate the second derivative. This lets us know if the slope is continually getting smaller. Looking at the graph from left to right, the slope starts out positive (the function rises), goes through zero (the flat point), and then becomes negative (the function falls). A slope that gets smaller (and goes through 0) means a maximum. If the second derivative is less than 0 the critical point is a maximum, if it is greater than 0 it is a minimum.

Using the second derivative to check that this is indeed a minimum, we have SA′′ = 4π + 1420 r 2 > 0 and thus it is a minimum. Thus, the dimensions minimizing the surface area would be r = 3.837 cm and h = 7.675 cm.

Project Refinery Solution

Now let’s look at solving the same problem using Project Refinery. Yet again the first step is to define the problem with our framework. Rather than writing out the equation for the cylinder, we can use Dynamo nodes to generate the geometry and calculate the surface area.

contraint

Constraints

A cylinder is constructed using the Cylinder.ByRadiusHeight node. The next set of the problem is to rearrange the problem to get a function of a single variable. Inside the Code Block we write an equation that finds the height as a function of radi and make the cylinder.

block

Variables

The inputs in the pink group control the cylinder’s geometry. The volume input is a static Code Block remadeVolum, and the radius input is a number slider node renamed R. In order for Project Refinery to know that the radius node is input, the node needs to be set as an input. To do this, right-click on the node and click “Is Input.” Just like the calculus problem, the Dynamo script needs to be constrained. By clicking on the arrow icon on. Here the minimum and maximum can be set along with the steps.

11

Fitness Function

The next sections involve analyzing the results using a fitness function. The surface area of the cylinder will act as the fitness function and can be easily retrieved with the Solid.Area node. In order for Project Refinery to recognize this node as an output, the node needs to be set as an output. Right-click on the node and click “Is Output.”

Project Refinery

The Dynamo graph is now ready to be optimized by Project Refinery where the design will evolve to find the most suitable options based on the constraints and goals provided. Refinery will run multiple generations of options, and each time it will take the fittest (best) options of the generation and use them to create a new generation.

Optimization Steps

1. Create a new study and select Optimize as the generation method.
2. Under Inputs make sure that all the desired variable is present.
3. For inputs that do not change on each run, set the desired value and uncheck the box alongside it.
4. Under Outputs set the optimization goal you want to achieve: Maximize, Minimize, or Ignore.
5. Set the population size, this represents the number of options that will be created in each generation.
6. Under Settings set the amount of generations you want to create. Each new generation is a range of options that falls between the two best designs of the previous generation.
7. Click Generate.

Wow! Refinery just calculated the exact same results that were found using the Calculus 101 method. This is because under the hood, Project Refinery is basically doing the same calculations to hunt for maximums and minimums of the design space. There is not magic, just math! By clicking on the solution in Refinery the Dynamo script will adjust the variables to match the Refinery solution.

solution

Example 2: Max Multivariable Graphs

In this next example, we will further explore the relationship between standard calculus and refinery as we move to multivariable problems. We we will use the same concepts we used to solve a single-variable problem in order to solve multi-variable problems. Intuitively, when you are thinking in terms of multivariable graphs, local maxima of multivariable functions are peaks, just as they are with single-variable functions. One way a computer "learns" how to do something is to minimize or maximize some "Fitness Function." In this case, the fitness function is the equation Z+X^2+Y^2=0, and the goal is to maximize the Z component of the function.

Rather than going through all possible X and Y inputs, the genetic algorithms looks at the rate of change of X and Y inputs. In calculus, this is also known as the gradient of the function. With the gradient, the computer can tell if it’s getting closer to the optimal solution. The next step is where cross over comes in. The algorithm's feedback loop combines traits of the good scoring solution to form a new solution. This is repeated until it converges at a maximum or minimum point. With this feedback loop, problems that would take literally, hundreds to thousands and even millions of years to compute can be solved in a practical timeframe.

Problem Framework

GoalFind maximum Z value for the Function Z+X^2+Y^2=0
InputsSurface
Fitness FunctionMaximum Z component or minimize the normal plane
ConstraintPoint on the surface of Z+X^2+Y^2=0
VariablesX and Y inputs

frame

Dynamo Graph

dynamo

 

Generative Design for MEP

These examples will focus on common MEP design challenges that are good candidates for generative design. We have seen from the previous examples that, thanks to Project Refinery, the AI portion of these workflows is simple. The challenge for designers is building algorithms with Dynamo that lead to good results with Project Refinery. Instead of designers solving solutions to micro problems, they need to shift their mindset to solve engineering problems more holistically and think of creative ways to measure success. It is very important to understand the foundations needed before solving problems with Project Refinery.

In each example, a goal will be set. Data will need to be collected, a parametric algorithm will need to be defined, and different solutions will be produced with Project Refinery. The selected design solution will then be integrated into the Revit model.

define

Data – Revit

The foundation for our MEP workflows is the collection, organization, and centralization of data. Data is the oil that makes algorithms run--with more data available, more robust and complex algorithms can be written. Revit is the fundamental piece of software to accomplish this first task.

Revit is an example of Building Information Modeling (BIM) software. BIM is the combination of 3D modeling and a database, storing attributes (parameters) for each 3D entity. The software is designed to handle complex building systems and contains the tools to document the final design. Each intelligent model created with Revit represents an entire project and is stored in a single database file. Before moving to the next level, it is necessary to standardize the database so data can be targeted and retrieved. Note that data from other sources (e.g., Excel) can be integrated as well.

Parametric Model - Dynamo

Parametric design is a process based on algorithmic thinking that combines parameters and rules that together define the relationship between design elements. MEP problems can be solved parametrically by embedding the design logic into computer code to solve problems then linking all those design steps together to solve a class of problems.

Dynamo is the programming language that lets you do just that. Dynamo connects to Autodesk Revit allowing access to the database and the geometry aspects of the building model. This data can then be analyzed and connected to define relationships and execute a sequence of actions that create flexible algorithms that can find an array of solutions to the design problem. Before getting to the top of the pyramid, generative design algorithms must be developed and tested inside Dynamo.

Generative Design - Project Refinery

At the top of the pyramid is generative design. The ability to explore, measure and rank all the different options from a problem’s design space. This is done with Project Refinery, Autodesk’s generative design beta that was used above.

beta

Example 1: Grid of Diffusers

Selecting and laying out the diffusers for a given space is a convoluted and often overlooked process. Yet it's vital to ensure code compliance and occupancy comfort. For example, too much airflow in a diffuser will be loud and violate building code noise requirements. Also, if the spacing is not correct, there can be major air drafts causing discomfort for the occupants. Running the calculations to take these issues into account involves a few steps. First, one must guess the number of diffusers for the space to find the required cubic feet per minute (CFM) for each diffuser in a room.

Second, the CFM is used to look up performance data from the manufacturing catalog. With the performance data, the noise levels and airflow distribution patterns can be evaluated. Running this process over and over for several different layout and diffuser types to find the best solution is not practical in real-world design where time is critical.

With generative design, the computer can quickly perform this process and test all the possibilities. The ideal layout for diffusers is very similar to the circle packing algorithm (see the full class handout). Here the circle radius is the airflow distribution pattern called throw. The airstream should not have significant overlaps as this causes drafts. The same framework will be used but with the radius being a variable based on the diffuser CFM and manufacturing data. Two more components are added to the fitness function to cover the noise and comply with he codes of this complex optimization problem.

grid

Problem Framework

The goal of this workflow is to find the optimal combination of manufacture diffuser selection and layout of diffusers for a given space that best satisfies human comfort, uses the least number of diffusers and remains code compliant.

Data Collection - Manufacture Data from Excel

Excel is the most commonly used tool for manipulating and managing data in the MEP engineering community. Dynamo can import data from Excel that can then be used. The example below shows how diffuser performance data in Excel can be brought into Dynamo and rearranged into a list that can be worked with.

Fruin 1

Space Parameters

The building code data for spaces often depends on looking up key words in data tables. Before running the diffuser script a script needs to be ran to set all the Space information. To deal with the issue of data integrity from human error and frankly, a lack of standards fuzzy logic can be used.

Architectural room names are an example. MEP engineers need to match up room names to some type of key value to the Ashrea Ventilation standards. Fuzzy logic is a form of many-valued logic in which the truth values of variables may be any real number between 0 and 1, inclusive. It is employed to handle the concept of partial truth, where the truth value may range between completely true and completely false. This is a fitness function. There is a Dynamo package called Fuzzy Dynamo that will do the trick, comparing the room names to the list of space type names within Revit and finding the best match. The Revit space type can then be set automatically to bring in all the code data like air changes per hour, exhaust requirements and noise limits from an Excel table.

Fruin 2

Ceiling Geometry

The real power of Dynamo over other application is its ability to easily access and view Revit elements geometries. Out of the box, Dynamo can collect elements from a project but by pulling in additional nodes from Dynamo packages, we can also get elements from a linked model. Once an element is retrieved, there are four nodes we can use to get the element’s geometry. These nodes will produce varying outputs based on the type of Revit element being accessed. The table and image below illustrate this.

Fruin 3

For the diffuser workflow a ceiling from a linked model ceiling above a selected Revit space will be selected. The geometry of the ceiling is deconstructed to get the lower surface.

Fruin 4

Constraint

A parametric grid of points is constrained by the ceiling surface. The table of manufacturing data also acts as a constraint.

Building Algorithm

The first step in the workflow is to select a space. The bottom surface of the ceiling is then retrieved and a grid of points is formed. From there the number of points or diffusers is known. Next, the CFM can be found by dividing the number of diffusers by the spaces required CFM. After that, the throw at that particular CFM can be found using manufacturing data and interpolation. Now the circles can be placed at each point with the correct radius. The noise is also calculated and is needed for the fitness function.

Fruin 5

Variable

The variables for this problem are the number of divisions for the grid of points and the different manufacturing diffuser options.

Fitness Function

The fitness function is very similar to the circle packing problem (see the full class handout) but two more inputs are added to capture the noise and cost variables of the problem.

Fruin 6

Project Refinery

Projected Refinery is then used to evaluate all the options and output the fitness function.

Integration

The final step in the generative design workflow is to integrate your chosen design. Once the optimal solution is found, Dynamo can place the diffusers’ elements into the model, and set all of the diffuser parameters. With the Sigma AEC Diffuser Pack add-in, the diffusers can also be shaped to line up with the closest open ceiling grid.

Sean Fruin is a mechanical engineer in training (EIT), design technologist, and innovator who has an ardent fascination with automation and the exploration of computational design solutions for the architecture, engineering, and construction (AEC) industry. He learned many aspects of the design industry from is work in manufacturing, general contracting, and mechanical, electrical, and plumbing (MEP) design. Sean has realized his dream by starting Sigma AEC Solutions where he has had the opportunity to explore and implement the latest technologies, hence improving efficiency and increasing quality in the AEC industry.

Want more? Download the full class handout to read on.

______
icon-svg-close-thick

Cookie 首选项

您的隐私对我们非常重要,为您提供出色的体验是我们的责任。为了帮助自定义信息和构建应用程序,我们会收集有关您如何使用此站点的数据。

我们是否可以收集并使用您的数据?

详细了解我们使用的第三方服务以及我们的隐私声明

绝对必要 – 我们的网站正常运行并为您提供服务所必需的

通过这些 Cookie,我们可以记录您的偏好或登录信息,响应您的请求或完成购物车中物品或服务的订购。

改善您的体验 – 使我们能够为您展示与您相关的内容

通过这些 Cookie,我们可以提供增强的功能和个性化服务。可能由我们或第三方提供商进行设置,我们会利用其服务为您提供定制的信息和体验。如果您不允许使用这些 Cookie,可能会无法使用某些或全部服务。

定制您的广告 – 允许我们为您提供针对性的广告

这些 Cookie 会根据您的活动和兴趣收集有关您的数据,以便向您显示相关广告并跟踪其效果。通过收集这些数据,我们可以更有针对性地向您显示与您的兴趣相关的广告。如果您不允许使用这些 Cookie,您看到的广告将缺乏针对性。

icon-svg-close-thick

第三方服务

详细了解每个类别中我们所用的第三方服务,以及我们如何使用所收集的与您的网络活动相关的数据。

icon-svg-hide-thick

icon-svg-show-thick

绝对必要 – 我们的网站正常运行并为您提供服务所必需的

Qualtrics
我们通过 Qualtrics 借助调查或联机表单获得您的反馈。您可能会被随机选定参与某项调查,或者您可以主动向我们提供反馈。填写调查之前,我们将收集数据以更好地了解您所执行的操作。这有助于我们解决您可能遇到的问题。. Qualtrics 隐私政策
Akamai mPulse
我们通过 Akamai mPulse 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Akamai mPulse 隐私政策
Digital River
我们通过 Digital River 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Digital River 隐私政策
Dynatrace
我们通过 Dynatrace 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Dynatrace 隐私政策
Khoros
我们通过 Khoros 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Khoros 隐私政策
Launch Darkly
我们通过 Launch Darkly 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Launch Darkly 隐私政策
New Relic
我们通过 New Relic 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. New Relic 隐私政策
Salesforce Live Agent
我们通过 Salesforce Live Agent 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Salesforce Live Agent 隐私政策
Wistia
我们通过 Wistia 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Wistia 隐私政策
Tealium
我们通过 Tealium 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Tealium 隐私政策
Upsellit
我们通过 Upsellit 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Upsellit 隐私政策
CJ Affiliates
我们通过 CJ Affiliates 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. CJ Affiliates 隐私政策
Commission Factory
我们通过 Commission Factory 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Commission Factory 隐私政策
Google Analytics (Strictly Necessary)
我们通过 Google Analytics (Strictly Necessary) 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Google Analytics (Strictly Necessary) 隐私政策
Typepad Stats
我们通过 Typepad Stats 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Typepad Stats 隐私政策
Geo Targetly
我们使用 Geo Targetly 将网站访问者引导至最合适的网页并/或根据他们的位置提供量身定制的内容。 Geo Targetly 使用网站访问者的 IP 地址确定访问者设备的大致位置。 这有助于确保访问者以其(最有可能的)本地语言浏览内容。Geo Targetly 隐私政策
SpeedCurve
我们使用 SpeedCurve 来监控和衡量您的网站体验的性能,具体因素为网页加载时间以及后续元素(如图像、脚本和文本)的响应能力。SpeedCurve 隐私政策
Qualified
Qualified is the Autodesk Live Chat agent platform. This platform provides services to allow our customers to communicate in real-time with Autodesk support. We may collect unique ID for specific browser sessions during a chat. Qualified Privacy Policy

icon-svg-hide-thick

icon-svg-show-thick

改善您的体验 – 使我们能够为您展示与您相关的内容

Google Optimize
我们通过 Google Optimize 测试站点上的新功能并自定义您对这些功能的体验。为此,我们将收集与您在站点中的活动相关的数据。此数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID 等。根据功能测试,您可能会体验不同版本的站点;或者,根据访问者属性,您可能会查看个性化内容。. Google Optimize 隐私政策
ClickTale
我们通过 ClickTale 更好地了解您可能会在站点的哪些方面遇到困难。我们通过会话记录来帮助了解您与站点的交互方式,包括页面上的各种元素。将隐藏可能会识别个人身份的信息,而不会收集此信息。. ClickTale 隐私政策
OneSignal
我们通过 OneSignal 在 OneSignal 提供支持的站点上投放数字广告。根据 OneSignal 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 OneSignal 收集的与您相关的数据相整合。我们利用发送给 OneSignal 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. OneSignal 隐私政策
Optimizely
我们通过 Optimizely 测试站点上的新功能并自定义您对这些功能的体验。为此,我们将收集与您在站点中的活动相关的数据。此数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID 等。根据功能测试,您可能会体验不同版本的站点;或者,根据访问者属性,您可能会查看个性化内容。. Optimizely 隐私政策
Amplitude
我们通过 Amplitude 测试站点上的新功能并自定义您对这些功能的体验。为此,我们将收集与您在站点中的活动相关的数据。此数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID 等。根据功能测试,您可能会体验不同版本的站点;或者,根据访问者属性,您可能会查看个性化内容。. Amplitude 隐私政策
Snowplow
我们通过 Snowplow 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Snowplow 隐私政策
UserVoice
我们通过 UserVoice 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. UserVoice 隐私政策
Clearbit
Clearbit 允许实时数据扩充,为客户提供个性化且相关的体验。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。Clearbit 隐私政策
YouTube
YouTube 是一个视频共享平台,允许用户在我们的网站上查看和共享嵌入视频。YouTube 提供关于视频性能的观看指标。 YouTube 隐私政策

icon-svg-hide-thick

icon-svg-show-thick

定制您的广告 – 允许我们为您提供针对性的广告

Adobe Analytics
我们通过 Adobe Analytics 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Adobe Analytics 隐私政策
Google Analytics (Web Analytics)
我们通过 Google Analytics (Web Analytics) 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Google Analytics (Web Analytics) 隐私政策
AdWords
我们通过 AdWords 在 AdWords 提供支持的站点上投放数字广告。根据 AdWords 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 AdWords 收集的与您相关的数据相整合。我们利用发送给 AdWords 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. AdWords 隐私政策
Marketo
我们通过 Marketo 更及时地向您发送相关电子邮件内容。为此,我们收集与以下各项相关的数据:您的网络活动,您对我们所发送电子邮件的响应。收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、电子邮件打开率、单击的链接等。我们可能会将此数据与从其他信息源收集的数据相整合,以根据高级分析处理方法向您提供改进的销售体验或客户服务体验以及更相关的内容。. Marketo 隐私政策
Doubleclick
我们通过 Doubleclick 在 Doubleclick 提供支持的站点上投放数字广告。根据 Doubleclick 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 Doubleclick 收集的与您相关的数据相整合。我们利用发送给 Doubleclick 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. Doubleclick 隐私政策
HubSpot
我们通过 HubSpot 更及时地向您发送相关电子邮件内容。为此,我们收集与以下各项相关的数据:您的网络活动,您对我们所发送电子邮件的响应。收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、电子邮件打开率、单击的链接等。. HubSpot 隐私政策
Twitter
我们通过 Twitter 在 Twitter 提供支持的站点上投放数字广告。根据 Twitter 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 Twitter 收集的与您相关的数据相整合。我们利用发送给 Twitter 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. Twitter 隐私政策
Facebook
我们通过 Facebook 在 Facebook 提供支持的站点上投放数字广告。根据 Facebook 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 Facebook 收集的与您相关的数据相整合。我们利用发送给 Facebook 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. Facebook 隐私政策
LinkedIn
我们通过 LinkedIn 在 LinkedIn 提供支持的站点上投放数字广告。根据 LinkedIn 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 LinkedIn 收集的与您相关的数据相整合。我们利用发送给 LinkedIn 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. LinkedIn 隐私政策
Yahoo! Japan
我们通过 Yahoo! Japan 在 Yahoo! Japan 提供支持的站点上投放数字广告。根据 Yahoo! Japan 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 Yahoo! Japan 收集的与您相关的数据相整合。我们利用发送给 Yahoo! Japan 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. Yahoo! Japan 隐私政策
Naver
我们通过 Naver 在 Naver 提供支持的站点上投放数字广告。根据 Naver 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 Naver 收集的与您相关的数据相整合。我们利用发送给 Naver 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. Naver 隐私政策
Quantcast
我们通过 Quantcast 在 Quantcast 提供支持的站点上投放数字广告。根据 Quantcast 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 Quantcast 收集的与您相关的数据相整合。我们利用发送给 Quantcast 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. Quantcast 隐私政策
Call Tracking
我们通过 Call Tracking 为推广活动提供专属的电话号码。从而,使您可以更快地联系我们的支持人员并帮助我们更精确地评估我们的表现。我们可能会通过提供的电话号码收集与您在站点中的活动相关的数据。. Call Tracking 隐私政策
Wunderkind
我们通过 Wunderkind 在 Wunderkind 提供支持的站点上投放数字广告。根据 Wunderkind 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 Wunderkind 收集的与您相关的数据相整合。我们利用发送给 Wunderkind 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. Wunderkind 隐私政策
ADC Media
我们通过 ADC Media 在 ADC Media 提供支持的站点上投放数字广告。根据 ADC Media 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 ADC Media 收集的与您相关的数据相整合。我们利用发送给 ADC Media 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. ADC Media 隐私政策
AgrantSEM
我们通过 AgrantSEM 在 AgrantSEM 提供支持的站点上投放数字广告。根据 AgrantSEM 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 AgrantSEM 收集的与您相关的数据相整合。我们利用发送给 AgrantSEM 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. AgrantSEM 隐私政策
Bidtellect
我们通过 Bidtellect 在 Bidtellect 提供支持的站点上投放数字广告。根据 Bidtellect 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 Bidtellect 收集的与您相关的数据相整合。我们利用发送给 Bidtellect 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. Bidtellect 隐私政策
Bing
我们通过 Bing 在 Bing 提供支持的站点上投放数字广告。根据 Bing 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 Bing 收集的与您相关的数据相整合。我们利用发送给 Bing 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. Bing 隐私政策
G2Crowd
我们通过 G2Crowd 在 G2Crowd 提供支持的站点上投放数字广告。根据 G2Crowd 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 G2Crowd 收集的与您相关的数据相整合。我们利用发送给 G2Crowd 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. G2Crowd 隐私政策
NMPI Display
我们通过 NMPI Display 在 NMPI Display 提供支持的站点上投放数字广告。根据 NMPI Display 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 NMPI Display 收集的与您相关的数据相整合。我们利用发送给 NMPI Display 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. NMPI Display 隐私政策
VK
我们通过 VK 在 VK 提供支持的站点上投放数字广告。根据 VK 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 VK 收集的与您相关的数据相整合。我们利用发送给 VK 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. VK 隐私政策
Adobe Target
我们通过 Adobe Target 测试站点上的新功能并自定义您对这些功能的体验。为此,我们将收集与您在站点中的活动相关的数据。此数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID 等。根据功能测试,您可能会体验不同版本的站点;或者,根据访问者属性,您可能会查看个性化内容。. Adobe Target 隐私政策
Google Analytics (Advertising)
我们通过 Google Analytics (Advertising) 在 Google Analytics (Advertising) 提供支持的站点上投放数字广告。根据 Google Analytics (Advertising) 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 Google Analytics (Advertising) 收集的与您相关的数据相整合。我们利用发送给 Google Analytics (Advertising) 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. Google Analytics (Advertising) 隐私政策
Trendkite
我们通过 Trendkite 在 Trendkite 提供支持的站点上投放数字广告。根据 Trendkite 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 Trendkite 收集的与您相关的数据相整合。我们利用发送给 Trendkite 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. Trendkite 隐私政策
Hotjar
我们通过 Hotjar 在 Hotjar 提供支持的站点上投放数字广告。根据 Hotjar 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 Hotjar 收集的与您相关的数据相整合。我们利用发送给 Hotjar 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. Hotjar 隐私政策
6 Sense
我们通过 6 Sense 在 6 Sense 提供支持的站点上投放数字广告。根据 6 Sense 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 6 Sense 收集的与您相关的数据相整合。我们利用发送给 6 Sense 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. 6 Sense 隐私政策
Terminus
我们通过 Terminus 在 Terminus 提供支持的站点上投放数字广告。根据 Terminus 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 Terminus 收集的与您相关的数据相整合。我们利用发送给 Terminus 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. Terminus 隐私政策
StackAdapt
我们通过 StackAdapt 在 StackAdapt 提供支持的站点上投放数字广告。根据 StackAdapt 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 StackAdapt 收集的与您相关的数据相整合。我们利用发送给 StackAdapt 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. StackAdapt 隐私政策
The Trade Desk
我们通过 The Trade Desk 在 The Trade Desk 提供支持的站点上投放数字广告。根据 The Trade Desk 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 The Trade Desk 收集的与您相关的数据相整合。我们利用发送给 The Trade Desk 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. The Trade Desk 隐私政策
RollWorks
We use RollWorks to deploy digital advertising on sites supported by RollWorks. Ads are based on both RollWorks data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that RollWorks has collected from you. We use the data that we provide to RollWorks to better customize your digital advertising experience and present you with more relevant ads. RollWorks Privacy Policy

是否确定要简化联机体验?

我们希望您能够从我们这里获得良好体验。对于上一屏幕中的类别,如果选择“是”,我们将收集并使用您的数据以自定义您的体验并为您构建更好的应用程序。您可以访问我们的“隐私声明”,根据需要更改您的设置。

个性化您的体验,选择由您来做。

我们重视隐私权。我们收集的数据可以帮助我们了解您对我们产品的使用情况、您可能感兴趣的信息以及我们可以在哪些方面做出改善以使您与 Autodesk 的沟通更为顺畅。

我们是否可以收集并使用您的数据,从而为您打造个性化的体验?

通过管理您在此站点的隐私设置来了解个性化体验的好处,或访问我们的隐私声明详细了解您的可用选项。