For those that were at the New Zealand Civil3d event and those that weren’t here are my notes and presentation
Introduction
I started using Civil3d and grading in 2007 doing earthwork plans for lots created for urban infill housing, rural lifestyle or bush blocks. These sites typically have steep terrain
and numerous site constraints such as existing services, height to boundary limitations,streams/watercourses setbacks and slope stability issues. While working at our Howick office in Auckland between 2007 and 2009, I worked on over 125 jobs with Civil3d along these lines which I would call small to medium in size, below I have selected what I feel are six of the more interesting examples to discuss.
Some would say that Civil3d is not designed for this sort work and with its past suspect grading performance not the most user friendly program. I have however been able to refine my workflow to achieve some good results
with no or limited issues with the program.
So lets look at some real world New Zealand examples of lot grading, overview my work flow and step thru an example in Civil3d to see how I achieved the required grading.
EXAMPLES
1. Chateau Rise (C3D 2008)
Featureline Model
2.Whitford Park (C3D 2008)
Featureline Model
3. PointView (C3D 2009)
Featurelines
4. Moeraki (C3D 2010)
Featurelines and Corridors Model
5.Evelyn Road (C3D2007)
Closeup
6. Renlee (C3D 2009)
Featureline Model
Prerequisite
Whether you are familiar with the grading tools in Civil3d or not I would recommend you look at the first grading video presented
by an Autodesk Civil3d programmer working on grading back on 13 May 2006 here or the latest one (if you can download it from the new Autodesk site, I just tried and failed).
This will give you an insight into how they were thinking about grading when they were programming it into Civil3d and as the grading interface has not changed since then
also the basic run down if you are new to grading.
My Recipe to Successful Grading
Tip 1 Good Drawing House Keeping (try and keep the drawing as simple as possible while grading)
Tip 2 Use Layer Filters, to reduce displayed data
Tip 3 Use Layer States, to save your grading layers
Tip 4 Use POINTS or a TIN to build your surface. (Contours introduce more vertices and triangles into the surface and therefore more math requiring more memory = Issues)
Tip 5 Save before each critical action. (Like a lawyer don’t ask the question if you don’t know the answer, don’t grade without saving unless you know the answer)
Tip 6 Use Featurelines and infill grading
Tip 7 Always delete grading by using the special “Delete Grading” command that appears on the right click menu when a grading is selected.
Tip 8 Avoid attached grading to corridors in large jobs (or be prepared for a slow drawing as there is no way to stop grading from auto calculating
so on opening the grading’s is re calculated and anytime the corridor is amended also)
Tip 9 Do not create surfaces automatically
Before we begin the live example
I need to explain a number of Ribbon Modifications,Layer Filters, Command Alias’s and LSP commands I will be using in the example so you can follow me.
Layer Filters
If you use the shipped NCS layer naming convention like us for Civil3d objects, then to boost your productivity you really need to get into layer filters and
1. Understand the NCS Layer Naming Convention. The US military standard here gives a good overview
2. Know what Civil3d Objects and Object sub components are on what layer.
Use your filters to become familiar with this by reading the layer description column. Note you can drag the
description column.
3. Be able to use the power of layer filters to categorise and sort layers quickly into relative groups.
If you have not been using layer filters up to now and to save you typing in your own standard NCS layer filters you can download my from here
Now to get the download filters into your template we have to restore a couple of buttons to the layer manager that we use to have in the 2008 (which should be in the 2012).
The two buttons were “Load Filter Groups” and “Save Filter Groups” and were along the top of the layer Manager Dialog
To get these buttons back and import the filters you need to add a registry entry to your computer as explained here
Ribbon Modifications
Now if you have limited desktop space or prefer to not have the layer manager open all the time but what to access your filters quickly
you can add a drop down to the ribbon and also a layer drop down to the quick access bar as shown here
Command Alias’s
I use the following command alias’s in my workflow
LSM = LayerStateManager
IO = Isolate Objects
HOO = Hidden Objects On
OV = Object Viewer
I have explained how to setup command Alias’s here
LSP
Before having two monitors and the introduction of the right click “select Similar” command I wrote these lsp commands
to select grading or featureline entities and jump to the object viewer using OV above quickly to visually check my model.
SG = Select Grading
SF = Select Featureline
SFL = Select Featureline LabelI have explained the lsp code and given a link to download the code here
Workflow Video
Uploading to Youtube
Grading Part 1
Grading Part 2
Workflow Script
Featurelines and Grading
- Obtain the site surface data from the client or survey team
- Obtain a copy of the Architects drawings
- Start a new grading drawing from your template
- In the grading drawing build an E-gl (Existing Ground Level) surface from points, tin or 3dfaces (preferably not contours)
- Open or Print out the Architects plan drawing
- Look at how you can surround the site (or areas of the site) with one continuous featureline, with under laying features supplied by the architect.
Here for example on the Chateau Rise Job I determined I need featurelines as per the following markup - To produce a cut/fill plan like this
- Turn off all the layers except the ones you want to xref into the grading drawing.
- Create LayerState’s in the xref of the key grade feature information you may want to refer too.
- Go to your grading drawing and add to a new layer x-“Name of Architects Drawing” make this layer current.
- We do this so we can filter and freeze all of the xref’s at once or independently
- Attached the Architects drawing prepared in step 5 as an xref underlay to the grading drawing.
- Pull in the copies of the line work of key physical features to be used as the base for grading featurelines
- use the ncopy command as well as from labs website the xref offset command obtainable here
- ncopy does not use a fence or window select so you have to select one item at a time to add it to your selection set.
- Command is an old lsp that came with express tools could modify if good at lsp to use window selection
- use the ncopy command as well as from labs website the xref offset command obtainable here
- Join the imported line work of key physical features to form continuous enclosed polyline entity where possible for infill grading
- Create Featurelines from your imported linework.
- Assign elevations to your featurelines, Using Quick ElevationEdit or the Elevation Editor
- Slope, Height, etc how to do things
- You can generate a point group from vertices on the featurelines from existing ground surface or
- Get the levels from a dumpy or existing surface.
- Now
either
Work outside from your perimeter featureline back to existing ground.
- I usually start here as grading back to existing ground, is typically where the trouble or issues occur and can be the most time consuming part on the job.
- You can attach grading to the Full length or part of length of the featureline and use transitioning between sections of grading
- Forming Retaining walls, used 0.1:1 using anything less than 0.1 causes errors in daylight extending to far
- Fill any areas enclosed by featurelines with infill grading objects
Or
Work Inside from this perimeter featureline
- Add building platforms as enclosed feature lines with infill grading, kerb lines etc
Tips
Once you have the correct elevations assigned to your featureline. Set the osnapz variable to 1 to grip edit the plan position of a featureline vertice to only the xp snap position of a selected point.
The last drawn featureline overrides previous elevations and inserts a level point at crossing points of existing featurelines
You can daisy chain gradings together to make swales channel,etc
Curves in featurelines and adding elevation points has caused me issues in the past.
Adding Corridors
Shared driveways usually easier to model with corridors
Can extract featurelines from Corridors and add grading to them
Attaching grading to corridors good but no good as slows everything down re calculating all the time
Corridors surrounding a block of land can create enclosed featurelines
Issues with Grading infills between a corridor featureline and other featurelines will disppear, on code set change and other things
Plan Presentation
Point Setout Table
Rather than adding pointless additional points to the drawing to generate a setout table.
- Add segment labels to your featurelines that look like points and then use a Parcels Segment table
to generate the Northing and Eastings,
- The benefit of this method is the Point levels and co-ordinates are not detached from each other.
- The floors in this method is that the segment label can not be attached to the end of start of the segment and dragged independently
- Two the parcel segment table can not extract the featureline start and end z elevations to add them to the table.
Cut/Fill Surface
- Create a Cut/Fill Surface
- Add a zero cut/fill line using Userdefined contours in the surface style making sure the style is set to display the Userdefined Contour sub component
- Add Cut Fill surface labels using a spot elevation surface label with Expressions as explained here
- Again rather than adding and other surface to your drawing. Mask out Existing ground Contours under the new surface. By turning on Elevations in the surface style and then using 1 elevation and making its colour pure white 255,255,255. This will mask out the underlying existing ground surface contours if the display or of the objects has your proposed ground at the front. Note: You can also use this method to display hatches of different colours to represent the staging of a projects earthworks and the benefit over a combined surface is the area of proposed work has can have contours of a different colour.
- Add silt fences Diversion Bunds, rather than drawing a line use the surface data extraction to get the surface bund and offset that line as your silt fence or bund
Setup Plan Views
Use your layer filters to setup your production drawings. Some people may prefer to use a Civil3d No_Display Style, No_plot Style to control the visibility of Civil3d
objects during there drawing and plan production process. I found that during plan production you may want to have an
object on one viewport and not another. Now a Civil3d object can not have two Civil3d Styles so layers still have to be used
to display or hide the objects if on a separate layer.
What if things go wrong
Recover,Audit, Couple of tools at “Being Civil” blog for checking featurelines
Wishes
Grading Styles Hatch worked.
QTO attached to grading infill objects of different grading styles i.e Building Platform Style give area, etc
Issues I have found
Jumping of contours at corners of retaining walls and pools.
Sometimes infill disappear when you move featurelines.
Definitely if you change featureline styles to no display sometimes between corridors a featureline representing the berm the grading goes.
Transitions can struggle
Conclusions
One day GPS on a digger will be as common as a radio in a car or GPS in a phone, so start making great models now in preparation for the future.
Don’t give up and good luck!
The XREF offset plug doesn't work in C3D 2012 due to .NET framework issues. In my experience no dll that requires NETLOAD has worked in 2012 even though it was fine in 2011
ReplyDeleteNeil,
ReplyDeleteYour experience with .net DLLs seems strange. I've tested the OffsetInXref, Clipboard, and DrawOrderByLayer ADN plugins and each works fine in 12. I've even tested a dozen or so custom inhouse DLLs and they too work fine in 12.
Depending on how the DLLs were written could determine whether or not a DLL will run in different versions (managed vs COM). Having said that though, OffsetInXref was written to be compatible going forward.
This is the text that the command window shows (which is similar to all dll's that worked in 2011 that now don't work in 2012)
ReplyDeleteCommand: NETLOAD
Cannot load assembly. Error details: System.IO.FileLoadException: Could not
load file or assembly
'file:///C:\AutoLisp\OffsetInXref\x64\ADNPlugin-OffsetInXref.dll' or one of its
dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)
File name: 'file:///C:\AutoLisp\OffsetInXref\x64\ADNPlugin-OffsetInXref.dll'
---> System.NotSupportedException: An attempt was made to load an assembly from
a network location which would have caused the assembly to be sandboxed in
previous versions of the .NET Framework. This release of the .NET Framework
does not enable CAS policy by default, so this load may be dangerous. If this
load is not intended to sandbox the assembly, please enable the
loadFromRemoteSources switch. See http://go.microsoft.com/fwlink/?LinkId=155569
for more information.
at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String
codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint,
StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean
forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName
assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean
forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile,
Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm
hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks,
StackCrawlMark& stackMark)
at System.Reflection.Assembly.LoadFrom(String assemblyFile)
at Autodesk.AutoCAD.Runtime.ExtensionLoader.Load(String fileName)
at loadmgd()
Command: NETLOAD
ReplyDeleteCannot load assembly. Error details: System.IO.FileLoadException: Could not
load file or assembly
'file:///C:\AutoLisp\OffsetInXref\x64\ADNPlugin-OffsetInXref.dll' or one of its
dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)
File name: 'file:///C:\AutoLisp\OffsetInXref\x64\ADNPlugin-OffsetInXref.dll'
---> System.NotSupportedException: An attempt was made to load an assembly from
a network location which would have caused the assembly to be sandboxed in
previous versions of the .NET Framework. This release of the .NET Framework
does not enable CAS policy by default, so this load may be dangerous. If this
load is not intended to sandbox the assembly, please enable the
loadFromRemoteSources switch. See http://go.microsoft.com/fwlink/?LinkId=155569
for more information.
at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String
codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint,
StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean
forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName
assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean
forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile,
Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm
hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks,
StackCrawlMark& stackMark)
at System.Reflection.Assembly.LoadFrom(String assemblyFile)
at Autodesk.AutoCAD.Runtime.ExtensionLoader.Load(String fileName)
at loadmgd()
Nice examples J.
ReplyDeleteAlso agree that drawing out by hand a rough path of where you want your gradings to go helps in the long run.
I hope the conference went well for you.
This comment has been removed by the author.
ReplyDeleteNathan
ReplyDeleteThanks, conference was good, nice to meet people in NZ using the same product and see what they are doing.
Justin
A fix for the NETLOAD problem is to edit acad.exe.config to include
ReplyDeleteHi Justin, is there any chance to get the job files?
ReplyDeleteRegards.
Omar
Omar
DeleteIf you send me an email at ralstogj at gmail, I can send you a link to data load otherwise you could try the AU site from last year and see if you can download the files if it is working at this link.
http://au.autodesk.com/au-online/classes-on-demand/class-catalog/2012/autocad-civil-3d/urban-infill-subdivisions-lot-grading-on-restricted-and-steep-terrain
Hi Justin, excellent post. Is there any change to get this drawing files?
ReplyDeleteRegards
Hi Justin. The link on AU is broken. I'll try to send you an email. Thanks a lot!
ReplyDeleteCan you explain some of your layer filters? In particular, the Basic Layers: they come in as five lines in the definition. Under Name, I see [~C- on line 1. Then V- and EX- on lines 2 and 3. Line 4 is PR-]* and finally line 5 is LAYER*. The open and closed brackets [ ] divided over four lines seems very odd.
ReplyDeleteCharles
ReplyDeleteYes the filter is a bit out it should be just two lines one with
[~C-,V-,EX-,PR-]* this excludes all layers starting with these characters from the filter
and the other with just the Layer* so if you create a new layer while the filter is applied it does not disappear.
Any filters with , in them seem to get messed up if you use the layer filter import and export button which I use a lot to transfer my filters to other drawing usually started by others. I think this is because AutoCAD just exports a , separated file to do the transfer.