Monday, December 10, 2018

XSL Reports

It appears Reports and Internet Explorer don’t mix.

Brian provided a fix here:

To not have to do this each and every time it is possible to modify the XSL file to load the IE 9 by default. To do so open the XSL sheet in a text document editor, such as Notepad.

Scroll down to a line with <html>

Below <html> add:

<meta http-equiv="X-UA-Compatible" content="IE=9">

Scroll down to the next line with </html>

Above the </html> add </meta>

This will let the browser know it should be rendered in IE 9.



Thursday, December 06, 2018

Adding Number and Area to General_Legal_Description_for_Parcels

Civil 3D comes with lots of reports. Some of the XSL reports haven’t been updated in a while and don’t show correctly anymore (or may have never showed correctly). It does look like the information is in the html rather than being shown. This post shows how to add the parcel numbers and area to the General_Legal_Description_for_Parcels report to show up.

First you want to open the appropriate year’s file. In this case I’m going to be using Civil 3D 2017.

"C:\ProgramData\Autodesk\C3D 2017\enu\Data\Reports\xsl\General Legal Description for Parcels.xsl"

In the file is an area that should be showing the parcel number, but doesn’t appear to do this anymore.


The highlighted line will need to be changed to show the value.

Parcel Name: <xsl:value-of select="@name"/><p></p>

The above line with add “Parcel Name:” as text and then write the name of the parcel from the XML file. The ps in the brackets add a line between the parcel name and then descriptions to follow.

The next chunk of code is supposed to write the area.


Unfortunately, it looks like it no longer does this. So it needs to be changed.

Containing <xsl:value-of select="landUtils:FormatNumber(string($ParcelArea), string($SourceAreaUnit), 'acre', string($Parcel.2D_Area.precision), string($Parcel.2D_Area.rounding))"/> acres 
(<xsl:value-of select="landUtils:FormatNumber(string($ParcelArea), string($SourceAreaUnit), 'squareFoot', string($Parcel.2D_Area.precision), string($Parcel.2D_Area.rounding))"/> square feet)<p></p>


<xsl:value-of select="landUtils:FormatNumber(string($ParcelArea), string($SourceAreaUnit), 'squareMeter', string($Parcel.2D_Area.precision), string($Parcel.2D_Area.rounding))"/> square meters
(<xsl:value-of select="landUtils:FormatNumber(string($ParcelArea), string($SourceAreaUnit), 'hectare', string($Parcel.2D_Area.precision), string($Parcel.2D_Area.rounding))"/> hectares)<p></p>

Use the top option for the best units in the world, use the bottom one for the messed up units.

Now run the report and you should get the information to show up.


There are plenty of other issues with the report. At one time browsers supported VBScript, but they no longer appear to do so. I suspect at one time the dialog box would be used to turn on and off which parcels one wanted to see. Most of the report I tested doesn’t appear to work anymore.

Thursday, November 22, 2018

Dead Blog?

Why is this blog seemingly dead? Part of the reason is me being busy travelling the State of California teaching a bunch. The other part is me boycotting the main source of topics of this blog, the Autodesk Forums. Autodesk decided to redo the their forums. In doing so it has made it more difficult to post and reply. They added a ton of white space (which on some pages has been reduced), put a bunch of meaningless text and other input boxes between the Enter Details and the Post button. My goal is to type an answer, press Post and move on to my next task. Currently I have to type and then scroll down to press Post. Heaven forbid you scroll down too far and accidently press the Reply button.

So until Autodesk adds a Post button below the Enter Details box, I plan to continue my boycott of the Forums. Until then I foresee this blog to be devoid of content.


Wednesday, August 08, 2018

Notes on Starting Out Programming

It's mainly about having a problem to solve and then taking the steps to accomplish the task. I am usually just taking the workflow that one would be doing in AutoCAD and automating it. Google and Bing are a great source to find code snippets that can be modified to suit the needs of the code.

Getting started for an Autodesk project is covered in this AKN:

Creating a bundle file to autoload in AutoCAD:

This book helps teach how to better organize code:

The source code for the free version of the SincPac is a great resource for Civil 3D coding:

Monday, July 09, 2018

Just a Random Thought

Why spend so much time renaming modeling? Seems a better use of time would be to create great tools that users would want to use. Why would I want to use products that need to win a Dundie type award to stand out?

Sunday, July 08, 2018

Curb Return Design - Plane Method

This is in response to @jwilkerson post from years ago, found in this post:

The referenced formula is here: ArchiveLink

Not sure what the error he was referencing. It looks like the G2 arrow shown in the image is going in the wrong direction. I think it should be going from PI1 to B direction for the flow of water. It looks like they corrected the error in the PI3 by having the formula reverse the G2 slope. Here is a link to an Excel spreadsheet and a link to a drawing showing a plane solution that checks the values via a model. Both the drawing and Excel spreadsheet should be checked for correctness. It is provided only as a reminder to myself, since I’ve created this Excel spreadsheet before and forgot where I put it. Hopefully Google will find it next time I’m looking for it.


Monday, February 26, 2018

Surveying Related Ideas

Often times we need to create rectangles to represent existing features that look like rectangles.  To save time surveyors will shoot two points and then in the office convert those two points into rectangles. With lisp we can automate the rectangle creation down to picking two clicked points.

  • This forum post has some lisp code that does just that. Here is a link to a text file with the code extracted in case the forum post goes down.
  • To run the lisp save it to a text file with the extension of .lsp
  • Type Appload at the command line.
  • If you want to run it once, select the file from the upper portion of the Appload dialog box.
  • If you want the lisp to load everytime AutoCAD is run, then add the lisp file to the Startup Suite.


A second desired workflow is to create a point at the intersection of two selected objects, the objects don’t have to intersect. The objects may be arc, line, polyline, lot line, or feature line.


To start open the Point Create Creation Tools.


Then under the second drop down choose the Object/Object option.


Then follow the prompts. This will create a point where the objects intersect. If you want to remove any of the prompts you can change the settings of the Point Creation command using the double down arrow on the right of the Create Points toolbar.

Friday, February 16, 2018

Average Cut and Fill

I have no idea what the Average Cut and Average Fill of a volume surface means or how it should be calculated. It sounds like a made up term from a planner so they can come up with a made up value to judge impacts for a project. Since I don’t have a good explanation of what the average cut or fill is here is one way to do it in Civil 3D.

  1. Create the volume surface.
  2. Go into the Volume Surfaces, Analysis Tab. Change the type to Elevation, the number of Ranges to 2 and then press the down arrow to apply the 2 elevation ranges. image
    1. Change the Ranges to 0 for the Maximum Elevation for the first range and 0 for the minimum elevation for the second line. image
    2. Then create a Surface Legend table for the Elevation Analysis. image
    3. Now take the Cut Area and divide it by the volume of cut and the Fill Area and divide it by the volume of fill. Then you should have average cut/fill numbers. You can find the volume numbers in the volumes dashboard or on the Statistics tab. You can even add the volumes to the table.

    Now I have no idea if this is correct. I did end up with an average number that has the correct units. I can think of numerous other more complicated methods to calculate these values.


      Blog Widget by LinkWithin