Tuesday, September 30, 2008

Vertical Subassembly

Due to an overwhelming response to the Giveaway, I'm adding a signed copy of Mastering AutoCAD Civil 3D 2008 to the box.

Now to the last post of the month. If you use the vertical subassembly you may notice that it has a slight offset to the right. This is because a TIN surface cannot have a vertical face. The offset works great if it is added to the right side of the assembly, but it can cause problems if it has been added to the left side. To correct it you can download Microsoft Visual Studio Express ( version) and then change then change the code and then rebuild the project. Since most people don't have Microsoft Visual Studio I'm going to modify the VBA version of the subassembly.

The first step is to load the C:\ProgramData\Autodesk\C3D 2009\enu\C3DStockSubassemblyScripts.dvb (this is the Vista path, you'll have to find the XP path if that's the system you are using) using the VBAMAN command. Then press the SaveAs button to make a copy of it. Then press the Visual Basic Editor button to bring up the Microsoft Visual Basic editor. I like clearing out the stuff I don't need, so I deleted the modules I don't need. The list of Modules that you need are shown in the picture below.


You don't really need the UrbanCurbGutterValley1 (Urban), but I'm going to use the side code from it. So double click on the UrbanCurbGutterValley1 to get the window to pop up. Also do the same for the LinkVertical (Link) Module. Then copy some lines of code from the Urban to the Link as shown below:



This line of code gets the side input we'll add to the subassembly.


This line of code flips the .002 based if it is right or left. For the right side it stays positive and for the left side it changes to negative. This line of code is applied when the subassembly is shown in the assembly.image

This does the same as above, but it applies when the corridor is being built.


So now we have changed all of the code we need to change. So before we're done lets change the name of the module. I'm going to change it to LinkVertical2.


Also change all of the instance of LinkVertical to LinkVertical2. To do this press ctrl+H and type in LinkVertical in the top box and LinkVertical2 in the bottom box. Then press Replace all. Press the save button. Also change the C3DStockSubassemblyScripts to the name of the dvb file.

Next open the C:\ProgramData\Autodesk\C3D 2009\enu\Tool Catalogs\Road Catalog\C3D Imperial Generic Subassembly Catalog.atc file in Notepad. Copy the vertical link tool text as shown below:


Next make the revisions shown below to the copied code:


Save the file and then go into the Catalog and find the LinkVertical2. Drag it to the Tool Palette using the iDrop. Then use the subassembly in the normal manner.


I posted the revised subassembly on this page:

You can make similar adjustments to the other subassemblies using this method. You may get quicker results if you modify the code, but that's another post.

Monday, September 29, 2008


Confidence in the financial markets makes my job possible. A developer takes a piece of raw or previously developed land and adds value. The developer takes money from investors or banks (essentially taking on debt) to build the project. The developer, if not the original landowner, has a contract with the current landowner to purchase the property once the entitlement process is done or purchases the property outright. If the developer decides not to build the project he/she takes a loss on the development. If you take a look at the builder losses it is mostly due to writing off these costs of land in the development process. This is hopefully a short term problem. The developer takes the loss and once the market hits the bottom the developer starts the process over again. The problem comes when the builder can't win the confidence of the investors and banks to fund the process.

Today I think that banks are not willing to fund this and based on the vote of the House of Representatives vote today, I can't blame them. The Government is being given the chance to buy debt for $0.20 on the dollar. Since most of the debt is mortgages the Government is essentially telling us, the American people, that we don't have confidence in you to repay this debt. Sure some of the debt will go in default, but I don't think that 80% of the mortgages will default. 

I think we have to remember why this debt is being priced so low. It is because investors are unwilling to purchase it. Think back to high school economics and you should remember that when demand goes down, the price usually goes down. So essentially the financial markets are in a downward spiral. A bank can't effectively price the debt because it is hard to value how much they can get for the debt. If one bank sells the debt at a low price, the other banks have to reprice the debt on their own debt. Once the debt is marked down the bank has to have more assets to keep it's balance sheet within the limits set by the Government. If the company is unable to raise new capital it is declared insolvent and taken over by the Government. A recent example of this is the takeover of Washington Mutual. The Government got lucky, as well as us the taxpayers, in that they where able to get another bank to take over the bank without it being liquidated by the Government. A portion of Washington Mutual's problem was depositors removing their deposits (losing confidence in the bank), making raising capital even more important.

Today the Government had the chance to say they had confidence in the American people to pay back the debt and provide liquidity to the market to provide new loans. I'm not saying that it would immediately restore confidence, but it sure would have helped save some banks from closing. We'll see if Congress goes on breaks and lets the financial system hit bottom, or stay in session and try to create a floor above the bottom to save the American people from more hurt in the parts of the country that have been hurt the most. For instance if you live in Riverside County, an area especially hit by this downturn, you want a bank willing to loan to someone to live in the empty foreclosed home next to yours.

Hopefully this is just a small bump in the process and the users of Civil 3D who are out of work because of the downturn can get back to work helping to build the infrastructure needed to house and transport the people of America for today and tomorrow.

Sunday, September 28, 2008


I was working on my kitchen remodel today and didn't have much time to think up something for a post today. So instead of coming up with something regarding Civil 3D, I have decided to have a giveaway. I thought about giving away two tickets to Game 2 of the ALDS series between the Angels of Anaheim and the Red Sox, but then remembered I don't make that much revenue from this site. So then I looked around and saw that I had a bunch of parts I don't need anymore. So I'm giving away the random box of stuff. To win this stuff just tell me the town and street the testimonial portion of the commercial was filmed on. Just email me the answer, the first email I receive with the correct answer wins. Even if you have no idea, send me an email and if no one comes up with the correct answer by October 10, 2008 I'll have my daughter randomly pick a name out of a hat to pick the winner.

As for the two tickets to the ALDS I would be open taking a trade for the tickets, let me know what you got and I'll let you know if I'm interested. The tickets are in section F135.


Saturday, September 27, 2008


The kids go to be in their first parade. It went for about a mile and they got to ride in their wagon. The path of the parade went past the place where the world famous Sham Wow commercial was filmed. It took me a few times watching the commercial to figure out that it was filmed in my home town. I think I was even at the event when they did the customer testimonials.

I took a hacksaw to the washer that was giving me trouble and now the sink fits in the whole.

Friday, September 26, 2008

So Close but So Far

Easy right. Just connect the faucet to the sink and then put the sink in the hole. Get the sink up and in the hole and find the washer that holds the faucet in place is blocking the sink from sitting properly. Hey maybe if I loosen the nut I'll be able to move the washer over and get it to fit. No luck there. Wishing I had a grinder to take off a part of the washer. Maybe tomorrow I'll figure out how to get it to fit. Dang manufacturer doesn't have customer service until Monday. Maybe I'll have better luck with exhaust vent tomorrow.

Thursday, September 25, 2008

Adding Boundary Again

I can't believe I did it again. Alright once more. When adding a boundary to a surface the name of the boundary cannot be the same as another one. It may have the same spelling, but the capitalization of the word needs to be different. Hopefully this time it sticks, if not it's going to be easy to fill out the rest of the month with posts;)

Adding Boundary

Sometimes I forget things and that's what this site is for. Today I'm hoping blogging about it will help me remember.

Surface boundary names needs to be DIFFERENT when added to a surface. I know it, but I make the same mistake over and over and over again. So when I choose to add more than one outer boundary I need to change the names. Remember, remember, remember & remember. I think everytime I make this mistake I'm going to do a post about it. Hopefully that will cure me of making this mistake over and over again.

And Blogger's online editor sucks at handling pictures. Cal Poly football is going to Wisconsin to play football this year. I hope they can turn the lemon into lemonade. Go Law??

Captions in Word

Well in this post I'm going to follow the lead of the the September AU Quarterly Newsletter, AEC Tech Tips Section and leave Civil 3D out.

If you have a large work document, such as a report, you may want to reference a table, figure or appendix in the document. If you use a the numbering tool or regular text you'll have to manually update the numbers if they change. Word provides a way to do automatically update, so if you add a figure any references in the

First you need to add the captions for the Table. To do this go to Insert on the menu bar and choose Reference > Caption.


To reference the Table Caption go to the menu bar and choose Insert > Reference > Cross-Reference


You can also add above/below to the reference to indicate where in the document the table or other reference is located at.

Wednesday, September 24, 2008

Ketchup or Catsup?

24 days, 25 posts only 6 more to go after this one. It doesn't look like I'll be going to AU, but I will be doing the best part of AU and going to the Annual Duffer’s open put on by the EE folks. I'll also see if I can sneak into the Autodesk University 2008 Blogger Social.

For this post I'll address the top search query from yesterday. The query was "civil 3d load vba routine". The easy way to load a VBA routine is to type vbaload at the command line. To run the routine you can type vbarun and choose the macro from the list. You can also load a VBA routine from the VBA Manager. To get to the VBA Manager type vbaman at the command line. You can also create a toolbar and load the vba routine from it. One way to do it is shown in this post.

Tuesday, September 23, 2008

Create a Profile Without A Surface - 3DPolyline VBA III

Continuing on the previous posts in this topic, this time I'll add selecting a profile and then adding the 3DPolyline information onto the profile.

To select the profile copy the select alignment code and paste it below the select alignment code. Change the code to reflect the profile information.


No go down and edit the code that previously created the profile. Delete the lines crossed out below.

image Also delete the End If statement under the oProfile.Update line under Next as shown in the above screen capture. This will get the job done, but some error catching needs to be done. Like you'd want to make sure the alignment corresponds to the profile or give a prompt to see if the user wanted to keep the old PVI or replace an existing PVI elevation if it happened to be the same. Another good feature would be to check to make sure the 3DPolyline projects to the alignment.

Related Posts:
Create a Profile without a Surface - VBA
Create a Profile Without A Surface - 3DPolyline VBA
Create a Profile Without A Surface - 3DPolyline VBA II
Create a Profile Without A Surface - 3DPolyline VBA III

Monday, September 22, 2008

Create a Profile Without A Surface - 3DPolyline VBA II

In the first post I demonstrated one way to convert a 3DPolyline to a profile. In this post will show how to have the user provide a name for the profile. Help provides various samples on how to get an input for a string. So I'll use the sample and modify it to prompt for a profile name. Put the new code above the Set oProfile = oProfiles.Item("FromPoints") line of code.

' Prompt for Profile Name
' Sample code from help modified to prompt for profile name
' Prompt & Input can contain blanks, but not an empty string
Dim NoNull As Integer
Dim sProfileName As String
NoNull = 1 ' Disallow null
ThisDrawing.Utility.InitializeUserInput NoNull
sProfileName = ThisDrawing.Utility.GetString(True, "Enter profile name (<enter> terminates input): ")

The NoNull =1 ensures that the user provides an input. If a profile name is not entered, the profile will be "", which is not a valid profile name. The True after GetString indicates that spaces are allowed. If it is changed to False, then spaces are not allowed. If enter is used for the profile name we will need to exit the sub in order to not get an error message for the user. So after the above code add the following lines of code:

If sProfileName = "" Then

MsgBox("A valid profile name was not given")
Exit Sub
End If

Now where ever "FromPoints" was in the code change it to the profile name variable sProfileName. No run the code and you should be prompted for the 3DPolyline, then an Alignment and then the Profile name. You could change the code to use a default value, but that's another post.

Related Posts:
Create a Profile without a Surface - VBA
Create a Profile Without A Surface - 3DPolyline VBA
Create a Profile Without A Surface - 3DPolyline VBA II
Create a Profile Without A Surface - 3DPolyline VBA III

Sunday, September 21, 2008

Year of a Million Dreams

Well it looks like the Year of a Million Dreams is no longer going on at Disneyland. I did want to get the chance to stay in the Dream Suite or take a tour of the Imagineering offices, but it doesn't look like it's going to happen. I did take a tour of the Dream Suite earlier this year and it looked like it would be a great experience for those lucky families that won. The dream suite had special features in the various rooms, like a model train that went around the top of one of the kids room and the toys became animated as the train went past. I guess eating at Club 33 will still be my favorite Disneyland memory.

Saturday, September 20, 2008

Back Side of Water

I'm not sure if the back side of water joke ever gets old, at least it didn't when me and my daughter went on the Jungle Cruise ride three times in a row.

This tip is for figuring out when is the best time to visit Disneyland. I think the blackout dates for the Annual Passes are a good indicator of when not to go. The annual passes are set up to allow the pass holder to visit Disneyland on various days, but other days are blacked out and the pass can't be used on those days. Disneyland has four pass types currently and range from 195 blackout days to no blackout days. I think when you can use the Southern California Select pass that would be a good day to visit Disneyland. The crowds shouldn't be that big and getting on the less popular rides is easier. For instance the wait for the Jungle Cruise was about five minutes today, I've seen the line take over an hour. The short wait time provided the opportunity to go on the Jungle Cruise three times in a row in under an hour.

Another tip when visiting Disneyland is to get there early. Not only are the lines shorter, sometimes the rides are longer. For instance the Carousel ride seemed to last forever early in the day. Later in the day the Carousel ride was noticeably shorter. If your going to stay the whole day save the popular rides to the end. Usually the lines are a lot shorter and you'll get the opportunity to go on more rides instead of sitting in multiple hour long lines.

Friday, September 19, 2008

Using Hidden Label Components

I posted a vertical curve style on the Intermittent Block or Style of the Day page which demonstrates you can create an extension line that doesn't go all the way from the PVI to the end and start of the vertical curve with a label. The person I was helping out was trying to use an expression to do it, while on the surface that sounds good, once you change the vertical scale of the profile view it doesn't work. A better way to achieve this is to use a hidden component. A hidden component will let you get the angle from the PVI to the start or end of the vertical curve. Since the rotation of components attached to another component uses a rotated UCS based on the orientation of the source component you can get the required angle (I'm not sure that made sense).

If you don't have 2009 installed you won't be able to download it and view how the label was created. So here are the general steps using the principal above.

  1. Add a line component anchored to both the Anchor PVI (Start Point) and the Anchor Curve Start (End Point).
  2. Set the visibility of the line added to false.
  3. Add another line and anchor the start point of the line to the end of the first line added.
  4. Set the distance of the line in inches (or mm) for the distance you want the gap from the curve start.
  5. Set the visibility of this line also to false.
  6. Add another line and this time anchor the start point to the PVI and the end point to the second line added.
  7. Add it to a vertical curve and you should end up with half of the label done and you can check to make sure the distances are like you want.

So to create the one line you have to have a total of three lines, two hidden and one showing. Now that I've completed 19 straight days of posts, I'm going to Disneyland.

Thursday, September 18, 2008

Civil 3D Content Browser

Coming home from a meeting and thought I'd open up Civil 3D and hit the help key to look for a topic to post on. The item that caught my attention was the Civil 3D Content Browser. While I knew about the content browser I never went further to see what other benefits it could have, other than containing the standard tool palettes that come with Civil 3D.

The main thing I noticed was the ability share Tools, Tool Palettes and Tool Packages from a website or network connection. The items that can be stored in them appear to be subassemblies, assemblies and utilities. So to try it out I'll created a list of Tools that I'll call the CR Pro Pack.

To open the content browser go up to the General menu or type ContentBrowser at the command line. To create a new Tool Catalog click the button in the bottom left corner of the content browser.


Now that it's created it has a plain cover page, which just won't do. So pick a picture, or create one, and right click on the catalog and choose properties. When it comes click on the image box and choose the picture you ant to show.


Now I want to create a new category to split out items. Press the CR Pro Pack catalog and you should get a blank screen. Right click in the blank area and choose the Add Category... option and give it a name you like. In this case I'm going to use Sample Code.

Press on the Sample Code to view the blank Category. To add tools to the category drag it from the Tool Palette to the Catalog.


You can add additional commands to the Catalog. You can then publish the Catalog to another location. To do this right click on the Catalog and choose Publish the Catalog.


You can use one of the three options, for this post I'm using the Copy it to another location.


In step 4 of 4 you can set where others can access the Catalog such as a network location or mapped drive.


You can then share the Catalog with others by having them add the Catalog to their Library then adding it to the Tool Palettes.


There's lots more you can do with this, but I haven't figured them out yet.

Tuesday, September 16, 2008

Updating References

If by some chance you download one of the programs on the Intermittent Block site you may find that the references need to be updated in order to get the program to work. To update the references load the dvb file and then type vbaide to get the Visual Basic Editor to come up. Then go under the Tools Menu and choose References.


There may be a MISSING: in front of the Autodesk Civil Engineering Object libraries. Scroll down the list and find a current version for the Object Library. The libraries are numbered for each version, 2009 is 6.0, 2008 is 5.0, 2007 is 4.0 and so on.

Monday, September 15, 2008

Intermittent Block of the Day Has Moved

The items previously on this webpage have been moved to Along with the move they have been better organized to make finding things easier. Also some DWFs have been posted to see what may be in the file to help you decide if you should download the file.


Sunday, September 14, 2008

Modifying Incremental Stationing Report - II

While I was messing around in report for the last post I noticed that it has the problem most of the reports have when reporting station values at a set interval. The report takes the first station value and then simply adds the increment to it. So if your starting value is 4+69.24 the next station value would be 5+19.24 (if the station increment was 50). I think most people would want the starting station reported and then the next even station value, 5+00 in the example above. One way to correct the report is to do the following:

Open the report as indicated in the last post and open the ExtractData module and scroll down to the code that looks like:


So now make the revisions to the code as shown below:


I haven't tested the code if you choose an interval other than a number divisible into 100. For instance if you choose 40, I don't think it would work.

Saturday, September 13, 2008

Modifying Incremental Stationing Report

If you want to change the incremental stationing report to show all profile types instead of just the FG profiles you will need to change the code. In this example I'll be revising the vba file. A similar change can be made to the code that comes with the product, but for that you would need to download Microsoft Visual Studio Express or by the full version.

To start type vbaload and find the Report_ProfileStaInc.dvb in the C:\ProgramData\Autodesk\C3D 2009\enu\Data\Reports\vba\source\ folder (at least in Vista). Next type vbaide to get the vba editor to show up. Open up the code for the form. To do this right click on the ReportForm and choose View Code.


Choose FillGrid from the drop down list on the top of the code window.


Scroll down to the code that looks like the code below in the picture. In front of the highlighted code in yellow add an ' . This will comment out the code and the program will ignore those lines and not check to make sure the profile is a finish grade profile before adding it to the list of profiles.


Now just save the code. You can run the report from the command line using the vbarun command and choosing the ProfileStaInc_RunReport from the list of macros. You can also add the vba to the Toolbox for easy future access. The dialog box will now show all types of profile types.

Friday, September 12, 2008

Ctrl Key Fun With Alignments

In Civil 3D 2009 you can select an individual segment of an alignment using the Ctrl key. This is helpful when you want to delete a portion of an alignment with out going into the Alignment Layout Tools. If you can't delete the segment it is probably because another segment is dependant on it. To make sure you don't have to delete a bunch of segment remember to include some fixed curves or fixed lines.

On a seperate topic on alignments, when using the Free Curve with radius make sure you use the grips for the adjacent objects to modify it's location. If you use the grips at the center of the curve or the endpoints you will be modifying the radius of the curve.


Thursday, September 11, 2008

Translating PDF

Found a way to translate PDF files that looks half decent.

For some reason Google Translate stopped after five pages and I needed to split up the document into four page documents. It worked fairly well otherwise.


Google Knows the Site Again

I noticed a drop of in the traffic of this site a few weeks back. I thought it was just summer time and people being on vacation. Well that doesn't seem to be the case, it seems Google forgot about my site. I'm guessing it is because the site changed it's address. It looks like it takes about 5 weeks to discover the site is no more and 8 weeks for a mildly popular site to start showing up on searches.


Wednesday, September 10, 2008

Create a Profile Without A Surface - 3DPolyline VBA

So now that I've covered points, lets switch over to 3DPolylines. In this post we will create a VBA routine to take a 3DPolyline and create a profile. The basic code is easy to do, its catching all of the errors which is difficult. In this post I'll just be covering the easy stuff.

The first thing we need to do is create a blank dvb file or start from another dvb file. In this example I'll be starting from scratch. To do this type VBAMAN at the command line. Choose the New option and then Save as.. to give it a name and location you can remember. The next step is to hit the Visual Basic Editor in the bottom left hand corner of the VBA Manager. Once in the VBA editor go to Tools, References and add the Autodesk Civil Engineering Land 6.0 Object Library to the list of references.


Next go up to Insert on the menu bar and choose Module. Expand the Modules on the left to show the Module1 and make the window current. Start of by adding the text Option Explicit. This will make it so all of the variables will have to be declared in the module. Under the Option Explicit line type Sub CreateProfileFrom3DPolyline() or any other name you like. It should automatically add a line that states End Sub.

So the first thing we need to do is select the 3DPolyline and alignment and then check to make sure the user has selected the appropriate object. You also may want to add a line that states "On Error Resume Next", this will help hide some of the bad code here and not give the user an error message. The code that selects the objects is below:


Now if you run the code you should be able to select a 3DPolyline and alignment and not get any error messages. So now lets process the 3DPolyline we selected. The vertex information is stored in the coordinates of the object. There is three parts stored for each vertex, the X, Y and Z. We will use the count of vertices to determine how big to make the array for the station and elevation data (the same way I did yesterday). The -1 is because the arrays start at 0 instead of 1. Also in the code is calculating the station and offset information, while we don't need the offset information we get it regardless. I have some constants in there to cycle through the appropriate data. The completed code so far is below:


So now I'll just take the profile creation code from the previous post and add it here. It has the same limitations the code had yesterday. The drawing has to have Standard as a Profile Style and not have a FromPoints profile already created for the selected alignment. The code is below:

imageNow like I said when I started, I just covered the easy part of the code. If the 3DPolyline extends past the limits of the alignment I think there will be trouble or incorrect data, but it should be quicker than typing the information into the profile. If you are too busy to type in the data you can buy the code up to this point using the link on this page. For the same price as stated in the previous post, you'll get both the completed code from that post and this post.

Related Posts:
Create a Profile without a Surface - VBA
Create a Profile Without A Surface - 3DPolyline VBA
Create a Profile Without A Surface - 3DPolyline VBA II
Create a Profile Without A Surface - 3DPolyline VBA III

Tuesday, September 09, 2008

Engineer for Day of Special Significance

Well I got an email regarding California AB 2567 to make May 22 of each year as Harvey Milk Day and designate it as a day of special significance in schools. At first I thought it was a joke, because how many people outside of San Francisco and the LGBT community know who this person was. With the newspapers deriding the poor state of education of our youths you'd think the California State legislature would pick a person who could further the student's knowledge of in Math or Sciences, or even English.

Currently there are three days, Day of the Teacher, John Muir Day and California Poppy Day. Not one of them, according to the law stress any of the three R's of learning (Reading, writing and arithmetic). So I think an Engineer needs to get a day. After all engineers affect the daily lives of everyone. So send me your nominations of engineers who have influenced California and beyond. Post a comment or email at

My nomination is for William Mulholland, the head of the Los Angeles Department of Water and Power when the Los Angeles Aqueduct was built. His career ended badly so he might not be the best nomination.

Monday, September 08, 2008

Create a Profile without a Surface - VBA

So in the last post I highlighted Lou's post, now lets create a new report to create a profile from the points. The first step is to open the Station Offset (Report_PointsStaOffset.dvb) to Points VBA file located at:

C:\ProgramData\Autodesk\C3D 2009\enu\Data\Reports\vba\

Now type VBAMAN and do a SaveAs of the file. Next open the ProfileSample.dvb file in the folder below:

C:\Program Files (x86)\AutoCAD Civil 3D 2009\Sample\Civil 3D API\Vba\Profile

The profileSample cimageontains the code to create a profile and the Station Offset report takes a list of points and compares it to an alignment. The first step is to export the Profile Module out of the ProfileSample file. Right click on the Profile module and choose Export File...

Now import the module into the PointsStaOffset file, by going to File on the menu bar and Import File and choose the file you exported. Next we'll remove a bunch of the code we don't need. This picture highlights the code that can go.

Now Double click on the ReportForm_Points to get the form to pop up and then the Create Report button to get the code that happens when the button is pushed, picture.

So now lets change the code to have the program get the station and elevation information from the points. The code is below. The first step is to create something to hold the station elevation information. We will do this with an array, the Dim dStaElev() As Double will do that task. As we fill up the array I had it re-dimension for the next point. The Call ExtractData will send the alignment and point to another place in the code to get the station and elevation for the points.


If you run the code at this point you will get a type error. A double is a collection of numbers and the ExtractData returns strings, which the program won't like. So change the ExtractData function to return numbers instead of strings as shown in the picture below.


Next lets change the CreateProfile code to match what we need. Most of the code changes have been noted, I may have missed some though. Things to note is that the profile name is hardcoded as "FromPoints", so if you want it as something else, go ahead and change it. It also, by default, uses a style name of "Standard" if you want it to be something else, just go ahead and change it to what you want. If a profile for the alignment already exists the code won't work or if the Standard style doesn't exist the code won't work.


Once you make all of the changes you should be able to add it to your Toolbox and run it from there or load the dvb file using the vbaload and then vbarun and choosing the macro from the list. There are also improvements that could be made to the routine. For instance letting the user select the style to apply and specify the name of the alignment.

If you have any questions or I missed something, just post a comment or email me at

If you don't have the time to make the modifications to the file you can purchase the completed code from this website for $20, it currently only works in 2009 but I can provide other earlier versions if requested:

Sunday, September 07, 2008

Forbes Pipe Organ

Took the kids to see the Forbes Pipe Organ during the PAC Open Keyboard event. We only heard four of the local keyboardists before the youngest one got restless and we had to leave. They started the event with a brief video on the history of the organ, it had to be brief since it only about two years old. It was surprising to hear that it takes about 9 months to just tune the organ once it is installed. After the video we heard some the keyboardists.

The first two looked very professional in tuxes with tails and played some old tunes. The first seemed to have played this type of organ before and used both his feet and his hands. If you are wondering about the feet, there are some keys at the feet level which are used to play the pipe organ. The second one was really into it but only used his hands. They played mostly stuff from long dead old people. The third one was a young girl who played a more contemporary song. The last person was just a person who signed up to play improve, which turned out to mean he didn't know how to play. It was cool to see that they let ordinary people who are brave enough to play in front of an audience. We also heard the resident organist play some tunes. The kids seemed to like most of it, though the youngest one was a little tired and stir crazy.

Saturday, September 06, 2008

Go Mustangs

Well since most people don't frequent this blog on the weekend, I'd thought I do some random posts on the weekend for this month.

Tonight I went to the No. 11 Mustangs vs. No. 5 Grizzlies football game at Cal Poly with my oldest daughter. The Grizzlies pulled out the win in a squeaker when the Cal Poly kicker missed a field goal in the closing seconds of the game. The kicker did good last week when he hit a field goal with no time left on the clock verses San Diego State University. My daughter did behaved pretty well, besides getting bored a little bit. Playing some counting games and I Spy kept her distracted for quite a while. She also liked dancing the dead space music. Hopefully Cal Poly can win some more games the year and make the football playoffs.

Next week Cal Poly travels to McNeese State in Louisiana next week.

And now to tie it into Civil Engineering, the wide receivers/slot back/recruiting coordinator has both a masters and PHD in Civil Engineering and there always seems to be some Civil Engineering majors on the football team. This current team has at least three players with Civil Engineering as a major. I tried to see what number of Civil Engineering majors where at UCLA or USC, but neither lists what major the players where on their rosters online. I guess that would indicate that and education isn't the priority at those programs. Considering that not all the players don't make the pros it should be.

Friday, September 05, 2008

Drainage Methodology - Deadend

Well my first post on the Drainage Methodology has hit a dead end. It seems that you can't query more than one layer of the map at a time. So this means that I have to bring the information into a drawing as topologies and then query the data to get the information out in one step. So I changed the name of the previous post to Importing SHP Files Using FDO and will probably start from scratch next week.

Thursday, September 04, 2008

Create a Profile without a Surface

Lou over at Civil 3D for Beginners had a great post on Creating a Profile without a Surface, I thought I had a great idea on how to improve it. My initial thought didn't work out, it would have worked out for a small number of points, but with the number used in the example her way was better. She did forget one big issue of using the method. If you are using Civil 3D 2007 or 2008 you'll find that the quick profile calculates the length of the profile based on the 3DPolyline's actual length in 3d space and not the plan view length. So when you import the alignment and profile you'll notice that the profile is longer than the alignment which shouldn't be the case. The quick profile has been fixed in 2009 so the method should work just fine in the current version.

Related Posts:

Wednesday, September 03, 2008

Civil 3D and Osnaps

I'm trying to do a post a day this month, so I can't promise the quality of posts will be the best. I'm going for quantity this month over quality.

I never noticed before that help lists all of the osnaps available for the various Civil 3D objects. For instance on page 1043 of the PDF version of the User's Guide for instance the profile osnaps are listed.

Note to self: This post sucks, need to do better tomorrow...

Tuesday, September 02, 2008

HEC-RAS Report 3

Still trying to figure out the next step in the hydrology series of posts, so while I ponder, here's another way to crash the HEC-RAS report. If you happen to create sample line group and then change the station range so all of the sample lines go away and run the program you will get a subscript out of range error.


This is total user error, because why would you want to export data with no data? But just in case the highlighted lines in the screen shot below will catch the error, give a prompt on why the program is ending and close the program.


The line of code may have been in the code previously since this line of code checks for the same thing twice:


Monday, September 01, 2008

Importing SHP Files Using FDO

I started this series, but came to a dead end so I changed the name of the post and will start over.

I'm thinking about using Map to do assist in drainage hydrology. In the next posts I'm going to layout what I am thinking how it will work. In this first post I'm going to import data available from the Los Angeles County Public Works into Civil 3D.

The first step is to download and unzip the data. The County provides the information from their Publications Page. Other agencies also provide this type of GIS data. Once you have the data, you'll need to bring it into Civil 3D. In this instance we will use the FDO functionality of Map. To do this open the Map Task Pane (mapwspace).

Go to the Display Manager and press the Data button and choose Connect to Data option.


The Data Connect Palettef will show up. Go to the Add SHP Connection on the left hand side of the Palette. Provide a Connection Name and the source file. For this example I'm going to call it SoilData. Press the connect button and the information will be connected.


Now you can go to the item connected and choose the schema listed and the information will be added to the Map as layers and displayed in model space.


Do the same for the other type of information required for a drainage study. In this case the Los Angeles County provides information for Soils, Land Use (including the appropriate impervious area) and Rain Depth. Save the drawing to save the map, so the next time you open the file you don't have to reconnect the shp files.

When you look at the data it will probably be one uniform color. Such as the one below. To change it select the layer you want to change. In this case I'm going to change the soils layer. Press the Style button and the Style Editor will show up.


The Style Editor will pop up and here you can create a new theme for the soils. To do this select the New Theme button.


On the next screen you can select the colors the areas will be and a label.


You will then get a better view of the data, which would be helpful as you zoom into your project area. The labels adjust like they do with Civil 3D objects.



Blog Widget by LinkWithin