Category: Civil 3D
-

Autodesk Desktop Products 2025/2026: .NET 10 Updates
Microsoft has announced that .NET 8 and .NET 9 will reach end of support on November 10, 2026. After this date, Microsoft will no longer provide updates, including security fixes or technical support, for these versions. To stay current and secure, Autodesk products are updating their .NET dependency to .NET 10 across the 2026 and…
-
The Story of ScriptPro+ Modernization
ScriptPro+ has a rich history within the CAD community. It was initially written as a “Plugin of the Month” over a decade ago by Virupaksha (Viru) Aithal. I later expanded its accessibility by creating an MSI installer using the open-source WiX toolset (available here). The Push for Modernization Starting with AutoCAD 2025, AutoCAD migrated to…
-
Guardrails for Using AI in Autodesk Plugin Development
This post outlines curated guardrails for the effective use of Copilot and other agentic AI tools when developing plugins and extensions for Autodesk authoring applications such as AutoCAD, Revit, and Inventor. I used ChatGPT to help refine the wording. Consider it quiet LLM cannibalism. :) These guardrails can be enforced by placing them in your…
-
StationOffsetLabel.Create quick sample code
By Augusto Goncalves (@augustomaia) This is a quick sample code on how call StationOffsetLabel.Create method for all Alignments on each Station increment interval. Note it’s using the first StationOffsetLabelStyle and first MarkerStyle from the respective style collections. [CommandMethod(“addStationOffsetLabel”)] public static void CmdAddStationOffsetLabel() { CivilDocument civilDoc = CivilApplication.ActiveDocument; Database db = Application.DocumentManager.MdiActiveDocument.Database; using (Transaction trans =…
-
Set elevation for FeatureLine Points
By Augusto Goncalves (@augustomaia) Since Civil 3D 2016 SP1 we have the Feature Line API available for developers. It’s possible to set new elevation for points on the feature line, but it may not be that direct to do so as we need the index of the point and, if we think in delta of elevation,…
-
Profile entities by order via EntityAtId
By Augusto Goncalves (@augustomaia) Unlike Alignment.Entities.GetEntityByOrder, the Profile.Entities only offers a plain enumerator or .EntityAtId. But don’t worry! With the FirstEntity we can iterate through the collection using a loop. The following code snippet show the idea. By the way, the .NET Extension method will not work here due the stateless paradigm. Profile p =…
-
Profile Geometry Points on Alignment Label Styles
By Augusto Goncalves (@augustomaia) The Civil 3D Styles collection is big, really big. Under CivilDocument.Styles we can read most of the information, but it can be tricky to dig it. This post show how to read Profile Geometry Points, as shown at the image below, for Alignment Label Set style. The basic idea for this…
-
About StructureSectionLabel.Create partIndex param
By Augusto Goncalves The partIndex is used to distinguish sections in sectionview with the same Network Part. As the image below, the curve pipe will have two points in the sectionview. If we want to add label for the left point, the partindex should be 0, and the right one should be 1. But a…
-
List layers from GetDiplayStyle method of the API
By Augusto Goncalves (@augustomaia) One of my favorites features of .NET is the ability to use Reflection. This is particularly powerful when we need to find something on the API that we’re not completely sure. In this case we want to get all layers used on GetDisplay methods for some objects, let’s say AlignmentStyle. This…
-
Civil 3D 2016 SP 1 – New Feature Line API
By Augusto Goncalves (@augustomaia) Quick news: Civil 3D 2016 SP1 included a new API for Feature Lines. The updated documentation is live at the Civil 3D Reference Guide (direct link).

You must be logged in to post a comment.