AU Class
AU Class
class - AU

The Future of Data: Forge Data Platform.

共享此课程
在视频、演示文稿幻灯片和讲义中搜索关键字:

说明

As Design and Make come closer together, the ability to access and modify data throughout all phases a project or product life cycle are becoming critical for success. Access to designs, and the information they contain, is critical for downstream applications and users to do their jobs, but are difficult to access using today’s technology.. Learn how we are building the Forge Data Platform will enable you to make those connections, and enable applications and users anywhere in the design lifecycle to contribute to the design. The Forge Data Platform will help you manage, modify, share and collaborate on data from any application that exposes an API to access its data.

主要学习内容

  • Take a first look at Autodesk future strategy for how design data will be shared and accessed.
  • Understand the Forge Data Platform architecture.
  • Understand how 2D or 3D models and other associated design data can be shared and controlled in collaborative environment.
  • See the future of data interoperability.

讲师

Video Player is loading.
Current Time 0:00
Duration 1:02:15
Loaded: 0.27%
Stream Type LIVE
Remaining Time 1:02:15
 
1x
  • Chapters
  • descriptions off, selected
  • en (Main), selected
Transcript

CARLOS VANEGAS: Good morning. Can you guys hear me fine? Excellent. All right, so thanks for joining today to participate in this conversation around data. This talk is called The Future of Data-- Forge Data Platform. And we're going to be talking about what we're currently doing in Forge in the Autodesk platform around data. How are we preparing data to support the future needs of our products and all the products that we'll be building on top of our platform?

So thank you for being here, by the way. I know the CEO keynote is going on at the same time. So this shows a lot of commitment from you guys that you decided came to this talk. So data's an incredibly exciting topic, right? And the reason is that when you start talking about data, right, whether it's data descent or a common data environment, or one place for data or however we want to call it, the reason this topic is so exciting is that a lot of people actually care about it, right?

And it seems to us that many of you are also looking at Autodesk as the company that is expected to be solving all these problems around data, at least in the domains of architecture, engineering, construction, manufacturing, and production. So again, I'm here today to, first of all, acknowledge that this is a problem for Autodesk to solve and also acknowledge that we're fully aware that this is the single-most important thing that we have to get right in order for everything else to work well. And then, again, we're going to talk about not only the solutions that we have been building so far as part of our internal advancement on this topic, but also we're going to talk about how we are approaching the problem and how we think that data needs to work and how we think that the engineering and architecture around data needs to work going forward.

So I have to start with a safe harbor paragraph. I'm going to assume that everybody just read it. And this is not the most exciting slide in the presentation, I promise.

So I'm currently an architect in the Forge Data Platform. I'm based in San Francisco. And I've been at Autodesk for about four years now. The reason that I joined Autodesk, instead of a bunch of other software companies that are out there in the Bay Area, is that I am really excited, truly excited, about what Autodesk does. I'm truly excited by all the things that our users and you guys and your users build and design using Autodesk products, whether it's a skyscraper, an airport, a movie, the Tesla. It's the amazing stuff that gets created with our technology.

And our software is used to really design and make the things that have a huge impact in the world and in our everyday life. So having the opportunity to at least try to contribute a little bit to that technology is very exciting and something that I'm really grateful for. Now, over more than 30 years, Autodesk has been developing a tremendous amount of IP around all these industries, right, again, manufacturing, entertainment, media, construction, and architecture, and so on.

So where we are today is that each of these products, if you look at them, it's fairly successful in the domain, in the industry, in the verticals that they serve. But a big challenge that we face is that the IP of these products and the data itself is kind of trapped in these products, right? And so when you have data that is slightly coupled to the product, that's actually advantageous for a number of reasons for the product itself.

You can make assumptions about the structure of that data. You can optimize the design of your business logic around those assumptions. And so there's really nothing wrong with it when all you care about is your product And when everything that you're trying to do is kind of captured and contained in that specific product that you're designing.

So nothing wrong so far, right? The problem is that when you also keep the data locked in that product, as we're going to see, it leads to two obstacles that makes it difficult to do the kind of things that we would like to do with these products when they are working together. So let's look at an example.

Let's take a look at Revit. And I'm not going to go into the details of the architecture of Revit or any individual product. But the story's kind of similar for all of them.

So again, there's a very high-level, very traditional architecture stack for Revit. At the top, you have a presentation layer. That's where you have your user interface and all the interactions that your users would do with the application that is underneath. Then you have the business logic. It's also typically specific to Revit. You have a lot of algorithms and methods and functions with domain-specific business logic.

And then further down you have the data layer, which is the thing that handles all the logic and operations around data models, around data management, around data persistency, right, so again, a very generic architecture stack. So real quick, which of the people in the audience are software developers or architects or coders? OK. So we have about one third to half of the room in that role. Great.

So ultimately, Revit goes down to store whatever data it needs to persist, typically to a file, in this case, an RBT file. And that file is stored in your hard drive or a remote location. And next time that you open Revit, if everything goes well, the file is going to be there for you to continue your work.

Then some other times you have to do collaboration, right? You have to exchange that file and share that file with somebody else. And then for some use cases, you also have to translate the file into another format. So that's how most of our applications operate today.

Again, nothing wrong with that. When you look at Revit in isolation, it's a pretty fantastic tool. It's very successful. It's use in hundreds of thousands of projects in the world every day. So the whole Revit data model, which is hierarchical, it works fine, and there's really nothing wrong up to that point.

Then you look at AutoCAD. You look at Inventor. You look at Fusion. You look at Siebel 3D and all these other products. And the architecture stack will be very similar, and the persistence is typically going to be files.

But we know that our users and your users on their day-to-day work, they typically employ many different tools. It's not just Revit. It's not just AutoCAD. It's not just even Autodesk tools. There are hundreds and hundreds of applications that are part of the workflows that the users are trying to complete every day.

So one of my favorite examples to illustrate this is this graphic, this image, that we use a lot at Autodesk and other companies that are involved in BIM also use. And it's the BIM lifecycle, right, or the BIM process. And some people even call it the BIM happy wheel.

And so in this lifecycle, you start with a program. Sorry, if this is redundant to a lot of people who are experts in this field but just level setting the room. So you start with a program. You go to conceptual design stage. You go to a detailed design.

Then you analyze that detailed design and how well it meets or it fits your goals or constraints. And then you document what you're trying to build. Sometimes there's a fabrication process involved, and then there's a construction process involved.

Then it goes on to operation and maintenance. And sometimes you even have to plan the demolition and the renovation of the structure. So the point to note here is that in this process, in this lifecycle, there are many applications that need to be involved, right?

Revit cannot handle all of this lifecycle. It's a very important tool in some of these stages. But it's by far not the only tool that is used as part of these stages. So where does that take us?

Well, so, that's an example in BIM. But in general, we see the same patterns and make a similar argument for pretty much any complex workflow, especially workflows that combine the design and make. And if you've been listening to Autodesk for the last few years, this is an area. The convergence of design and make and the interfaces between them is something that we are very interested in at Autodesk.

So we care about interdependencies between the things that we design and the things that we make and the things that ultimately get built or manufactured or produced. Yesterday, our VP of Forge, Sam Ramsay, gave a keynote where he said that we are building at Autodesk, the world's first design-to-make platform. So this interoperability problem that I'm describing here, helping the data flow smoothly and frictionless between applications is something that we care about very much today.

So what has been the solution that we have offer up to this point? Because people are exchanging files, and people are moving files from one application to the other. So think of these gray boxes as walls between the applications, right?

And think of those walls as the boundaries, as the dividers between those applications. So although the stack of these applications, as I'm showing, is fundamentally the same. At a very high level, each application kind of has followed a different approach to implement their presentation layer, their business logic layer. They do different UIs, different widgets, and so on.

And crucially, the data layers are also different, right? So we have a bunch of standalone applications that are built for specific purposes, all of which have different approaches to data. So the data back end is different. The persistence mechanisms are different. The file formats that they use to keep that data are different.

And so a lot a lot of complexity arises from these differences, right? When you need to manage aspects like versions and collaboration between users and access to data and history of your data, multiple legacy formats in files that our users may work on not only for days, but sometimes for months or for years, then it becomes a really challenging task to manage all this diversity of approaches to data. And then also you end up with this need to be constantly translating between formats, right?

So it's one of the negative aspects of this approach. So you need to carry that data from one domain to the other. You end up translating from RVT to SVF to the DWG and so on.

So we end up with something like this, right? We end up with a bunch of point-to-point connections between all of these applications. And there's really nothing in the middle, right? That's where things like the Forge Derivative Service, the Forge Translation Service-- are you guys familiar with those services? Just taking a look at how many of you use Forge today. OK, so a bunch of you in the room.

So that's why we use those services, right? Because we need to be creating derivatives and creating translations from all of these files. And that's fine. In many cases, that translation is all you need to complete simple workflows. And again, our users do a lot of amazing stuff today with that technology.

But that doesn't mean that there's no room for improvement in how we do things today, right? There are several limitations with this approach. And I'll mention just a few.

So this architecture doesn't really tell us where the data goes, right? It doesn't give us a data persistence mechanism that is independent from any of the tools. This architecture, again, it kind of lacks something in the middle.

In some cases, you lose information that might be relevant. And because that is being translated back and forth, there's loss of information. In some cases, you really cannot follow workflows as smoothly as you would like to because the translation takes a lot of time. So you guys hear about generative design all the time. Imagine you're trying to explore a design space, and you have to create thousands of samples or millions of samples in that the design space.

And every time you're trying to create a sample and trying to evaluate the fitness of that sample against some objective function or some goal that you establish, you have to do a translation of files. The problem becomes very slow. It becomes intractable. It's not an approach that is going to let us through the kind of workflows around generative design and insights and machine learning that we want to do at Autodesk.

So these are limitations that we are fully aware of, right? And that in order to address, we believe that we have to take a fundamentally different approach to data. So why do we care about this? Why do these limitations matter?

Well, we care about our users, both the developers that are using the platform and also the end users that are using our products and that are using the products that all of you guys build. So these are the kind of things that we're hearing all the time. I want to use my data in multiple Autodesk applications, right? I want to use data from Revit. So this is a more specific example of the quote above. I want to use data from Revit to drive changes in my Excel spreadsheet and vice versa.

There's a few more here that are really cool. I want to see data from multiple applications in one place. This one happens all the time. I have to be able to add my own data that nobody else will delete, right? So there is an expectation. There is a need to have some sense of ownership over the data and to be reassured that as a user and as the author of that data, you are in full control of it.

Take a look at this one. This one is specific to AEC. I need the things that I learn about the design decisions during the pre-construction stage to carry through to construction and operation. So this one takes us back to the BIM workflow that we saw before, right? People want their data to not become useless once their phase of the workflow is complete, right?

They want their learnings and insights to have value in the phases that come after. So let's just do a quick check here of how much you guys can relate to the things that we're hearing and seeing in this quote. So please raise your hand if this sounds familiar to you, if you've heard it from your customers or if these are things that you care about just, a quick show of hands? So this is clearly a very, very hot topic and something that we have to solve.

So hidden behind these needs are existing limitations in our technology. But one thing to note here is that these limitations are not specific to any given product. We're not going to solve these problems. We're not going to address these concerns by adding a couple of features to Siebel 3D or to Revit or to InfraWorks, for that matter.

Also, we don't control many of the applications that our users, you employ in their workflows. So it's not like we can go and make changes to Excel to better address this problem. So this is pointing to a much more fundamental problem that is all about data. And what we have come to realize is that in our users' minds, data comes first, and applications come second.

So it has also become clear to us that throwing data over these walls, which is essentially what we do today, is not going to be enough, right? That's not going to solve the problem. What we really need to do is to start breaking these walls.

And so the next question that we're trying to answer is, what's the right place to break these walls, right? Do we do it at the presentation layer? Do we unify user interfaces and interactions for all of Autodesk products?

No, there might be some standardization at some level that kind of makes sense. But we're certainly not trying to standardize all our UIs. And it also wouldn't really be the best decision for our users because the user interface that you want, say, a structural engineer to follow is not necessarily the same user interface that you want a construction manager to follow. So we're not seeking standardization, or standardization at that presentation layer is not going to solve the problem.

Do we break the walls at the business logic layer? Again, probably not. Some of the logic, some of the business logic may be common, and there's opportunities for re-usability. But a lot of it is, of course, unique to specific domain needs. And in any case, unifying the business logic is not really going to do much for data interoperability.

So what we have realized is that data is the layer at which we want to start breaking these walls. We want to provide customer experience that are tailored to the domain. But we know, we realize, that the data kind of naturally needs and wants to cross boundaries.

So that layer, that attempt to break this wall through the data layer, that is Forge. That is the Forge Data Platform, and it's our response and it's our key tool to break the walls, to allow data to go across application and domain boundaries. And as you will see, we will use the Forge Data Platform to improve interoperability not only between out Autodesk applications, but also with third-party applications because again, our users are using all of those applications in their day-to-day work.

So we define the Forge Data Platform as a collection of platform components that supports common data modeling and data management needs of Autodesk applications and third-party applications. Let's take a closer look at this definition. So the needs part is a key thing here.

We start with the needs that are coming from many stakeholders, both internal and external, or although we're focusing first on our internal products. And those needs, at first they may seem very different. But there are still many commonalities between them, and those are the commonalities that we're trying to understand.

So we're synthesizing those needs into a smaller set of concepts and into a common architecture. And that's where the Forge Data Platform comes in. That's where a platform makes sense. It's serving a collection of common needs that then many products can build on top of and can take advantage of.

So let me be a little bit more specific, right? All of our products have needs around data, right? The products that we build, the products that you guys build have needs around data. And as we all work to make our products more cloud centric, we kind of tend to do the same thing. We go and spin up our own databases, and then we go and take care ourselves of our own collaboration tooling.

If we need to synchronize files, if I need to make changes and you make changes, and then we have to reconcile those changes, we try to build this tooling ourselves. And then we set up our own resiliency and security infrastructure and our own data models. So that's fine. Again, that works. And I'm sure we're all building great technology with that kind of approach.

But is that the way that we want to be spending our time? Does it make sense that every time we build a new application, we're kind of spinning up all these databases on our own and kind of managing these databases and taking care of these other problems on our own? So we believe that Autodesk products and then your products should have access. The product of people that are building on Forge should have access to a platform that does all the heavy lifting around data for you instead of asking you to do it yourself. And so that's the Forge Data Platform.

So as I mentioned, we are first focusing on building our platform for our own products. And there are two fundamental reasons for that. First reason is that if we test the platform against our products first, we are going to be testing it and validating it and making sure that it will really be sufficiently stable and robust when we put it in the hands of all the people that are building applications on top of Forge, all the third-party developers.

The second reason is that once we have Autodesk applications plugged into Forge, then it's going to be very easy to start feeding the platform with data. And the platform needs data before you can do anything useful with it, including workflows. So we need Revit and AutoCAD and Inventor and all these other tools to start feeding data into the platform. And we need to provide the mechanisms for these applications to feed that data in an easy way.

So why am I telling you all of this? Because those of you in the room that are using Forge or that plan to use Forge to build your applications, you're part of this community. If you attended, again, Sam Ramsay's keynote yesterday, he said something like, it's everybody's platform. Forge is everybody's platform. And we deeply believe that.

And so you're part of this platform, as much as any other Autodesk engineer is. And we think that you, as members of this community, need to know where we're going and need to know how we're getting there. So again, what we're doing here is putting together a unified architecture that addresses common needs around data management and data modeling.

And there are many benefits that we see in unifying these data architectures, as opposed to having them in separate silos. So let's talk a little bit about those. For our users, our end users, having a unified platform improves interoperability between applications. That's one of the main things we're going after.

It also enables workflows that are not possible today, workflows that are a lot more complex than what people can do today. It also means that you will spend less time massaging, converting, and linking data. And it will mean that our users will be able to get insights and advance querying. And we will make machine learning applications available that will help extract information and make sense of potentially huge amounts of data.

And then the benefits for Autodesk is that when we unify data architectures, it's going to make it easier to maintain all of the infrastructure and the services and the components around data. And it will also help us increase for usability, and it will help us guarantee scalability and resiliency of the platform components that we're building. So taking a step back, remember, the architecture on the left reflects an application-first data-second kind of mentality.

Where we're going with the Forge Data Platform is something that looks more like this. You have data at the center. Again, data comes first. And applications come second, right? We're forming this common data environment, where you happen to have different experiences, right, different user interfaces and different business logic that connect to the data, that consume the data, and that can contribute back to the data.

But the most important thing to note here is that the data exists regardless of the application that was used to create it, right? The data doesn't die, doesn't disappear when the application goes away or when the application stops in whatever stage of the process you are in. So that's very important, right? Decoupling the existence of the data from the existence of the application is something that we care a lot about.

So s where are we now in this data platform journey? Our applications-- so we're starting here. Our applications are internally becoming more cloud aware by integrating their data models deeper into the platform. They are starting to enable new and innovative user experiences that we were not able to do before.

And I'm going to show you a couple of examples to just give you an idea of the kind of things that we are now enabling today. So this one, this first one here, comes from a project called Project Terra, internal project. What we see here is an Excel spreadsheet with data about boreholes, which was created by a geotech specialist. So Excel connects to a project that is supported by the Forge Data Platform and shares some of the data in this spreadsheet.

And then there's a civil engineer that connects her AutoCAD model to the same project and retrieves the borehole data from a shared space. Then another civil engineer joins and retrieves the same data set from his InfraWorks model and puts in a request for a wellpoint. All these data exchanges can happen synchronously or asynchronously. And all these changes propagate through the system without the need of exchanging any files.

And then, while all of this is happening, stakeholders, like this manager here, can get on-demand access to the latest changes. Again, no files are exchanged in order to enable to support that work, right? It's not because there's anything wrong with files themselves, but simply because we don't need them to do this kind of data exchange.

Each of these applications is still using locally the same files and the same file formats that we are all used to. And that's fine. We don't expect that to change anytime soon. But it is the Forge Data Platform that is enabling the exchange of data and the flow of data between all of these and managing the data exchanges between all of these applications.

A second example that will be covered in detail in a talk that is going to take place later today shows measurements that are extracted from Revit and are pushed into Excel. And then there's-- it's all through the platform as well. And then there's another user in Excel that connects to that same project and extract the measurements. And in this case, the connection is life, right? As Revit's making changes here, Excel is consuming those changes in real time.

One thing to note here is that this is not a point-to-point connection between Revit and Excel. It's not like Revit and Excel are agreeing on a translation format or a data exchange format. That only works for that pair of tools. They're only agreeing on some reusable and common constructs that are defined at the Forge Data Platform level for how they're going to exchange the data. But it's not specific to that combination of products.

So again, those constructs are the same, regardless of which products we are connecting here. So if you're more curious about this specific workflow, there's a talk about Forge workflow automation, which is happening today, I believe, around 3:00 or 4:00 PM. And you can learn more about what we're doing with these workflows.

So a third example shows a user that is updating properties of a suspension model in Fusion 360. And those changes are pushed down to a shared space, also managed by the Forge Data Platform. And the changes are then reflected in a standalone and custom-built web application.

So in this case, some of the properties from Fusion 360 are, again, exchanged. And they're publishing this application running on the browser. One thing to note in this particular example is that one app is running on the browser, and the other app is just-- it's just Fusion. So the Forge Data Platform is not unique to desktop applications.

Remember that the data comes first, and the applications come second. So we don't really care about what kind of application you're building. You can still connect to this data platform. And once again, it's not a one-to-one connection between a web application and Fusion. And in this case, we happened to build this web application that is connecting to the platform and to all the storage that is there.

But you could build some other web application that will connect to the same space or to the same data back end. Or you could build a microservice that is going to do some computation or some simulation simultaneously. So we're not interested in point-to-point connections. I cannot overemphasize that enough. We are interested in a shared data environment.

So again, where are we now? We are starting to connect our applications to the cloud via the Forge Data Platform. This greatly facilitates the flow of data between applications with different data representations. And our applications are also starting to learn how to talk to the cloud by using new APIs and new SDKs in the Forge Data Platform and other tools like adapters and connectors.

One thing to note here is that this approach also allows us to represent access to data in a much more granular format. So typically, when you need to give somebody else access to your data, you exchange an entire file, or you select the file, and you say, I'm going to share this file with these people, with these collaborators. I'm going to give write access or read access or commenting access or whatever you need to do.

But you're granting that access to your entire file. You cannot be selective about which parts of the data you're going to give access to. So what we're doing here is allowing users to be more selective and more intentional about the parts of the model that they want to exchange.

So we're very excited by all of these advancements. We think that these are all steps in the right direction. But we want to go deeper than this. And that's what I want to talk to you about now.

So where are we going? We're looking at how we can model application data directly in the common data environment. We want to achieve deeper integration with the platform by looking and by reusing data models that are defined at the platform level.

So we're providing core concepts that serve as building blocks of data modeling and that have greater alignment and greater agreement across our products around those core concepts. So we think that by achieving that deeper level of integration, we will not only reduce the need for translation across formats, which is something that we definitely want to do, but we will also take interoperability to a whole new level So remember that we mentioned that the Forge Data Platform supports common data modeling and data management needs. So that's where we're starting as part of this next step. We're taking a look at what those common needs are.

So let me bring us a little closer to what we're doing here. We're asking ourselves, what is common across all of these applications that we have at Autodesk, right? So think about this for 10 seconds, right? How is AutoCAD similar to Revit and similar to Inventor and similar to InfraWorks? What's the common denominator across all of these applications?

So this is a question that we've been asking ourselves for a while here. And the answer that we're giving is that most of our apps in our ecosystem are used to model proposed or existing systems. That's what our applications are about.

And you can look at cars, at buildings, at breaches, at even movies as complex systems. And these systems can be mechanical or architectural or automotive or electrical or whatever. But we need common tools to model those systems.

And so now what we need to understand is how do we model a system, right? And then going back to systems architectural literature, a system is defined as the conjunction of form and function. So the key things to understand about a system are the form of the system and the function of the system.

The form is what the system is. The form is what exists. And the function is what the system does, right, what happens over time. So we are first starting with form. Then the form of a system is dictated by the objects that make up the system and by the relationships between those objects.

And so the next natural question that we're asking is, how do we model objects? How do we model relationships? And also very important, how do we define and extend object types and relationship types? So see how we're breaking down the problem. It's a very complex problem, we think. We're breaking it down into smaller chunks that are more manageable.

And just as we're looking at data modeling needs, we're also looking at data management needs. So the questions we're asking around data management are, what is the extent of the system? Where does the data live? And who owns that data? Who has what access to which data? How do we surface relevant data, either through search or querying or filtering? How do we support concurrent and collaborative data operations?

How do we facilitate data exchange between users in different organizations? This is really important. This is something that our users come to us looking for help. So I'm in this firm. I need to exchange data with a collaborator that is in this other firm. How can we do that in a secure way without getting ourselves into any legal or liability problems and making sure there's always a clear understanding of who owns the data?

This one is also key. Who has done what when? All of our users, many of our users are asking for audit trails. They want to understand the history of data. They want to understand when this change was made and who is responsible for that change.

So let's go over some of these data modeling questions in a little bit more detail. One of the questions, again, is, where does the data live, and who owns that data? And so we're providing this concept of a space. I'm just going to tell you the answer is that we're starting to provide to these questions.

We provide this concept of space, which is a place where we put the data. A space also has the characteristic that all the data that lives in that space shares of common history. And we attach a space to a scope, which is basically a container for managing users and entitlements. So when you attach a space to a scope, you're essentially dictating the ownership of the data in that space.

So one thing to mention here is that we are exploring change-based representations as the primary store for our data. This is different from what we do today, right? Today we store the whole state of the data. And when you make changes in that data, you go to the next version, and then you're storing the state of the data, the state of your model at that next version, right?

So we see a lot of advantages in having change-based representations. So the first thing is it collaborates-- sorry, facilitates collaborative editing, things like branching and merging and other operations. It also significantly reduces the storage space that is required to keep the history of your data. The history of the data is fundamental.

If you've used Google Slides, Google Docs, any of these applications, you will see that there's a history panel where you can go and look at basically the history of your entire documents since the moment you created it. So by using a change-based representation, what we're saying is, hey we're just going to store the deltas. We're just going to store what changed between one version and the next instead of storing the entire state of the model at every step.

It's also easier this way to, again, support transaction logs, audit trails, versions, and so on because you're already kind of storing all of that information as part of your history. So I don't know. Did anybody attend the previous version of the Forge Developer Conference, either last year or the year before? OK.

So we have this technology at Autodesk, called HFDM, which is basically a data persistence platform component that stores the data based on changes. And you might have heard about HFDM in previous instances of the Forge Dev Con. And so since then, it's still making progress. I'm sorry?

AUDIENCE: [INAUDIBLE].

CARLOS VANEGAS: What does it stand for? High-Frequency Data Management. Yes. So you might have heard about it in previous conferences. We've been making progress with it. We've been maturing it, stabilizing it. And it's the primary data back end of all these things that I'm telling you about and all the demos and videos that you're going to see here.

So for the coders in the room, since it's about a third to half of the room here, just a little sneak peek into what this could look like. When you're creating a space, you have a client SDK. This is a JavaScript client SDK, but we're working on client SDKs for other languages, including C++, which is what a lot of our applications use.

And so it's very simple, right? You're just creating a space. You go and say, create space. You give it a name. You give it the URN of the scope that you're going to attach this space to. And then you end up with a client site object that manages that space.

The next question is, how do we model an object? So we're introducing this concept of assets. Assets are what are what we use in the data platform to model objects. They are tracked in the space, which, again, maps to an HFDM repository.

But the content of the asset may live internally or may be fully contained in the asset or maybe just a reference to an external file. The asset is also uniquely identifiable, and it can be named. It can be related to other assets, and it does not need to be typed. I'm going to talk a little bit more about this.

So again, going back to our little example, you create an asset, and you just say, I'm going to call it My Desk. I'm going to specify the URN of the space, where this asset is going to live. And then I get a client site object, which is called Desk. Then I do the same thing for a lamp. So far so good.

Now, what's missing here? What's missing here from how we would typically do this? Well, first of all, we're not assigning any properties to any of these objects that were created, right? That's one thing that is different. The second difference is that we're not really assigning any type. We're not saying this object we're creating, it comes from this specific type, right?

And if this was C++, then you would definitely have to assign a type to it. So it's something that we're doing it a little differently. And I'll tell you more why we're doing it this way.

The other question that we're asking is, how do we associate data, right? Here we're defining a framework for managing extensible and reusable relationships between assets. And the questions that we're answering with this framework are, how our assets related or which assets are related? And in what sense are they related?

So this is where we model things like parent-child relationships, container relationships, adjacency relationships, and so on. And we also offer a mechanism to group relationships into collections. And each of those collections can have a defined set of constraints and defined behavior.

So again, how do you create a relationship? Very simple. It's basically the way that you will be defining a graph, right? You say, I create a relationship. I pass the space URN. And I'm going to tell that relationship what are the two objects or the two assets that are being related, that are being associated.

And I can also optionally tell the relationship what kind of relationship it is or what collection does it belongs to. And again, we do that by defining relationship sets. And as I say, these are the two fundamental questions that we're trying to answer here.

So why does it matter? Why do we care about telling the relationship what kind of relationship it is? Well, it turns out that we're trying to stay away from rigid hierarchies both in the way that we assign types to objects, and also in the way that we define relationships, right? So when you have rigid containment relationships, you say something like, this object is always inside this other object. So something like, this floor is part of this building, or this chair is inside this room.

And you kind of have that single containment. And that's how-- or rigid containment-- and that's how a lot of our applications work today. But with that approach, you end up with a very deep tree of associations, which doesn't really give you the flexibility that you may need sometimes. So let me talk more about this.

So we understand that different objects are related in different ways, depending on the application or use case that you have in mind, right? So you can say something like, that lamp is attach to the ceiling. That's one relationship. Or you can say something like, that lamp is centered on the ceiling. And that's a different kind of relationship, right? They're independent. One does not imply the other.

But for different use cases for different applications, you might still need to capture both of those relationships. And so that's what this graphic here tries to capture, right? These are building blocks. These are all assets that could be part of a building.

So you have things like windows and facades and units and levels and bathrooms and so on, very simple model. And you can also have different types of relationships between those assets. You can have the composition. You can have adjacencies. You can say the bedroom is adjacent to the bathroom. You can have connections between all of these assets and so on. It's not one single hierarchy, right? It's not a single topology of relationships.

So we just want to provide something in contrast to the more rigid relationships model that our products have today, something that is a little bit more customizable and extensible so that you can easily define relationships as part of the data model of your own application. So we're going to provide some of these things out of the box so you don't have to define them yourselves. You can reuse them. But if you want to extend these relationship types or these object types, for that matter, you will be able to do so.

This is one of my favorite questions that we've been trying to tackle. It's a very important problem, and it has to do with typing. So how do we define extensible and reusable types? And how can we define them, and how can we extend them?

So we're defining this concept of component. A component is a type, collection of properties that is associated to an asset or to a relationship. Is anybody in the room familiar with the entity component system pattern for type extensibility? OK, somebody. Good. So entity component pattern is widely used in video game development.

And what's nice about this pattern is that it lets you define reusable types, basically reusable collections of data, as components. And it lets you attach those collections of data dynamically, at runtime sometimes, to the assets that you are defining. So that way you don't really have to define the type of the object that you are instantiating ahead of time. You can just say, I instantiate this object, and I will worry about the type later.

So going back to our example, here we just create a component. We had previously created a desk object. And now what I'm going to say is, OK, to that desk object, I'm going to attach this component, which I'm going to-- let's say it's a display mesh component.

So I'm going to tell that component that it has mesh data associated to it. And you know the shape of that data or the schema for that data is dictated by that schema ID on the right. And that's it, right? I don't have to tell that thing ahead of time that it's going to be a desk. I'm only instantiating it, and then I'm going to define its type.

And so ultimately you end up with an object, and it has an identifier and a name. And then you're going to define the notion of type for that object as a function of the components that are present or the components that are absent in that specific object. So this is clearly something that we're going to have to put a lot of documentation and examples and tutorials out there to help everybody understand because it's a little different from how we're used to modeling objects and types. We're also going to offer a system to model types in a more conventional and traditional way.

But once you get your head around this, you'll realize that it's an incredibly useful and flexible approach for extending data. And this is why. Anybody knows what this building is? So this is the Yokohama International Port Terminal in Japan. And it's a really cool building.

The reason I like it is that it's somewhat an unusual architecture, right? And I'm not a real architect like many people. I'm just a software architect. So don't take my word for what is unusual architecture and what is not. But the point to make here is that Revit is a great tool for modeling many traditional architectural objects and models and styles.

But once you take a look at a project like this, you're kind of forced to categorize one of these objects and put it into a standard data type when you're using an application like Revit. So what do you do? Can somebody tell me what this object is? Is that a floor or a step or a roof? It's not completely clear.

So it's hard, in many cases, to have an opinion about the type of an object ahead of time. And that's why this entity component pattern so far has made a lot of sense to us. The things that our customers want to build our composable. The world is composable.

And a type system that makes it difficult to support that composability of the world is very hard to be sustained. So we need some sort of type fluidity to model the world. And that's what we're going after here.

We have another interesting example that is from a project called Project Frog. And that, what they're doing in Project Frog is all part of the industrialized construction trend. And it's part of modularization. So they're basically working on a hospital model in Norway.

And when they're modeling a hospital room, in Revit, that hospital room can be a room element. But then that room is actually composed by parts or modules. So the bathroom itself is a part, is a module that is going to be brought into the hospital room. And that room, that bathroom can be treated as an assembly, which can be modeled in Inventor or in Fusion, given that they are manufacturable objects.

So is the bathroom an Inventor asset, and Inventor object? Or is it a Revit bathroom element? It's not clear. So this flexibility, this type fluidity, is really helpful in those cases. The other reason we like that kind of flexibility is that in many situations, if you take a look at that shading structure in the photo, for example, the data about that shedding structure that you care about when you're doing the conceptual design of that object is not the same data that you care about when you're doing the detailed design.

And it's not the same data that you care about when you're going to do fabrication and then assembling of that object in the construction site. So the data that you care that is relevant to an object is kind of changing, depending on which stage of the process you are in. But we still want to keep track of that object throughout the lifecycle. You still want the logical object to be the same, even if the properties of that object that you care about are changing,

So our teams have started to define some reusable components. And this is one of the efforts that we're following to drive standardization across multiple applications in the company. So you can define a component like file. And then in file, you put several properties that every file has. Like, is a file hidden? What is the size of the file? What content is available? What is the MIME type of the file and so on?

And then trackable is another component. I'm just throwing a couple of examples out there just to give you an idea of how these components can be used. Trackable is a component that includes information about when and who created or modified an asset. So what's cool about this approach is that now you have a file component, and you have a trackable component. And you can go and create a few assets and attach one or both of those components to the assets that you create, right?

So again, you don't have to say, you know what? This is an image file. You can say, I have an asset, and I have some properties about the image, about the bitmap or the dimensions or whatever, that I put in this component. But that image is also going to be persisted to a file.

So now I need file properties that I put in file component. And when I create my image file asset, I can take these two components and attach them to the same asset. We're working on a few other components, including parameters and units. We're looking to do standardization of unit definitions, things like what is the value branch for a parameter, what is the unit that the parameter is expressed in, describing metadata about a property, and a few other things, like coming up with a more centered mesh representation, more standard representations around typologies and compute resources and so on.

Then on the data management side, there are also a few questions that we're addressing, things like in querying. Find all the assets or relationships that satisfy certain conditions, right? Search for objects or retrieve objects in the history of the data. So give me all the objects that were modified by this user between April 2nd and April 13, right? So queries like that, that we know that our users want to do, we know that they care about them, and we cannot support them today. So these are the things that we're looking into at the moment.

Of course, we also need to be able to answer the question of, who has what kind of access to which data? So here we're doing work around defining permissions and identities and policies and so on and then building some infrastructure to provide more granular access to specific data, as I mentioned before. Then also, how do we manage collaborative data operations, right?

People want to sometimes, not always, but sometimes they want to be working on the same model at the same time. How do we manage that? How do we do conflict resolutions? How can we let somebody go and create a branch and do some work and then propose changes, very similar to what we do when we're writing code every day with pull requests, right? Imagine if you had to write code as part of a team where everybody's working on the same files, and you didn't have GitHub and all the mechanisms for collaboration that GitHub offers.

So these are all the questions, or some of the questions that we're trying to answer here. One comment I will make is that we also care a lot about providing a great developer experience. We want a consistent set of RESTful APIs and client SDKs for working with data.

And this is really important. We are working on the same APIs and same SDKs for internal use within Autodesk. These are the same APIs we plan to make available to our external users. So we're starting with Autodesk applications. But you will get access to the same endpoints and the same functions and methods that our application developers will have access to.

So just to start wrapping up, let's take a quick look at what we're currently doing with all these data modeling constructs. So in this example, we have a Fusion 3D model that is represented using common data modeling constructs, the ones that I just talked about, a space, an asset, a component, a relationship, and so on. So this is a Fusion model, but it's not represented using the internal schemas and the internal data types that Fusion uses.

Instead it's represented using assets, using components, and using relationships. So what you see here is actually a relationship graph that shows the different ways in which different objects in that suspension model on the right are associated to each other. And what's cool about this is that we can, of course, do the same thing for pretty much any of our products that learn how to represent data, how to model their data using these same constructs, right?

So here's a Revit model. It also has assets and components and relationships and properties. And the kind of assets in this model are exactly the same kind of assets that we saw in the previous module that was coming from Fusion.

So this is a very fundamental difference with how we've been approaching data modeling in the past, right? What we're saying here is that a Revit asset and in Inventor asset or a Fusion asset are the same kind of object. And Revit can have understanding at a much deeper level of how Inventor represents objects and vice versa, because basically the way they're representing objects is the same.

So you could imagine the possibilities if, for instance, Revit and Inventor both understood assets and relationships. This is an early experiment. If we did this in production, you could imagine the possibilities if all of a sudden you can model an elevator shaft opening in Revit as an asset. And that elevator shaft opening asset is connected through a relationship to an elevator assembly asset in Revit.

And then when you change the properties of the elevator shaft opening in the Revit. Then you're going to go and look for models in Inventor that are going to match the new dimensions or the new location of that elevator shaft. So this is much deeper integration that we do today. And it's something where we really want to go.

So remember I mentioned earlier in the presentation how we care about the interdependencies between the things that we design and the things that ultimately get built or manufactured or produced? Well, we think that this is a step in the right direction to capture, to understand, and to operate on those interdependencies. And we think that these constructs is what ultimately will allow us to break the walls between these applications, to break the silos, and to look for a way to standardize data and to make sure that products can exchange data more smoothly between them.

So getting this right, what I just described, getting all these concepts and tooling right, is a key step toward supporting frictionless design to make workflows and towards building a design-to-make platform. So that's all I have for today. I think we have about five minutes for questions. And I will also be available later today at the Forge DevLab in the afternoon from 1:30 to 4:00 PM. So you can come and chat with me.

If I don't answer your question now, just come. And we can have a one-on-one conversation. All right, questions?

AUDIENCE: Yeah. In the previous slide, you have relationship and component. What's the relationship between these two?

CARLOS VANEGAS: Between entity and component?

AUDIENCE: Relationship and component.

CARLOS VANEGAS: Yes. Oh, yeah, so components are type collections of properties that you associate to an object or to an asset. A relationship is an association between assets, right? So to give you an example, I can have my asset is a table. And I have, again, a mesh property. I may have the material property of the table or the material component of the table.

And then I have a different asset, which is the projector, right? So these are two assets, right? And the components are the groups of properties that we attach to those assets. The relationship is something like the projector is on top of the table.

AUDIENCE: Yeah. Can you give an example between asset or [INAUDIBLE].

CARLOS VANEGAS: Mm-hmm.

AUDIENCE: [INAUDIBLE].

CARLOS VANEGAS: Mm-hmm.

AUDIENCE: So then how [? do ?] [INAUDIBLE] because each application will have its own data [INAUDIBLE]. [INAUDIBLE].

CARLOS VANEGAS: Yeah.

AUDIENCE: [INAUDIBLE].

CARLOS VANEGAS: So that's a great question. The way we've been approaching it with our own applications is that they acknowledge that this is not a transformation in their internal application models that is going to happen overnight, right? It's a process. And also we're not asserting that our applications or any other applications have to fully migrate their data models that they use to date to this approach, right?

It's something. It can be a hybrid approach, right? You can bring the data models from your application, the parts of those data models, to the platform to the extent that it makes sense. So Revit, of course, is going to always need domain-specific data models that don't need to really be shared with other applications because no other application can make sense of some of that data. So it wouldn't make sense to try to put that into a more standardized data modeling concept or data modeling, yeah, constructs.

But for things like a comment or an issue, right, or concepts that are clearly reusable and that the only reason that they're not standardized is because of historical or legacy reasons, that's where we have very clear opportunities to start moving things out of the application-specific data modeling approach and into something that is more reusable and more common. But there's always going to be properties and data that you're going to keep inside the application. And we're going to have to support a hybrid approach between these.

AUDIENCE: Yeah. [INAUDIBLE], question [INAUDIBLE] using [INAUDIBLE]. [? So we ?] [INAUDIBLE].

CARLOS VANEGAS: Absolutely. Absolutely. Yeah.

AUDIENCE: [INAUDIBLE].

CARLOS VANEGAS: Absolutely. That's a great point. And so there's a spectrum of integration. And you just need to find your place in that spectrum. Last question?

AUDIENCE: Yeah, just a [INAUDIBLE]. [INAUDIBLE] 360 documentation of this. How much of this is actually linking it into the sort of actual [INAUDIBLE].

CARLOS VANEGAS: Right. Great question. So we are working closely with the software architects in BIM 360 to understand their data modeling needs. So far, the BIM 360 has acted as a platform of its own, with data management and data modeling concepts and components of their own. And what we're looking at here is how can they start making use of some of these concepts?

So we have a couple of projects. I think one of them is actually going to be announced at [INAUDIBLE]. I don't know if it has already. So I cannot mention it here. But one of them is actually starting to use these concepts that we're defining here.

AUDIENCE: [INAUDIBLE].

CARLOS VANEGAS: Sorry?

AUDIENCE: Packaging. [INAUDIBLE]

CARLOS VANEGAS: That BIM 360 package? It's not that one. We can talk offline about that. OK, well, I think we're-- is it time? I don't even know what time is it. Let's take a quick look. Yeah, I think it's 11:30. So we're probably-- OK, maybe last question, then.

AUDIENCE: Do you work also [INAUDIBLE] integrate the [INAUDIBLE]?

CARLOS VANEGAS: Yeah.

AUDIENCE: [INAUDIBLE] [? structure ?] [INAUDIBLE].

CARLOS VANEGAS: Yes.

AUDIENCE: [INAUDIBLE] [? not ?] [INAUDIBLE]. That's [INAUDIBLE]?

CARLOS VANEGAS: Yeah. So there's a lot of work in IFC. We've been-- so IFC, for those who don't know, it's the Industry Foundation Class. And it's a data standardization program or specification, I would call it, that is done mostly for BIM and construction and architecture. We took a very close look at IFC. At some point, we even considered adapting or integrating directly into IFC.

We found some limitations and some obstacles if we were to do a direct integration. So we are still creating our own data modeling concepts. But we know that the industry, in some regions more than in others, has a lot of adoption of IFC. And so being able to exchange data with IFC directly between IFC-- and so today we can already exchange data between, say, Revit and IFC, right? But being able to have some form of data exchange between our data models here and the IFC specification is definitely something that we're going to need to do. We haven't done it yet.

Well, thanks for joining, again. And let's follow up after the talk or this afternoon for more questions.

[APPLAUSE]

______
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 的沟通更为顺畅。

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

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