AU Class
AU Class
class - AU

Learning Lab: Your first Forge Dashboard

共享此课程

说明

Let’s bring data together! In this class, we’ll build a dashboard with data from different sources, using Forge as the basis for the interface. Bring your own laptop, or use the lab. This class requires basic knowledge on .NET or Node.js.

主要学习内容

  • Discover the basics of Forge
  • Learn how to create your first app based on Forge
  • Learn how to connect external sources of data into a Forge-based app
  • Learn how to build a web app interface for a dashboard

讲师

  • Jaime Rosales Duque 的头像
    Jaime Rosales Duque
    Jaime Rosales is a Dynamic, accomplished Sr. Developer Advocate with Autodesk, highly regarded for 8+ years of progressive experience in Software Development, Customer Engagement, and Relationship Building for industry leaders. He's part of the team that helps partners/customers create new products and transition to the cloud with the use of Autodesk's new Platform - Forge. He joined Autodesk in 2011 through the acquisition of Horizontal Systems; the company that developed the cloud-based collaboration systems—now known as BIM 360 Glue (the Glue). He was responsible for developing all the add-ins for BIM 360 Glue, using the API's of various AEC desktop products. He is currently empowering customers with the use of Autodesk's Forge platform throughout the world, with hosted events such as Forge Accelerators, AEC Hackathons, VR & AR Hackathons. He has been recently involved in the development of AWS Quick Start to support Forge Applications.
  • Augusto Goncalves 的头像
    Augusto Goncalves
    Augusto Goncalves has been an API evangelist at Autodesk, Inc., since 2008. He works with all sorts of technologies, from classic desktop to modern mobile and web platforms, including .NET for AutoCAD software and Revit software, and JavaScript application programming interface for NodeJS.
  • Xiao Dong Liang 的头像
    Xiao Dong Liang
    Principal Advocate. Xiaodong joined Autodesk in 2007 as a developer advocate. Starting with desktop products’ APIs such as AutoCAD, Inventor and Navisworks, he dived into cutting edge technologies in web and cloud. He now supports BIM 360, Fusion 360 and Forge. Xiaodong is one of the contributors of ADN DevBlog and Forge blog. He is also active on Autodesk forum, mingling with the community. He has a masters’ degree in mechanics. He is enthusiastic about smart hardware technologies and enjoys programming with them connecting with a wide range of Autodesk products including Forge.
Video Player is loading.
Current Time 0:00
Duration 1:01:37
Loaded: 0.27%
Stream Type LIVE
Remaining Time 1:01:37
 
1x
  • Chapters
  • descriptions off, selected
  • en (Main), selected
Transcript

JAIME ROSALES D.: So I guess we still have a couple of more minutes. So get comfortable. We can actually save some time. Basically, this workshop is going to be a build up of some of the previous ones that we have been doing during the day. How many of you guys, it's your first lab today, this one? Beautiful.

All right. So actually, let's save some time. First off, I'm going to need you to create an Autodesk account. So if you have an Autodesk account, you can skip that step and head over to forge.autodesk.com. On the top right corner there is a sign in button there in order to sign in into the Forge environment. And from there, we're going to create an app. So there is a free trial that gets setup for this. So don't worry. We won't ask for a credit card, or anything like that.

So you will get a set of API keys that you're going to be using later on with our workshop. So let me show you a little video how that looks. So basically, once you create and log into it, you're going to create an app by selecting all the different services, give your app a name, a description, and then a callback URL.

The tutorial itself, it can use either accessing from buckets, so containers where our files are going to be hosted. And if you already have experience with this, and you want to interact with your models that are in BIM 360 Docs or Fusion Team, for example, just make sure that the callback URL that you setup kind of matches whatever you're running on it. So if you don't know what that means, stay with the other one. OK?

So the callback, we can do something similar to that one. Or just do a dummy one for now. We will not be using it. OK?

So while we wait, the guys and the girls that don't have that, please, go ahead and set it up. And then we'll get started shortly. All right?

Come over, Xiaodong. Xiao? Xiaodong.

[LAUGHING]

You can raise hands to just get an idea of who already went through this process, so that way we kind of know where we're at. A little bit higher. We're good. All right. So that way I can see everybody.

So ooh, what's that error that I have there? So I will do maybe one more minute, and then we will get started. OK? So it's a tight schedule. We have one hour. I want to get you running with some dashboards at the end. OK?

And any other questions, please, if you have problems, just raise your hand. My team will give help. Fernando, can you help me over there? And then give me a second. I will send you him right now in a second.

What's your question? Maybe I can help you out.

AUDIENCE: [INAUDIBLE] [? get started ?] [INAUDIBLE]?

JAIME ROSALES D.: Oh, OK. So I can tell you. Wait one second. Do you need that one?

AUDIENCE: The callback URL [? doesn't matter. ?]

JAIME ROSALES D.: The callback URL doesn't matter. You can do just some dummy ones. So do HTTP, forward slash, forward slash, localhost 3,000, something like that.

But like I said, if you already know about this stuff, and you're doing stuff with BIM 360 Docs or Fusion Team, that means that you already have a previous setup app. So you can use that one as well. OK?

AUDIENCE: [INAUDIBLE] you said [INAUDIBLE] localhost [INAUDIBLE]?

JAIME ROSALES D.: Yeah. So do HTTP colon, forward slash, forward slash, and then localhost colon 3,000. That's it.

AUDIENCE: Ah. OK.

JAIME ROSALES D.: Yeah. It's just a dummy URL. Because you're not going to be using any reference of a callback at the moment. OK?

All right. So it's almost time to get started, because [INAUDIBLE] we're going to be running out of time. So let me quick start.

So welcome. Thanks for joining us in Forge DevCon, as well as AU 2019. So my name is Jaime Rosales. I'm a Forge developer advocate. And with me also I have Xiaodong Liang. He's over there. Xiaodong, say hi. Just raise your hand. There we go.

So Xiaodong is also a Forge developer advocate within my team. Today I'm going to show you how to extend the tutorial material that we have in order to do visualization of your CAD models with some dashboard functionality. So we will use the meta data of your CAD models in order to generate a couple of graphs, bar chart, pie chart, and then do some interaction with those charts with the viewer. All right?

So let me skip this a bit. Just a quick thing about me, I guess. Been with Autodesk eight years. Acquired by Autodesk with BIM 360 Glue product. And I work on Forge now. Xiaodong, more time with me. And awesome guy too to get to know.

All right. So before we get started, this is what we're going to get started with, an application that looks like this. So it is basically the View model's application. And what it's doing is that it allows you to create a container, which, in this case, will be your bucket. Allows you to upload a CAD file into it to later on request a translation, and let you visualize it in the viewer.

So we're going to start this as a base. And I will tell you right now from where you can get it. OK? So let me skip to one more.

All right. So as a starting point, we're going to head over to our Chrome browser, and go to learnforge.autodesk.io. Once we are there, we see on the top right image there is a couple of arrows that point out to view your models or view BIM 360. The ones that don't have BIM 360 are going to go to the View Your Models. OK?

And then from View Your Models, we're going to select you see the second image that is below that one. So it has a node.js one and a .NET framework one. Yeah. So we're not going to interact with the server side language in this one. It's everything going to be from the client side. So basically, just interaction with the JavaScript side.

So you select one of those two. It can be the .NET core one, or the node.js one. I will be showing you everything from the node.js side. If you prefer to use the .NET one, go ahead. My lab assistants can help you out if anything goes wrong. But hopefully, this will go smooth.

And then what we're going to do is that when we click there, it will send us over to a GitHub repository where we can select a different branch. And actually, let me show you that. I think it might be a little bit easier. I sound like Darth Vader.

OK. So we're going to go to View Your Models. And I think I'm going to make this a little bit bigger. And then from here we're going to skip this, because this is what was done on the first lab today. But we're going to head over directly to the download of the project source.

So we go into node.js. For example, you see that the node.js branch, it's selected. If you're familiar with Git, you can do a Git clone of this repo with the specific branch of node.js. If not, you can just do a download ZIP. OK?

So once you download that ZIP-- it's going to download on your computer-- we can extract this ZIP. It will basically look like this. So we will have access to the route and to the client side part of it within the public. And what we are going to do is that this folder, we're going to open it in Visual Studio Code.

So I already have that set up. So this is where we're going to head over. OK? OK. So let me give you two minutes to be at this stage. Whenever you are here, please, just do a quick raise of hand. And that way I know where we're at. All right. Cool. Some of you guys are already done. So I will wait two minutes for you here. And then we will keep going with the setup of the NPMs, and also the configuration for our environment and our development.

AUDIENCE: I could install the package [INAUDIBLE].

JAIME ROSALES D.: Yeah. So if you're already here, the package JSON basically specifies which dependencies we're going to be running. So from the terminal, you can do an NPM install. That will give you all the modules that are going to be needed for it. And now you're going to have a new folder that is called Node Modules.

AUDIENCE: I missed a step. What do you do with the ZIP file once you've extracted it?

JAIME ROSALES D.: So the ZIP file, you extract it. Right? And then you open Visual Studio Code. So in your desktop there is a Visual Studio Code. And you're going to do Open Folder, and select the folder that you extracted.

So in that way, it loads the project with this look on the right side where you have-- you're going to be missing a couple ones, because I already set up this, but you're going to have public, routes, Git, maybe the config.js, the license, the package JSONs, the readme, and the start.js. And then from there, we're going to start adding the other ones.

OK. So now, in Visual Studio Code when we have the structure of the files that that project contains, we have a file that's called Package JSON. In the package JSON, it references which dependencies from node we will be using. Right?

So in the top part of our menus, we have one for terminal. And we're going to do a new terminal. And then a terminal will show up here inside of our Learn Forge View Models project.

From there we're going to run the command NPM install. [? Once ?] it's run, it will install all the dependencies that it needs to do. And now you're going to have a new folder that will show up in this side saying, no modules.

And let me know if the dark screen is not good. I can switch it to white.

AUDIENCE: [INAUDIBLE]

JAIME ROSALES D.: What? Oh. So I will switch it to white then. Is that better?

AUDIENCE: Yes.

JAIME ROSALES D.: All right. Cool. Sorry about that. I'm a big fan of the dark screen stuff.

OK. So now, once you install the [INAUDIBLE] modules, we need to include the configuration setup. Right? So a configuration setup from Visual Studio Code will allow us to debug this application later on. So in the tab of debug, we're going to open a configuration, or add a configuration. This will give you an option to select node.js as a configuration. And then from there, we'll get something that will look like a launch JSON like this, where we will input our Forge client ID in secret, and so on.

And don't worry about this. I will [? kill this ?] app after the tutorial. So that way you guys can use my keys. In order to get a structure of this launch JSON, you can obtain one from the tutorial that it's located here. It is under View Your Models, Create Server. You select node.js. And then scroll down to look for Launch JSON. So you can copy this to clipboard, and then include it in your Launch JSON.

In here we're going to substitute the values of your client ID and your client [? secret ?] in the Launch JSON. OK?

AUDIENCE: Sorry. Where is the [INAUDIBLE]?

JAIME ROSALES D.: In VS Code or where?

AUDIENCE: No. In [INAUDIBLE].

JAIME ROSALES D.: The project? Did you have the project already? Or not yet?

AUDIENCE: [INAUDIBLE].

JAIME ROSALES D.: Let me see?

AUDIENCE: Yes. Yes. [INAUDIBLE].

JAIME ROSALES D.: Yeah. But no. You're in-- OK. Let me see.

AUDIENCE: Yeah. I know. That's the other-- sorry.

JAIME ROSALES D.: No. It's OK. But you already have something similar.

AUDIENCE: No. But I was working-- let me see.

JAIME ROSALES D.: It's this one, the one [? that we need. ?] And then from here you go into node.js.

AUDIENCE: Yeah. But I did that. I don't know what happened.

JAIME ROSALES D.: I might need to [INAUDIBLE] I think it's this one. Right?

AUDIENCE: Yes. But I already downloaded.

JAIME ROSALES D.: 345. Yeah. This is the one. Did it download? Oh, no.

AUDIENCE: I already did that. I don't know-- [INAUDIBLE] was it inside Downloads [INAUDIBLE].

JAIME ROSALES D.: Yeah. But it's not--

AUDIENCE: The one I opened.

JAIME ROSALES D.: So let's do this. Or is it still doing it? Yeah. The thing is there's a mix up of both of them here.

AUDIENCE: I don't know why.

JAIME ROSALES D.: Yeah. So get a new source, and then just start it.

OK. How many of you guys have the Launch JSON already setup? Can you raise your hand? A little bit higher, please. There we go. Thank you.

All right. So if we have this already setup with the keys, we installed no modules, now we can start debugging. And this will launch in the port 3000. So in our browser, we can head out to localhost 3000.

I already have something here because it's using my keys, but you should be seeing an application like this running that allows you to create a bucket. And then from there, we are going to be able to upload files to it. So if this is what you're seeing, go ahead and create a new bucket. The bucket names have to be all of them in lowercase.

Try to think of a unique name. Because test, it's something [INAUDIBLE] [? user ?] [? brought, ?] [? that ?] it will still work, because we have something in the back of this tutorial to add an invisible hash to the name. But just do something else for you to kind of have a better record of it.

So once you have that bucket, let me know, and raise a hand. OK? All right. Awesome.

OK. So how many of you guys have the bucket running already? Awesome. Almost 70% of the room. I will give you another two minutes. And that way we get the other ones.

And if you need help, just raise the hand. And that way, we know. Go there and I'll go with him.

Yeah. It's because [INAUDIBLE] like node.js. OK.

AUDIENCE: Ah. OK.

JAIME ROSALES D.: So it has to be here in the Launch JSON. Yeah. And now we do Start Debugging, Debugger Attach.

AUDIENCE: If I want to do this [INAUDIBLE] is it the same?

JAIME ROSALES D.: Yeah. But I don't want to focus too much on the server side. It's more on the client side today. So create a bucket. Give it some sort of name there.

OK. So can I get a raise of hands of how many of you guys were able to get a bucket? Just please, a little bit higher. That way I can see better.

All right. So can you guys help me out with the other ones that are still not able to? Who else is having problems with this? Can you raise your hands? All right. So it's one, two, three, four, this full line there.

All right. I'll give another two minutes. I'll try to get that. You're having problems. Right? All right. What's up?

AUDIENCE: [INAUDIBLE]

JAIME ROSALES D.: You're doing the [? Hobbs ?] model. Right?

AUDIENCE: [INAUDIBLE].

JAIME ROSALES D.: Is that the intended one? Do you have a BIM 360 setup and everything?

AUDIENCE: Which model?

JAIME ROSALES D.: This is for accessing 360 models. Do you have BIM 360 models and connect the API keys to it?

AUDIENCE: No.

JAIME ROSALES D.: So I will say, go to--

AUDIENCE: I was using-- [INAUDIBLE] we setup one earlier today.

JAIME ROSALES D.: And did it work?

AUDIENCE: --a sample BIM 360 model.

JAIME ROSALES D.: Oh, OK. Yeah. If that worked, that should be fine then.

AUDIENCE: Yeah. So it was under a different folder. I keep going back and forth.

JAIME ROSALES D.: It's OK. Is it node.js? Can you click Control-A? Yeah. Save. And then add your API keys here. [INAUDIBLE] there.

And yeah. I want to see your app, the first one. So we might need to modify this one if you're going to be doing stuff with BIM 360. Copy that.

OK. Get those API keys in there. [INAUDIBLE] try to debug. Who else have problems here? I was told there is some. Oh, Peter. Peter, there is one there. And then there are some other ones here.

All right. You need to input your API keys in here in order to run.

AUDIENCE: OK.

JAIME ROSALES D.: OK? Because right now, it's not going to run.

AUDIENCE: [INAUDIBLE].

JAIME ROSALES D.: This one. So copy there. Yeah. Yeah. You can just click on it. [INAUDIBLE] copies. Yeah. It's copied.

Yeah. But we need to save it or that's not going to save. I think you did something to package JSON. [? It won't ?] start. OK. [INAUDIBLE]. Did you do NPM Install? You did.

Do localhost 3000. Localhost. Local. L-O-C-A-L. Host, caller, 3000. Yeah. There you go.

So create a bucket. New bucket. Then type a name, lowercase, and then--

AUDIENCE: [INAUDIBLE].

JAIME ROSALES D.: Was it too big, the file?

AUDIENCE: [INAUDIBLE]

JAIME ROSALES D.: Oh, well, we'll look into it.

All right. So let me continue. All right. So we're not going to go to this. But in case you get lost towards the end, we can head over to this location. I will give you the link after. But I'm pretty sure that we're going to be OK with the other stuff. So let me move along.

So for these dashboards we're going to use a library. It's called Chart.js. The reason that I picked Chart.js is because I wanted to keep it simple. I wanted to get through the pain of actually not having to interact with a lot of stuff, like Power BI, or D3.js in order to generate some report look. In Chart.js it's a third party library, pretty simple to use. And this is what I got the tutorial kind of based on.

So what we are going to be doing is an adjustment of the layout of the tutorial that you guys have running at the moment in order to include the visualization of charts [INAUDIBLE] made of data from the models that you guys are going to upload. OK?

So let's go through this step. OK. So we're going to head over, again, to Learnforge.autodesk.io. And then at the bottom, like towards the bottom, there is a section that is called Dashboard. OK?

This is going to be the outcome of the workshop today. Basically, we are generating two graphical interfaces in order to interact with the viewer directly from the client side application. OK? So it's quite simple, a couple of steps. In order to have success with this thing we need to follow very carefully what we're including into the code. And I can walk you through and kind of do it at the same time with you guys.

So we're going to start by adjusting the layout. And then basically, the first step is we're going to head over back to the tutorial code. And we're going to start by adding a new folder under the JS folder in the public side. OK?

So we're going to add a dashboard folder. And inside of that dashboard folder, we're going to add a dashboard.js file with the following code. So what we can do is copy the clipboard, this one. We're going to get back to here. We can stop this app from running for now. Actually, we don't need to, but we can stop it. Then we're going to head over to Public, JS. Select JS.

We're going to open a new folder. We're going to name this Dashboard. OK? From Dashboard, we're going to have a new file that is going to call Dashboard.js. And here we're going to paste the code that we just copied. Paste it. Save it. And we have now the Dashboard.js file saved.

So basically, this is just a function that when the document gets loaded into the browser, we start adding the bar and the pie chart when the geometry of the model itself is fully finished. Because there is no way to generate data inputs if we don't have access to that data that is coming from the model. Right?

Then we're going to get back to here. And now, we're going to keep going. And we need to add a reference in our index.html file to this new file that we just added.

So again, we're going to copy to clipboard, head back to our code. We're going to go into our index.html file. We have a section where we have certain script references. We're going to enter a new one, paste this one. And now we have one for our dashboard files. OK?

So now, we're including the one that we just added, which is in the JS folder, Dashboard folder, dashboard.js file. OK? Then we will do some adjusting to the CSS file in order to give our application a little bit of transition and styling whenever this thing gets loaded. OK?

So now, again, we already have the main CSS. We just need to add a couple more classes to it. So we're going to copy to clipboard again, go back to our code, look for the CSS file, which is under Public, CSS, main.css file.

We already have some CSS here. Do not get rid of it. Head over below the Forge Viewer reference. We're going to paste the new one, which basically will setup an adjustment for the Dashboard panel where our dashboards are going to live. A little animation on the transition. So it actually doesn't look very choppy. And it gives us a nice looking resizing. And then a general one for the Dashboard panel itself. OK?

So we save that one again. So that's the part of the adjustment of the dashboard. If we load that right now, it's still not going to do anything, because we don't have any charts that have been added to it. So we're going to move to step number two on the adjustment, follow both step number three, and basically, we'll be done.

So let me do a quick check. How many of you guys are up to the part, finishing the main CSS? Raise hands, a little bit higher. OK. So can you guys help me out with the ones that are having problems? And now, the ones having problems, just raise the hand again, please.

If you have problems, just raise the hand. And that way we will send some people. Awesome. All right.

So for the ones that are following along and they're up to this point, the other ones will catch up. We're going to move to panel basics. So now, we're going to prepare this data in order for our viewer, and also the dashboard to represent it in the graphical way.

I'm not going to go through this part right now, because it's basically explaining how do we use the organization of data within the viewer. This is something that's available online. And if you guys want to find out a little bit more about it, you can read after.

So now, we're going to do a new class. And this is going to be the DashboardPanel.js. And DashboardPanel.js, basically it's the one that will get the properties from that model in order to structure it for the dashboard to later on display it.

We're going to do the following again. Under the folder JS, Dashboard, we will create DashboardPanel.js. And we will include the following code.

So copy to clipboard. Go back again. On the Dashboard folder, we will add a new file that is called DashboardPanel, with capital P, .js. We paste the code and save it.

And now, if you remember on the previous step, we needed to add a reference also to our index.html. Other than that, the page will not know that this thing exists. So if we scroll down in that same tutorial, we have that reference of the script. So copy again. Go back to the index.html. And in the section that we have for dashboard, we can include that one.

So now, our HTML knows about the existence of dashboard.js, and also DashboardPanel.js. OK? So we're going to save that. And now, we're going to move into adding the charts.

So another check right now. How many of you guys added already the DashboardPanel.js? Please raise your hand. Awesome. I will give you another minute in order to catch up. We still have some time. So I kind of want to go through this first, because if we have problems, we at least have a couple more minutes to help you out, and then also solve some questions. And feel free to continue with the next step. So in that way, we can save some time as well.

All right. So now, in order to add the charts, now we need to do a reference to the third party library that I mentioned previously, which is called charts.js. So we are going to copy again the definition of those chart.js packages, and include them in our index.html, so when the page loads it knows where to look for in order to understand the following functions that we are going to include for the charts.

So we're going to copy the clipboard, go into the index.html. And we can actually go into an area where it says, come on packages, jQuery Bootstrap, JS3. And in this case, we're going to be adding the charts.js one.

We're going to save index.html again. And now, to the final part of it. We're going to add a bar chart panel.js file. So again, under the JS folder, Dashboard folder, we're going to create PalBarChart.js. Copy to clipboard. Go in here.

Again, Public, JS, Dashboard. Click on Dashboard. New one. PanelBarChart.js. Paste the code. Save it.

Same thing for the pie chart one. Same location. Different name. PanelPieChart.js. Copy to clipboard. Dashboard, New File. PanelPieChart.js. Make sure that you're typing Panel with capital P, Pie with capital P, chart with capital P.

Paste again the code. Save it. And then the last step is we just created new JavaScript files. We need to reference them in the HTML file in order for our page to know about it. Other than that, it's not going to know.

Mona, can you help me out with him? Thank you. So we're going to copy to clipboard. Add the two scripts into our index.html file in the same location where we were adding the Dashboard ones. Save this. OK? And then I believe we are ready to run. OK?

So now, we're going to try it, the moment of truth. It's always whenever I'm doing live coding or anything like that, demo gods always do not agree with me. But we'll see how it goes this time.

So now, we're going to add, again, a reload. I will give you a link for you to get files if you don't have any at the moment. But so if we load [INAUDIBLE] sample, you see that the adjustment of the viewer happens whenever this is starting to get loading. And the charts will show up as soon as the geometry of the model gets finalized in order to know with what to populate the dashboard.

I'm using categories on the viewer in order to pass in the values to the dashboards. In this case, I'm using only material, because if we use construction models, and also manufacturing models, something that we can always make sure that it has, its material. OK?

But you guys can extend this use later on in order to, let's say, let's focus on the system type of whatever the category of the model is. So you will get information about the HVAC system and some other stuff in there. So now that we have this, it not only gives you a view of the graphical content, but also, it lets you interact with the viewer by clicking on the dashboards, and so on. OK?

So if we head over, and if you want to get models, you can head over to-- let me actually copy this. Let's see how I can do this better. I think that might work.

So in this repository also, the code that is available, it's the one that we just added manually right now. In there you can find a folder that is called models. There are three models available in there, two Revit ones, and one Fusion one. So you can download them from that location.

And what you're going to do after, it's upload those files to the bucket that you created in your application, request the translation. And once that model is ready for visualization, it will load you the dashboards. OK?

So let's go ahead and do that. And since we still have a bit of time, who needs help? Let's start here, and then I will start moving along.

AUDIENCE: [INAUDIBLE] so I'm able to get it to [INAUDIBLE] the model like we had before and all that, but I can't get the dashboard to show up.

JAIME ROSALES D.: Yeah. So did you edit the reference for the dashboard? OK. So I think you're missing something. Go back to the code, to this. Add charts. To the top.

Keep going. This. You're missing this. So copy the clipboard.

AUDIENCE: Ah.

JAIME ROSALES D.: Because [INAUDIBLE] the HTML doesn't know that we're using a third party library. OK? So you're going to click here. Do a new line. And then paste it there. Save that. And then run it.

Was it running before? It takes a little bit [INAUDIBLE]. Do you have any models already or not yet?

Yeah. It's still not loading.

AUDIENCE: [INAUDIBLE].

JAIME ROSALES D.: One second. Yeah. [INAUDIBLE].

AUDIENCE: [INAUDIBLE].

Repair the data. I didn't do anything with [INAUDIBLE].

JAIME ROSALES D.: No. This is fine if we skip it.

AUDIENCE: OK. Yep. See that.

JAIME ROSALES D.: Yeah. But did you do this? The dashboard panels and all that?

Did you do the main CS ones. [INAUDIBLE] HTML.

AUDIENCE: You could maybe take that [? off, ?] because that could be [INAUDIBLE].

JAIME ROSALES D.: Yeah. It looks like it's-- Charts. [INAUDIBLE]. Yeah, but this is not [INAUDIBLE]. And save.

AUDIENCE: Those two lines that you just deleted, were they [INAUDIBLE].

JAIME ROSALES D.: Yeah. Yeah. They need to be up there. Right now it doesn't work.

AUDIENCE: Oh.

JAIME ROSALES D.: Because it goes by order in the document when it's loading.

[INAUDIBLE].

AUDIENCE: How do I get to this view?

JAIME ROSALES D.: It's not adding those. So we're missing some stuff in there. That's the reason why. Dashboard. Yeah. So we're missing one. [? Did ?] you forget another one?

AUDIENCE: DashboardPanel.

JAIME ROSALES D.: Mhm. That should work now.

AUDIENCE: All right. Thank you.

JAIME ROSALES D.: Yeah. Hey.

AUDIENCE: [INAUDIBLE]. But I'm not seeing the pie chart.

JAIME ROSALES D.: We're missing one.

AUDIENCE: Oh.

JAIME ROSALES D.: PanelPieChart. PanelPieChart. You have it.

PanelPieChart? [INAUDIBLE]. Dashboards. Dashboard. [? Host, ?] Index, Main, Transition. I don't think that matters. But Index.

Ah. We're missing the reference to the-- oh, no. You do have the charts. [INAUDIBLE] then it shouldn't matter, to be honest. That should be fine there.

I see some status [? button ?] request on the start.js. [INAUDIBLE]. Come on, [INAUDIBLE]. That should be it.

How are you running this? Did you setup the debugger, or no?

AUDIENCE: Yeah. I used debugger.

JAIME ROSALES D.: But where is it?

AUDIENCE: [INAUDIBLE] here.

JAIME ROSALES D.: Yeah. But it's not. Where? OK.

AUDIENCE: Maybe it just needed to refresh.

JAIME ROSALES D.: It's still not adding all the dashboards, which is weird. Let's clean out cache, I guess.

AUDIENCE: [INAUDIBLE].

JAIME ROSALES D.: No. It's not. Close [INAUDIBLE]. Close. Close. Close. Close. Close. OK. Pie charts.

[INAUDIBLE]. It should be fine. I don't know why it's not.

AUDIENCE: Don't worry.

JAIME ROSALES D.: No. No. It's OK.

AUDIENCE: I probably misspelled something.

JAIME ROSALES D.: That's what I'm trying to catch. Cause the one that I'm not seeing is-- I see dashboard. Oh, I see what it is.

I know. But you typed it like that. So that should be-- wait. [INAUDIBLE] really look [INAUDIBLE].

AUDIENCE: Yeah.

JAIME ROSALES D.: No. But DashboardPanel is fine. No. No. Never mind.

AUDIENCE: No. It's PanelBarCharts is the same. Right?

JAIME ROSALES D.: No. It's right here.

AUDIENCE: Yeah. But that's the one that's not showing.

JAIME ROSALES D.: Yeah. It is. So it's that one, the one that it's missing. Bar chart.

AUDIENCE: In the index maybe? Maybe I'm missing an [? S ?] or something?

JAIME ROSALES D.: Ah. Yeah. That's the one. So it actually has to be [? chart. ?]

AUDIENCE: Oh. So much better to copy and paste.

JAIME ROSALES D.: Yeah.

[LAUGHING]

OK. So now we should be fine. Is this still running? No.

AUDIENCE: Yeah. It seems to stop [INAUDIBLE].

JAIME ROSALES D.: What the hell? Wait. You're doing debug. Right?

AUDIENCE: Yeah. It just did start debugging.

JAIME ROSALES D.: But now it tells me that I have to select an environment.

AUDIENCE: [INAUDIBLE].

JAIME ROSALES D.: That's [INAUDIBLE].

AUDIENCE: Maybe I just went back to here.

JAIME ROSALES D.: OK. That is so weird.

AUDIENCE: I don't [? know. ?]

JAIME ROSALES D.: Let's see [? if it ?] loads it.

AUDIENCE: Amazing.

JAIME ROSALES D.: There you go.

AUDIENCE: [? Very ?] [? cool. ?]

JAIME ROSALES D.: Yeah. Yeah. Sure.

You're my last one. All right.

AUDIENCE: [INAUDIBLE].

JAIME ROSALES D.: Oh, no. No. No. No. No. You can skip this one.

AUDIENCE: Oh, OK.

JAIME ROSALES D.: Yeah. Yeah. Yeah.

AUDIENCE: [INAUDIBLE] I'll show you what I got so far.

JAIME ROSALES D.: It's not loading? OK. Let me see.

AUDIENCE: I'm close. I'm close.

JAIME ROSALES D.: Yeah. You're really close. It's probably missing a reference.

AUDIENCE: It said something about my pie chart in the debugger thing, missing a node. Or it might have been the way I copy and pasted.

JAIME ROSALES D.: Probably. But if not, we can-- just to be safe, I guess.

AUDIENCE: Yeah. It's probably--

JAIME ROSALES D.: You have a lot of them.

AUDIENCE: Yeah. I started freelancing on it, and then I realized that wasn't the way to go about it. So I went and started, and did it all right, [? just like ?] [INAUDIBLE].

JAIME ROSALES D.: Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. It's empty. Right?

AUDIENCE: I was proofreading it.

JAIME ROSALES D.: Oh, wait. Wait. Wait. Wait. I know what it is.

AUDIENCE: I'm missing a js reference.

JAIME ROSALES D.: This thing needs to be up there.

AUDIENCE: Oh. [INAUDIBLE]. OK. Because it said right after, [INAUDIBLE] after that.

JAIME ROSALES D.: Yeah. That's probably something that I need to-- come on. It needs to finish the geometry. Oh, material. Ah. That might be the reason why.

Yeah. So if it doesn't have material, it doesn't. So it's working. We need a different model. That's all.

AUDIENCE: OK.

JAIME ROSALES D.: OK?

AUDIENCE: Ooh, man. I'm surprised I got that far. I did this at home, and it worked. You know what I mean? I followed the steps through the--

JAIME ROSALES D.: Get this one.

AUDIENCE: Used my own model and everything. Did I load the wrong one? Or how'd I mess [? that up? ?]

JAIME ROSALES D.: This is an RSD one. So this is an architectural one. That's going to have materials. The RSD doesn't have any materials.

So give it to one or two minutes, and then click on it. That'll work. Yeah.

All right. So we're getting close to the end. Can I get a quick raise of hands of how many of you guys are seeing the dashboard? Raise it a little bit higher.

OK. All right. So I'm going to give you an option to ask questions. So this should be your final result. Like I mentioned before, basically, you get an animation of the resize in order to be able to visualize the different types of materials that are available within.

This video is basically using a different category. It's using system type and order stuff. That's the reason it might look a little bit different. But the idea itself is that one. Right?

So if you got that, I think, good job. Awesome. So any questions that I can take in the last five minutes that I have? Yes.

AUDIENCE: You have all this JavaScript I think in one of those. [INAUDIBLE] C# in the [? parameters. ?] Do you [INAUDIBLE]?

JAIME ROSALES D.: I don't know at the moment. But I guess we will have to start taking a look into it. I usually know that C# itself will be for the server side.

So there is a lot of functionality that we have with Forge that basically uses the server side. But when it comes to client side, which is the web browser itself, JavaScript, it's kind of like the main part of it.

AUDIENCE: It's called Blazer.

JAIME ROSALES D.: Blazer?

AUDIENCE: Yeah. That's C# [INAUDIBLE].

JAIME ROSALES D.: Really? Awesome. That'll be nice. Yeah. So we'll definitely start looking into it. Our C# guy, you have it right behind you. Yeah. So you can tell him. [? Agusto. ?] He's right there.

So we will start looking into it. And then if that's where, I guess, with everything it's starting to go when it comes to C# development and all that stuff, and that's going to benefit some of you guys. Or even if it benefits one of you, we'll take care of it. All right? Any other questions? No?

Wow. I still have two minutes. All right. Well, so if I still have two minutes, I will give you just a quick-- for resources and learning, you guys can get more information about how to get to work with Forge. If you have questions and you need to reach out support, feel free to write us through Stack Overflow. You can use the Autodesk-Forge or Autodesk-Viewer, or ModelDerivative tags. We have an implementation in order to get those questions into our system. So in that way, we can kind of track it from there.

Then at the same time also, we run accelerators around the world. This are the list for the next seven months actually. So if you are interested in working with us for a week, it's free of charge. You only have to cover your travel expenses, and maybe a few beers for us. That's it.

But we will help you out during the week, basically building your prototype, or enhancing any kind of project that you already have. So you can submit a proposal to either of those cities, wherever it's closest to you, or wherever you want to check it out and extend it as a vacation, I guess.

And then also, if you're more interested about learning for Forge, we have the Forge Village on the fifth floor. So you guys are welcome to come and talk to us. And during AU, we will have the Forge Answer Bar. So please feel free to come by.

Let us know. Treat us. I will appreciate if you guys can do the survey about the class. Hopefully I get some positive feedback. If not, it's OK. It's improvement for myself. So that's always good.

And I think that's it. Thank you, guys.

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

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

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