Autodesk, Inc. · NASDAQ:ADSK

Autodesk — Technical Presentation (2015)

54 slides from Autodesk's technical presentation, 2015

  1. Slide 1: Utilizing the Fabrication API

    Utilizing the Fabrication API Matt Potts Fabrication Team Manager, Senior Software Engineer Join the conversation: #AU2015 #FabForum

  2. 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

  3. 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

  4. 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

  5. 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:

  6. 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

  7. Slide 7: Introduction to the Autodesk Fabrication API

    Introduction to the Autodesk Fabrication API Join the conversation: #AU2015 #FabForum

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. Slide 18: SDK - Samples

    SDK - Samples Fabrication Sample – Addin application where all new functionality is added and tested. Join the conversation: #AU2015 #FabForum

  19. Slide 19: SDK - Demo

    SDK - Demo Join the conversation: #AU2015 #FabForum

  20. Slide 20: Fabrication API – Fundamentals

    Fabrication API – Fundamentals Join the conversation: #AU2015 #FabForum

  21. Slide 21: Job & Items

    Job & Items Join the conversation: #AU2015 #FabForum

  22. 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 (

  23. Slide 23: Job - Demo

    Job - Demo Join the conversation: #AU2015 #FabForum

  24. 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

  25. Slide 25: Item – Example Code

    Item – Example Code Change item dimensions through Item.Dimensions Collection Join the conversation: #AU2015 #FabForum

  26. Slide 26: Item - Options

    Item - Options Change item options through Item.Options Collection Join the conversation: #AU2015 #FabForum

  27. Slide 27: Item – Manufacturing Properties

    Item – Manufacturing Properties Change connectors through Item.Connectors Collection Join the conversation: #AU2015 #FabForum

  28. Slide 28: Item - Demo

    Item - Demo Join the conversation: #AU2015 #FabForum

  29. Slide 29: Database & Product Database

    Database & Product Database Join the conversation: #AU2015 #FabForum

  30. 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:

  31. Slide 31: Database - Demo

    Database - Demo Join the conversation: #AU2015 #FabForum

  32. 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

  33. Slide 33: Product Database - Demo

    Product Database - Demo Join the conversation: #AU2015 #FabForum

  34. Slide 34: Services & Service Templates

    Services & Service Templates Join the conversation: #AU2015 #FabForum

  35. 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

  36. 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

  37. Slide 37: Services - Example

    Services - Example Join the conversation: #AU2015 #FabForum

  38. Slide 38: Working with Content

    Working with Content Join the conversation: #AU2015 #FabForum

  39. 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

  40. Slide 40: ContentManager - Demo

    ContentManager - Demo Join the conversation: #AU2015 #FabForum

  41. Slide 41: Application

    Application Join the conversation: #AU2015 #FabForum

  42. 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

  43. Slide 43: Application - Demo

    Application - Demo Join the conversation: #AU2015 #FabForum

  44. Slide 44: Working with Connected Systems

    Working with Connected Systems Join the conversation: #AU2015 #FabForum

  45. 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

  46. 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

  47. Slide 47: Connected Systems - Demo

    Connected Systems - Demo Join the conversation: #AU2015 #FabForum

  48. Slide 48: Hints, Tips & Tricks

    Hints, Tips & Tricks Join the conversation: #AU2015 #FabForum

  49. 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

  50. Slide 50: LINQ

    LINQ Join the conversation: #AU2015 #FabForum

  51. 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

  52. 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

  53. Slide 53: Q & A

    Q&A Join the conversation: #AU2015 #FabForum

  54. 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

Autodesk — Technical Presentation (2015) on 6ix