Take Those Offset Points and Stake Them!

A few weeks ago, I was working with a client who asked me if it were possible to use a corridor to calculate offset points for curb staking with Civil 3D.    I thought to myself “surely there has to be,” so I set off in search of an answer.   I monkeyed around and came up with an almost acceptable solution, but it wasn’t what I wanted.   Yesterday, on the way home, I received another email (from a different person) who wanted to know pretty much the same thing.   That led me to thinking, and got me into “test” mode tonight.   Luckily, I was able to remember my first attempt and replicate it, then went off in search of a better answer.    I did what I always do, I pulled in some team resources, and Mark flipped the switch that turned the lightbulb on over my head (he’s good at that) – turns out, I was going about it all wrong.    Follow the link to find out my initial incorrect thoughts and the true road to glory (no pun intended.)

My idea came from feature lines.    Yes, Civil 3D creates all these feature lines for linework on a corridor, and they’re relatively easy to extract.    So my initial thought was to extract the back of curb feature line from the corridor and offset it horizontally to get my stakeout location.   Then, I could set points along the offset line.    Alas, this didn’t work, as there was no way to automatically create the points on the feature line – I could do them one at a time, but the goal in this scenario is to save time, not waste even more of it.   So, I had the bright idea to explode the feature line to a 3D polyline.    Ah-ha!   I can use the polyline vertices – automatic  command to create those points.   That works great!   Well, at least it did on the tangent section that I was zoomed in on – but when I zoomed out and looked at my curves, I had issues.    Guess what happens to a curved feature line when you explode it?   You get tiny chord segments – so my points that were supposed to be 25′ apart ended up being about 0.25′ apart in curves.    This is no good – my crews don’t need to pick and choose what points they stake out, and there’s not enough pine trees in the world to provide enough hubs to stake the curb at the interval that **** 3D polyline gave me.    So it was back to the drawing board – I REALLY wanted to complicate matters – I want to control the length of those chord segments created when you explode a curved feature line to a 3D polyline.

At this point, I was so frustrated that I had to leave the computer and go watch an episode of Family Guy (something to slow my mind down, at least…)   But before I did, I sent off the email, and when I came back to the computer, I had IM’s and email that told me I was looking down the wrong road – the answer was right in front of me (I only wish it were always that simple.)   Why not measure an alignment with the points?    Well, sure, but, errrr……what about the elevations?   Well, as it turns out, you have the option to select a profile for point elevations when you measure an alignment.    And, it just so happens that there’s a command under the corridor menu that allows me to create an alignment from a feature line – even better, I can create a profile from that feature line as well!   So, here’s the process…complete with pictures!

Step 1 – create your corridor.    If you get confused on step 1, this website has a handy-dandy search feature that allows you to type in corridor and get help with that part.   Here’s my corridor:


Step 2 – create an alignment and profile from the back of curb feature line.    This command can be found under Corridor>Utilities>Create Alignment from Corridor.


In the create alignment dialog box, make sure you check the selection to create a profile with the alignment:


Step 3: Go to the Points Creation toolbar.   The third button from the left is the points by alignment selection – select Measure Alignment.   The next step wants you to select the alignment, so pick the newly created alignment.   Once the alignment is picked, the pick profile dialog box pops up – select the profile created from the corridor as well.   Hit ENTER to accept the starting and end stations. then specify the offset for your points (negative values offset to the left, positive offset to the right).   Next, you’ll specify the interval of your points and hit enter again to finish the command.    Here’s a hint – before you do this, go into your point creation settings and set your elevation to automatic and your description to automatic (specify the description that you want to use as well.)    You may have to update your point groups to get the points to show up, but you should end up with results like this:


Export the points and enjoy staking!


  1. Brad Powell says:

    You can also set a marked point in your assemblies at your desired offset and change the code to curb offset (3’TFC). Then create points from corridor and only select the marked point.

  2. Jeff Mishler says:

    You could also do this by adding linkwidthandslope links to your assemblies. It requires some forethought but makes it quite simple to get your stakeout points. For a detailed example, see the Dec. 8, 2006 webcast, starting at about the 27th minute.

    Also, for Featurelines where you don’t have a corridor, there’s the SincPac3d set of tools that James has previously mentioned here.

  3. Matt Kolberg says:

    My first thought was “Cogo Points From Corridor”, but then I soon realized that it’s going to give you points at every sample location.

    An alternative would be to extract the feature lines, measure them and then assign a surface elevation to them. Of course, you need a surface. I didn’t say this was better, just an alternative.