Tuesday, March 27, 2012

Autodesk Infrastructure Modeler is Included in Infrastructure Design Suite 2013 Premium

More great news about big changes in 2013.  If you opted into IDS premium awhile back, you'll have access to Autodesk Infrastructure Modeler when the 2013 version rolls out!  The screen capture below is right from Autodesk's IDS web page.


If you haven't checked out AIM yet, you absolutely must.  If nothing else, this product could (frankly should) change the way proposals are done.  It's time to burn our three ring binders and cute little folios with clear plastic covers.  OK, that's a little crazy, no burning please...but just check it out.

Also, Raster Design is included in IDS Premium!


It's Official - Civil 3D 2013 Pressure Pipes Have Arrived

Right on Autodesk's Civil 3D web page, you'll find Pressure Networks listed as a new feature.  I'm sure there will be much more talk about this exciting new capability, but for those who were wondering...there you have it.


Interactive Terrain Shaping - Dynamic Feature Line Offsets

The next feature of ITS that I'd like to showcase is the ability to create dynamic feature line offsets.  In the context of the ITS user interface, these are called Offset Curves.  Whatever you call them, the idea is to create a parallel copy of a feature line and maintain a dynamic link back to the original.  ITS provides these in two flavors:  "regular" offset curves and draped offset curves.
To create an offset curve is pretty simple.  Launch the command...


...select a feature line, pick a side, and provide a distance...very much like the AutoCAD Offset command, except for the weird quirky thing that ITS does when it asks you to pick two points any time you specify a distance.

A cool bonus is that it automatically adds a dimensional constraint that gives you easy control of the separation between the two feature lines.  You can edit this like any other dimensional constraint to change the width of a berm, sidewalk, driveway, or whatever.

For a draped offset curve you use a different command...

Everything else is the same except this time you're prompted for a draping grid.  The resulting feature line is then projected to that grid but horizontally, continues to be parallel to the original feature line.


Now, what can this be used for?  Here are a couple of ideas, just off the top of my head:

  • Any parallel feature such as the sides of a road, driveway, sidewalk, pond berm, ditch, etc.
  • Tying in at a set distance from the origin.  You could do this by draping the offset curve on a grid created from an existing ground surface.
  • A gently sloped buffer area behind a curb or near a building.
  • Two breaklines for a temporary grading surface that maybe slopes downward at 2% away from a building, or something like that.
Keep in mind that these feature lines are not locked within the grading grids or anything.  You can use them to create a regular old surface just like any other day.


If you haven't downloaded and tried ITS, please do so right away.  We need to get some activity going on this thing or we're going to be stuck with buggy old grading tools forever!











Wednesday, March 21, 2012

Interactive Terrain Shaping - Draping Feature Lines

One of the most powerful grading techniques that can be taught, in my opinion, is the technique of projecting, or draping a feature line to a surface.  This allows you to calculate many elevation points on a complex shape (such as a parking lot perimeter) in a matter of seconds.  Civil 3D can do this via the Elevations from Surface command, but one thing I always wished was that there could be a dynamic relationship between the feature line and the surface.  In other words, after using the Elevations from Surface command, I want the feature line to change automatically if the surface changes.  ITS grants this wish - kind of.

The command is called Drape Curve...

and it projects a feature line to a grading grid.

The feature line stays linked to that grid so any modifications to it, directly or indirectly, will cause the feature line to update - the wish that has been granted...kind of (read on).

Now you might call foul here saying "Hey that's not a surface!" and you'd be right.  But ITS has an answer for that too.  You can project a feature line to the original work canvas or you can create a new grid based on any surface by using the Create Working Element from Surface command.

The command is simple, launch it, pick a grading grid, then pick the surface.

Now you have a grading grid that can be used to drape a feature line.

Now for the "kind of" part.  As far as I can tell, a grading grid created from a surface is not dynamically linked to that surface.  I can't even find a way to update the grading grid after the surface is changed, other than creating a new grading grid. So there is no dynamic relationship between the feature line and the surface...bummer.  Maybe this is something that Autodesk can add in the future??  UPDATE - Be sure to read Smita's comment below about this very issue.





Friday, March 16, 2012

Interactive Terrain Shaping - Creating a Pivot Plane

Today I wanted to jump back into the working elements of Interactive Terrain Shaping by looking at the Pivot Plane commands; specifically the Create Downward Pivot Plane command.

As far as I can tell, this command is designed to "bend" a bounded plane creating a second slope.

But as we've seen with other commands, this happens in a series of operations and "layers" and I've found it helpful to try to pick these things apart to better understand what's going on.  When you launch the command you are asked for:

  1. A grid to modify (we'll call this Plane A)
  2. A key point on the grid you selected to be modified
  3. A slope direction
  4. A slope value
  5. The boundary of a new plane
Here's what happens:

  • A new bounded flat plane is created (we'll call this Plane B) which passes through the key point at the slope and direction you've specified.
     
  • Plane B is dynamically tied to Plane A at the key point.  If you raise or lower Plane A, Plane B will move with it.  You cannot raise or lower plane B manually.
     
  • A new grid is created by adding Plane B to Plane A using the Bottom Envelope command.
     
  • Also, a new plane is created which is sloped to match Plane B but is bounded within the feature line you selected as prompt #5 above.  As of right now, I don't know what this plane is for or why it is created, but maybe I'll figure that out or have it explained to me another day.  Interestingly, this plane is the "live" plane that you edit if you want to change the slope of Plane B.  If you use the same feature line that bounded to the original plane, then naturally this plane looks exactly like Plane B.
     




Thursday, March 15, 2012

Interactive Terrain Shaping - Combining Cut and Fill

In an earlier post, I created a building pad by creating a fill grid from a bounded flat plane.  This was slick and simple because the entire plane was above the existing ground surface - it was in fill.  But what if part of the plane is in cut and part in fill?  That's what I'd like to dive into in this post.  You should check out the earlier post before continuing because I don't lay it out step by step in this post.
I've broken out the old standby Shaker surface that has been in the LDT and Civil 3D tutorials for as long as I can remember.  I like this one in this case because its a nice, steep slope.  I'll start the explanation with the work canvas already in place.


I'll create a flat plane and a fill grid, just like before.

Now, using a very similar process, I'll create a cut grid from the same flat plane.

The I'll use the Top Envelope command to add the fill grid to finished ground.  Before this step, Finished Grid = EG surface.  In this example, the fill zone is a fairly small area on the lower left corner.


Finally I'll use the Bottom Envelope command to add the cut grid to the Finished Grid.  Before this step, Finished Grid = EG surface + Fill Grid.  The result is the combination of cut and fill applied all at once, just like you'd expect.

I tried this out using the Add Fill and Remove Cut custom commands and they did speed up the process a little but it was still two separate operations for cut and fill.  I like doing it first using basic elements to gain an understanding, then using the custom commands to do it quicker but still understand what's going on.




Monday, March 12, 2012

A Quick Way to Flatten Survey Figures and Feature Lines

Something that comes up quite a bit for me is a good way to flatten survey figures and feature lines so that they occupy elevation zero.  Why do this?  For some, its just a preference to work in a 2D environment.  Whether this is good or bad could be argued extensively in another post, but I'll leave that for another day.  Another reason is so that linetype generation can be respected so that utility lines, fence lines, and other special linetypes display properly.

It's not the most eloquent solution but I whipped up this LISP routine that I call STEAMROLLER and it works pretty well.  It will convert all (as in every one in the entire drawing) survey figures, feature lines, and 3D polylines to 2D polylines at elevation zero, and and turn the lintype generation feature ON.  Just wanted to share:


(defun C:STEAMROLLER ()
  (setvar "CMDECHO" 0)
  (setvar "qaflags" 1)
  (if (setq C3DOBJ (ssget "X" '((0 . "AECC_SVFIGURE*"))))
    (command "explode" C3DOBJ "" "AeccConvert3dPolys" "P" "")
  )
  (if (setq C3DOBJ (ssget "X" '((0 . "AECC_FEATURE_LINE*"))))
    (command "explode" C3DOBJ "" "AeccConvert3dPolys" "P" "")
  )
  (if (setq C3DOBJ (ssget "X" '((0 . "POLYLINE*"))))
    (command "AeccConvert3dPolys" C3DOBJ "")
  )
  (if (setq C3DOBJ (ssget "X" '((0 . "LWPOLYLINE*"))))
    (command "CHANGE" C3DOBJ "" "P" "ELEV" "0" "" "PEDIT" "M" "P" "" "L" "ON" "")
  )
  (setvar "qaflags" 0)
  (setvar "CMDECHO" 1)
)

Wednesday, March 7, 2012

Interactive Terrain Shaping - Circular Dependencies

In an earlier post, I was using a series of steps which generated this error message:

I didn't know what it meant so I ignored it, at least for the time being.  Smita from Autodesk picked up on it on in an Autodesk discussion forum and was kind enough to explain what's going on.
In that earlier post I was creating a bounded plane and then using the same feature line from that bounded plane to project a fill grid.  This created a circular dependency.  In Smita's words:


  1. The flat bounded plane derives its extents from the feature line. (Bounded plane operation)
  2. The feature line derives its elevations from the flat bounded plane. (Fill Grid with infill operation)
The way I understand this is that the feature line is getting information from the same plane that it is giving information to - thus a circular dependency.  She goes on to explain that I should have used an unbounded plane and then projected the fill grid using the unbounded plane as the infill.  Now the feature line is only getting information from the plane by deriving its elevations from it.
So I gave it a try and of course it worked with no warning messages.  
The difference is, instead of this:
I have this:
The bounded plane is replaced by an unbounded plane.  In my earlier post, using a bounded plane was an extra step that I didn't need, in fact it was causing issues.  Since the feature line already establishes its own boundaries for the top of the fill area, there was no need to use it to contain the plane too.
So now I know.  Watch out for circular dependencies, and don't ignore the warning message when it appears.  
How cool is it that Smita, software engineer for the ITS feature is actively participating in the discussion board!?

Interactive Terrain Shaping - The Add Fill Command

In an earlier post I talked about using fundamental ITS elements to create a building pad.  I highly recommend that you read that post and try to duplicate the steps before continuing into this one.  If not, you might be able to get ITS do do something but you might not have a full understanding of what it's doing.

Anyway, in that earlier post  I used a 7-step process to model a building pad in fill.  By using the Add Fill command I can automate steps 5 and 6 to make it a bit easier.

Here goes:

  1. After creating the work canvas and bounded plane, I'll launch the Fill command on the ITS ribbon.
  2. The prompts are identical to step 5 in the other post, it'll ask me for the feature line, the grading side, the infill grid, and then let me enter the slope in a dialog box.
  3. When I click OK, is when it automatically rolls in step 6.  It performs the Top Envelope command and automatically and adds itself to the finished grid.
     
This is an example of how the ITS commands combine and automate the creation of fundamental elements.  In fact, if you read the ITS Users Manual, each command has a section called Behind the Scene Operations that explains what's going on.  In this case, it says the following about the Add Fill command:

Behind the Scene Operations
  • Drapes the footprint on selected infill grid if selected.
  • Creates a fill grid
  • Combines the fill grid with finished grid using Top Envelope operation.

Interactive Terrain Shaping - Feature Lines and Bounded Planes

Discovered something today that I wanted to get in the blog before I forgot about it.

Question: What happens to a feature line when you use it to create a bounded plane?
Answer: Nothing.  The feature line keeps its original elevations while it is used to determine the horizontal outline of the bounded plane.  The bounded plane has its own elevation(s) independent of the feature line.


Question:  OK, then...what about when the bounded plane is used as the infill of a cut or fill grid?
Answer:  Well, in that case the feature line adopts the elevation of its bounded plane.  In fact, in the current version of the ITS software, if you try to edit the elevations of a feature line when it has been adopted by a fill grid, the software will crash.

Do you have conversations with yourself like this sometimes?

Interactive Terrain Shaping - Understanding Elements

To begin looking deeper into ITS, I'm going to do the opposite of what the documentation says - I'm going to focus on the right end of the ribbon tab, which deals with elements.  I'll build a simple building pad using elements.

  1. I'll begin with a drawing that has an existing ground surface, a large rectangular polyline, and a small rectangular feature line that represents the top of a building pad.  The elevations of the feature line do not matter.  I have two views: plan view on the left with a 2D Wireframe visual style and 3D on the right with a Conceptual visual style.
  2. Using the Work Canvas command and a rectangular polyline, I'll use the surface to create a work canvas.  I'll also change the style of the existing ground surface to _No Display so that it doesn't get in the way visually.  Here are the steps:
    1. Click Work Canvas on the ITS ribbon.
    2. Select the boundary
    3. Select the surface
    4. Click the surface, then use the Surface Properties command to set the style to _No Display or something equivalent.
  3. If the drawing seems slow, click the grid, then click Spacing on the ITS ribbon.  Click a point in the drawing then enter 10 to make a 10-foot spacing (or whatever number you want to try).
  4. Next I'll use the Add Bounded Flat Plan command to turn the rectangular feature line into a flat planar working grid.  Here are the steps:
    1. Click Create Bounded Flat Plane on the ITS ribbon
    2. Select the grid
    3. Select the feature line
    4. Pick a point near the center of the feature line when prompted for the key point.  This will set the elevation of your feature line to match the surface elevation of the point you've selected.
    5. You might be able see just a little bit of your new grid here and there in 3D view.  Using your CTRL key, click the new grid in 3D view until the entire thing is shown and the working canvas (EG at this point) is hidden.

      What you've created is a working grid.  It has not been added to the finished grid.  If you use your CTRL key and click in a spot where all the grids overlap, you will see this bounded flat grid and the working canvas grid.
    6. Hover over the blue circle at the center of the plane.  When the origin arrows show up, click the z-axis arrow and drag upward.  While holding the mouse button down, type 50 and press Enter to raise the plane 50 feet (or use whatever number you want.  I'm using 50 to make it obvious and more dramatic).
  5. Next, I'll make a fill grid that projects from the edges of the bounded flat plane.  Here are the steps:
    1. Click the Create Fill Grid command on the ITS ribbon.
    2. Select the feature line
    3. Pick a point outside the feature line to indicate the grading side
    4. When you're prompted to select the infill grid, use your CTRL key to select the bounded flat grid in 3D view.
    5. Enter a value in the Grading dialog box for fill slope.  I'm using 33.33 percent in my example, a 3:1 slope.
    6. After clicking OK, you should get a new grid.  Color will vary.  You may also get a warning message about associated objects.  I've been clicking OK and ignoring it.  Not sure what it is yet. UPDATE - More information on this error message can be found here.

      You have created another working grid which is made up of a 3:1 slope projected downward from the edge of the bounded flat grid out to the edge of the work canvas.  Civil 3D has automatically made another grid by combining your bounded flat plane with this fill grid.  Nothing has been added to the finished grid.  If you use your CTRL key and click where all the grids overlap, you'll see four separate grids now: the bounded flat plane, the fill grid, the composite of the fill grid and bounded flat plane, and the finished grid (which is the same as the original work canvas since nothing has been added to it.)
       
  6. The final step is to combine the fill grid with the finished grid to update the finished grid.  Right now, the finished grid is the same as the original work canvas because no changes have been made.  Here are the steps:
    1. Click the Top Envelope command on the ITS ribbon.
    2. Use the CTRL key to select the fill grid. (think of this as grid 1 for the explanation below)
    3. Use the CTRL key to select the work canvas. (think of this as grid 2 for the explanation below)
    4. After the command is complete, use the CTRL key to find the new composite grid.

      The Top Envelope command pastes the two grids together by keeping everything of grid 1 that is above grid 2 and everything of grid 2 that is above grid 1.
  7. To test it out, click the grid, then click the Grid Surface command.  It will create a surface named "<No Name Provided>".  Assign a style that shows contours and check out the results.

    In the image above, I put the grading grid on its own layer and froze it.  Then I did a REGEN.
Does your head hurt?  Good, that means it's working.  Take a few aspirin, wait 30 minutes, and read this again.  Then try it for yourself!

Interactive Terrain Shaping - The Journey Begins

A few weeks ago, Autodesk released Interactive Terrain Shaping into the wild via Autodesk Labs.  This is a completely new way to look at grading - new technology, new commands, new concepts.  This could be very, very HUGE.  For nearly a decade, we have been struggling with bug-infested grading tools and now there may finally be some hope...but only if you, the users, download this thing, try it, learn how it thinks, tell Autodesk how great it is, and provide useful feedback on how to improve it.
After spending some time with ITS I can tell you that if you think it's just a fancier way to do what Civil 3D already does, you should should work with it some more because you don't understand it yet.  This thing is new, its fresh, and its exciting.
I will admit, however, that its taken me some time to wrap my head around it and I want to share what I've learned to hopefully help steepen the learning curve for others.
I'll start with basic concepts in this post, and then build upon that with what I hope will be many, many future posts.

Here are some basic thoughts to get you started:
  • When you use ITS the object you are working with is called a Grading Grid (AECC_GRADINGGRID)
  • It can be made up of sub-objects such as:
    • Working grids
    • Atomic grids
    • Composite grids
    • Op grids
    • Finished grid
  • Every job starts with a special grid called the work canvas which is a surface (usually existing ground) bounded by a rectangle.
    • The finished grid is created by combining the working canvas with other grids in a specific order, kind of like boolean add and subtract operations that are done with solids.
    • The grid is rough and blocky but can be converted to a solid when its time to be accurate.
    • There are tools like Pond, Parking Lot, and Swale that package many working elements and operations for you.  These are great for pretty demonstrations, but they don't help you understand how the technology works because they do everything for you.  If you want to learn how ITS "thinks" avoid these tools for now (even though the documentation says that they're great learning tools).
    • Make sure you do all of the recommended settings changes to improve performance.  You'll find these on the Getting Started Page.
    • You can adjust the spacing of the grid to help with drawing performance.
    • Make sure you download the ITS Users Guide and read it before starting.  I know, doesn't sound like fun.  I'm not typically a "read the directions first" kind of person either but this will give you a good idea how ITS "thinks".
    Stay tuned for more posts that dig deeper into this exciting technology.