Posted on

Automatically Generated Legal Descriptions in AutoCAD Civil 3D

Automatically Generated Legal Descriptions in AutoCAD Civil 3D

Creating legal descriptions from parcel (or polyline) geometry can be quite a chore. Most people run a legal description report that generates some form of a legal description from the parcel geometry and then proceed to heavily modify the output text to fit their specific needs. To us, this always seemed to be a gross waste of precious resources.

Why waste time manually doing the same time consuming, repetitive work when it can be easily automated?

How can it be automated? With Visual Report Designer (for AutoCAD Civil 3D) of course! Let’s see how:


We need an automatically generated legal description report that allows for customization of data such as Section, Township, etc, and that can automatically retrieve parcel data, metadata (such as tax ID and owner info), and geometry. The exported report should be able to be inserted in AutoCAD Civil 3D, or exported as a sharable and printable document (such as PDF). An image of the parcel(s) would be a bonus.


There are several ways we might approach this. These approaches both share some common implementation (described at the end below)

First Approach – Use Calculated Fields/Custom Expressions

One approach is to use calculated fields/custom expressions in Visual Report Designer to construct fragments of the legal description text for each parcel segment, etc. This approach is relatively straightforward, but requires some advanced techniques such as nested expressions, etc. The advantage here is that you can easily do this yourself without any custom script programming.


The only drawback to this method is that the text fragments for the parcel segments always start on a new line, as shown below. This means that some minor editing of the output is likely to be needed (i.e. removal of line breaks), however, this is still a major time-saving improvement over using the wrong report and editing large portions of the text, and for some users this may be sufficient as-is.


Second Approach – Use Scripting in the Report

There is another approach that will render a report that requires no post-run editing, however, it requires scripting. Basically we are doing something similar to what is done using expressions in the first report, however, instead of allowing the reporting engine to iterate over each parcel segment and generate a separate line, we replicate this process programmatically in a C# (or VB.NET) script embedded in the report template, collect and combine the results, and present the final combined result as a single field that is bound to the parcel entity. This is exactly what we have done in the ‘Basic’ Narcoosee legal description report available in our app store. When run, this report produces output similar to the following (note that the parcel image is intentionally omitted in this version of the report):


The exact output is easily modified/customized using the template developed for this report, so if you need a different format, we can generally accommodate quite easily.

Common Implementation Details

The remainders of the requirements are implemented in a similar fashion in both of these approaches. Values for Town, County, State, etc. are customizable as report parameters, which may be changed by the end user as the report is run:


The parcel properties and metadata are taken directly from the parcel entity. We avoided the use of ‘User Defined Properties’ for parcels because of some issues in the way these are implemented by AutoCAD Civil 3D (unfortunately, the way we would need to access these items programmatically appears to be broken in all supported versions of AutoCAD Civil 3D). Instead, we opted to use the parcel description to hold all of the data (with fields delimited with a ‘\’ character), and then just parsed this data in Visual Report Designer using expressions/calculated fields (and ‘regular expressions’):


The calculated field corresponding to this expression is inserted directly into the report as a label:


We are of course not limited to just using a description as a source of metadata. We could read data from an attached table (AutoCAD Map 3D feature), XData, XRecords, a custom extended property field (from our Extended Entity Data app), from a record in an external database (using scripting), etc.

For the parcel image, all we need to do is drag an image field from the Field List in the Visual Report Designer Editor, drop it into the proper place in the report template, and size as desired.


Last, ALL Visual Report Designer generated report documents can be inserted to the source DWG, and can be easily exported to multiple forms of documents such as PDF, XLSX, etc.



The web store has been temporarily placed in demo/test mode while we update and test some new features. If you see this message and wish to make a purchase please contact Thank you.