Wednesday, August 15, 2012

Win a Copy of Civil Essentials

Wiley and the authors of Mastering Civil 3D 2013 are doing the reverse version of the Mastering giveaway that was posted on this blog a few weeks ago.  If you like free stuff, check it out!
http://www.civil4d.com/2012/08/civil-3d-2013-books/

Thursday, July 19, 2012

Making Tool Palette Hatches Annotative

Since tool palettes first came out, I've had a standing wish list item to make tool palette hatches annotative.  As far as I know, you can't.  So, as is done by many of you who read this blog, I had to come up with my own way.  Here's what I did.

First I wrote this simple LISP routine:

(defun AnnoHatch (HATCHPATTERN HATCHANGLE IMPSCALE HATCHLAYER)
  (setq CURDWGSCALE (getvar "CANNOSCALEVALUE"))
  (setq HATCHSCALE (rtoS(/ IMPSCALE CURDWGSCALE)))
  (setvar "CLAYER" HATCHLAYER)
  (command "-bhatch" "P" HATCHPATTERN HATCHSCALE HATCHANGLE "AN" "Y")
)

What it does is scripts the command line version of the BHATCH command by using the pattern (HATCHPATTERN), angle (HATCHANGLE), scale (IMPSCALE), and layer (HATCHLAYER) specified for the arguments.

Then, instead of hatch tools, I created command tools that ran this routine with the appropriate argument values for the hatch I was trying to create:

Now I can use the tool palette to create hatches that are annotative and work for whatever scale I happen to be in.

If you have a better way...please share.

Monday, July 16, 2012

Another Chance to Win a Free Copy of Mastering AutoCAD Civil 3D 2013

Last week's giveaway was so much fun that we're doing it again this week.  By the way...congratulations to Lisa Pohlmeyer last week's winner!

Same deal as last week except that the deadline is 4:00 ET on Friday, July 20th.  Reviews posted last week ARE eligible for the drawing (except Lisa's since she already won).  Here are the details:

  1. Get a copy of AutoCAD Civil 3D 2013 Essentials - If you already have one, this step is done!
  2. Post a review of the book to Amazon.com by this Friday, July 20th at 4:00 p.m. ET.  If you've already done this, this step is done!
  3. Send an e-mail to civilessentials@[the 7th letter in the alphabet]mail.com claiming responsibility for your post.  Please include the name under which you posted the review.  You don't need to provide your mailing address, if you win we'll get that from you later on.  Don't forget this step, it's a requirement.
  4. Your name will be entered into a drawing to win a free copy of Mastering AutoCAD Civil 3D 2013
  5. The name will be drawn and announced this Friday, July 20th right after 4:00 p.m. ET.
So get on over to Amazon.com and post that review.  Good luck!

Tuesday, July 10, 2012

Review Essentials 2013 - Enter to Win a Free Copy of Mastering 2013

AutoCAD Civil 3D Essentials and Mastering AutoCAD Civil 3D go great together!  So Wiley, Louisa Holland and Kati Mercier (authors of Mastering AutoCAD Civil 3D 2013), and myself, are having a little promotion.  Here's how it works:

  1. Get a copy of AutoCAD Civil 3D 2013 Essentials - If you already have one, this step is done!
  2. Post a review of the book to Amazon.com by this Friday, July 13th at 4:00 p.m. ET.
  3. Send an e-mail to civilessentials@[the 7th letter in the alphabet]mail.com claiming responsibility for your post.  Please include the name under which you posted the review.  You don't need to provide your mailing address, if you win we'll get that from you later on.
  4. Your name will be entered into a drawing to win a free copy of Mastering AutoCAD Civil 3D 2013
  5. The name will be drawn and announced this Friday, July 13th (yikes, Friday the 13th) right after 4:00 p.m. ET. 
So post that review...and good luck!

BTW - Do you already own Mastering but not Essentials?  Stay tuned to the Interweb...if this giveaway goes well there will be a separate one offering the chance to win a free Essentials book for those who review Mastering.

Monday, July 9, 2012

Don't Forget the Shoulders

Lisa Pohlmeyer asked me to post this on her behalf.  Thanks Lisa!  Nice find!


When the Superelevation is calculated for the alignment in a drawing, the shoulder control parameters are often overlooked, because you may not often use them.
Defining the superelevation is the only place you can specify the shoulder controls, NOT later. If you don’t specify shoulder controls, there’s no column in the tabular editor to modify them later.

The dialog box looks like this when you don’t apply shoulder controls (there’s no column for the shoulders):


If you specify 0 for the typical shoulder width, at least you’ll have that control later.  The effect of not setting the control is that your shoulder sub-assembly will not follow the super, even if you tell it to.  The dialog for setting the shoulder controls:


Now you have control over the shoulders:




If you don’t have shoulder controls and you need them, you have two options:

1.       Recalculate your superelevations for the entire alignment

2.       Modify the sections in the section editor.



Thursday, July 5, 2012

Removing the XML File Dependency From A Surface

This question has come up several times for me so I went in search of a solution.  The procedure below is the best I could come up with.  If you have something better...please share!


  1. Use a style to display the triangles and boundary for the surface
  2. Extract the triangles and boundary
  3. Create a new surface and add data using the Drawing Objects data type.
  4. Add the 3D faces extracted in Step 2.  Be sure to turn on the "Maintain edges from objects" option.
  5. Use the boundary you extracted in step 2 as a boundary for the new surface.
Bada-bing, bada-boom you've got a new surface that is an exact copy of the original, but with no XML dependency.

Friday, June 1, 2012

AutoCAD Civil 3D 2013 Essentials and Beyond Exercise Videos

As an alternative to downloading them from the Wiley site, I have provided the "Essentials and Beyond" videos in the form of a YouTube playlist.  Enjoy!

AutoCAD Civil 3D 2013 Essentials is Here!

The 2013 version of my book, Wiley/Sybex's AutoCAD Civil 3D 2013 Essentials is now available through Amazon, Barnes and Noble, and Wiley.  Here's what's new in the new version:

  • Pressure Pipes!
  • All exercise steps, workflows, and screen captures have been updated for Civil 3D 2013
  • A handsome new brown cover
  • Videos of the end-of-chapter "Essentials and Beyond" exercises!!!
Please check it out.

Here is a sample of one of the new videos!




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!