Wednesday, May 04, 2016

Dynamic Assembly Labels in Civil 3D

Brian Hailey over at the Civil 3D Plus blog recently did a post entitled Dynamic Assembly Labels in Civil 3D. I thought for sure he missed something, since his process is way labor intensive. Plus when I create Assemblies they are automatically dynamically labeled, I don’t have to do a thing at all.

At first I thought Brian missed a setting in Civil 3D that turns on this wonderful feature. Then I remembered he knows the product inside and out and I should check to see why my version of Civil 3D was broken in such a spectacular way.

It turns out my installation has this program called the SincPac. Within the SincPac there is a command called SP_LabelAssemblySettings. This command has an option to automatically label new subassemblies and it automates the steps laid out by Brian.

LabelAssembly Settings Dialog

So while Brian had to do a bunch of clicks for each and every subassembly he creates; all I have to do is create a subassembly and BAM! my Assembly is labeled. I’d call that a Dynamic Assembly Label. So if you want to save your self a minute of work when creating an Assembly then you should try out the SincPac.

Disclaimer: I write programs for the SincPac (although not this one). Here is my latest improvements to the Sewer Lateral Linking Command.

Friday, April 29, 2016

Band Aid BIM–Structures in Profile Views

Ever want to show structures in profile views? Ever notice how if you have a non-symmetric structure it doesn’t show correctly? If so then go vote for this idea over in the forums.

Evidently having crappy BIM is “as designed” over at Autodesk. From a company that is constantly cramming BIM down our throats through marketing you’d think they would at least have the common courtesy to show structures properly in profile view regardless of their wonky geometry.

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.


Blog Widget by LinkWithin