Autodesk, Inc. · NASDAQ:ADSK
Autodesk — Technical Presentation (2015)
54 slides from Autodesk's technical presentation, 2015
Slide 1: Utilizing the Fabrication API
Utilizing the Fabrication API Matt Potts Fabrication Team Manager, Senior Software Engineer Join the conversation: #AU2015 #FabForum
Slide 2: Class summary
Class summary The class will cover creating extension applications with the Autodesk Fabrication API to help improve your organization’s workflows. Join the conversation: #AU2015 #FabForum
Slide 3: Key learning objectives
Key learning objectives At the end of this class, you will: Understand what the Autodesk Fabrication API is. Understand how to create Addin applications for CADmep, ESTmep & CAMduct. Understand the core functionality that exists in the Autodesk Fabrication API (2016 & 2017 versions). Understand the
Slide 4: About Me
About Me Matt Potts Team manager and Senior Software Engineer for Autodesk Fabrication in Blackpool UK. Main technical focus is API, Cloud and Web. Worked at Autodesk for 4 years and MAP Software for 5 years (Pre Acquisition). Join the conversation: #AU2015 #FabForum
Slide 5: Notes
Notes This class is not intended to teach you how to write code, but there will be some code examples! Example code is shown in C# Demos are run in CADmep & ESTmep Terminology – Addins/Plugins/Extension Applications mean the same. New features in 2017 Release marked as (2017) Join the conversation:
Slide 6: Schedule
Schedule 1. Introduction to the Autodesk Fabrication API 2. Creating a Fabrication Addin Application and using the SDK 3. Fabrication API – Fundamentals 4. Working with Connected Systems 5. Hints, Tips & Tricks 6. Q&A Join the conversation: #AU2015 #FabForum
Slide 7: Introduction to the Autodesk Fabrication API
Introduction to the Autodesk Fabrication API Join the conversation: #AU2015 #FabForum
Slide 8: Introduction – What is it?
Introduction – What is it? Application Programming Interface Enables 3rd party developers to extend Autodesk Fabrication applications Allows addin applications to be built on top of the core Fabrication products CADmep, ESTmep & CAMduct. Addin applications can access data within the currently loaded
Slide 9: Introduction – What is it?
Introduction – What is it? Addin applications can access data from the current Job/Drawing in the session that is being run in all core Fabrication products. Addin applications can be created in any .NET language i.e. C#, VB.NET and C++/cli. Allows you to create applications that can then connect up
Slide 10: Introduction – Scripting vs API
Introduction – Scripting vs API Feature Scripting API Read & Update Item Properties Read, Add, Edit & Delete Database Entries Partial Create Item Content (Template & Product List) Load Item Content from disk Add/Remove Items from Jobs Visual Studio support .NET support Join the conversation: #AU2015
Slide 11: Introduction – What do you need?
Introduction – What do you need? A working knowledge of a .NET language i.e. C#, VB.NET or C++/cli. Visual Studio 2012 or above to create the code A working knowledge of the Fabrication Products. Join the conversation: #AU2015 #FabForum
Slide 12: Creating a Fabrication Addin Application and using the SDK
Creating a Fabrication Addin Application and using the SDK Join the conversation: #AU2015 #FabForum
Slide 13: Creating Fabrication Addins – ESTmep & CAMduct
Creating Fabrication Addins – ESTmep & CAMduct Create an “Entry Point” for the application that implements the IExternalApplication Interface (Autodesk.Fabrication.UI Namespace) IExternalApplication requires that the class implements the following methods: Execute – Run when the Addin is loaded, use
Slide 14: Creating Fabrication Addins – ESTmep & CAMduct
Creating Fabrication Addins – ESTmep & CAMduct Implement IExternalApplication Interface Execute method runs code on Addin load Terminate method runs code on Addin unload Join the conversation: #AU2015 #FabForum
Slide 15: Creating Fabrication Addins – ESTmep & CAMduct
Creating Fabrication Addins – ESTmep & CAMduct Create an addin manifest file containing instructions on the location of the addin dll, entry point, uniqueId <?xml version="1.0" encoding="utf-8" standalone="no"?> <FabricationAddIns> <AddIn Type="Application"> <Name>Hello Fabrication CSharp</Name> <Fu
Slide 16: Creating Fabrication Addins – CADmep
Creating Fabrication Addins – CADmep Use the existing AutoCAD addin framework Create a class that implements the IExtensionApplication Interface (very similar to the IExternalApplication mentioned earlier) Initialize– Run when the Addin is loaded, use to run setup code e.g. showing dialog windows Te
Slide 17: SDK - Introduction
SDK - Introduction Software Development Kit Installed with all core Fabrication products. Contains sample Addins that can be run within CADmep, ESTmep & CAMduct. Contains a help file with a reference to all the classes, methods & namespaces available in the API. Help file has code samples and “getti
Slide 18: SDK - Samples
SDK - Samples Fabrication Sample – Addin application where all new functionality is added and tested. Join the conversation: #AU2015 #FabForum
Slide 19: SDK - Demo
SDK - Demo Join the conversation: #AU2015 #FabForum
Slide 20: Fabrication API – Fundamentals
Fabrication API – Fundamentals Join the conversation: #AU2015 #FabForum
Slide 21: Job & Items
Job & Items Join the conversation: #AU2015 #FabForum
Slide 22: Job
Job Feature Autodesk.Fabrication.Job Notes Static class representing the current Job in the currently loaded Fabrication Configuration Properties Items – Collection of Fabrication Items in the current Job (MAJ, ESJ or DWG) Info - Job Information Methods Save SaveAs (2017) AddItem (2017) RemoveItem (
Slide 23: Job - Demo
Job - Demo Join the conversation: #AU2015 #FabForum
Slide 24: Item
Item Full Class Name Autodesk.Fabrication.Item Notes Class representing an instance of an Item in the current Job or on Disk Properties Dimensions, Options, Name, ProductList, Connectors, Material, Gauge, Section, Custom Data, Specification, Rates & many others Methods AddCustomData, ChangeConnector
Slide 25: Item – Example Code
Item – Example Code Change item dimensions through Item.Dimensions Collection Join the conversation: #AU2015 #FabForum
Slide 26: Item - Options
Item - Options Change item options through Item.Options Collection Join the conversation: #AU2015 #FabForum
Slide 27: Item – Manufacturing Properties
Item – Manufacturing Properties Change connectors through Item.Connectors Collection Join the conversation: #AU2015 #FabForum
Slide 28: Item - Demo
Item - Demo Join the conversation: #AU2015 #FabForum
Slide 29: Database & Product Database
Database & Product Database Join the conversation: #AU2015 #FabForum
Slide 30: Database
Database Full Class Name Autodesk.Fabrication.DB.Database Notes Static class representing the current Database in the currently loaded Fabrication Configuration Properties Manufacturing: Connectors, Materials, Airturns, Seams Costing: Price Lists, Fabrication & Installation Tables Drawing/Modelling:
Slide 31: Database - Demo
Database - Demo Join the conversation: #AU2015 #FabForum
Slide 32: Product Database
Product Database Full Class Name Autodesk.Fabrication.DB.ProductDatabase Notes Static class representing the current Product Database in the currently loaded Fabrication Configuration (MapProd). Properties Product Definitions (2017) Product Groups (2017) Suppliers Methods Methods to Add and Edit all
Slide 33: Product Database - Demo
Product Database - Demo Join the conversation: #AU2015 #FabForum
Slide 34: Services & Service Templates
Services & Service Templates Join the conversation: #AU2015 #FabForum
Slide 35: Service
Service Full Class Name Autodesk.Fabrication.DB.Service Notes Class representing a Service in the currently loaded Fabrication Configuration Properties Name ServiceEntries (2017) – Layering, ServiceType information ServiceTemplate - Current Template associated Methods LoadServiceItem – Loads the Ite
Slide 36: Service Template
Service Template Full Class Name Autodesk.Fabrication.DB.ServiceTemplate Notes Class representing a Service Template in the currently loaded Fabrication Configuration Properties Name Group ServiceTabs – ServiceTab holds collection of ServiceButtons Conditions - Conditions applied to the ServiceButto
Slide 37: Services - Example
Services - Example Join the conversation: #AU2015 #FabForum
Slide 38: Working with Content
Working with Content Join the conversation: #AU2015 #FabForum
Slide 39: ContentManager
ContentManager Full Class Name Autodesk.Fabrication.Content.ContentManager Notes Static class with methods for working Content (2017) Methods CreateItem – New Item from CID CreateProductItem – Add product list data to item LoadItem – Load Item from disk SaveItem – Save Item to disk SaveItemAs – Save
Slide 40: ContentManager - Demo
ContentManager - Demo Join the conversation: #AU2015 #FabForum
Slide 41: Application
Application Join the conversation: #AU2015 #FabForum
Slide 42: Application
Application Full Class Name Autodesk.Fabrication.ApplicationServices.Application Notes Static class with properties containing information about the current application Properties CurrentConfiguration CurrentProfile DatabasePath ExecutableName ExecutablePath ItemContentPath ProductVersion VersionNum
Slide 43: Application - Demo
Application - Demo Join the conversation: #AU2015 #FabForum
Slide 44: Working with Connected Systems
Working with Connected Systems Join the conversation: #AU2015 #FabForum
Slide 45: Connected Systems
Connected Systems Data in/out Data in/out Autodesk Fabrication Fabrication Addins External Systems Databases, Web Services Data in/out Data in/out Fabrication Fabrication Database Job/Model Join the conversation: #AU2015 #FabForum
Slide 46: Connected Systems
Connected Systems The ability to work with data in the Fabrication environment opens up new possibilities of new workflows Connecting to external databases Connecting to Web Services Connecting to other Autodesk Services – BIM360 Field & Glue Connecting data to the Job Site All provide the possibili
Slide 47: Connected Systems - Demo
Connected Systems - Demo Join the conversation: #AU2015 #FabForum
Slide 48: Hints, Tips & Tricks
Hints, Tips & Tricks Join the conversation: #AU2015 #FabForum
Slide 49: LINQ
LINQ .NET Feature that allows data to be queried using expressions Very useful in Fabrication API when working with collections of data Join the conversation: #AU2015 #FabForum
Slide 50: LINQ
LINQ Join the conversation: #AU2015 #FabForum
Slide 51: Operation Results
Operation Results ItemOperationResult & DBOperationResult Use to determine to status of an operation Many API methods return OperationResults 3 Properties: Status – Succeeded or Failed Message – Information on the success or failure of the operation ReturnObject – Methods that create new objects wil
Slide 52: Addin Design and Code Structure
Addin Design and Code Structure Use a design pattern to keep code well structured. Google “Gang of Four Design Patterns”, 23 foundational patterns for software design. Separate UI from data logic – promotes code reuse Create unit tests to easily detect bugs and problems Keep it simple Join the conve
Slide 53: Q & A
Q&A Join the conversation: #AU2015 #FabForum
Slide 54: Autodesk trademark notice
Autodesk is a registered trademark 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 specific