Civil 3D - Autodesk

Navigating Through the Corridor using
AutoCAD® Civil 3D® .NET API
Augusto Goncalves
Senior Developer Consultant at Autodesk
© 2011 Autodesk
Class Summary
Corridor is one of the most complex objects in the AutoCAD Civil 3D family of
objects.
Working on a corridor object requires a clear understanding of its constituent
components and their behavior.
This class will give you an overview of corridor and associated objects and highlight
how to access and extract useful details using the AutoCAD Civil 3D .NET API.
© 2011 Autodesk
Learning Objectives
At the end of this class, you will be able to:

Understand the data model of corridors on Civil 3D®

Be able to create a new .NET project to read Civil 3D® corridor information

Generate a simple Excel®-based Corridor report using the API
© 2011 Autodesk
Agenda
1
2
3
4
5
Overview
Corridor overview on Civil 3D
Data model
Which API objects hold the information we want
How create a .NET plug-in
Create a plug-in using the .NET API
Generate a Excel report
An applicable sample exporting data to Excel
Further reading
Extra topics to keep learning
© 2011 Autodesk
Corridor Building Blocks
Overview
© 2011 Autodesk
Corridor
Overview

The 3D path of a Corridor is a baseline defined by a Alignment and a Profile.

Along the length of the baselines are a series of Assembly objects which define
the cross-sectional shape of the Alignment.

Common points in each Assembly are connected to form feature line.

Together the assemblies and feature lines form the 3D shape of a corridor.
© 2011 Autodesk
Corridor
Path Horizontal Perspective: Aligment

Creating and defining the horizontal alignment is one of the first steps for
Corridor design

Can represent centerlines, lanes, shoulders, right-of-ways, or construction
baselines.
© 2011 Autodesk
Corridor
Path Vertical Perspective: Profile

Used to visualize the terrain along a route of interest.

Can record the elevation of the surface along an alignment.

Represents a record of elevation against distance along a horizontal Alignment
or other line.
© 2011 Autodesk
Corridor
Shape Definition: Assembly

Is the pattern for the cross section of a corridor at a particular station.

Consists of a connected set of subassemblies.

The Corridor can contain a series of applied assemblies (which points to the
Assembly)
© 2011 Autodesk
Corridor
Shape Defintion: Subassembly

The basic building block of a corridor shape design.

Consists of a series of shapes, links, and points.

The applied assemblies of a corridor can contain a series of applied
subassemblies (which points to the Subassembly)
© 2011 Autodesk
Corridor Data Model
© 2011 Autodesk
Data Model Objects
Corridor
Alignment
Baseline
Profile
BaselineRegion
AppliedAssembly
AppliedSubassembly
Assembly
Subassembly
© 2011 Autodesk
Pseudo-code sample
Sub ListAll()
Dim corridor As Corridor
For Each baseline In corridor.Baselines
For Each baselineRegion In baseline.BaselineRegions
For Each appliedAssembly In baselineRegion.AppliedAssemblies
For Each appliedSA In appliedAssembly.GetAppliedSubassemblies
Next
Next
Next
Next
End Sub
© 2011 Autodesk
Exploring the Model with Snoop Tool

Download at http://download.autodesk.com/media/adn/SnoopCivil3DTool.zip

Corridor object data model

Subassembly parameters
© 2011 Autodesk
Creating a .NET Code
© 2011 Autodesk
Start with AutoCAD .NET API

As Civil 3D is based on AutoCAD, we need AutoCAD APIs.

Trainings: www.autodesk.com/apitraining

DevTV: www.autodesk.com/developautocad
© 2011 Autodesk
Visual Basic .NET project for Civil 3D plug-in

Create a new project

Plugin for Civil 3D
must be of type
Class Library
© 2011 Autodesk
Adding reference to Civil 3D

Add references

AutoCAD



AcMdg (Interface resources)
AcDbMgd (Database resources)
Civil 3D

AecBaseMgd (AEC base)
 AeccDbMgd (Civil3D specific)

IMPORTANT:
Set Copy Local
as FALSE
© 2011 Autodesk
Basic Civil 3D custom command
1.
Regular VB routine
2.
AutoCAD & Civil 3D Imports
3.
Mark the routine as command
4.
Access editor and civil document
5.
Show the number of corridors
Now just compile, load inside Civil3D
with NETLOAD and call
countCorridors
Imports Autodesk.AutoCAD.Runtime
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.EditorInput
Imports Autodesk.Civil.ApplicationServices
Public Class Class1
<CommandMethod(“countCorridors")> _
Public Sub countCorridors()
'access AutoCAD Editor
Dim ed As Editor = Application.DocumentManager. _
MdiActiveDocument.Editor
'access Civil Document
Dim civilDoc As CivilDocument = CivilApplication. _
ActiveDocument
'show the number of corridors
ed.WriteMessage("Document contains {0} corridors", _
civilDoc.Corridors.Count)
End Sub
End Class
© 2011 Autodesk
Applicable Sample
© 2011 Autodesk
Creating a Excel®-based Corridor Report

List all subassemblies

Order by station and by offset (left, center, right)

Export to Microsoft® Excel®
© 2011 Autodesk
Further Reading
© 2011 Autodesk
Other classes

CP4321: Understanding the Alignments and Profiles API in AutoCAD® Civil
3D®
© 2011 Autodesk
Additional Resources (Civil 3D®)
Civilized Development blog
 http://civilizeddevelopment.typepad.com
Discussion Groups
 http://forums.autodesk.com/t5/AutoCAD-Civil-3D-Customization/bd-p/190
Civil 3D Developer Center
 http://www.autodesk.com/developcivil
© 2011 Autodesk
Additional Resources (AutoCAD)
Through the Interface blog
 http://through-the-interface.typepad.com
AutoCAD.NET Developer’s Guide
 http://www.autodesk.com/autocad-net-developers-guide
Discussion Groups
 http://discussion.autodesk.com/forums/category.jspa?categoryID=8
Autodesk Developer Network
 http://www.autodesk.com/joinadn
© 2011 Autodesk
Thank you!
[email protected]
© 2011 Autodesk
Autodesk, AutoCAD* [*if/when mentioned in the pertinent material, followed by an alphabetical list of all other trademarks mentioned in the material] are registered trademarks or trademarks of Autodesk, Inc., and/or its subsidiaries and/or affiliates in the USA and/or other countries. All other brand names, product names, or trademarks belong to their respective holders. Autodesk reserves the right to alter product and
services offerings, and specifications and pricing at any time without notice, and is not responsible for typographical or graphical errors that may appear in this document. © 2011 Autodesk, Inc. All rights reserved.
© 2011 Autodesk