Description
Key Learnings
- Analyze Different types of GIS Data in Civil 3D
- Create Thematic Maps to Display Complex Data in ways that are Easy to Understand
- Export AutoCAD Geometry to Different GIS Formats
- Export Civil 3D Objects to Different GIS Formats
Speaker
- Rick EllisRick Ellis is the President of CADapult Software Solutions, Inc., where he provides training and consulting services to clients around the country, helping them get the most out of their design software investment. Rick specializes in Autodesk® Civil 3D®, AutoCAD® Map 3D, Autodesk® InfraWorks™, AutoCAD® Raster Design, and AutoCAD®. He is a member of the Autodesk Developer Network, and author of several critically acclaimed books on AutoCAD Civil 3D, and AutoCAD Map 3D; including the Practical Guide series. Rick continues to use AutoCAD Civil 3D on projects in a production environment, in addition to teaching classes to organizations both large and small around the country. This practical background and approach has made him a sought after instructor by organizations around the world.
RICK ELLIS: I'm going to flip back and forth with this slide. This class is actually part of a pilot that he was doing this year with some screen sharing technology from FXP touch. And basically what you can do is, if you have a phone, tablet, laptop, any device with you that you wanted to, if you log into that URL, you'll see my presentation screen. So you'll see what's up here. You'll get slides on that device, but you'll also have the ability to do things like take notes on that.
And there's a bunch of other functionality that we didn't have time to input for this class, because this came together pretty last minute with that, but you can see there's things like chatting and asking questions and so on. I'll have one poll question that those of you who have logged in will get a chance to do towards the end of the class, but basically if you want to do this, awesome. I don't want it to take away from what we are doing in the lab itself, but it's some interesting technology that I think could be implemented and do some really exciting stuff here at AU in the future. So I'm excited to be part of it.
Thank you to the guys from FXP touch for being here and helping out with that, and I'm going to be using it in the CAD Manager panel that I'm doing tomorrow afternoon. Anybody going to that? A couple of you, like one. It'll be just us. No, it's-- we're going to do some poll questions and that, and try it out, so I'm excited to see what that all looks like.
So if you want to log in there, go for it. What I think is really cool is it's an option for you to take notes kind of contextually along on top of the slides and have it all saved for you, rather than trying to put everything back together once you get back. We've got a couple more minutes before we will get going to let the last few stragglers come in with that and give you a chance to log in if you want to.
Speaking of classes and handouts and all of those things, Sam did bring me a couple more, so I do have a couple hard copy handouts for anybody who actually wants them. 1, 2, 3, I'm sorry, that's it. I knew they would go fast. Do you want to pass them down there? There you go.
Certainly, handouts are on AU online. You can see them on your device or on the app if you want to. Also, for those of you who may not have options to get to that, you do have the option to open up the handout from the dataset. It's on your PCs here, and you guys should have a Windows Explorer window opened up automatically for you to the class dataset. So don't close that if you haven't already with that.
And so you know, the class dataset for the lab is going to be on your C drive. It's going to be C datasets, Rick Ellis, and then the class number, which I believe is the second one from the top today. So we will be using stuff out of there.
So all right, well, it is 3:30, so off we go with this one. I am seeing lots of familiar faces from the first one yesterday, so welcome back. With that, don't tell the others, but you were my favorite group.
And this is Part 2 of the GIS in Civil 3D Lab. And where yesterday we talked a lot about bringing data in to Civil 3D, we're going to talk in this class about different ways you can use that data, some of the things you can do. Obviously, we won't be able to get all of them, but we'll do some interesting stuff, I think, there. As I mentioned before, you can get it on your mobile device if you log in there to FXP touch.
How many of you were in the class yesterday, the Part 1? I'm seeing like 85% or so. I could have done a poll with this, you're going to tell me. And you know I'm going to make fun of you up here, so that's OK. That's all right.
Anyway, I'm not going to go through a whole bunch of introductions stuff because most of you sat in this class and listened to it yesterday, so I'm not going to bore you with that. For those of you who didn't get a chance to go to the Part 1 of this, welcome. Glad you're here and able to be here.
My name's Rick. I do CAD stuff. We'll keep moving with that, but I'm mainly a consultant, trainer, author, that type of thing. I've done that for quite a while. This is year 12 for me teaching at AU, so excited to be doing that.
Lab Assistants. We actually have the same crew back from yesterday at this time. So if you took the Part 1 end of the day yesterday, we've got Tony back there in the middle. We've got Sam over on the right. If you got a hard copy handout, thank Sam for it on your way out.
And Brian Hailey from CAD-1 there. And Brian was just telling me he's on time, again. He's never going to let me forget, which is great.
You should-- just so you guys all know the whole story of last year when Brian was doing a lab assist for me, he kind of forgot what time the class started. And so I texted him right before we started and said, Brian, where are you at, man? And then for the next five minutes as Brian was running up through the conference center hurriedly and hitting the door out of breath and all sweaty, I was getting texts, I'm coming, I'm coming, like, leave me alone, I'm teaching. So when I sent him the material this year, he said, and I'll be on time. So [INAUDIBLE] I'm here.
But anyway, these guys will be your first kind of line of defense today. As far as if you have questions, please ask them. You know, if something doesn't work, you can't find a file, you get a step behind or something, do that so that we can keep moving through the material and getting to it. Again, all overly qualified, they've all taught at AU and stuff as well. So with that, I'll move on.
As far as you guys-- we already kind of talked about who all attended Part 1 of this, so I'll ask you the more relevant question from today already. How many of you went to the keynote this morning? About half of you or so.
For those of you who didn't go to the keynote and hear the news, Autodesk and Esri are no longer fighting with each other horribly and competitive. They are shaking hands and all one big happy family, apparently. So that is awesome news. I don't mean to make light of it. I mean, I honestly never thought in my life I would see Jack Dangermond on the stage at AU.
And if you don't know who Jack is, he's the founder and president at Esri. So the fact that they are now talking about working together, I think for this topic, is awesome. Part of me thought, this changes everything, and all the stuff we were going to do this afternoon, we should just throw out. But the reality is that is not necessarily the case, because it's going to take time for whatever they have planned to happen.
But the fact that they are talking and wanting to work together is, I think, awesome, because it's going to allow us, at the very least, I would think very soon, to access each other's data sources much easier. So exciting news. I thought that was pretty awesome today to see.
So Class Surveys, I mentioned it yesterday, please fill them out. I'll tell you, those of you who were in here yesterday, I went and checked up on you. I logged in, and we had like six.
OK, I don't want to do percentages and all that. I don't want to browbeat you. But it was late, OK, and I'm-- I kid, I know I don't have time to do a lot of that stuff as well.
But I can say from being on the AU Advisory Council and talking with a lot of the people who put AU together, those class surveys are important. They are paid attention to. They are used. And it's a great place for you to be heard.
If you like a particular speaker or don't like a particular speaker or if you like a particular class or don't, that helps determine how those classes are added and done in the future. So it is a chance for you to somewhat shape what the conference looks like. So please do that, and like I said yesterday, on behalf of myself and the guys in the back who are helping out with this, I mean, we really want you to have a good 90 minutes here and learn a lot. And if you don't feel like this was kind of a five out of five thing, come up and we will talk and do what we can to make it that way for you. So surveys are important.
The Agenda. We're going to do a little bit of a rehash of overview, introduction type, GIS type stuff. I'll keep that kind of short since lots of you heard it yesterday. Then we're going to look at analyzing different types of data. We'll look at thematic mapping. And then we're going to look at exporting, exporting AutoCAD objects and also exporting Civil 3D objects, because the process is different on there, and we'll look at those with that.
I do have one more book to give away, so we will do that at the end of the class. So if you didn't win yesterday, you still have a chance on that. We'll go through and figure out a way to give that out.
And if you have questions, like I said, lab assistants are your first resource there. Like yesterday, you guys did an awesome job of kind of holding questions until I had a break and taking a few there, and we were right on time. So we'll do it like that again. I don't think there's anything. I'm pretty sure there's nothing in here after this session, so I'll hang out late again if you want to stick around.
You have my email address hopefully. If you don't, come up and I'll give you a card for it. And then they are doing office hours this year at AU, so I am going to just stay after class essentially on this one. And anybody who's taken any of my classes this week so far, or anyone else for that matter, is welcome to come in, and we've got the space from 5:30 to 6:30.
There may be other instructors in here as well, so we don't have it totally to ourselves, but it's a chance for you guys to ask questions, talk about this, anything else, I don't care. If you want to discuss the World Series, I have my opinions. Anything like that.
So Civil 3D, we talked about yesterday. It's AutoCAD, AutoCAD Map, and Civil survey stuff all crammed together. Today, we are going to see really where a couple of those subtle dividing lines become important, because data from one area may or may not read data-- or commands from one area might not read data from another.
So, for example, when we start exporting stuff, I've got data in my drawing, I want to export that to some sort of GIS format. The Map Export command we will walk through today works kind of like the backwards version of the Map Import command that we did yesterday. And it will work with AutoCAD objects, so lines, arcs, circles, polylines, text, those types of things.
It doesn't know how to deal with a Civil 3D parcel or a Civil 3D alignment or pipe network. It would just ignore those objects. So we have to treat it differently, and there's different commands for that. So we'll go through that step by step.
So to start with, we'll kind of look at analyzing data, and because data can come into Civil 3D different ways, you need to look at what kind of data you have before you pick what command to use. There's not a one size fits all portion of this. This is really a big giant tool box, and you've got to decide what tool you need to pull out of it to work with it.
So it might be that you have AutoCAD objects that have object data attached or external database links. That would be one approach, one set of commands to analyze it. You might have features attached, like we did the end of the class yesterday, and with that direct connection, you would have different tools that you can use to analyze it. So you have to know what you have first.
So let's jump in, and we'll do an exercise here. I'm going to switch over to Civil 3D. Here we go.
And in your handout, if we go to page four, or actually it's before that, it is page three. So on page three, go to your dataset, which is C datasets and then my name and then the second one from the top under that. And we're going to look for the file called Sewer, Sewer.dwg.
And these are all yellow, so I'm going to change my background. I ended up going back and forth with my background earlier today. All right, all better.
These are just AutoCAD polylines and blocks. They have object data attached to them. So if you were to pick one of these sewer lines, right click, and go to the AutoCAD Properties command, you'll see all of the common AutoCAD information. It's a polyline, layer color, line type, and so on.
And then down at the bottom, we have an object data table called Sewer Pipe Data, and it has a project number or name, whatever it would be, a size, and a material. That's just the data that whoever created this decided to put on it. But it's AutoCAD based stuff.
If I copy that line, it will copy the data with it. If I erase that line, it erases the data. If you explode that line, you can probably guess, you're going to lose it.
So in addition to that, if I picked another line, like that one in my case, like the Properties Dialog Box usually does, it tells me I have two polylines. The project is the same, the size varies, and the material is the same. So I could change any of these values, and it would update both those lines at the same time. If I change where it says varies, it makes them both the same. So that is one way to kind of, one step at a time, look at different objects.
And in the class yesterday, we looked at labeling options for that. But what if I wanted to analyze the data a little bit more and I wanted to do something more specific than just randomly picking and looking at what's there? Go ahead and close out of the Properties window, and escape to deselect things, and close that sewer drawing. No need to save it, but we're going to close out of it.
And this is one of the first steps. It's a little counter-intuitive, because I want to look at the stuff in the sewer drawing, but I just closed it. Right, it makes total sense. I don't know why you guys understand. Oh, yeah.
So with that, and if you guys are putting in questions on the app thing, that's awesome. I'm not going to answer them during class just because I'm going to get lost in things, but I will follow up with you on it. That gives me an email address or whatever, right, to get back to them? Yeah, perfect. As long as you put an email address in, I will email you back. And if you put in the wrong email address, then you're out of luck.
So let's make up a new drawing, and I'm just going to make this from the AutoCAD template, acad.dwt. So just like yesterday, blank, empty drawing, nothing in this. I didn't preset it and cheat or anything like that. I'm going to turn off the grid just so you don't have to see that, and if you didn't set it up already, we need to be in the Planning and Analysis workspace.
So up at the top of your screen, if this says Civil 3D for your workspace, switch it over to Planning and Analysis. All that's going to do is it's going to give us a different set of ribbons, different layout of commands. And on the View tab, under Palettes, there's something that probably says Task Pane, and it looks like it's turned on, but the task pane isn't here. So go ahead and click it to turn it off and click it again to turn it back on, and magically it's all there, and it works.
Don't ask me why. Just do as I say, not as I do, whatever that is. Do as I do because that's what I said, how about that?
Anyway, we looked a little bit at the Display Manager yesterday. Pick the Map Explorer this time. And then what I'm going to do is go to Windows Explorer where I have my data set up, which that is not. But I would go to the dataset where you guys were all in there already, and I'm going to find that drawing called Sewer and just drag and drop that drawing into the Map Explorer. Not into the drawing area or it'll insert it, but drag and drop it into the Map Explorer.
What that does is it attaches it, kind of like an xref, "kind of" being emphasized, because when you attach an xref, you automatically see the entire drawing on the screen. Here, nothing's on the screen, however, it shows up under attached drawings. And when it does that, that means that drawing is available for us to use in the Map Explorer and with any type of queries we want to do.
You can attach one drawing, or you could attach as many as you want. And those are going to be drawings, or if you want to think of them as just buckets of data that we've attached, because that's really what a drawing is, just a database. So we've attached that data, and now we can sort through it, and we can find pieces in it and even copy them into our drawing.
So if you want to see what was in that file, you can go to the Drawings folder and just right click on the folder, not on the drawing itself, right click on the folder, and pick Quick View, and then pick OK. And it will do a preview of everything in all of the attached drawings. Now it looks just like what we just saw, so not super exciting, but this is just a temporary image to show you what's there.
That stuff really isn't here. As soon as you redraw, or even if yours just disappeared automatically for you, maybe you had an autosave that went on, and that forces a redraw, if you redraw it, it goes away. It's just a preview of everything attached.
Now to do something of actual value with this, rather than just look at it like that, what we can do is go to the Map Explorer, and right click on the current query, and pick Define. That's going to let us create a query that searches through all of the attached drawings. It doesn't care about what's in my current drawing. It cares about what's attached to my drawing, which is why I had to close it and attach it.
We're going to focus in on the lower left corner of this Dialog Box, and you have different query types. You have Location, which is exactly what it sounds like. You query by an area.
So you can have-- you say, find all the objects in this polygon or in this window. You can limit it that way. So if you have a huge drawing that you've attached, the entire city's worth of sewer lines, you may only care about this one little spot, so you can limit to that.
Property is AutoCAD Property, so that would be things like layer, color, line type, elevation, length, area, any of that stuff. So if you think-- if you put those together, find all the objects on this layer in this area. Even with that we got pretty specific.
Data and SQL, let us look at attribute data attached to those objects. So I'm going to pick Data, because what I want to do is pick data, and then click on Object data. And I want to find all the object data that's in the table, sewer pipe data, and look at the field size. Set the operator to greater than or equal to a value of 10.
So we're saying, go find all the sewer pipes that are in this attached drawing that have data on them that says they have a size greater than or equal to 10. And our drawing's pretty small, but if you think of a city or county's worth of data and having it sort through that, that is immensely helpful. So I'll pick OK.
From there, you can see the results of the format of the query at the top of the Dialog Box. And then we have this area, Query Mode, Preview, Draw, and Report. Preview is a preview. It does basically a quick view of the query results. So it'll show it on the screen, tell you a number at the Command Line, but if you redraw, everything goes away. It's not permanent.
Draw actually copies and draws all of those objects into this file. So you've made a copy of all the 10 inch and larger sewer pipes.
And then Report. Once you click that, the Options button shows up, and that will allow you to format a report of all of the selected objects. So you could say, give me a report with the length, diameter, and material of all the sewer lines greater than 10 inches.
In our case, we're going to leave it set to preview for right now just to see what happens. And at the bottom we have OK, Cancel, and Help, like we normally do, and usually OK in AutoCAD means go. Do what I have told you to. In this case, OK means save all my changes that I made in this Dialog Box, but don't do anything. So people keep saying, well, I clicked OK and nothing happens.
Now Cancel, it cancels out, doesn't do anything, and it discards all the changes that you add in here. Execute is the Go button. That's going to make this happen and run the query in a preview mode, in this case.
So if I pick Execute Query, it goes out and does its thing. It draws my sewer pipes. I can graphically see where they are. And at the Command Line it says there's 81 of them. So I found 81 sewer pipes 10 inches or larger.
All right. Just redraw again, and that will erase what's on the screen. Go back to the current query, right click, and pick Define. It remembers what we did last time.
Let's go back to data again. Now we've got the AND operator selected. So it's going to use what we had before and pick data, object data. Sewer pipe data is my table.
Material is my value. Now material, in this case, is just a text field, and this command is not super sophisticated in the fact that I can only have an operator of equals, and I have to know what value I want to put in. So, A, I have to know the value, it doesn't show me a list.
B, you can begin to see where drawing standards have become really, really important, because I'm going to type in c-o-n. So concrete in our case is just c-o-n, if I get there and highlight the field. If you typed in c-o-n-c, you're going to get nothing, because nothing has c-o-n-c on it. And you have to know what that is, so you have to know your data a little bit.
You pick OK. It says, now I'm going to find all the pipes 10 inches and larger and that have a material tagged as concrete. Let's do the Draw option. So we switch over to draw. That means it's going to copy these physically into the drawing.
Pick Execute Query, and there's my results. It says I have 54 of them that are 10 inches above and concrete. Now in this case, redraw, they're not going to go away. These are all here. They also happen to be linked back to the file they came from, so they know where they came from.
If you edited these, you'll get prompted if you want to save the changes back. So you could make changes to this file without ever opening it, which could be really, really awesome, and it could be really, really bad, depending on how you use it. Most of these PowerShell commands have both sides of the coin like that, so be aware of what's going on.
If all you want to do is get these objects copied into my drawing, and I don't want to do any editing, which is pretty common a lot of times. I don't want to do any editing with it, so all I'm going to do is that came up because of an autosave, and I'll talk about it in just a minute. Right click on the attached drawing, and pick Detach. When you do, you may get, depending on your settings, a balloon notification with a little warning on it here. This warning is the same as that Dialog Box that just popped up on my screen a minute ago.
The big dialog box is kind of scary because there's a big red X on it that most people see right before they crash. That's not the case. It's not an error. It's an informational thing. What it's telling me is by detaching these objects, I've broken the link to the source drawings.
So from now on, I cannot edit these and save their changes back. If I wanted to do that, I would just have to erase these, requery them in, and that would reestablish the link. So you can use this as editing or not. It's up to you there. But that's just one way to analyze some data that comes from drawing based data, stuff saved in the DWG.
Real briefly, any questions on that? Are we good? You guys are tired after a long day, I'm sure. Yes?
AUDIENCE: Can you put a wildcard [INAUDIBLE] or anything like that or c-o-n if there was a c or something like that?
RICK ELLIS: Yes, the question was, can you use wildcards in those queries? And yes you can. So you can get really sophisticated with that if you want.
Moving on here, we're going to continue to look at this, but we're going to look at basically the same thing. When you have connected feature data, instead of drawing based data, so instead of importing or making data in the drawing. If you've connected to that like we did in the Part 1 class towards the end, and we'll see this if you go to the Open command and go find the drawing that's in our dataset, we have to browse to the dataset here the first time, and there's a drawing called Feature Filter.
And on the Task Pane, go ahead and pick Display Manager. What you're going to see here is we've got two feature layers already attached to this drawing, which is the process we went through yesterday at the end of class where we attached a shapefile. This could be a shapefile. It could be an SDF file. It could be a geodatabase. It could be lots of different things.
We've got those two different layers. To look at the streets layer, go ahead and just pick the streets layer so it's highlighted. And then click on the Table icon right above it to bring up the table. So here's a list of all the streets and all their data.
Within that, if you go down to the bottom of the table, that little link kind of a button, kind of a link thing here says, Search to Select. Click on that. When you click Search to Select, it brings up the Query Dialog Box. And this interface, once you get used to this, this is used in all of the feature related query commands in AutoCAD Map. So you'll use this same thing again, over and over.
All I'm going to do for this is I'm filtering on the streets. Go to the Property button. You have Text Properties and Numeric properties. I'm going to select Owner under Text Properties. So it puts in owner.
Then I'll pick the Equals button. Then over in the upper right corner, there's a button that says Get Values with a big green arrow on it. If you click Get Values, that expands. Owner is selected.
So if I pick the green arrow again, this shows me all of the unique owner values as opposed to that query that we did a few minutes ago, back where I had no concrete with c-o-n. This went and searched through all the data for me and told me all of my options. So this is much easier because I don't have to know everything about everything before we get into it.
So I'm just going to pick PVT and then pick Insert Value. That would be all the private roads. Notice, here's my expression, Owner Equals PVT. Click OK. It will run that filter on the data, and by doing that, it will highlight all of the private roads both in the table and in the drawing.
So I was really quickly able to go out and find just those pieces of data. And we could, of course, be much more advanced than that. You could say, this value, and in this area, and with paved or not paved or something like that. We could get much deeper into it, but just to show you, that's going to be your process with it.
Similar to that, if you close the table and open up another drawing that's in that same folder, there's a drawing called Feature Query. And I'll open this. Now, the difference between Feature Select and Feature Query is that Select just ran through the database and picked all those records. Feature Query is actually going to go back, take the same type of a query in the same format, and only display objects that meet that criteria. So it weeds it out of the display based on the criteria, rather than just picking them and highlighting them on the screen and in the table.
And what we're going to try to do here with this query, we have parcels and streets again, but we also have this big blue blob, which is the floodplain. We want to find all of the parcels that are at least partially in the floodplain and have an improved value greater than 0, because in our case, with our data, we're assuming that parcels that don't have an improved value greater than 0 are city parcels, and they're not private ones. So touching the floodplain and improved value greater than 0.
So to do that, the first thing we do is just go over and pick the Parcels layer. That's the feature that we want to filter or query through. Then it brings up a new ribbon at the top here on the View tab.
We can go to Query to Filter. So Vector Layer tab, View Panel, Query to Filter. That brings up the Dialog Box. It looks just like the last one we did.
So if we learned a little from the last one, this will be easier. We can go to Locate on Map, and you have options of inside or touching any part of. That's basically the AutoCAD window in crossing, although we can't call it that for some reason. So we're going to go to Locate on Map, touching any part of a polygon.
So once you pick that, it takes you out here. You could draw the polygon if you want, or if you just type S for select and then pick the floodplain, it shows you-- hey, guys, we've got somebody in the back, if you could, thank you-- shows me Location Intersects Polygon ID-1, whatever it's calling that. So it knows the area now.
I don't want just the ones that touch a polygon, so I'll go up and pick the AND operator. Remember, AND means it's more exclusive, in that it has to meet both criteria, or means it's more inclusive and you would have this or that. So it only would have to meet one.
So I'll say, AND our property, and you'll see all the fields of data that we have for parcel properties. I'll come down and I'm going to pick improved value or i-m-p-v-a-l, improved val. Then I'll pick the Greater Than sign, type in 0, so touching this polygon and an improved value greater than 0.
Now, to make sure we did this right, if you go down and pick Validate in the lower left corner, it checks the expression and makes sure there isn't any problem with the syntax. Now, your logic behind it may be wrong, or it may not work, but at least the syntax is correct. If there's a problem, you'll get an error, and it'll point you in the right direction. Yes?
AUDIENCE: [INAUDIBLE]
RICK ELLIS: No, it doesn't tell you if it's going to find anything. It just says your expression is valid. As soon as we pick OK, you'll find out real quick if we got anything or not. So once that looks valid, I'll pick OK.
It goes back and it requeries, and there, what we're seeing is just the parcels that touch the floodplain. And if you even went to the Display Manager and turned off the floodplain so that we didn't see that, there you would see just those parcels. And if you REGEN, that temporary line all goes away, and there's the parcels that have an improved value greater than 0 and are somewhere in the floodplain.
So we could take that, make mailing list, do whatever you're going to do with that particular information. So just another way to sort through and work with that type of data. So, any questions on the filtering, analyzing stuff? Well, you guys are all either really tired or-- yes, Porter?
AUDIENCE: [INAUDIBLE]
RICK ELLIS: Yeah, if you click on the Table icon, it only shows these that are selected. It's not the entire data set. It is the filter data set. So you'll have just what matches there.
All right. Next, we are going to move along here and talk about thematic mapping and scale dependent styles. Yeah, Kelly?
AUDIENCE: [INAUDIBLE]
RICK ELLIS: Yeah, that table, there is an export option in there. You can dump it to, I think, an Excel or a CSV. You can copy and paste. You can do a couple of things with them. So, yeah, great question.
Scale dependent styles are the first thing we're going to talk about. Basically, this whole section is display. How you display data that might be very complex in ways that is easier to visually understand without creating 100,000 labels on everything that you can never see at a bigger scale. So we'll do scale dependent styles, and then we'll do thematic mapping after that.
For scale dependent styles, the idea is, as you zoom in, you might see more objects or less of some, depending on what you wanted to set up. So in this example here on the left, we have just parcels. We're zoomed way out. We zoomed in to a particular scale, and once we get tighter than that, we see sewer lines and structures, and we zoom in farther and labeling pops up. All are based on the styles in the display manager, which we're going to look at so we can make those scale dependent.
And really the idea is, you're either turning features off completely based on scale or you're changing how they display. You could change your color. They could change your thickness. You could change if labels are showing up on them at different scales, and so on.
So let's go take a look at that. If we go back over to Civil 3D, there's some information regarding that in your handout on the next few pages. Our exercise starts on page 18, if you are following along out there. And we're going to open up a drawing called Scale Dependent Styles. And I want to start by looking at it, because I have some scale dependent styles already set up in here, and then we're going to make some others.
So if you pick the Sanitary Manhole Layer, and then pick Style above that, what you are going to see is if we look up at the top of this window, we have two rows here, meaning our objects are going to display at least two different ways. So from 0 to 2,000, I get a green dot. I could look down here. This row is showing whatever values are assigned to the scale row selected up above. So this is the 0 to 2,000 information.
It has some text shown as a label, and it's a green circle. If you pick the next row right below it, you'll see things change just a little bit and same green dot, but the label is set to none. So that's where the label goes away, symbol looks the same.
If you notice above that or numerically above it, but geographically here I guess below it, there's nothing above 5,000. If you go above 5,000, this feature doesn't show at all. So once you've zoomed out past the 1 to 5,000 scale, you have no manholes or no structures. By default, when you add a feature, it would look like this.
If we pick Sanitary Lines and pick Style, it says 0 to infinity. That means this thing shows up one way all the time. No matter where you zoom in, it is this big thick green line, and it has no label on it. That's how it works.
So what we're going to do is kind of match the manholes a little bit. And to do that, actually the first thing I want to do is ignore this for a minute. You can leave it up. You don't have to close it.
But if you notice the status bar down at the bottom of Civil 3D, yours might look a little bit different than mine if you start looking closely, because AutoCAD Map has the ability to have additional information on the status bar. So if you type in at the Command Line, and this is in your handout, so you don't have to worry about notes on here, but if you type in map status bar, no spaces, just map status bar, and then show will be your option at the command line, that will change, and it will add like your coordinate system. And there's a 2D, 3D thing over here, and then there shows you the scale that you're currently zoomed to just so that you can see that. This still works without it, but you don't really know where you're at, so it gives you a little context.
Now back in the Style Palette Editor, the Style Editor, up at the top I have from 0 to infinity. Well, I'm going to pick Add a Scale Range. So now I have two rows.
And the first row is going to be 0 to 2,000. The next row is going to be 2,000 to 5,000. So it's going to look one way from 0 to 2,000, a different way from 2,000 to 5,000, and above 5,000 doesn't show up at all.
If you wanted it to just go from 5,000 and above and look like something else, you would add another row, and it would be 5,000 to infinity to make that work. But I'm going to pick the 0 to 2,000 row at the top. So it's important we pick the right one, so the scale range of 0 to 2,000.
Then down below, you'll notice the style is this thick green line, which is fine, but I want to add a label to it. So I'm going to go over to the Feature Label field and click on that, and it brings up the option to create a style label. You have two options at the top. You have Map and Device.
And I've got to be honest, those meant nothing to me the first time I heard them. I still have to think about it. Basically, Map is an absolute scale. You put in a height of 10, it's 10 feet all the time for the text.
Device is more like annotative text. It changes size based on your viewport scale or how you're zoomed in and out. So we're going to pick Map to just make text that's all the same size, and units is going to be feet. Then click the Add Label button.
Now, something that it likes to do here, some of you may have noticed, as soon as I clicked Add Label, it set it back to millimeters. Go pick feet again there to just make sure we're not getting something somewhat unexpected. It's going to be MTEXT. You'll use Arial as a font, that's fine. The size, we're going to type in 10, so that means that this text should be 10 feet.
You can change the color of the text if you'd like. Let's go ahead and change the color. Let's make it orange. That might show up on some of these. We'll see when I zoom in tight.
And the text content, it says U static text. Well then you would just type something in here. I don't want that. I'm going to-- instead of U static text, I'm going to pick size. That will get the text size that are the pipe size value and put it on my label.
Once you've done that, just go ahead and pick Apply. Then pick close. So that's the feature label from 0 to 2,000. From 2,000 to 5,000, it's none. Let's close.
Let's zoom in. You zoom in, pretty soon the pipes show up. You keep zooming in, and there's labels on the pipes. This is where you guys are all excited again, remember? Ooh, aah, hey, somebody paid attention yesterday, yeah. But I mean that is kind of cool.
I mean that is-- now do I get to pick exactly where the labels are? No. Can I pick them and move them around? Not so easily without doing some conversions and stuff.
But pretty quick, easy labeling, and it will let you zoom in and out, see different things in different scales, a lot of stuff that more mapping type software rather than CAD software is typical that it does and so on. So that is the first part of displaying things, is this scale dependent styles, and that scale could be anything. We used it for labels.
It could be that you want it to be a red line when you're zoomed out, and it's really thick. And when you zoom in closer, it's a green line, and it's thin. Whatever you want to do, it's probably possible within that.
AUDIENCE: Do those style apply [INAUDIBLE] if you were to have XREF into another file still in that file?
RICK ELLIS: The question was, does this apply if you XREF this into another file? To be honest, I haven't tried that. I would have to for a while, and I don't remember. I remember there were a few idiosyncrasies when we did.
It would definitely have to be XREF'd in with Civil 3D or AutoCAD Map. If you XREF it in to just AutoCAD, certainly it's not going to work.
AUDIENCE: What if you have Object Enabler?
RICK ELLIS: Object Enabler, I don't believe it's going to pick that up because it's not a Civil object. It's a map one. So there are a few limitations, and most likely I think the way that they intended this to be used is that it wouldn't be extracted. You know, this is a connection already, kind of like an XREF, so you wouldn't connect in an XREF. You would just connect in the drawing that you natively want to see it in with that.
So with this, to kind of keep us on track, because we are rapidly moving through time, thematic mapping. Basically it's the idea of trying to display values graphically rather than just labeling a bunch of stuff. Labels aren't bad, but there's a limit to how much text you can put on a drawing.
So this is a way that you can make data-rich drawings easy to understand, and they could help display things like trends and distributions and connections. This example here is an area that was shaded by property value, I believe. So you can see lighter colors versus darker colors, darker being more expensive parcels, and lighter being less.
So let's jump back over for an exercise within that. There's more information in the handout on thematic mapping just in general, some conceptual stuff. So if you want that, that is there.
Let's start by opening up a drawing that I have called Sewer Theme. And here we go. And this drawing is just like when we started out today with. It has polylines with object data attached.
If you notice in the Display Manager, there is no connection. This is not a shapefile or an SDF or any sort of connective data. However, I can still use the Display Manager even on drawing data, because if I go to the Data button and pick Add Drawing Data and Drawing Layer, it gives me a layer, a list of all the layers in my drawing. I'm going to check the box for sand pipe main.
Click OK. That adds a layer to the Display Manager for that AutoCAD geometry. Then right click on that new layer. Pick add Style.
Theme at the bottom, this is page 26. This walks me through a process here where I can say, what theme type is it? It's a set of specific values, because I want pipe sizes, so I'm going to do a set of specific values. Pick the Values button to the right of that.
Obtain from, where I get the values we're going to thematically map it by. So pick the Ellipsis button or the More button beside that, and let's go to Object Data, Sewer Pipe Data, Size. So we're going to tell it, look at the object data size. Click OK.
Then click Read Data, and it shows you the results, and it'll tell you how many of each you have. So for instance, we have 22 ten-inch pipes and 24 twelve-inch pipes and so on. You can pick one or two of these, or you can right click and select them all. Click OK.
And then it says, how do you want to display these? Do you want to change your color, your line type, the plot style, all kinds of different options. I'm just going to check the box for color at the top.
Go to Ramps, and I'm going to pick Rainbow, just because it'll probably show up on the projector here better. And then click Done. It will redisplay all the pipes based on different colors for different sizes. And I've got 10-inch pipes are one color, 12-inch are another. It's kind of hard to see on the darker screen, I realize, but you get the idea pretty quick, I'm sure.
So that was pretty cool. I mean, we used the Display Manager for AutoCAD stuff, not just connected things. Let's look at another example.
If I open up another drawing, there's one here called Parcels Theme. This has parcels connected to it, and they're all the same color. I want to thematically map those parcels based on their improved value or their land value. We'll do land value on that.
So pick the Parcels Layer, come up and pick Style above that. It brings us back to that same style thing where we could do scale dependent and all that other fun stuff. So you could combine thematic mapping and scale dependent if you wanted to. It looks one way at one scale, a different way at a different scale.
I'm going to pick New Theme, the button on the kind of middle left hand side. The property that I want to analyze this by is going to be land value. It shows me a minimum and maximum land value based on the data that it just looked at.
You can pick your distribution method. I'm going to pick Jenks Natural Breaks, and I'm going to have five different values or ranges. You could change the colors of those values if you wanted to for the legend text.
We could go down beside that and put in land value. Click OK. Close out of the palette window. And now you see, based on their different values, I've got different colors.
It's OK, that was exciting too, right? Ooh, aah, we are doing business school. You guys are tired, I know. It's the end of the day. Think how tired you're going to be tomorrow morning. Isn't that exciting?
Anyway, this information here can get dropped into a legend as well. If that happens in your layout, if you pick the Layout tab, you can use one of the legend-- there's a legend tool there that will pull the stuff directly out of the Display Manager for you. You can also, up at the top, we really haven't got into this, and we don't really have time, but it has Display Map. It says Default.
You can make multiple maps. You can name these. So I could have one map that showed parcel values, thematically mapped one way, then go to the dropdown, make a new one, and name it Zoning, and I could have zoning mapped a different way. And you could just toggle between those maps once they're set up, and it would look-- displays zoning or displays land values or displays school districts or whatever you might have.
So a lot of things that you can go there. You can take that to a lot of different levels with that. So questions before we move on from thematic mapping, getting into export?
AUDIENCE: How do you do the toggle?
RICK ELLIS: How do you do the toggle? It's just that-- to do the toggle, currently it says Display Map Equals Default. That's not very helpful. I can go to new-- or actually it's over here, to Maps New. I could call it something, Zoning, and it's blank.
Well, if I had my data connected, went out here to parcels, add that to the map, there's the parcels rezoning. And I could go in and do the same thing, do the thematic map this time by zoning. Pick OK. And there those are.
Now, this I have zoning and default in here. Default, I should have named Land Value, but I go from one to the other. You know, boom, boom. Once you're set up, it's pretty darn seamless, and the cool thing is that the legend is also dynamic with it. So if you've got the legend in, it updates to what you're showing.
So for those of us who forget to update the legend, you know, you're all good. So, yeah, Kelly, I should be able to rename that default one. So if I make that current and go to maps, I believe I can go under Properties, and it's not going to-- it always has to have default. It's kind of like Layer Zero. So what I'd do is I'd copy it and make a new one. There's a duplicate in there to do that.
So that's at least a taste of thematic mapping, and I think we could probably do 90 minutes on just thematic mapping if we wanted to, because I think it's a very extensive subject. So we've got half an hour, so we are in good shape here to do export. And I want to get through this with you because there is some cool stuff in the export things.
So exporting AutoCAD Geometry. First of all, it has to be AutoCAD Geometry. Civil 3D objects, this command isn't going to see.
So if you've got a pipe network, this particular tool is not going to work. We'll have to use a different one, and we'll do that next. It's important to understand feature classes. So this is where your data needs to be set up cleanly and properly, and you're going to export one type of data at a time.
So you're going to export the sewer lines once, and then the second time through you do the sewer structures, and the third time you can do waterlines, and then you can do water valves. You can't do them all together. First of all, it won't let you anymore. Used to, but it won't let you do that now. And if it did, it would be useless, as it was all crammed together, because the GIS system is expecting to see a point or a line, and heaven forbid you send your sewer lines and water lines out together. You know, you've co-mingled that.
So anyway, with that, drawing standards, then, are paramount. You've probably heard plenty about drawing standards this week at AU. Hopefully you've got drawing standards somewhat under control back at your office, but the more you do things like GIS and working with more of these tools, drawing standards are critical. This stuff just isn't going to work very well.
And you can be selective on what you export. You're going to obviously choose what features you're going to export, but you can also-- they can choose what data. So there might be some data that you have that you do want to export and others that you don't. You know, for instance, we talked about when we import, you could be selective about data. Same thing on the export.
So let's jump in, and we will go back over to AutoCAD, and we'll do the Map Export. So I've got a drawing that we're going to open called Tax Lot Polygons. Probably guess what those are.
Now, if we were to look at these briefly, if I just pick one of these and right click and go to Properties, these are mpolygons. We talked about what the mpolygon was yesterday when we did the import. It's a map polygon. It understands that it's a polygon.
It can't be linear. It knows about complex polygon shapes and all that good stuff. And it has a bunch of object data attached, not because it's an mpolygon, but because data is attached period, it could be a polyline. But we know what we have.
Based on that, I can use the Map Export command. That all sounds good. On the Map Export command, seems like I keep saying this about more and more commands the last two days based on what we've been doing, but this is a command they didn't put on the ribbon. So we'll type it in, Map Export.
Once you do that, browse to where you want to export the file. Let's go to our dataset. So go to See Datasets, Rick Ellis, Class Name, and there's a folder called Export underneath it.
Select your file type at the bottom. I've got Esri SHP file, or Esri shapefile, that's there. Go ahead and pick that. And then name this Parcels. And then pick OK.
Now you just thought you told it where to save it and picked OK, and you'd have it be all exported, right? There has to be more work to do than that. In this Dialog Box, three tabs-- run the Selection tab. We need to tell it what we're exporting. We are exporting polygons, so pick the Polygon option.
You can do a Select All. You can do a filter on this if you want to. You can also select by layer, so we're going to pick the Layer button, pick the Tax Lot Polygon layer, and select it.
Now this drawing doesn't have anything else in it, so we really can't screw it up, but obviously if you have drawings that have multiple features in them, pick just the one you want. Then go to the Data tab, because as it is, we haven't told any data to export. So even though we had all that valuable object data, we would lose it, and we'd get geometry and look kind of silly within that. So pick Select Attribute Data or select Attributes.
Go here to Object Data Parcels, and just pick the entire table. Now, again, you can be selective about what you export. There might be some things you don't want to export out of here and some things you do. For example, some things in that Object Data Table might look like geometry, length an area being an example.
Anything in the Object Data Table is a static database value. So if length is in there, that is a length that was calculated or entered at some time previous. It is not the exact AutoCAD length of this object. It might be, nothing says that though.
If you want, you can go up above in this list to properties, and you're going to see all the AutoCAD properties there. And you could pick area or length or any of those properties and export those actual properties. Now if you do both of them, you might get confused. You might have length here and length there.
The person you're sending this to, what are they going to know what to do with it? So you might want to be careful about which length you export. Just something to think about, because anything in the Object Data Table is a static value.
Now that doesn't necessarily mean that object data geometry is all bad, and AutoCAD geometry is all good, because you might have something like a length or an area that is a record piece of data that you want to keep. Then that's fine. Just know what you have is the thing, and it's length isn't length all the time. So we can pick OK, and you will see all of that data. It even shows you the output fields.
So if you were told by your GIS Department, we need to have these fields in this format or be this value, you could edit it here, and it would convert it as it goes out. So that's an option too. Finally, if you go to the Options tab, because our drawing doesn't have a coordinate system assigned to it, the coordinate system is grayed out and it won't create a PRJ file in our shapefile, which a lot of GIS people aren't going to be very happy with probably.
What I should have done before I started this command, if I wanted that written, is go into the settings for our drawing and select a coordinate system. It would then automatically write that coordinate system out. What this is for is if you want to do a conversion on the way out, and you say, even though my drawing is stayplaneat83, I've been asked to export it into UTM, and so you pick the coordinate system you'd want it to be in, and it would export to that on the way out, if you wanted to do that.
The other thing is this checkbox, treat polylines as closed polygons. When we're talking about polygons, that's why it was important I listed these, and I found out they are mpolygons. So AutoCAD already knows these are polygons, that's fine.
If they are polylines and not polygons, just check this box. That'll fix it for you. It'll tell it, it knows if it's a closed polyline to treat it like a polygon. If you don't do that and these polygons are polylines, even if they're closed, it's going to export it as a linear feature and not as an actual polygon. And you're not going to get what you want with that.
So if they're polylines, check that. In our case, they're all polygons so it doesn't matter, it's OK. So pick OK. It'll do the export.
Once it's done from that, you could go out and look in your Windows Explorer under Export. And I went to the wrong folder here so I'll have to go find it. But you'll see the shapefile that was created from that. So that is exporting AutoCAD objects. It'd be the same for linear AutoCAD objects either way.
Now, Civil 3D objects are a little bit more of a process. So let's switch back over one more time. We'll take a quick look at this.
So if you have points, alignments, parcels, pipes, or structures, we can export them to an SDF. This is going to be more of a two-step process here. We export to an SDF, that's an Autodesk defined format that they have, a spatial data for a file or whatever. It supports multiple schemas or multiple feature classes, so all of your different features, like all the pipes, all the parcels, all the alignments, they'll all go into one file, but they'll be separated as different feature classes within that.
And then you can use the Bulk Copy command to convert the SDF into any other format that you want. So shapefile, if you've got a geodatabase that you can attach it to, you can send it there. An SDF, either of that works. So it's going to be a two-step process.
It's a little bit convoluted to be honest with you, but if we walk through it, once you've done it, it's not hard. So I'm going to switch back over, and we're going to open up a drawing that I have from our dataset. It's called Civil 3D Data, imagine that. That's page 38 in your handout. Almost there. So Civil 3D Data.
This has some parcels in it so that we could export parcels. And to do this, we're actually, at least momentarily, going to go back to the Civil 3D Workspace. So at the top of your screen, let's jump back over to the Civil 3D Workspace.
Notice, if I went to my site, I'd see I've got a site proposed, and it's got these different parcels in it. These match up with these parcels, and you know it's all normal Civil 3D stuff. If I go to the Output tab on the ribbon, on the Export Panel, there's a command there, Export Civil Objects to SDF. Let's go ahead and click on that.
It'll ask you where you want to save it. It should bring up the same folder that you are in. Did it do that for you guys? Awesome.
So we don't have to browse and look for anything this time around. It picks up the coordinate system off of the drawing. Everything's pretty much done. All we have to do is pick OK.
You know, that was pretty easy, and if I looked at my Command Line, I could see it exported 771 points, one alignment, and six parcels. I didn't have any pipes or structures. So that all went out to my SDF file.
Problem is, SDF is not what we wanted. We want a shapefile in our case or some other format, and other formats are just as easy. So we're going to continue working in this, but we're going to switch back over to the Planning and Analysis Workspace.
So we're back to Planning and Analysis. If it turned off the Task Pane for you again, mine finally came back, if it turned it off, go ahead and turn it back on the View Panel, because we will need this. So I'm going to start on page 39 by connecting to some data or kind of connecting to some data.
So if I go to the Data button and pick Connect to Data, data type is going to be SDF. So I'm going to make an SDF connection, that's what I just exported. Connection name, I'll call it Civil 3D Export. Source file, browse to your dataset where we exported that, and select it. Remember it was called Civil 3D Data .sdf.
We'll open that, and then just pick Connect. Once you connect, it'll show that to you in the Connect window or the Connect palette, but we don't have to add it to the map. You can look at, we've got the five different feature classes there, alignments, parcels, pipes, points, structures. You could add them to the map, and they'd show up on the screen, but we don't have to. All I want to do is I want to have that data available so I can do something with it, and creating the connection was enough.
So I don't have to click on one of these, and click Add to map. We can just be done at this point, or at least with that step. Then I'm going to pick Add SHP file.
What I'm setting up now is what I'm going to copy it to. So the first step was the source. This is the destination. So I want it to be an SHP.
If you wanted it to be an RGIS connection, an ArcSDE connection, and you had all the credentials to log in and connect to that database, you could do the same thing with that. So you can push this data into those areas. I'm going to pick SHP connection. I'm going to go ahead and name it Parcels.
Data Source or Folder? We're going to pick the Folder option. We have to pick the folder to make this work.
Browse to your dataset, and pick the folder Export from Civil 3D. This is just an empty folder that doesn't have any shapefile or anything in it. So C Datasets, Rick Ellis, Class Number, which is the second one from the top, Export from Civil 3D. Click OK, and then click Connect.
So we've just connected to that one too. Now there's nothing in it to add to the map. Because that's an empty folder, it's going to make a shapefile there eventually. We're good here. We can close the Palette window.
Then go to the Map Explorer tab. On the Map Explorer tab, you'll notice up at the top there's two connections listed here above the current drawing. That's what we just did.
Go to Tools and Bulk Copy. It brings up another Dialog Box, that's page 42. Our source is going to be Civil 3D Export. Remember that was the SDF file we connected to. It shows points, alignments, everything here below it.
For the target, pick parcels so it knows where to go. That's our empty folder of our shapefile connection. Then on the left side, it says select items to copy. I'm going to check the Parcels Collection there. So you have to scroll down and find Parcels.
Also in those parcels, I don't need the auto-generated sfid. So I'm going to turn that one off. I am exporting geometry, name, area, and perimeter. Those are my values.
Notice over here on the right hand side, sorry I went jumping around. If I scroll to the right one for that since it accidentally jumped ahead for parcels right beside it, it's naming it Parcels. That will actually become the name of the shapefile. Geometry name, area, and perimeter. I could change these values so it's copying name to parcel name or something like that, if you wanted to do that, or just leave them as is.
You can see the coordinate system it's going to pull with it. I'll pick Copy now at the bottom. It'll say, are you sure you want to do this? Once you start the bulk copy, you'll not be able to go back. So I'll pick Continue Bulk Copy.
It says, six objects were copied. OK, and I can close. Now, if I went out to Civil 3D Export, I'm in the wrong class here from where I was at. There we go.
There's the parcel shapefile that we just generated by copying that out. Kind of a few hoops to jump through, because there isn't really a command that says, this is how you do it, but by taking a couple of things and moving them together, we can make that happen. So that's definitely the hardest thing we probably did today, because it's not super intuitive.
But with the couple of minutes that we have left, have you guys got any other-- any questions on what we covered there? All good? Somewhat interesting?
You guys are beaten down a little more than they were yesterday. You were fresh yesterday. You guys were on it.
Some other stuff that you might be interested in, we talked about a little bit yesterday. Drawing cleanup tools, there's some really awesome stuff in there. Thematic mapping, we just did.
We talked a little bit about how you can make legends out of some of those thematic maps and bring those in. Dynamic north arrows. Map books are a really cool feature as well.
Now this is our first-- those of you who tried the FXP touch thing on your app, here's your poll question. Did you like it? Don't nod, type it in. I can't capture that. He's going to get mad at me if I don't. Yes?
AUDIENCE: [INAUDIBLE]
RICK ELLIS: No, it should be--
AUDIENCE: [INAUDIBLE] you will see options if you choose a, b, c. Once you make your choice, [INAUDIBLE] see results
RICK ELLIS: Yeah, so I'm just curious, did that add something even though we didn't really try to implement much of it here? Is that something you liked? Is it something you didn't like? It was actually a detriment? Or if you didn't try it at all and didn't care, you know, that's an option too.
So those results actually come in kind of real time with that. And did we get anything interesting? OK, so we're like 85% like it, 15% didn't try it. That means zero didn't like it.
So that's-- I would say that's good. I mean, that's cool with that. I did promise I'd give away a book today. Yes?
AUDIENCE: [INAUDIBLE]
RICK ELLIS: Oh, no, it's not a first come, first serve, dude. That's a nice try though. I appreciate the-- so anybody have a birthday in November this month?
All right, anybody's birthday today? You laugh. The last class I had it in, it's today. I looked at his wallet. I checked his ID. He wasn't lying. So who's closest to today?
AUDIENCE: Tomorrow.
RICK ELLIS: Tomorrow. Can anybody do better than that? You're the 11th? You should win, because that's my birthday. I just had it.
So that's Veterans Day, that's right. Day off school every year. That was the best thing ever.
So tomorrow is your birthday. Happy birthday a little bit early. Come on up, I will give it to you after class. I'll trust you that you're not lying to us. We won't ask you how old or anything like that, because I know that sucks, but that is just a-- not about you, but me, I had one week ago, and it's hurting.
Anyway, we kind of just scratched the surface, so if you do want to learn more about that type of stuff, there's 450 pages or whatever of what we've been going over in there, if you're interested in that. If you still have questions, my email is there. I'm just going to stick around here basically until 6:30. So if you want to hang out and talk about whatever, that is part of the deal. Thank you guys very much. Please fill out the evals.
[APPLAUSE]
Downloads
Tags
Product | |
Industries | |
Topics |