Understanding the Alignments and Profiles API in AutoCAD® Civil 3D®

Slides:



Advertisements
Similar presentations
Construction Documents and Details
Advertisements

© 2011 Autodesk Digital Prototyping at FIAT Elena Bortolotti CRF (FIAT Research Center) – Moldflow team.
© 2011 Autodesk Construction Administration in Autodesk® Revit® Jason Jones AIA, LEED AP BD+C, Revit 2012 Certified Professional Associate, Gensler.
© 2011 Autodesk Capitalize on Corridor Improvements in AutoCAD ® Civil 3D ® Don Quinn Civil Engineer / Eagle Point Product Specialist.
© 2011 Autodesk Charging on from Schematics to Panels in AutoCAD ® Electrical (MA4757-L) Todd Schmoock Solutions Engineer - Synergis Technologies, Inc.
© 2011 Autodesk Simplified 5-Axis Machining Ann Mazakas Manager of Technical Communications | DP Technology Corp.
© 2011 Autodesk MA4712-P Simulation PowerTrack Working with Any CAD Format and Autodesk Simulation Luke Mihelcic Product Marketing Manager | Digital Simulation.
© 2011 Autodesk Navigating Through the Corridor using AutoCAD® Civil 3D®.NET API Augusto Goncalves Senior Developer Consultant at Autodesk.
Failure Analysis of Fiber Reinforced Injection Moldings Using a Composite Lamina Approach Robert Sherman Senior CAE Analyst, RTP Company.
© 2012 Autodesk AC2724 – 2D Parametrics in AutoCAD® and Why You Need to Use Them Rick Ellis President, Cadapult Software Solutions
© 2012 Autodesk Dario Nicolini Product Manager Autodesk ® Inventor ® iLogic: a great Autodesk tool to improve Inventor features.
© 2011 Autodesk Autodesk® Revit® MEP: Fast Families for Engineers David Butts BIM Specialist – Gannett Fleming.
Scripting Components for AutoCAD Plant 3D
© 2012 Autodesk Autodesk® Revit® Structure: From Design to Detailing and Fabrication to Construction Allen Levy Applications Specialist.
© 2011 Autodesk AB4211: The Revit Viz Toolbox: Simplifying Presentations with Showcase and 3ds Max Mark LaBell Jr. BIM/CAD Technical Specialist – SSOE.
© 2011 Autodesk SE4186: Getting Productive with Autodesk Revit ® Structure David Bleiman CEO, Rutherford & Chekene.
© 2011 Autodesk MA4299: A Sneak Peek into the Manufacturing Simulation Future Peter Maxfield Principal User Experience Designer.
© 2012 Autodesk AutoCAD ® Virtualized and Digitized michael trachtenberg - AE BackOffice Software Director.
© 2012 Autodesk BIM on an Etch a Sketch Jose Guia Janitor extraordinaire
© 2011 Autodesk Autodesk® Revit® MEP: Project Startup Survival Kit Derek P. Renn AEC Technical Manager, Kelar Pacific.
© 2011 Autodesk Mechanical Simulation in AutoCAD ® 2012 Craig A. Miller – Pennsylvania College of Technology CAD Technology Specialist.
© 2012 Autodesk Matthew Stuver, LEED AP BD+C BIM Manager Dynamix Engineering Ltd. MP1425-R: AU2012 AutoCAD® Revit® MEP Family Reunion.
CI4678 Tunnel design using AutoCAD ® Civil 3D ®
That Dam Corridor: AutoCAD® Civil 3D® Modeling for New and Rehab Dam Projects Yates Austin Schnabel Engineering Dana Probert Autodesk.
Join the conversation #AU2015. Class summary text goes here Class summary #AU2015.
© 2011 Autodesk MA5737 – Mechanical Advantage: Using AutoCAD Mechanical for 2D Legacy and 3D Model Documentation Mark Flayler Senior Application Expert.
© 2011 Autodesk Popular Design Patterns and How to Implement Them in.NET Gopinath Taget Senior Developer Consultant.
© 2011 Autodesk Managing Your Standards and Reusable Content with AutoCAD Tool Palettes – Revealed! Matt Murphy Director of Content Management and Development.
© 2012 Autodesk AutoCAD® API.NET Tips and Tricks James E. Johnson Application Developer for Synergis Software.
© 2012 Autodesk Rolling Your Own: Building Apps in Autodesk® PLM 360 Joseph Piggee Trung Nguyen.
© 2012 Autodesk From Nothing to Something using AutoCAD ® Electrical Todd Schmoock Solutions Engineer - Synergis Technologies, Inc.
© 2012 Autodesk Adding Instrumentation and Electrical Capabilities to Autodesk® Plant Design Suite Andy Bonfield.
© 2012 Autodesk Autodesk® Revit® MEP: Get Current with Electrical Engineering Module 1 – Dual Circuiting Seth Mathis Schmidt Associates BIM Designer.
© 2011 Autodesk Importing the Most Useful Data Into Survey in AutoCAD Civil 3D 2012 Russ Nicloy Civil Applications Engineer.
© 2011 Autodesk Autodesk® Revit® MEP: Not Enough Content - What is the Problem Again? Plamen Hristov Virtual Design Manager.
© 2012 Autodesk Parametrics Master Class Martin Duke Business Systems Manager.
© 2012 Autodesk Going for the Gold with Data Management AB6022-V Adam Peter Customer Success Engineer.
© 2012 Autodesk Nonfiction: A CAD Manager in a Box PL2027-R Tim BourdoisBrian Schanen Aluminum Curtainwall Systems / NetwiseAutodesk.
Join us on Twitter: #AU2014. Class summary text goes here Class summary.
© 2011 Autodesk Showcase your Inventor Models David Edward Gaskill CAD Designer or
© 2012 Autodesk Have a tablet? The handout is available for iBooks, Kindle, and Adliko.
© 2012 Autodesk Customizing AutoCAD P&ID David Wolfe Process and Power Specialist.
© 2011 Autodesk AC2182 P - Autodesk 3ds Max for Starters Create Stunning Renderings For All Situations Christopher Fernandez Senior Applications Specialist,
© 2012 Autodesk The Picture Says It All: Commercial Site Plan 3D Visualizations Using Autodesk® IDS John Sayre Civil Application Engineer.
© 2011 Autodesk The Suite Life of AutoCAD® Guillermo Melantoni Sr Product Manager: Workflows and Interoperability at Autodesk.
© 2012 Autodesk Autodesk® Civil 3D® 3D Studio Max Design®: Civil View For All Vincent Sheehan Sr. Designer, Timmons Group.
© 2012 Autodesk SM3595-R | Thinking of Design, Engineering, and Simulation Differently! Luke Mihelcic Product Marketing Manager | ISM – Simulation Industry.
© 2011 Autodesk Consumer Product Design and Simulation James Herzing Technical Consultant– Autodesk, Inc. Mike Smell Technical Consultant – Autodesk, Inc.
© 2011 Autodesk The Autodesk® Revit® Theory of Relativity: Understanding Shared Coordinates Paul F. Aubin Author/Consultant.
© 2012 Autodesk From CAD to Awesome: AutoCAD® and Autodesk® SketchBook® Designer Guillermo Melantoni Product Line Manager: Personal Design & Fabrication.
1.Click on the link below, this will open your web browser 2.Use “Extended Display” to project the.
1.Click on the link below, this will open your web browser 2.Use “Extended Display” to project the.
1.Click on the link below, this will open your web browser 2.Use “Extended Display” to project the.
AutoCAD® Civil 3D® Profile Views, Data Bands, and Styles
Everything You Need to Know About Autodesk® Revit® Structure View Filters Jared Rodrigues Senior CAD Drafter.
Civil 3D®: An All Around Geospatial Software Package
Water! Water! Quenching Your Thirst for Water in AutoCAD® Civil 3D®
Step it up a Rung from AutoCAD® Designs to AutoCAD® Electrical (MA4762-L) Todd Schmoock Solutions Engineer - Synergis Technologies, Inc.
Advanced Autodesk® Revit® Modeling Techniques Using Complex Geometry
Creating Intelligent Details in Autodesk® Revit®
Check Out These ‘Suite’ Workflows
Using Scripts, AutoLISP® and
Using Quantity Takeoff and Linked Models in Revit to Estimate a Project as the Design Changes Kevin R. Miller, Brigham Young University Scott Davis & TJ.
CM1847 Migrating AutoCAD Standards to Revit
Autodesk Navisworks: Practical Tips and Tricks from Seven Years in the Construction Industry Josh Lowe Project Lead, TURIS Systems.
BIM for Interiors: Making Autodesk® Revit® Work for You
MP1483 Massing and using Architecture Models for Revit MEP 2013 Analysis Simon Whitbread Application Specialist.
Using Quantity Takeoff and Linked Models in Revit to Estimate a Project as the Design Changes Kevin R. Miller, Brigham Young University Scott Davis & TJ.
Beyond Massing: Conceptual Design in Autodesk® Revit® Architecture 2012 David Fano Partner | CASE Design, Inc |
Presentation transcript:

Understanding the Alignments and Profiles API in AutoCAD® Civil 3D® Isaac Rodriguez Sr. Software Engineer

Autodesk University Session Feedback Your feedback is very important to Autodesk Attendees can complete session survey on their mobile device, PC or at a survey station Each session survey completed will be entered for a daily drawing for a free AU 2012 pass. You can help make AU 2012 better! Complete the AU Conference Survey at a survey station and receive an AU 2011 T-Shirt

About the Presenter Isaac is a senior software engineer at Autodesk, and current software development lead of the AutoCAD® Civil 3D® API. Isaac has been with Autodesk for almost eleven years working in different products and technologies like AutoCAD Raster Design and AutoCAD Civil 3D. He has 20 years of software development experience including six years with Microsoft® .NET technologies. Contact me through email: isaac.rodriguez@autodesk.com Follow me on Twitter: @CivilDev Read my blog: http://civilizeddevelopment.typepad.com

About the Audience Tell me a little bit about you. Software Development implementing Civil 3D applications Civil Engineer writing automation scripts and internal tools Are you using .NET? Which .NET language you prefer?

Class Summary This class covers the basics of the Alignments and Profiles .NET API in Civil 3D. It also dives into the structural components of Alignment and Profile objects and their composition. Finally, the class demonstrates how Alignments and Profiles can be manipulated by changing parameters in their components.

Learning Objectives At the end of this class, you will be able to: Understand the structure of the Alignment and Profile objects Access to Alignment and Profile entities through the API Working with Alignment and Profile Entities according to their type Working with Alignment and Profile Entities and their constraints Complete the C3D API Challenge!!!

Structure of Alignment and Profile Objects

Alignments and Profiles Two dimensional, linear objects Composed of other two dimensional, linear objects (Entities) Alignments represent different model features Profiles represent elevation points along an Alignment Structures are similar but representations are different

Alignment Entity Sub-Entity Alignment Structure Alignments contain Entities Entities contain Sub-Entities Sub-Entities different from Entities Alignment Entity Sub-Entity

Alignment Entities Entities have a type Type identified by EntityType property (AlignmentEntityType enumeration) Object class does not identify entity type Basic Entities contain 1 Sub-Entity Composite Entities contain 2 or more Sub-Entities Entities have constrains

Basic Alignment Entities Contain a single Sub-Entity Lines (Tangents), Arcs (Curves), and Spirals Entity Entity Class Entity Type Line (Tangent) AlignmentLine Line Arc (Curve) AlignmentArc Curve Spiral AlignmentSpiral

Composite Alignment Entities Entity Entity Class Entity Type Spiral-Curve-Spiral AlignmentSCS SpiralCurveSpiral Spiral-Line-Spiral AlignmentSTS SpiralLineSpiral Spiral-Line SpiralLine Line-Spiral LineSpiral Spiral-Curve SpiralCurve Curve-Spiral CurveSpiral Spiral-Spiral-Curve-Spiral-Spiral AlignmentSSCSS SpiralSpiralCurveSpiralSpiral Spiral-Curve-Spiral-Curve-Spiral AlignmentSCSCS SpiralCurveSpiralCurveSpiral Spiral-Curve-Spiral-Spiral-Curve-Spiral AlignmentSCSSCS SpiralCurveSpiralSpiralCurveSpiral Spiral-Spiral (*) AlignmentSCS or AlignmentSTS SpiralSpiral Spiral-Spiral-Curve SpiralSpiralCurve Curve-Spiral-Spiral CurveSpiralSpiral Curve-Line-Curve AlignmentCTC CurveLineCurve Curve-Reverse Curve AlignmentCRC CurveReverseCurve Curve-Curve-Reverse Curve AlignmentCCRC CurveCurveReverseCurve Entity type MultipleSegments not used nor supported (*) AlignmentSCS used if entity between two lines and AlignmentSTS used if entity between two curves

Profile Structure Profiles contain Entities Profile Entities are Simpler Lines (Tangents) Arcs (Circles) Parabolas Symmetric Asymmetric Entities have constrains Entity Entity Class Entity Type Tangent ProfileTangent Circular ProfileCircular Parabola Symmetric ProfileParabolaSymmetric ParabolaSymmetric Parabola Asymmetric ProfileParabolaAsymmetric ParabolaAsymmetric

Accessing Alignment and Profile Entities

Entities Collection < IEnumerable > Accessed through Entities property Interface to access entities Implements IEnumerable for AlignmentEntity Entities enumerated by ID ID depends on alignment creation Time for some Code

Entities Collection < EntityAtId() > FirstEntity and LastEntity provided by collection EntityBefore and EntityAfter provided by AlignmentEntity EntityAtId() retrieves entity Suitable for sequential and direct access Some More Code

Alignment Entities Collection < GetEntityByOrder() > Zero-based index Less-than Count property value Raises exception with unconnected entities Not suitable for enumeration Use for direct access And More Code

Working with Entities based on Type

Alignment and Profile Entities by Type Entities have a type Leads to complex logical code Prefer abstractions and polymorphism

Entity Abstractions Create you own entity wrappers Separate wrapper creation from processing Provide interface related to requirements Use virtual functions for specialized functionality (polymorphism)

Function Objects (Functors) Objects that work like functions Flexible and highly customizable Represent application processes

Implementing ‘ExportAlignment’ Command Function Object to export information Customizable order Customizable output target Entity wrappers responsible for own information Logic to identify entity in Factory class Let’s look at some code

Working with Entities Constraints

Constraint Types Tangency Constraints Entity Definition Constraints Relation between entity and surrounding entities Common to all entities Entity Definition Constraints Specific to an entity Represent how entity was defined (during creation)

Tangency Constraints Relation between entity and surrounding entities Common to all entities Free / Fixed / Float on Previous / Float on Next Only editable in Alignments feature Not editable through the API They may affect the entire Alignment/Profile object

Definition Level Constraints Specific to an entity type Represent entity definition Indicate which parameters can be modified

Recommendations Working with Constraints Separate logical code from process Use “Strategy Pattern” for processing algorithms Evaluate constraints to decide strategy

Strategy Pattern Let’s Look at some code Behavior defines interface Context provide point for customization Concrete implementations of interface Decide who customizes behavior Let’s Look at some code

Summary Alignment and Profiles Linear objects composed by entities Different interfaces to access entities Provide your own entity abstractions (wrappers) Implement process as Functors (Function Objects) Separate logical code from processing code Centralize logic (Decision methods / Factory methods) Provide customization of behavior (Strategy Pattern)

Questions?

C3D API Challenge Reinforce the topics of this class Have fun with them Featured in Civilized Development Details in materials handout Submit entries prior December 31st 2011

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.