Tuesday, December 05, 2006
I'm Moving
I'm moving over to wordpress.com for the blog. I been trying it out for a while and it's a lot easier to post and upload images to. So stop on over and read up on some tips or tricks.
http://map3d.wordpress.com/
If you want to post a comment over there you need to sign in and have a wordpress account. They are free and so far I don't get any spam or nasty-grams from setting up a free account there.
Friday, November 24, 2006
Display Styles in 2007
The style editor has two parts to it, the top half controls the scale ranges and the bottom half controls the styles for those ranges.
Once you set up the scale ranges you want to use you then create the style for that range. The default is just as it displays when you add the objects to your map either from the data connect or as you draw the AutoCAD objects based on the properties for those objects.
To create a new style you click on the "Add Rule" then select on the "condition" column. This brings up the "Filter" palette that lets you set the condition base on the properties or data value depending on what type of data you are styling.
Once you select the property and the condition then click the "GET" button and AutoCAD MAP will provide a list to select from for the value.
You can create compound conditions by clicking on the "NEW" button then select the operation (and, or, not) then set your next condition.
To set a Label Style for that rule, select the rule then click under the column "Feature Label". This will open up the "Style Label" palette that allows you to select what property or field to use for the value of the label and the text/font color, height etc. Be sure you check the "STYLE" box in the top left otherwise the options are grayed out as the default.
Here are the results of setting styles to a simple centerline shape file that I am using with the Data Connect feature.
The nice thing about using these features is I set everything up with out having to import the shp file and having to use layers to control the colors or line types to display the features, and the features change their display as I change the zoom levels while I am editing or viewing the map. Once you create the scale ranges they are available in the task pane under the "Scale 1: XX" button allowing you to zoom right to that scale and the display rules you set for that scale range.
So happy styling until next time.
Friday, November 03, 2006
Data Connect in Map R2007
In this example I will connect to a folder of shp files and go though the steps of connecting and displaying the features of those files. To start click on the Data -Add Data icon on the Map Task Pane, this opens up the data connect palette.
The format that you can connect to is listed on the left side of the palette. Click on the format you want to connect with. The options or methods of connections vary depending on what format of files you select on the left side of the palette. This example I am connecting to shp format so all that is displayed it the name and paths to those file(s) For the connection name call it what you want, but keep it simple and later when you create a legend for you map this connection name may end up being the title for that legend. (more on that later). For the source file or folder you have two options either a connection to a single file or to a folder of files. You can browse to the file or folder by clicking on the icons.
Once you select the folder/file click on the connect button.
The palette now displays the list of files in the folder or the single file if you selected only one file. This is where you select the file(s) to add to your map. You can select only the files you want if you are connecting to a folder. Place a check mark in the box to the file you want. Then click on the Add to Map button at the bottom of the palette.
The next palette displayed allows you to perform a query on the data to add to the map, much like when you use the import command. You can query on location or by values of the feature data. Click the OK button.
After a few seconds or longer depending on the size of the files and your workstation the features are displayed in the map.
In the Map Task Pane in the Display Manager you will have what AutoDesk MAP is calling layers displayed. This is similar to the Table of Contents with the ESRI products or other GIS systems. Keep in mind this is only a name used in the display manger and should not be confused with the AutoDesk LAYERS that are a property of AutoCAD entities.
So now that you are connected and have added the features data of another format you can change the way they are displayed by using the Style Editor for that layer. To change the way a feature layer is displayed, select the layer in the Display Manger, right click and select Edit Display Style. This opens up the style editor palette that allows you to edit how those features are to be displayed and at what scales.
The top half of the palette controls the scale display and the bottom half controls the style. The editor allows you to display the features with different styles at different scales at zoom levels. With this example I will set a few styles for my parcels and street layers.
First we change the color of the street layer to RED, then change the pattern of the parcels layer. To edit the style used, click on the swatch(hatch) or line under the style column.
This opens a palette to allow you to select the color, line type and etc. for that style. Make sure you check the Apply style to the line check box at the top of the palette.
For the parcel layer, which is a polygon layer you can select the fill pattern along with a border to display and transparency for the foreground fill.
Now that we styled the map features take a look at what I have displayed.
Notice that I have a street centerline that does not match up with the parcels in the area circled in green. The next posting I will go over some ways to edit that and make the corrections with out having to import, edit in Map, and export it back to the shp file format. You can edit and correct everything right in the data connect mode. So check back in a few days and hopefully I will have a few tips on using these features in Map 3D R
Wednesday, October 25, 2006
Oh Great another dead blog.... NOT
I do have one big complaint about the folks up here in Manchester, NH., the ISD HQ for Auto Desk. Where in heck can man get a good beer? Four nights out at 4 different places and none of them have Pabst Blue Ribbon Beer? Not even the Hilton I'm staying in has it and it is next to a baseball field, America's favorite past time and no PBR. I wish there was a Motel 6 with a dinner around the corner cause they would definitely have a Blue Ribbon.
OK back to useful stuff, I'm working on doing a short example of using the Data Connect in Map 2007 and showing some ways it can be of use to others out there that have data in that other format. I'm also working on getting contours from a DEM and exporting(saving) it to a ESRI shp format with R2007.
Stay tuned I promise to be back with some good info in the next few days.
Saturday, September 09, 2006
Contours from a DEM file to a SHP file with MAP 3D
This post will be a quick walk-thru on doing it with some screen shots to help you. To start bring in the DEM as a surface.
From the pull-down menu under "Civil-Surface-Create From DEM"
Browse to where the DEM file is located and select it. In a matter of seconds a new surface is created in MAP. Zoom extends and all you may see is a yellow rectangle. The reason you do not see anything is you may not have the styles for the surfaces set to display the objects(contours). The default display for civil surfaces in MAP is to show the border only for 2D display and triangles for 3D display. Open up the Civil Toolspace and click on the “Settings” tab. Expand the surface tree to show the Surface Style Standard. Right click on the standard style and click on edit.
The Style editor dialog will open, for that surface style. The first thing we need to tell MAP 3D is the contour intervals we want it to display. Click on the Contour tab at the top then expand the tree under Contour Intervals.
Set the Minor Interval to 25.00' and the Major Interval to 150.00'. Keep the Base Elevation at 0.00'.
Next click on the Display tab so MAP 3D knows will know how we want them displayed.
In the View Direction select 3D. Set the Triangles as invisible and Major Contours & Minor Contours as Visible by clicking on the light bulb icon. Next put the contours on their own layers by clicking under the layer for each and select a layer or create a new layer for each. Next you can check that the same settings are there under the View Direction for 2D by switching the 3D to 2D in the View Direction list box. Click apply and OK.
Map takes a few minutes to create and display the contour lines. They should be at the intervals you set and displayed by the color specified in the style editor not by the layer color. Now that you have the contours displayed you may notice they are not polylines but a single object. A Civil object at that, so we need to convert them into polylines to export to a shp file.
To convert them the first thing I like to do is change my view of them to a 3D view. Using the standard AutoCAD view menu switch to a 3D view (SW Isometric). After MAP rescans the surface you should see that the contours are at the correct elevations. This is a good tip to verify that the DEM was converted to a surface and displays the contours as you wanted. Then next step is to Export the surface to a AutoCAD dwg.
Under the Civil menu, select Civil Utilities>Export to AutoCAD>2004 format.
Save the exported dwg to the folder of your choice. After the export is complete open the dwg that you just created. It should be in the same 3D view as the surface when you exported it, again this is a tip to check and see that you have what you need for the shp file. There is no need to change the view in the new dwg. If you select a contour line, you will notice it is a polyline on the layer you set in the style editor and at the correct elevation.
Now you have the correct objects to Export to a ESRI shp file. When you export it you can export the layer and elevations from the properties to include those in the shp file data.
As you can see the contours lines with the elevations and layers are there in a ESRI table so anyone can now use the DEM file as contours in their GIS system.
Note this example was done using Map 3D 2006, the civil tools in Map 3D 2007 are different but I 'll try to post the how-do with R2007 in a few weeks.
An another item to be aware of, when you set the value for the contour intervals keep in mind the smaller the intervals the more there are and the bigger the file becomes then the longer it takes to rescan and redraw the surface.
Thursday, August 31, 2006
Amazing conference
What I am most shocked at is the users forgot about AutoCAD and how to use it. As I said most of them used it to VIEW drawings only. They have no idea of how to get new parcels into an ESRI GIS system or that the newest versions can make the task simple. So come on people if you are a former AutoDesk shop that switched to ESRI keep up with the software. The cost of just one subscription of AutoDesk MAP will pay for it's self with the time saved on trying to redraw those subdivisions plots you get from the developers.
Monday, August 14, 2006
A few undocumented commands
The first one is the INSPECT command. Enter the command at the command line and your crosshairs turn into a pickbox, how instead of picking an object hover the cursor over an object, a tool tip box displays the object type and the layer that the object is on. Depending on what you hover over additional info may be displayed. To end the command just pick with the left or right mouse button. This little tip is useful if you need to check to see what an object is with out selecting it and waiting for the properties palette to display.
The next three neat little commands come from the ADT folks and go hand in hand. AecIsolateObjects and AecUnIsolateObjects, these two do what the name implies. AecIsolateObjects allows you to select objects and it isolates those objects or hides the rest of the objects in the drawing. It works a lot like the express tool layer isolates but on steroids. The AecUnIsolateObjects will bring the display of objects back. Now lets say you want just the opposite of the isolateobject, instead of hiding everything that is not selected you want to select an item and hide that in the display. Well try the AecHideObjects command. Any object you select using this will be hidden from display. To bring it back into display use AecUnIsolateObjects. Those three commands can come in handy if you need to view or plot a map and want to hide a couple of items, instead of creating a new layer, changing the objects to that layer then turning that layer off and plotting and hoping you remember to place the object back on the correct layers afterward.
The last one I will pass on is the "Notes" command. Entering notes on the command line will allow you to select some objects and then a dialog box displays to let the user add notes to that object. The notes are can be anything from a reminder to register for the AUGI ATP coming up or to let the designers/engineers know something about the objects. Another thing you can do if you select one object only it allows you to add a file link to the object. Lets say you are designing a waterline that is going in a subdivision, you create a man hole that you want to keep track of the elevation off along with the other man holes. If you have a document that lists the info you can attach that document in the "notes" and later go back and open that document from inside the dialog box. By double clicking it. You can also add an image file to the notes, so say you have a picture of the area before any grading work is done and another after the work is completed. By adding the file references in the notes you can open those image file with a click of the mouse. This works the same way as creating hyperlinks but allows you to link to more than one file and doesn't have that annoying hyperlinkslink icon popping up every time you hover over it.
So there you go a few undocumented commands that may help you out. Create a toolbar with those on a few buttons or place them on a tool palette. Even if you do not use them all the time they may come in handy once in a while to at least get a wow out of a coworker that does not read my blog.
Friday, August 11, 2006
The "Merge" command, A new meaning to the Bloggers
I want to offer my congratulations to the merging of a few other blogs that I read on C3D. Seems Jason Hickey "Beneath The Lines" and Dana Probert "Civil 3D Rocks" are merging up with James Wedding over on "Civil3d.com" Looks like a merger that will have a big payout for those into C3D, wonder if it's too late to get stock in it. :)
Saturday, July 08, 2006
A simple sample of DWF with out a viewer installed.
Wednesday, July 05, 2006
The wide world of DWF.
Well the folks at AutoDesk have listened to our comments and may have a solution in the not so far further. Called "Project Freewheel". What it does is the server is doing all the work and rendering the dwf for the visitor to your webpage. Sounds interesting and I will be trying it out with a few dwf files in the next couple of days so check back and you may see some cool dwf's or links to them.
Sunday, June 25, 2006
Points from a text file.
The thing you need too do is make sure the text file contains nothing but the coordinates for the points, if you have attributes or a point number mixed in with the coordinates you need to delete them from the file. So your text file is something like this:
1705145.103,829479.6554,0
1708780.203,825996.5793,0
1709520.941,823934.5335,0
1710569.845,824786.8715,0
1710583.068,824685.7594,0
1709493.485,828888.0862,0
1709298.454,831331.2523,0
Now with the file open select all the points and use ctrl+C to copy the lines to the windows clipboard. Back in your drawing give the MULTIPLE command,
Command: multiple
Enter command name to repeat: point
Current point modes: PDMODE=35 PDSIZE=0.0000
Specify a point: "ctrl&v to paste the text file here".
A simple way to add points, keep in mind your point mode settings so you can see the points but this is a quick way to bring simple points into your map.
Sunday, June 18, 2006
Vacation time and web maps.
One thing I notice before leaving on my trip was how the different mapping services on the web work for getting directions, and the different results they return. I'm talking about google Maps, Yahoo Maps and Mapquest when you query them for driving directions. Now my trip started here in my home town to friends in Pine Bluff, AR then to Degray Lake AR. OF course I knew the way to Pine Bluff but wanted to check the easy way to get from there to Degray Lake. After all I would be driving a new (new to me) Motorhome and needed some idea of how long it was going to take and how much gas to have on board before starting out. BTW the trip went great.
So I plug the info into the web pages and pretty much get the same info from them other than different ways to get on the interstate from here at the home town. Comes to find out that the directions from Pine Bluff to Degray Lake would work ok but that's not the way our friends took us. Seems there was a new road build a while back (2 years) and it by passed a lot of small towns that the web services had us going around by means of interstate.
I also notice the different directions when headed up to NY for my trips, each mapping service returns the same interstate routes but different routes to get on and off the interstate. So where are these web mapping services getting the info from and how are they querying that info to get the results? I suspect they get some info from TeleAlas but it's not current with in a year or two and some data may be from any local source they can get for free. The problem comes with buying data from someone or some place and having it current and up to date. Anyone that has downloaded data for their maps know it may not be up to date. The data is current only during the time frame that it is captured. It has to be processed, converted to other formats then marketed to the map services.
Would it not be great if every one used a standard format for mapping then when we in the mapping field completed a new project we pushed a button on our desktop and it uploaded and updated all the other mapping services out there. My point is take a look at the "OSGeo" site and see the support that AutoDesk is giving for this one button updating.
Sunday, May 21, 2006
No I haven't forgotten about this place
I do have a few things to post about, first thing is if you are a map user and a member of AUGI I'm teaching a course in the July session so take a look and sign up if you want. It's ATP 134 in case anyone is interested. The first of hopefully many that I'll do unless no one is interested in them.
Second thing I want to pass on is I met up with a fellow named Russell Martin a few weeks ago. Not many people know who Russell is or what he does. I didn't until he E-mailed me a few days before the meet up. But Russell is part of the team at CADAPULT. He has written the book "Digging Into AutoCAD MAP 3D 2005" and a few more, that he dropped off for me to look over and do what ever. Well I have and from my point of view it's an excellent book for anyone that is using AutoCAD MAP. I expect the R2007 version to be out in a few weeks or so. So anyone that need a good book for MAP 3D go get a copy.
Third thing I want to post on is what do my readers of this blog want to learn or need tips on? Post a comment or dig deep enough on the links to find my email addy and send me an email on what you want and I'll try to get some more help out there.
Wednesday, April 26, 2006
Join lines of text for an Annotation Block Label.
Now in the value textbox in the Annotation Text dialog box I use the strcat function like so. (strcat :HOUSE_NUMBER@Parcel " " :STREET@Parcel). What this does is takes the house number value and the street value from the parcel table and joins them together on one line in my labels. Notice the double quotes with a space between them. This is to add a space between the number and street.
The result after using this is shown below. There are a few others expression evaluators that you can use from doing simple math to converting numbers to strings. Take a look under the topic Expression Evaluators in the Map help file.
Monday, April 17, 2006
Map R2007
If you are a member of AUGI and want to sign up for a map course I may be teaching one for the July ATP session. It will cover importing shape files, labeling and a few alter property queries. You can't sign up yet but I'll keep everyone posted when it opens for enrollment. If you're not a member sign up it's free and a great source of info.
Monday, April 03, 2006
File Names and Paths
The shape file import tools doesn’t like long paths to the shape files, so if the files you want to import are in “Z:\GIS\CityData\2006\March\Share\Parcels\Data\Polygons” try making a copy of the needed files in a folder on your local drive “C:\Import”. After the imports are done you can go back and clean up that folder by deleting the shape files.
Sunday, March 26, 2006
GIS for Archies (Architects)
Lets look at the "Vicinity Map" that a lot of the firms place on the cover sheet or with a site plan for the project. There was a discussion about the legality of using Yahoo Maps, Google Earth or any other internet mapping application for this. Why not use AutoCAD MAP and make your own. The same data that those mapping programs use is out there for free if you know where to look. Which brings up where can you find this data. First place I would suggest is with your local city or county GIS office. Most large cities have GIS departments now that keep up with all the streets, roads and tax parcels. Other places to look for data is on the internet and at some of the major colleges or universities in your state. Even most states now have a GIS site to share data with others. Some have even extended their data to include things that we as tax payers may never need but other departments in the communities may want to keep up with, for instance fire hydrants and the water pressure at each hydrant.
So what data should you look for? Unless your house in on fire or you need to fill your swimming pool in a hurry you may not care about fire hydrants data. How about locations of schools and shopping centers? Or the bus route that may run right by the site of the new office building you are designing. All that data may be of use to a firm in some way or means. If it is there and free find a way to use it. Any firm that is wanting to get in on the development side of the business can use the information to make better decisions.
Next thing is look at the format the data is in. Most shared data is in ESRI format called shape files, not to be confused with AutoCAD shape files. ESRI shape files consist of at least three files with the extension of shp, dbf, and shx. They will all have the same file name but different extensions. Other format are E00 files, these are another type from ESRI that is in a folder/ directory structure. A few others format you may find are MapInfo (MIF & TAB), Micro station (Dgn), and Spatial Data Transfer Standard(SDTS). Then there are the raster formats out there that may be of use. SID files are popular for images, ER Mapper files (ECW), Jpeg and TIF have geo-reference formats for GIS systems to name a few.
So now that you found some data that you want to use, the next step before you download it is check the "Metadata". Metadata is the info gis users use to tell other users about the data. The create date, the format it is in, how accurate it is, how it was created or collected, how often it is updated and a few other things that may be of use to you. There is no use in down loading a 5 meg file of street data to find out it was created 20 years ago from a hand drawn paper map. So check the metadata before you down load. Most sites will list the metadata right along with the down load button.
So now that you have the data downloaded and figured out how to import it into AutoCAD MAP what is it? Well most of the data is either point, lines/polylines or polygons objects. Points may be a bus stop or a city location on a map, lines(plines) are usually streets or road center lines, and polygons may be the boundary for parks, city limits or footprints to buildings. The data behind all the lines and points like the street names, property owners and etc. are hidden and takes a little work to get into the map but with the right know-how and guidance you can get it. Full time users of MAP will point you in the right direction to get to it and use it as you need, so ask away if you need help.
So what are you waiting for? Get a demo copy of MAP from your dealer, play with it for a few weeks and find some data on the internet, see if it does't help out in the office. A good site to point you in the direction of free data to use is www.gisuser.com click on the data tab and search away it will point you to most any data you will need if it's out there on the web.
Sunday, March 19, 2006
Another week, another post
Sunday, March 12, 2006
Points to the Z coordinates from Object Data
Step one import the shape file and map the data from the file to an Object Data table.
Make sure you check the correct data fields that contains the “Z coordinates” (Elev in this example).
Once the points are imported save and close the drawing. Open a new drawing or your project that you need the points in, attach the drawing you just created. Create an alter-properties query, in this sample I am using “Location ALL” because there is only the points in the drawing. If you already have the points with the OD in an existing drawing you can filter just the layer, points or what you need by the standard query methods.
Select the option for “Alter properties”
From the Set Property Alterations dialog select Elevations and click on the Expression button.
In the Property Alteration Expression dialog expand the Object Data tree and select the field that contains the Z coordinate value. This example uses a field called ELEV.
Press OK and it takes you back to the Set Property Alterations dialog. Click on the “Add” button to add the expression to the list.
Click OK in dialog and run the query using the Draw Mode. After the query is ran you can click on a point and verify the new Z coordinate position matches the value from the OD table.
This method of using an Alter Properties Query can also be used to set the elevations for blocks if the value is stored as attributes. For the expression use the properties of the block attribute and get the value from there.
Sunday, March 05, 2006
More on Cleanup tools
What we want to end up with are closed polylines or Mpolygons that we can attach data to.
First we want to take a good look at what we have, do the intersections of the lines meet? Were there blocks or shapes at the corners that may have been the Pins or markers on the survey? If there were, we may of deleted them or turned off those layers. The drawings that I get lots of time are like that. The property lines stop short of connecting at the intersection because the civil firm placed more enthusiasms on the corners than on the lines themselves.
After we delete the PINS we need to snap the lines to the intersection. The Cleanup Action called Apparent Intersection is what you would use. Set the tolerance a little larger than the radius of the PIN symbol. The action tool Extend Undershoots may be used also in some cases. The Extend Undershoots acts like the Extend command in AutoCAD. If there is a line that needs to extend to another line already complete then that works but keep in mind the line you extend to must be there first. Think of the Apparent Intersection action as a super fillet command with an radius of 0.
Another action tool that we need to use is Break Crossing Objects What this does in the sample above is break the lines that run North/South at the intersection of the East/West lines. It's best to use this action after you extend the other line to the intersection. The next Action that we may need to use is Dissolve Pseudo Nodes What this does is connect the two arc polylines at the end of our Cul-de-sac into one polyline. The arc I am referring to is where the reverse curves are at, PRC in civil terms.
Also we want to set a few Cleanup Methods as we run the clean up command. Under the convert options check Line to Polyline and Arc To Polyline, this makes it a lot easier to create the finish polygons so set those two options. The other methods Modify The Orginal Objects, Retain and Create New Orginal,or Delete Orginal and Create New is a matter of choice. Just be sure you specify the correct layer if you create new objects. If you need to keep the orginal ojects or create new objects on a different layers feel free to do so. I only need to modify the objects and have them on the correct layer already so that's the option I use most of the time.
After we run the Cleanup we can create a polygon topology pretty easy and then with that topology we can create Mpolygons with the polygon tools in MAP. After we create the Mpolygons we can delete the topology.
Final words to think about, there may be times when we may use the basic edit tools to cleanup instead of stepping though the cleanup tools. For instance while trying the sample I had trouble breaking part of the arcs in one place that I needed it to break. Instead of wasting the time as to why it didn't break I used the break command a lot faster. Other times I may not of set the tolerance right and missed a few Apparent Intersections, the basic extend command worked faster than going back into the cleanup methods and resetting the tolerances.
Monday, February 27, 2006
MAP Cleanup Tools
First what are they and what can they do. Well just as the name says they can “Clean up” your drawing but if not used right can also mess up a drawing just as easy. The thing you have to remember is the tools are not designed as a one step, push the button tool and magic happens. Not all of the options can be selected at once. I’ll start with the basic one first “Delete Duplicates”. This seems to be everyone’s favorite that does basic mapping or plain CAD in MAP and is the one those users brag about to the “vanilla” users.
Starting with the first dialog it allows you to filter out the object to run the cleanup on either bylayer or feature class if those are in the dwg. You can also use the select method to get only a limited number of objects by selecting just those objects by the standard AutoCAD section method. After you selected the items for cleanup and checked the “Delete Duplicates” from the “Cleanup Actions” you can set a tolerance or other parameters. The tolerance will take into account how close those objects are to each other to delete. The rule to follow here is start with a small tolerance and work your way up to a larger one each time. Setting too large of a tolerance may delete more than you need. The next thing you need to do is select the type of object you want the cleanup to act on. The options are Linear Objects (Lines & Plines), Points, Blocks, Text, and Mtext. You also have options for the rotation of the object and the “Z” coordinates of those objects. If all you need to clean up is text then just select the “TEXT” and MAP will not have to look at all the lines and other types of objects in the map. Hint it will run a little faster and your chances of a crash will be less when you select just the ones you need.
The other option in the “Cleanup Action dialog is the “Interactive” option. This option checked allows you to see each error before it is acted on by MAP.
The next dialog allows you to select the method to use on the action you selected. You can modify the objects, retain the original object and create a new object on a different layer, or create all new objects on a new layer. The second part to this dialog converting the objects to another type of object, lines to polylines for example. If you want all the lines that you selected in the cleanup selection then you would select “Lines to Polylines” and the cleanup will convert the lines for you.
If you select the “interactive” option in the “Cleanup Action” you are given the chance to set the type of marker to use for the errors AutoCAD MAP finds in the cleanup. This can be helpful if you select more than one cleanup action by. If you did not select interactive then this dialog is grayed out and the cleanup is ran with MAP fixing the errors automatically.
I’ll post another entry on more to this cleanup tool as time allows but it gives you a lot more “power” to cleanup and delete duplicated objects than the Express Tool “OverKill”.
Saturday, February 25, 2006
Want those ESRI symbols in your AutoCAD MAP
Note: The 3D and the bmp, the ones with color, symbols are not fonts so this tip will not work for them.