Friday, October 25, 2019

Inventor iLogic vs. Inventor API - Which Should I use?

I assume since you are reading this that you have already decided to automate some of your processes in Autodesk Inventor, an excellent decision! There are many benefits to doing so, but also different ways of going about it in Inventor. I am going to talk about things to consider when deciding whether to use iLogic or the Inventor API.

First, let's briefly go over what iLogic is. iLogic is an Inventor add-in that allows you to create chunks of code called "Rules". You can create rules that are embedded in the Inventor files and also External Rules that you will need to store somewhere, such as on a network drive, or in your Inventor work space. The programming language used in iLogic is Visual Basic (VB). One of the biggest benefits of iLogic is the collection of snippets built into it that can be used to perform numerous tasks. Depending on what you are trying to accomplish, you could create a functioning iLogic rule that contains no VB code, and only uses the snippets.

Now the Inventor API, or Application Programming Interface, is a collection of functions that are exposed by Inventor that allows another program to control it. Typically the API is used in an external program or an add-in but the functions can also be used within iLogic. I can already hear you asking, "If I can use both the iLogic snippets and the API within iLogic, it sounds like iLogic is the way to go?"

When you should use iLogic:


  1. If you are new to programming, you should definitely use iLogic. The reason for this is you can take advantage of the built in snippets, and the code is already bound to the active instance of Inventor and therefore any document that is open. With the API you need to manually bind your code to your instance of Inventor.
  2. You are trying to accomplish "simple" tasks with the code. Again, the snippets make it very easy to change parameter values, set iProperty values, change part material, etc.
  3. You are alright with the code "living" in the Inventor files. The only way to update the code in the files is by opening each file and updating manually.

    When you should use the Inventor API:

    1. You are an experienced programmer and are familiar with using API's.
    2. You are creating an external application or add-in. You are able to tell iLogic rules to run using the API but I have noticed performance issues when I have tried doing so.
    3. The tasks you are trying to accomplish are more complex and would benefit from reusing chunks of code often. This point is what caused me to switch from using iLogic to primarily using the Inventor API in an external application.
    4. Your programming language of choice is not VB. You can use any .NET language such as VB, C#, F#, etc. with the Inventor API.

    My Inventor Programming Progression


    When I first started using iLogic I was completely new to programming. My first rules were extremely simple, I was setting limits to some parameters and populating iProperties in my part files. I moved on to using if statements, and selected cases. After some time I ended up creating completely automated parts and assemblies just by passing parameters from the assembly down to the components and having rules run in each component. 

    The first time I used the Inventor API I was creating a rule to make a sheet list in my drawing. This eventually became the Sheet List Add-in I have available on the Autodesk App store, which was originally written in VB.net but has since 
    been re-written in C#.



    I switched to primarily using the API in an external application when I started having a lot of reusable code. I originally had the code in multiple Inventor files but it quickly became impossible to maintain, having to remember all the different files.

    Obviously there are no hard set rules for when one should be used over the other. You can create very complex iLogic rules and it will work. Should it be done? Probably not. Have I done it? Yes I have. The same goes with the API. You can do some very simple things with it and it will work perfectly fine. It just will be more work than just using an iLogic rule.

    One last thing to keep in mind. When creating iLogic rules that contain loops, make sure you ALWAYS save the file before testing the rule. There is no way to stop a rule from running and you can get caught in an infinite loop. The only way to stop it is by forcing Inventor to shut down, which if you have not saved your file, you will lose your work. Another way around this is by building in escapes into the loops, such as making it stop after 1000 iterations. Just a little advice from someone who has lost many lines of code because of this.

    Wednesday, December 19, 2018

    iParts and iAssemblies with the Inventor API

    I stumbled upon this inconsistency in the Inventor API the other day.  I have method that finds an iAssembly row based on certain parameter values, much like the iLogic snippet that does the same.  In the method I have to find the columns I am looking for based on the parameter name.  I am able to find it by using the name property in the Column object.  It works great.

    I then wanted to make a method that does the same thing but for iParts.  I figured that since they are very similar in how they work when using Inventor that the API would be the same.  I found that iPart Column objects do not have a "Name" property.  So I had to figure out a different way to find the column I needed.  I found there is a column called "Heading" that contains the parameter name so I was able to loop through all the columns and find the index number of the column I wanted.

    This doesn't sound like a huge deal but what happens when there isn't a "Name" property is that you are unable to just use code like, Columns[ColumnName], to get the Column object.  You need to do like I did above to find the column which requires more code and depending on how many columns are in the table, it could affect processing time.

    I have submitted this to the Inventor Ideastation, please vote up this idea so Autodesk can be made aware of this and fix it.

    Idea on Inventor Ideastation

    Friday, July 13, 2018

    Autodesk Inventor Ribbon, Tabs, and Panels Internal Names

    Here are all of internal names for Inventor Ribbon, Tabs, and Panels.  I found this on the Autodesk Forums, wanted to post it here to share and so I don't have to keep searching for it.

    Ribbon Name: ZeroDoc

    ZeroDoc Tabs & Panels...
         Tab Name: Get Started.....................Internal Name: id_GetStarted
              Panel Name: Launch···················Internal Name: id_Panel_Launch
              Panel Name: New Features·············Internal Name: id_Panel_GetStartedWhatsNew
              Panel Name: Videos and Tutorials·····Internal Name: id_Panel_Tutorial
         Tab Name: Tools...........................Internal Name: id_TabTools
              Panel Name: Options··················Internal Name: id_PanelP_ToolsOptions
              Panel Name: Content Center···········Internal Name: id_PanelZ_ToolsContentCenter
              Panel Name: iLogic···················Internal Name: iLogic.RibbonPanel
              Panel Name: Web······················Internal Name: id_PanelP_ToolsWebTools
         Tab Name: Add-Ins.........................Internal Name: id_AddInsTab
         Tab Name: Inventor Debug..................Internal Name: id_InventorDebugTab
         Tab Name: Exit Tutorial...................Internal Name: id_TabTutorial_Exit
              Panel Name: Exit Tutorial············Internal Name: id_Panel_TutorialExit
         Tab Name: Autodesk 360....................Internal Name: id_OnlineTab
              Panel Name: Access···················Internal Name: id_Panel_OnlineDocument
              Panel Name: Simulation···············Internal Name: id_Panel_Simulation

    #################################################################################

    Ribbon Name: Part

    Part Tabs & Panels...
         Tab Name: Sheet Metal.....................Internal Name: id_TabSheetMetal
              Panel Name: Sketch···················Internal Name: id_PanelP_Model2DSketchCreate
              Panel Name: Create···················Internal Name: id_PanelP_SheetMetalCreate
              Panel Name: Modify···················Internal Name: id_PanelP_SheetMetalModify
              Panel Name: Work Features············Internal Name: id_PanelA_ModelWorkFeatures
              Panel Name: Pattern··················Internal Name: id_PanelP_SheetMetalPattern
              Panel Name: Setup····················Internal Name: id_PanelP_SheetMetalManage
              Panel Name: Flat Pattern·············Internal Name: id_PanelP_SheetMetalManageUnfold
              Panel Name: Parameters···············Internal Name: id_PanelP_ToolsParameters
              Panel Name: Measure··················Internal Name: id_PanelP_ToolsMeasure
         Tab Name: Flat Pattern....................Internal Name: id_TabFlatPattern
              Panel Name: Sketch···················Internal Name: id_PanelP_Model2DSketchCreate
              Panel Name: Create···················Internal Name: id_PanelP_FlatPatternCreate
              Panel Name: Modify···················Internal Name: id_PanelP_FlatPatternModify
              Panel Name: Work Features············Internal Name: id_PanelA_ModelWorkFeatures
              Panel Name: Pattern··················Internal Name: id_PanelP_FlatPatternPattern
              Panel Name: Insert···················Internal Name: id_PanelP_FlatPatternInsert
              Panel Name: Manage···················Internal Name: id_PanelP_FlatPatternManage
              Panel Name: Folded Part··············Internal Name: id_PanelP_FlatPatternExit
         Tab Name: 3D Model........................Internal Name: id_TabModel
              Panel Name: Sketch···················Internal Name: id_PanelP_Model2DSketchCreate
              Panel Name: Primitives···············Internal Name: id_PanelP_ModelPrimitives
              Panel Name: Create···················Internal Name: id_PanelP_ModelCreate
              Panel Name: Modify···················Internal Name: id_PanelP_ModelModify
              Panel Name: Work Features············Internal Name: id_PanelA_ModelWorkFeatures
              Panel Name: Pattern··················Internal Name: id_PanelP_ModelPattern
              Panel Name: Surface··················Internal Name: id_PanelP_ModelSurface
              Panel Name: Parameters···············Internal Name: id_PanelP_ToolsParameters
              Panel Name: Plastic Part·············Internal Name: id_PanelP_PlasticPart
              Panel Name: Measure··················Internal Name: id_PanelP_ToolsMeasure
              Panel Name: Insert···················Internal Name: id_PanelP_ToolsInsert
              Panel Name: Harness··················Internal Name: id_PanelP_ModelHarness
              Panel Name: iPart/iAssembly··········Internal Name: id_PanelA_AssembleIPartIAssembly
              Panel Name: Simulation···············Internal Name: id_PanelP_AnalysisFEA
              Panel Name: Convert··················Internal Name: id_PanelP_ConvertSheetMetal
         Tab Name: Inspect.........................Internal Name: id_TabInspect
              Panel Name: Measure··················Internal Name: id_PanelP_AnalysisMeasure
              Panel Name: Analysis·················Internal Name: id_PanelP_ToolsAnalysis
              Panel Name: AutoLimits···············Internal Name: id_PanelP_ToolsAutoLimits
              Panel Name: Parameters···············Internal Name: id_PanelP_ToolsParameters
         Tab Name: Tools...........................Internal Name: id_TabTools
              Panel Name: Begin····················Internal Name: id_PanelP_ToolsEnvironments
              Panel Name: Measure··················Internal Name: id_PanelP_ToolsMeasure
              Panel Name: Material and Appearance··Internal Name: id_PanelP_ToolsMaterial
              Panel Name: Options··················Internal Name: id_PanelP_ToolsOptions
              Panel Name: Clipboard················Internal Name: id_PanelP_ToolsClipboard
              Panel Name: Find·····················Internal Name: id_PanelP_ToolsFind
         Tab Name: Manage..........................Internal Name: id_TabManage
              Panel Name: Update···················Internal Name: id_PanelP_ToolsUpdate
              Panel Name: Parameters···············Internal Name: id_PanelP_ToolsParameters
              Panel Name: Styles and Standards·····Internal Name: id_PanelP_ToolsStylesAndStandards
              Panel Name: Insert···················Internal Name: id_PanelP_ToolsInsert
              Panel Name: Point Cloud··············Internal Name: id_PanelP_ToolsPointCloud
              Panel Name: Layout···················Internal Name: id_PanelP_ToolsLayout
              Panel Name: Author···················Internal Name: id_PanelP_ToolsAuthor
              Panel Name: iLogic···················Internal Name: iLogic.RibbonPanel
              Panel Name: Content Center···········Internal Name: id_PanelP_ToolsContentCenter
         Tab Name: View............................Internal Name: id_TabView
              Panel Name: Visibility···············Internal Name: id_PanelP_ViewVisibility
              Panel Name: Appearance···············Internal Name: id_PanelA_ViewAppearance
              Panel Name: Windows··················Internal Name: id_PanelP_ViewWindow
              Panel Name: Navigate·················Internal Name: id_PanelC_ViewNavigate
         Tab Name: Environments....................Internal Name: id_TabEnvironments
              Panel Name: Begin····················Internal Name: id_Panel_EnvironmentsBegin
              Panel Name: Convert··················Internal Name: id_PanelP_ConvertSheetMetal
              Panel Name: Manage···················Internal Name: id_PanelP_EnvironmentsAddIns
         Tab Name: Get Started.....................Internal Name: id_GetStarted
              Panel Name: Launch···················Internal Name: id_Panel_Launch
              Panel Name: New Features·············Internal Name: id_Panel_GetStartedWhatsNew
              Panel Name: Videos and Tutorials·····Internal Name: id_Panel_Tutorial
         Tab Name: STS.............................Internal Name: Autodesk:3DQTSTS:Tab1
              Panel Name: MiscTools················Internal Name: id_Panel_STSMiscTools
         Tab Name: Add-Ins.........................Internal Name: id_AddInsTab
         Tab Name: Autodesk 360....................Internal Name: id_OnlineTab
              Panel Name: Access···················Internal Name: id_Panel_OnlineDocument
              Panel Name: Simulation···············Internal Name: id_Panel_Simulation
              Panel Name: Web······················Internal Name: id_PanelP_ToolsWebTools
         Tab Name: Sketch..........................Internal Name: id_TabSketch
              Panel Name: Draw·····················Internal Name: id_PanelP_2DSketchDraw
              Panel Name: Constrain················Internal Name: id_PanelP_2DSketchConstrain
              Panel Name: Pattern··················Internal Name: id_PanelP_2DSketchPattern
              Panel Name: Modify···················Internal Name: id_PanelP_2DSketchModify
              Panel Name: Layout···················Internal Name: id_PanelP_2DSketchLayout
              Panel Name: Insert···················Internal Name: id_PanelA_2DSketchInsert
              Panel Name: Format···················Internal Name: id_PanelP_2DSketchFormat
              Panel Name: Return to 3D·············Internal Name: id_PanelP_2DSketchReturnTo3D
              Panel Name: Parameters···············Internal Name: id_PanelP_ToolsParameters
         Tab Name: Exit Tutorial...................Internal Name: id_TabTutorial_Exit
              Panel Name: Exit Tutorial············Internal Name: id_Panel_TutorialExit
         Tab Name: Exit 2D Sketch..................Internal Name: id_TabSketch_Exit
              Panel Name: Exit·····················Internal Name: id_PanelP_2DSketchExit
         Tab Name: 3D Sketch.......................Internal Name: id_Tab3DSketch
              Panel Name: Draw·····················Internal Name: id_PanelP_3DSketchDraw
              Panel Name: Constrain················Internal Name: id_PanelP_3DSketchConstrain
              Panel Name: Pattern··················Internal Name: id_PanelP_3DSketchPattern
              Panel Name: Modify···················Internal Name: id_PanelP_3DSketchModify
              Panel Name: Insert···················Internal Name: id_PanelP_3DSketchInsert
              Panel Name: Format···················Internal Name: id_PanelP_3DSketchFormat
              Panel Name: Work Features············Internal Name: id_PanelA_ModelWorkFeatures
              Panel Name: Parameters···············Internal Name: id_PanelP_ToolsParameters
         Tab Name: Exit 3D Sketch..................Internal Name: id_Tab3DSketch_Exit
              Panel Name: Exit·····················Internal Name: id_PanelP_3DSketchExit
         Tab Name: Construction....................Internal Name: id_TabConstruction
              Panel Name: Manage···················Internal Name: id_PanelP_ConstructionManage
              Panel Name: Surface··················Internal Name: id_PanelP_ConstructionSurface
         Tab Name: Exit Construction...............Internal Name: id_TabConstruction_Exit
              Panel Name: Exit·····················Internal Name: id_PanelP_ConstructionExit
         Tab Name: Edit Base Solid.................Internal Name: id_TabEditBaseSolid
              Panel Name: Modify···················Internal Name: id_PanelP_ExplicitModify
              Panel Name: Work Features············Internal Name: id_PanelA_ModelWorkFeatures
              Panel Name: Manage···················Internal Name: id_PanelP_ExplicitManage
         Tab Name: Exit Base Solid.................Internal Name: id_TabEditBaseSolid_Exit
              Panel Name: Exit·····················Internal Name: id_PanelP_ExplicitExit
         Tab Name: Repair..........................Internal Name: id_TabSurfaceRepair
              Panel Name: Repair···················Internal Name: id_PanelP_SurfaceRepairRepair
              Panel Name: Modify···················Internal Name: id_PanelP_SurfaceRepairModify
         Tab Name: Exit Repair.....................Internal Name: id_TabSurfaceRepair_Exit
              Panel Name: Exit·····················Internal Name: id_PanelP_SurfaceRepairExit
         Tab Name: Route...........................Internal Name: id_TabRoute
              Panel Name: Create···················Internal Name: id_PanelP_RouteCreate
              Panel Name: Constrain················Internal Name: id_PanelP_RouteConstrain
              Panel Name: Manage···················Internal Name: id_PanelP_RouteManage
              Panel Name: Parameters···············Internal Name: id_PanelP_ToolsParameters
         Tab Name: Exit Route......................Internal Name: id_TabRoute_Exit
              Panel Name: Exit·····················Internal Name: id_PanelP_RouteExit
         Tab Name: Render..........................Internal Name: id_TabRender
              Panel Name: Render···················Internal Name: id_PanelP_StudioRender
              Panel Name: Scene····················Internal Name: id_PanelP_StudioScene
              Panel Name: Animate··················Internal Name: id_PanelP_StudioAnimate
              Panel Name: Manage···················Internal Name: id_PanelP_StudioManage
         Tab Name: Exit Studio.....................Internal Name: id_TabRender_Exit
              Panel Name: Exit·····················Internal Name: id_PanelP_StuidoExit
         Tab Name: Exit Stress Analysis............Internal Name: id_TabStressAnalysis_Exit
              Panel Name: Exit·····················Internal Name: id_PanelP_StressAnalysisExit
         Tab Name: Stress Analysis.................Internal Name: id_TabAFEA
              Panel Name: Manage···················Internal Name: id_PanelA_AFEAManage
              Panel Name: Material·················Internal Name: id_PanelA_AFEAMaterial
              Panel Name: Constraints··············Internal Name: id_PanelA_AFEAConstraints
              Panel Name: Loads····················Internal Name: id_PanelA_AFEALoads
              Panel Name: Contacts·················Internal Name: id_PanelA_AFEAContacts
              Panel Name: Prepare··················Internal Name: id_PanelA_AFEAPrepare
              Panel Name: Mesh·····················Internal Name: id_PanelA_AFEAMesh
              Panel Name: Solve····················Internal Name: id_PanelA_AFEASolve
              Panel Name: Result···················Internal Name: id_PanelA_AFEAResult
              Panel Name: Display··················Internal Name: id_PanelA_AFEAResultDisplay
              Panel Name: Report···················Internal Name: id_PanelA_AFEAReport
              Panel Name: Guide····················Internal Name: id_PanelA_AFEAGuide
              Panel Name: Settings·················Internal Name: id_PanelA_AFEASettings
         Tab Name: Exit Stress Analysis............Internal Name: id_TabAFEA_Exit
              Panel Name: Exit·····················Internal Name: id_PanelP_AFEAExit
         Tab Name: Return..........................Internal Name: id_TabReturn
              Panel Name: Return···················Internal Name: id_PanelP_PartReturn
         Tab Name: 3D Annotation...................Internal Name: id_Tab3DA
              Panel Name: Dimension················Internal Name: id_PanelP_3DADIM
         Tab Name: Inventor Debug..................Internal Name: id_InventorDebugTab

    #################################################################################

    Ribbon Name: Assembly

    Assembly Tabs & Panels...
         Tab Name: Assemble........................Internal Name: id_TabAssemble
              Panel Name: Component················Internal Name: id_PanelA_AssembleComponent
              Panel Name: Position·················Internal Name: id_PanelA_AssemblePosition
              Panel Name: Relationships············Internal Name: id_PanelA_AssembleRelationships
              Panel Name: Pattern··················Internal Name: id_PanelA_AssemblePattern
              Panel Name: iPart/iAssembly··········Internal Name: id_PanelA_AssembleIPartIAssembly
              Panel Name: Productivity·············Internal Name: id_PanelA_AssembleAssemblyTools
              Panel Name: Work Features············Internal Name: id_PanelA_ModelWorkFeatures
              Panel Name: Measure··················Internal Name: id_PanelA_ToolsMeasure
         Tab Name: Design..........................Internal Name: id_TabDesign
              Panel Name: Fasten···················Internal Name: id_PanelA_DesignFasten
              Panel Name: Frame····················Internal Name: id_PanelA_DesignFrame
              Panel Name: Power Transmission·······Internal Name: id_PanelA_DesignPowerTransmission
              Panel Name: Spring···················Internal Name: id_PanelA_DesignSpring
              Panel Name: Measure··················Internal Name: id_PanelA_ToolsMeasure
         Tab Name: 3D Model........................Internal Name: id_TabModel
              Panel Name: Sketch···················Internal Name: id_PanelA_ModelSketch
              Panel Name: Modify Assembly··········Internal Name: id_PanelA_ModelModify
              Panel Name: Work Features············Internal Name: id_PanelA_ModelWorkFeatures
              Panel Name: Pattern··················Internal Name: id_PanelA_ModelPattern
              Panel Name: Parameters···············Internal Name: id_PanelA_ModelManage
              Panel Name: Measure··················Internal Name: id_PanelA_ToolsMeasure
         Tab Name: Weld............................Internal Name: id_TabWeld
              Panel Name: Process··················Internal Name: id_PanelA_WeldProcess
              Panel Name: Weld·····················Internal Name: id_PanelA_WeldWeld
              Panel Name: Sketch···················Internal Name: id_PanelA_WeldSketch
              Panel Name: Preparation and MachiningInternal Name: id_PanelA_WeldModify
              Panel Name: Work Features············Internal Name: id_PanelA_ModelWorkFeatures
              Panel Name: Pattern··················Internal Name: id_PanelA_WeldPattern
              Panel Name: Parameters···············Internal Name: id_PanelA_WeldManage
              Panel Name: Measure··················Internal Name: id_PanelA_ToolsMeasure
         Tab Name: Weld Return to Parent...........Internal Name: id_TabWeld_ReturnParent
              Panel Name: Return···················Internal Name: id_PanelA_WeldReturnToParent
         Tab Name: Inspect.........................Internal Name: id_TabInspect
              Panel Name: Interference·············Internal Name: id_PanelA_ToolsAnalysis
              Panel Name: Measure··················Internal Name: id_PanelA_AnalysisMeasure
              Panel Name: AutoLimits···············Internal Name: id_PanelA_ToolsAutoLimits
         Tab Name: Tools...........................Internal Name: id_TabTools
              Panel Name: Measure··················Internal Name: id_PanelA_ToolsMeasure
              Panel Name: Material and Appearance··Internal Name: id_PanelP_ToolsMaterial
              Panel Name: Options··················Internal Name: id_PanelP_ToolsOptions
              Panel Name: Clipboard················Internal Name: id_PanelP_ToolsClipboard
              Panel Name: Find·····················Internal Name: id_PanelP_ToolsFind
         Tab Name: Manage..........................Internal Name: id_TabManage
              Panel Name: Update···················Internal Name: id_PanelA_ToolsUpdate
              Panel Name: Manage···················Internal Name: id_PanelA_AssembleManage
              Panel Name: Styles and Standards·····Internal Name: id_PanelA_ToolsStylesAndStandards
              Panel Name: Insert···················Internal Name: id_PanelA_ToolsInsert
              Panel Name: Point Cloud··············Internal Name: id_PanelP_ToolsPointCloud
              Panel Name: Author···················Internal Name: id_PanelA_ToolsAuthor
              Panel Name: iLogic···················Internal Name: iLogic.RibbonPanel
              Panel Name: Content Center···········Internal Name: id_PanelA_ToolsContentCenter
         Tab Name: View............................Internal Name: id_TabView
              Panel Name: Visibility···············Internal Name: id_PanelA_ViewVisibility
              Panel Name: Appearance···············Internal Name: id_PanelA_ViewAppearance
              Panel Name: Windows··················Internal Name: id_PanelP_ViewWindow
              Panel Name: Navigate·················Internal Name: id_PanelC_ViewNavigate
         Tab Name: Environments....................Internal Name: id_TabEnvironments
              Panel Name: Begin····················Internal Name: id_Panel_EnvironmentsBegin
              Panel Name: Convert··················Internal Name: id_PanelA_ConvertWeld
              Panel Name: Manage···················Internal Name: id_PanelA_EnvironmentsAddIns
         Tab Name: Get Started.....................Internal Name: id_GetStarted
              Panel Name: Launch···················Internal Name: id_Panel_Launch
              Panel Name: New Features·············Internal Name: id_Panel_GetStartedWhatsNew
              Panel Name: Videos and Tutorials·····Internal Name: id_Panel_Tutorial
         Tab Name: Add-Ins.........................Internal Name: id_AddInsTab
         Tab Name: Autodesk 360....................Internal Name: id_OnlineTab
              Panel Name: Access···················Internal Name: id_Panel_OnlineDocument
              Panel Name: Simulation···············Internal Name: id_Panel_Simulation
              Panel Name: Web······················Internal Name: id_PanelP_ToolsWebTools
         Tab Name: Sketch..........................Internal Name: id_TabSketch
              Panel Name: Draw·····················Internal Name: id_PanelA_2DSketchDraw
              Panel Name: Constrain················Internal Name: id_PanelA_2DSketchConstrain
              Panel Name: Pattern··················Internal Name: id_PanelA_2DSketchPattern
              Panel Name: Modify···················Internal Name: id_PanelA_2DSketchModify
              Panel Name: Insert···················Internal Name: id_PanelA_2DSketchInsert
              Panel Name: Format···················Internal Name: id_PanelA_2DSketchFormat
              Panel Name: Measure··················Internal Name: id_PanelA_ToolsMeasure
         Tab Name: Exit 2D Sketch..................Internal Name: id_TabSketch_Exit
              Panel Name: Exit·····················Internal Name: id_PanelA_2DSketchExit
         Tab Name: Exit Tutorial...................Internal Name: id_TabTutorial_Exit
              Panel Name: Exit Tutorial············Internal Name: id_Panel_TutorialExit
         Tab Name: Mode............................Internal Name: id_TabExpressMode
              Panel Name: Express··················Internal Name: id_PanelA_AssembleExpress
         Tab Name: Tube and Pipe...................Internal Name: id_TabTube_Pipe
              Panel Name: Run······················Internal Name: id_PanelA_TubePipeRoute
              Panel Name: Content··················Internal Name: id_PanelA_TubePipeContentCenter
              Panel Name: Component················Internal Name: id_PanelA_TubePipeComponent
              Panel Name: Position·················Internal Name: id_PanelA_TubePipePosition
              Panel Name: Relationships············Internal Name: id_PanelA_TubePipeRelationships
              Panel Name: Manage···················Internal Name: id_PanelA_TubePipeManage
              Panel Name: Parameters···············Internal Name: id_PanelP_ToolsParameters
              Panel Name: iPart/iAssembly··········Internal Name: id_PanelA_TubePipeIPartIAssembly
         Tab Name: Exit Tube and Pipe..............Internal Name: id_TabTube_Pipe_Exit
              Panel Name: Exit·····················Internal Name: id_PanelA_TubePipeExit
         Tab Name: Pipe Run........................Internal Name: id_TabTube_Pipe_Run
              Panel Name: Route····················Internal Name: id_PanelA_TubePipeRunCreate
              Panel Name: Content··················Internal Name: id_PanelA_TubePipeRunContentCenter
              Panel Name: Manage···················Internal Name: id_PanelA_TubePipeRunManage
              Panel Name: Parameters···············Internal Name: id_PanelP_ToolsParameters
         Tab Name: Exit Tube and Pipe Run..........Internal Name: id_TabTube_Pipe_Run_Exit
              Panel Name: Exit·····················Internal Name: id_PanelA_TubePipeRunExit
         Tab Name: Cable and Harness...............Internal Name: id_TabCable_Harness
              Panel Name: Create···················Internal Name: id_PanelA_CableHarnessCreate
              Panel Name: Route····················Internal Name: id_PanelA_CableHarnessRoute
              Panel Name: Manage···················Internal Name: id_PanelA_CableHarnessManage
              Panel Name: Visibility···············Internal Name: id_PanelA_CableHarnessVisibility
         Tab Name: Exit Cable and Harness..........Internal Name: id_TabCable_Harness_Exit
              Panel Name: Exit·····················Internal Name: id_PanelA_CableHarnessExit
         Tab Name: Render..........................Internal Name: id_TabRender
              Panel Name: Render···················Internal Name: id_PanelA_StudioRender
              Panel Name: Scene····················Internal Name: id_PanelA_StudioScene
              Panel Name: Animate··················Internal Name: id_PanelA_StudioAnimate
              Panel Name: Manage···················Internal Name: id_PanelA_StudioManage
         Tab Name: Exit Studio.....................Internal Name: id_TabRender_Exit
              Panel Name: Exit·····················Internal Name: id_PanelA_StudioExit
         Tab Name: Dynamic Simulation..............Internal Name: id_TabSimulation
              Panel Name: Joint····················Internal Name: id_PanelA_SimulationJoint
              Panel Name: Load·····················Internal Name: id_PanelA_SimulationLoad
              Panel Name: Results··················Internal Name: id_PanelA_SimulationResults
              Panel Name: Animate··················Internal Name: id_PanelA_SimulationAnimate
              Panel Name: Manage···················Internal Name: id_PanelA_SimulationMaterial
              Panel Name: Stress Analysis··········Internal Name: id_PanelA_SimulationExport
         Tab Name: Exit Dynamic Simulation.........Internal Name: id_TabSimulation_Exit
              Panel Name: Exit·····················Internal Name: id_PanelA_SimulationExit
         Tab Name: Return..........................Internal Name: id_TabReturn
              Panel Name: Return···················Internal Name: id_PanelA_AssmReturn
         Tab Name: Stress Analysis.................Internal Name: id_TabAFEA
              Panel Name: Manage···················Internal Name: id_PanelA_AFEAManage
              Panel Name: Material·················Internal Name: id_PanelA_AFEAMaterial
              Panel Name: Constraints··············Internal Name: id_PanelA_AFEAConstraints
              Panel Name: Loads····················Internal Name: id_PanelA_AFEALoads
              Panel Name: Contacts·················Internal Name: id_PanelA_AFEAContacts
              Panel Name: Prepare··················Internal Name: id_PanelA_AFEAPrepare
              Panel Name: Mesh·····················Internal Name: id_PanelA_AFEAMesh
              Panel Name: Solve····················Internal Name: id_PanelA_AFEASolve
              Panel Name: Result···················Internal Name: id_PanelA_AFEAResult
              Panel Name: Display··················Internal Name: id_PanelA_AFEAResultDisplay
              Panel Name: Report···················Internal Name: id_PanelA_AFEAReport
              Panel Name: Guide····················Internal Name: id_PanelA_AFEAGuide
              Panel Name: Settings·················Internal Name: id_PanelA_AFEASettings
         Tab Name: Exit Stress Analysis............Internal Name: id_TabAFEA_Exit
              Panel Name: Exit·····················Internal Name: id_PanelA_AFEAExit
         Tab Name: Frame Analysis..................Internal Name: id_TabIFA
              Panel Name: Manage···················Internal Name: id_PanelA_IFAManage
              Panel Name: Beams····················Internal Name: id_PanelA_IFAProperties
              Panel Name: Constraints··············Internal Name: id_PanelA_IFAConstraints
              Panel Name: Loads····················Internal Name: id_PanelA_IFA_Loads
              Panel Name: Connections··············Internal Name: id_PanelA_IFA_Connections
              Panel Name: Solve····················Internal Name: id_PanelA_IFA_Solve
              Panel Name: Result···················Internal Name: id_PanelA_IFA_Result
              Panel Name: Display··················Internal Name: id_PanelA_IFA_Display
              Panel Name: Publish··················Internal Name: id_PanelA_IFA_Publish
              Panel Name: Settings·················Internal Name: id_PanelA_IFA_Settings
         Tab Name: Exit Frame Analysis.............Internal Name: id_TabIFA_Exit
              Panel Name: Exit·····················Internal Name: id_PanelA_IFAExit
         Tab Name: Inventor Debug..................Internal Name: id_InventorDebugTab

    #################################################################################

    Ribbon Name: Drawing

    Drawing Tabs & Panels...
         Tab Name: Place Views.....................Internal Name: id_TabPlaceViews
              Panel Name: Create···················Internal Name: id_PanelD_PlaceViewsCreate
              Panel Name: Modify···················Internal Name: id_PanelD_PlaceViewsModify
              Panel Name: Sketch···················Internal Name: id_PanelD_Annotate2DSketchCreate
              Panel Name: Sheets···················Internal Name: id_PanelD_PlaceViewsSheets
         Tab Name: Annotate........................Internal Name: id_TabAnnotate
              Panel Name: Dimension················Internal Name: id_PanelD_AnnotateDimension
              Panel Name: Feature Notes············Internal Name: id_PanelD_AnnotateFeatureNotes
              Panel Name: Text·····················Internal Name: id_PanelD_AnnotateText
              Panel Name: Symbols··················Internal Name: id_PanelD_AnnotateSymbols
              Panel Name: Sketch···················Internal Name: id_PanelD_Annotate2DSketchCreate
              Panel Name: Table····················Internal Name: id_PanelD_AnnotateTable
              Panel Name: Format···················Internal Name: id_PanelD_AnnotateFormat
         Tab Name: Annotate (ESKD).................Internal Name: id_TabAnnotateESKD
              Panel Name: Drawing Sheets···········Internal Name: id_PanelD_ESKDDrawingSheets
              Panel Name: Dimension················Internal Name: id_PanelD_ESKDAnnotateDimension
              Panel Name: Feature Notes············Internal Name: id_PanelD_ESKDAnnotateFeatureNotes
              Panel Name: Text·····················Internal Name: id_PanelD_ESKDAnnotateText
              Panel Name: Symbols··················Internal Name: id_PanelD_ESKDAnnotateSymobols
              Panel Name: Sketch···················Internal Name: id_PanelD_ESKD2DSketchCreate
              Panel Name: Table····················Internal Name: id_PanelD_ESKDAnnotateTable
              Panel Name: Format···················Internal Name: id_PanelD_ESKDAnnotateFormat
         Tab Name: Tools...........................Internal Name: id_TabTools
              Panel Name: Measure··················Internal Name: id_PanelD_ToolsMeasure
              Panel Name: Options··················Internal Name: id_PanelP_ToolsOptions
              Panel Name: Clipboard················Internal Name: id_PanelP_ToolsClipboard
         Tab Name: Manage..........................Internal Name: id_TabManage
              Panel Name: Update···················Internal Name: id_PanelP_ToolsUpdate
              Panel Name: Parameters···············Internal Name: id_PanelP_ToolsParameters
              Panel Name: Styles and Standards·····Internal Name: id_PanelD_ToolsStylesAndStandards
              Panel Name: Insert···················Internal Name: id_PanelA_ToolsInsert
              Panel Name: Modify···················Internal Name: id_Panel_ToolsModify
              Panel Name: Define···················Internal Name: id_PanelD_ToolsDefine
              Panel Name: iLogic···················Internal Name: iLogic.RibbonPanel
              Panel Name: Content Center···········Internal Name: id_PanelD_ToolsContentCenter
              Panel Name: Web······················Internal Name: id_PanelP_ToolsWebTools
         Tab Name: View............................Internal Name: id_TabView
              Panel Name: Windows··················Internal Name: id_PanelP_ViewWindow
              Panel Name: Navigate·················Internal Name: id_PanelD_ViewNavigate
         Tab Name: Environments....................Internal Name: id_TabEnvironments
              Panel Name: Begin····················Internal Name: id_Panel_EnvironmentsBegin
              Panel Name: Manage···················Internal Name: id_PanelD_EnvironmentsAddIns
         Tab Name: Nailboard.......................Internal Name: id_TabNailboard
              Panel Name: Create···················Internal Name: id_PanelD_NailboardCreate
              Panel Name: Edit·····················Internal Name: id_PanelD_NailboardEdit
              Panel Name: Dimension················Internal Name: id_PanelD_NailboardDimension
              Panel Name: Manage···················Internal Name: id_PanelD_NailboardManage
         Tab Name: Get Started.....................Internal Name: id_GetStarted
              Panel Name: Launch···················Internal Name: id_Panel_Launch
              Panel Name: New Features·············Internal Name: id_Panel_GetStartedWhatsNew
              Panel Name: Videos and Tutorials·····Internal Name: id_Panel_Tutorial
         Tab Name: Add-Ins.........................Internal Name: id_AddInsTab
         Tab Name: Autodesk 360....................Internal Name: id_OnlineTab
              Panel Name: Access···················Internal Name: id_Panel_OnlineDocument
              Panel Name: Simulation···············Internal Name: id_Panel_Simulation
         Tab Name: Sketch..........................Internal Name: id_TabSketch
              Panel Name: Draw·····················Internal Name: id_PanelD_2DSketchDraw
              Panel Name: Constrain················Internal Name: id_PanelD_2DSketchConstrain
              Panel Name: Pattern··················Internal Name: id_PanelD_2DSketchPattern
              Panel Name: Modify···················Internal Name: id_PanelD_2DSketchModify
              Panel Name: Insert···················Internal Name: id_PanelA_2DSketchInsert
              Panel Name: Format···················Internal Name: id_PanelD_2DSketchFormat
              Panel Name: Measure··················Internal Name: id_PanelD_ToolsMeasure
         Tab Name: Exit 2D Sketch..................Internal Name: id_TabSketch_Exit
              Panel Name: Exit·····················Internal Name: id_PanelD_2DSketchExit
         Tab Name: Exit Tutorial...................Internal Name: id_TabTutorial_Exit
              Panel Name: Exit Tutorial············Internal Name: id_Panel_TutorialExit
         Tab Name: Exit Nailboard Sketch...........Internal Name: id_TabNailboard_Exit
              Panel Name: Exit·····················Internal Name: id_PanelD_NailboardExit
         Tab Name: Review..........................Internal Name: id_TabReview
              Panel Name: Navigate·················Internal Name: id_PanelD_ReviewNavigate
              Panel Name: Create···················Internal Name: id_PanelD_ReviewCreate
              Panel Name: Measure··················Internal Name: id_PanelD_ReviewMeasure
              Panel Name: Print····················Internal Name: id_PanelD_ReviewPrint
              Panel Name: Sheets···················Internal Name: id_PanelD_PlaceViewsSheets
         Tab Name: Exit Review.....................Internal Name: id_TabNailboard_Review
              Panel Name: Exit·····················Internal Name: id_PanelD_ReviewExit
         Tab Name: Return..........................Internal Name: id_TabReturn
              Panel Name: Return···················Internal Name: id_PanelD_DrawingReturn
         Tab Name: Inventor Debug..................Internal Name: id_InventorDebugTab

    #################################################################################

    Ribbon Name: Presentation

    Presentation Tabs & Panels...
         Tab Name: Presentation....................Internal Name: id_TabManage
              Panel Name: Create···················Internal Name: id_PanelPn_PresentationCreate
         Tab Name: Tools...........................Internal Name: id_TabTools
              Panel Name: Options··················Internal Name: id_PanelP_ToolsOptions
              Panel Name: Clipboard················Internal Name: id_PanelP_ToolsClipboard
              Panel Name: Styles and Standards·····Internal Name: id_PanelPn_ToolsStylesAndStandards
              Panel Name: Insert···················Internal Name: id_PanelPn_ToolsManage
              Panel Name: Content Center···········Internal Name: id_PanelPn_ToolsContentCenter
              Panel Name: Web······················Internal Name: id_PanelP_ToolsWebTools
         Tab Name: View............................Internal Name: id_TabView
              Panel Name: Appearance···············Internal Name: id_PanelA_ViewAppearance
              Panel Name: Windows··················Internal Name: id_PanelP_ViewWindow
              Panel Name: Navigate·················Internal Name: id_PanelC_ViewNavigate
         Tab Name: Environments....................Internal Name: id_TabEnvironments
              Panel Name: Begin····················Internal Name: id_Panel_EnvironmentsBegin
              Panel Name: Manage···················Internal Name: id_PanelD_EnvironmentsAddIns
         Tab Name: Get Started.....................Internal Name: id_GetStarted
              Panel Name: Launch···················Internal Name: id_Panel_Launch
              Panel Name: New Features·············Internal Name: id_Panel_GetStartedWhatsNew
              Panel Name: Videos and Tutorials·····Internal Name: id_Panel_Tutorial
         Tab Name: Add-Ins.........................Internal Name: id_AddInsTab
         Tab Name: Return..........................Internal Name: id_TabReturn
              Panel Name: Return···················Internal Name: id_PanelPn_PnReturnPanel
         Tab Name: Inventor Debug..................Internal Name: id_InventorDebugTab
         Tab Name: Exit Tutorial...................Internal Name: id_TabTutorial_Exit
              Panel Name: Exit Tutorial············Internal Name: id_Panel_TutorialExit
         Tab Name: Autodesk 360....................Internal Name: id_OnlineTab
              Panel Name: Access···················Internal Name: id_Panel_OnlineDocument
              Panel Name: Simulation···············Internal Name: id_Panel_Simulation

    #################################################################################

    Ribbon Name: iFeatures

    iFeatures Tabs & Panels...
         Tab Name: iFeature........................Internal Name: id_TabiFeature
              Panel Name: iFeature·················Internal Name: id_PaneliF_iFeaturesIFeature
         Tab Name: Tools...........................Internal Name: id_TabTools
              Panel Name: Options··················Internal Name: id_PanelP_ToolsOptions
              Panel Name: Find·····················Internal Name: id_PanelP_ToolsFind
              Panel Name: Insert···················Internal Name: id_PanelPn_ToolsInsert
              Panel Name: Content Center···········Internal Name: id_PaneliF_ToolsContentCenter
              Panel Name: Web······················Internal Name: id_PanelP_ToolsWebTools
         Tab Name: View............................Internal Name: id_TabView
              Panel Name: Appearance···············Internal Name: id_PaneliF_ViewAppearance
              Panel Name: Windows··················Internal Name: id_PanelP_ViewWindow
              Panel Name: Navigate·················Internal Name: id_PanelC_ViewNavigate
         Tab Name: Environments....................Internal Name: id_TabEnvironments
              Panel Name: Begin····················Internal Name: id_Panel_EnvironmentsBegin
              Panel Name: Manage···················Internal Name: id_PanelD_EnvironmentsAddIns
         Tab Name: Get Started.....................Internal Name: id_GetStarted
              Panel Name: Launch···················Internal Name: id_Panel_Launch
              Panel Name: New Features·············Internal Name: id_Panel_GetStartedWhatsNew
              Panel Name: Videos and Tutorials·····Internal Name: id_Panel_Tutorial
         Tab Name: Add-Ins.........................Internal Name: id_AddInsTab
         Tab Name: Inventor Debug..................Internal Name: id_InventorDebugTab
         Tab Name: Exit Tutorial...................Internal Name: id_TabTutorial_Exit
              Panel Name: Exit Tutorial············Internal Name: id_Panel_TutorialExit
         Tab Name: Autodesk 360....................Internal Name: id_OnlineTab
              Panel Name: Access···················Internal Name: id_Panel_OnlineDocument
              Panel Name: Simulation···············Internal Name: id_Panel_Simulation

    #################################################################################

    Ribbon Name: UnknownDocument

    UnknownDocument Tabs & Panels...
         Tab Name: Custom View.....................Internal Name: id_TabCustomView
              Panel Name: Navigate·················Internal Name: id_PanelU_CustomViewNavigate
              Panel Name: Appearance···············Internal Name: id_PanelU_CustomViewAppearance
              Panel Name: Exit·····················Internal Name: id_PanelU_CustomViewExit
         Tab Name: Engineer's Notebook.............Internal Name: id_TabEngineersNotebook
              Panel Name: Notes····················Internal Name: id_PanelU_EngineersNotebookNotes
              Panel Name: Format···················Internal Name: id_PanelU_EngineersNotebookFormat
              Panel Name: Insert···················Internal Name: id_PanelU_EngineersNotebookInsert
              Panel Name: Exit·····················Internal Name: id_PanelU_NotebookExit
         Tab Name: Tools...........................Internal Name: id_TabEngineersNotebookTools
              Panel Name: Options··················Internal Name: id_PanelP_ToolsOptions
              Panel Name: Clipboard················Internal Name: id_PanelP_ToolsClipboard
              Panel Name: Content Center···········Internal Name: id_PanelU_ToolsContentCenter
              Panel Name: Web······················Internal Name: id_PanelP_ToolsWebTools
         Tab Name: View............................Internal Name: id_TabEngineersNotebookView
              Panel Name: Appearance···············Internal Name: id_PanelU_ViewAppearance
              Panel Name: Windows··················Internal Name: id_PanelP_ViewWindow
              Panel Name: Navigate·················Internal Name: id_PanelC_ViewNavigate
         Tab Name: Get Started.....................Internal Name: id_GetStarted
              Panel Name: Launch···················Internal Name: id_Panel_Launch
              Panel Name: New Features·············Internal Name: id_Panel_GetStartedWhatsNew
              Panel Name: Videos and Tutorials·····Internal Name: id_Panel_Tutorial
         Tab Name: Inventor Debug..................Internal Name: id_InventorDebugTab
         Tab Name: Exit Tutorial...................Internal Name: id_TabTutorial_Exit
              Panel Name: Exit Tutorial············Internal Name: id_Panel_TutorialExit
         Tab Name: Autodesk 360....................Internal Name: id_OnlineTab
              Panel Name: Access···················Internal Name: id_Panel_OnlineDocument
              Panel Name: Simulation···············Internal Name: id_Panel_Simulation