Friday, April 15, 2016

Band Aid BIM–Surface Subgrade

Autodesk continues to push Band Aid BIM through blogs and advertising. Now I’d prefer to have actual BIM instead of Band Aid BIM. Band Aid BIM is the worst kind of BIM there is. It pretends to be something it isn’t. One big sign Civil 3D is Band Aid BIM is there is no concept of existing pavements. Does Autodesk not believe that the sea of black and white stuff doesn’t exist in the world. Autodesk sometimes sites the amount of infrastructure the US and the World will need to do in the coming years, but doesn’t create tools to process it?

One common task done is to remove existing pavement. Well since there isn’t any existing pavement objects in Civil 3D we have to employ Band Aid BIM to model this. The first thing we have to do is create a polyline that encompasses the areas of existing pavement. Then in order to simulate an existing pavement we need to create a new surface. I called mine XPaveArea. Then paste in the existing ground surface and then add in the pavement areas as boundaries. Now lower the XPaveArea surface the desired distance that represents the pavement sections. So I created a cross section to show the surfaces at this point.


Now I need to create an existing subgrade surface that represents surface the contractor is expected to build from, in my case called XGND-Datum. After all we don’t want to pay the contractor twice for the same work (removing the pavement and then calculating the cut/fill from the top of pavement).


Now in the resulting picture we can see we are screwed. Most pavement has vertical or near vertical edges. Civil 3D has decided to drop the surface down and then triangulate to another triangle a far distance away from our surface. In the area of landscaping what happened to our surface? Shouldn’t it jump up to the XGND surface? This means more work in this Band Aid BIM situation. We have to create another surface to fill in the gap for the median. See pasting surfaces pastes in holes as nothingness rather than the surface as it should do.

So to fix this we now have to add in information to the XGND surface. So create a surface with the XGND surface and then add the holes for the XPaveArea as boundaries. Then paste that into the XGND-Datum Surface. This is the result:


Well that sucks the triangulation doesn’t work. So now we need to create offsets of the boundaries at a small amount, say 0.001 units and then apply the boundaries in the correct order. This will let Civil 3D know how the vertical data should be handled at this location.


So looking better. To fix the outer edges of the pavement we need to add in a breakline to the XGND-Datum surface that represents the existing ground surface a small distance away from the boundary, say 0.001 units. Don’t forget about this command:


Once we do that we finally get a half assed, Band Aid BIM solution to the problem.


So how to fix this tragedy? I guess ask for Civil BIM first. If Autodesk refuses, like they currently are doing despite marketing BIM, I guess we can settle for these ideas on the Idea Station:

Pasted surface interaction with abutting surfaces

Pasted surface interaction when the top surface has more than one boundary

Surface Thickness

Band Aid BIM Improvement - Paste Surface Options

Friday, April 01, 2016

Slope or Grade Label

Civil 3D is dumb. Just the other day I was placing labels on the plans and I remembered an age old convention:

“If the grade is flat use a percent label, if it’s steep use a slope label.”

If that is a convention I run into time after time, then why does Civil 3D by default make me choose the correct style? Wouldn’t it be easier to have one label adjust based on the grade? Well we can overcome this obvious deficiency in Civil 3D by building a grade/slope label that does just that. We can create two expressions. One will return a positive number if a percent is required and a negative value if a slope is required. The other will do the exact opposite. Then we combine those into one label by setting the expression value to not show if it’s negative. That way we get one label to do both jobs. No longer having to place a label and then realize you have to swap it for another one. If you want to show a negative sign, then you are out of luck.

Here is a link to a file with an example.

Monday, March 28, 2016

NCS Site Layers

This post is brought to you by WareFlix who provided the NCS layer list of site design tools used in this blog post. WareFlix provides who provides a Custom eLearning Platform for Architects, Engineers and Contractors.

Civil 3D is not built for site development. One proof of this is the lack of NCS layers that relate to site design. In order to have them you have to add them yourself. A quick way to add the layers to a Civil 3D is to create a script file. A script file allows you to run a variety of commands from a text file. The first step is to create a list in Excel (or Google Docs) that contains the layers you want to create as well as the layer properties you want to be populated.

A link to the Excel file used may be found at this link.

Once the data is filled out create a new cell with a formula that will add in the layer. It should look similar to this:

="(if (tblsearch ""LAYER"" """ &TRIM(A263)& """)(princ)(command ""-layer"" ""N"" """&TRIM(A263)&""" ""C"" """&TRIM(B263)&""" """&TRIM(A263)&""" ""LT"" """&TRIM(C263)&""" """&TRIM(A263)&""" ""D"" """&TRIM(D263)&""" """&TRIM(A263)&""" """"))"

The result value should be something like this:

(if (tblsearch "LAYER" "C-TINN")(princ)(command "-layer" "N" "C-TINN" "C" "White" "C-TINN" "LT" "Continuous" "C-TINN" "D" "Triangulated irregular network" "C-TINN" ""))

The tblesearch checks to see if the layer exists, if it does nothing is done. If it is not found then the layer is created with the settings in the Excel file. The formula could be changed to just change the properties by replacing the (princ) with a revised second part. So the (princ) would become:

(command "-layer" "C" "White" "C-TINN" "LT" "Continuous" "C-TINN" "D" "Triangulated irregular network" "C-TINN" "" "")

The formual would be:

="(if (tblsearch ""LAYER"" """ &TRIM(A266)& """)(command ""-layer"" ""C"" """&TRIM(B266)&""" """&TRIM(A266)&""" ""LT"" """&TRIM(C266)&""" """&TRIM(A266)&""" ""D"" """&TRIM(D266)&""" """&TRIM(A266)&""" """" """")(command ""-layer"" ""N"" """&TRIM(A266)&""" ""C"" """&TRIM(B266)&""" """&TRIM(A266)&""" ""LT"" """&TRIM(C266)&""" """&TRIM(A266)&""" ""D"" """&TRIM(D266)&""" """&TRIM(A266)&""" """"))"

Then either copy and paste the column E into AutoCAD or paste it in a text document and then save it as a .SCR file like this one:

A link to the final script file may be found at this link.

Then drag and drop the scr file into AutoCAD and it will either create the layers or update them.

There are also other ways to do this such as lisp routines that you find doing Google Searches.

Thursday, March 17, 2016

Freaking Context Values

Couldn’t find a list of Civil 3D COM contexts so here is a list of some of them. Feel free to leave more in the comments. These are for AeccPartDataRecord information.

120  Geometry_Distance2D

200  Catalog_Domain

201  Catalog_PartType

202  Catalog_SubType

203  Catalog_PartName

204  Catalog_PartSizeName

205  Catalog_PartDesc

206  Catalog_ID

208  Catalog_PartID

212  Catalog_PartHide

215  CustomSize

216  DataVersion

217  Content_Type

300  Material_Type

301  WallThickness

400  SweptShape

401  PipeDiamter

402  PipeInnerHeight

403  PipeInnerWidth

405  MinCurveRadius

406  FlowAnalysis_Manning

407  FlowAnalysis_HazenWilliams

408  FlowAnalysis_DarcyWeisbach

Epson Drivers

If you have an Epson SureColor Tx270 series plotter make sure to see if you need the updated firmware. There appears to be some improvements that may be useful for you.


Blog Widget by LinkWithin