<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Add button too externales rules in Inventor Programming - iLogic, Macros, AddIns &amp; Apprentice</title>
    <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/add-button-too-externales-rules/m-p/12418272#M161002</link>
    <description>&lt;P&gt;Create Button for externales rules&amp;nbsp;&lt;/P&gt;&lt;P&gt;how too access defintions too externales rules&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;Main&lt;/SPAN&gt;()
	&lt;SPAN&gt;AddPanelToToolsTab&lt;/SPAN&gt;()
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;


&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;AddPanelToToolsTab&lt;/SPAN&gt;()
    &lt;SPAN&gt;' Get the ribbon associated with the part document&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPartRibbon&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Ribbon&lt;/SPAN&gt;
    &lt;SPAN&gt;oPartRibbon&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;UserInterfaceManager&lt;/SPAN&gt;.&lt;SPAN&gt;Ribbons&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Part"&lt;/SPAN&gt;)


    &lt;SPAN&gt;' Get the "Tools" tab&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oTab&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;RibbonTab&lt;/SPAN&gt;
     &lt;SPAN&gt;oTab&lt;/SPAN&gt; = &lt;SPAN&gt;oPartRibbon&lt;/SPAN&gt;.&lt;SPAN&gt;RibbonTabs&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"id_TabTools"&lt;/SPAN&gt;)
	
	 &lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;item&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;RibbonPanel&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oTab&lt;/SPAN&gt;.&lt;SPAN&gt;RibbonPanels&lt;/SPAN&gt;
		
		&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;item&lt;/SPAN&gt;.&lt;SPAN&gt;DisplayName&lt;/SPAN&gt; = &lt;SPAN&gt;"Update"&lt;/SPAN&gt;
			&lt;SPAN&gt;oTab&lt;/SPAN&gt;.&lt;SPAN&gt;RibbonPanels&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;item&lt;/SPAN&gt;.&lt;SPAN&gt;InternalName&lt;/SPAN&gt;).&lt;SPAN&gt;Delete&lt;/SPAN&gt;

		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt; 
		
	 &lt;SPAN&gt;Next&lt;/SPAN&gt; 
	 

    &lt;SPAN&gt;' Create a panel named "Update", positioned after the "Measure" panel in the Tools tab.&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPanel&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;RibbonPanel&lt;/SPAN&gt;
    &lt;SPAN&gt;oPanel&lt;/SPAN&gt; = &lt;SPAN&gt;oTab&lt;/SPAN&gt;.&lt;SPAN&gt;RibbonPanels&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;"Update"&lt;/SPAN&gt;, &lt;SPAN&gt;"ToolsTabUpdatePanel"&lt;/SPAN&gt;, &lt;SPAN&gt;"SampleClientId"&lt;/SPAN&gt;, &lt;SPAN&gt;"id_PanelP_ToolsMeasure"&lt;/SPAN&gt;)
	
	

    &lt;SPAN&gt;' Get the update commands&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDef1&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ButtonDefinition&lt;/SPAN&gt;
    &lt;SPAN&gt;oDef1&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;CommandManager&lt;/SPAN&gt;.&lt;SPAN&gt;ControlDefinitions&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"AppLocalUpdateCmd"&lt;/SPAN&gt;)

    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDef2&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ButtonDefinition&lt;/SPAN&gt;
     &lt;SPAN&gt;oDef2&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;CommandManager&lt;/SPAN&gt;.&lt;SPAN&gt;ControlDefinitions&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"AppUpdateMassPropertiesCmd"&lt;/SPAN&gt;)

    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDefs&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ObjectCollection&lt;/SPAN&gt;
    &lt;SPAN&gt;oDefs&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;TransientObjects&lt;/SPAN&gt;.&lt;SPAN&gt;CreateObjectCollection&lt;/SPAN&gt;

    &lt;SPAN&gt;oDefs&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;oDef1&lt;/SPAN&gt;)
    &lt;SPAN&gt;oDefs&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;oDef2&lt;/SPAN&gt;)

    &lt;SPAN&gt;' Create a split button control&lt;/SPAN&gt;
    &lt;SPAN&gt;Call&lt;/SPAN&gt; &lt;SPAN&gt;oPanel&lt;/SPAN&gt;.&lt;SPAN&gt;CommandControls&lt;/SPAN&gt;.&lt;SPAN&gt;AddSplitButton&lt;/SPAN&gt;(&lt;SPAN&gt;oDef1&lt;/SPAN&gt;, &lt;SPAN&gt;oDefs&lt;/SPAN&gt;, &lt;SPAN&gt;True&lt;/SPAN&gt;)
	
	

    &lt;SPAN&gt;' Get the rebuild command&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDef3&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ButtonDefinition&lt;/SPAN&gt;
    &lt;SPAN&gt;oDef3&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;CommandManager&lt;/SPAN&gt;.&lt;SPAN&gt;ControlDefinitions&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"AppRebuildAllWrapperCmd"&lt;/SPAN&gt;)

    &lt;SPAN&gt;' Create a button control&lt;/SPAN&gt;
    &lt;SPAN&gt;Call&lt;/SPAN&gt; &lt;SPAN&gt;oPanel&lt;/SPAN&gt;.&lt;SPAN&gt;CommandControls&lt;/SPAN&gt;.&lt;SPAN&gt;AddButton&lt;/SPAN&gt;(&lt;SPAN&gt;oDef3&lt;/SPAN&gt;, &lt;SPAN&gt;True&lt;/SPAN&gt;)
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 04 Dec 2023 14:20:08 GMT</pubDate>
    <dc:creator>JMGunnar</dc:creator>
    <dc:date>2023-12-04T14:20:08Z</dc:date>
    <item>
      <title>Add button too externales rules</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/add-button-too-externales-rules/m-p/12418272#M161002</link>
      <description>&lt;P&gt;Create Button for externales rules&amp;nbsp;&lt;/P&gt;&lt;P&gt;how too access defintions too externales rules&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;Main&lt;/SPAN&gt;()
	&lt;SPAN&gt;AddPanelToToolsTab&lt;/SPAN&gt;()
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;


&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;AddPanelToToolsTab&lt;/SPAN&gt;()
    &lt;SPAN&gt;' Get the ribbon associated with the part document&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPartRibbon&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Ribbon&lt;/SPAN&gt;
    &lt;SPAN&gt;oPartRibbon&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;UserInterfaceManager&lt;/SPAN&gt;.&lt;SPAN&gt;Ribbons&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Part"&lt;/SPAN&gt;)


    &lt;SPAN&gt;' Get the "Tools" tab&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oTab&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;RibbonTab&lt;/SPAN&gt;
     &lt;SPAN&gt;oTab&lt;/SPAN&gt; = &lt;SPAN&gt;oPartRibbon&lt;/SPAN&gt;.&lt;SPAN&gt;RibbonTabs&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"id_TabTools"&lt;/SPAN&gt;)
	
	 &lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;item&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;RibbonPanel&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oTab&lt;/SPAN&gt;.&lt;SPAN&gt;RibbonPanels&lt;/SPAN&gt;
		
		&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;item&lt;/SPAN&gt;.&lt;SPAN&gt;DisplayName&lt;/SPAN&gt; = &lt;SPAN&gt;"Update"&lt;/SPAN&gt;
			&lt;SPAN&gt;oTab&lt;/SPAN&gt;.&lt;SPAN&gt;RibbonPanels&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;item&lt;/SPAN&gt;.&lt;SPAN&gt;InternalName&lt;/SPAN&gt;).&lt;SPAN&gt;Delete&lt;/SPAN&gt;

		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt; 
		
	 &lt;SPAN&gt;Next&lt;/SPAN&gt; 
	 

    &lt;SPAN&gt;' Create a panel named "Update", positioned after the "Measure" panel in the Tools tab.&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPanel&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;RibbonPanel&lt;/SPAN&gt;
    &lt;SPAN&gt;oPanel&lt;/SPAN&gt; = &lt;SPAN&gt;oTab&lt;/SPAN&gt;.&lt;SPAN&gt;RibbonPanels&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;"Update"&lt;/SPAN&gt;, &lt;SPAN&gt;"ToolsTabUpdatePanel"&lt;/SPAN&gt;, &lt;SPAN&gt;"SampleClientId"&lt;/SPAN&gt;, &lt;SPAN&gt;"id_PanelP_ToolsMeasure"&lt;/SPAN&gt;)
	
	

    &lt;SPAN&gt;' Get the update commands&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDef1&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ButtonDefinition&lt;/SPAN&gt;
    &lt;SPAN&gt;oDef1&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;CommandManager&lt;/SPAN&gt;.&lt;SPAN&gt;ControlDefinitions&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"AppLocalUpdateCmd"&lt;/SPAN&gt;)

    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDef2&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ButtonDefinition&lt;/SPAN&gt;
     &lt;SPAN&gt;oDef2&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;CommandManager&lt;/SPAN&gt;.&lt;SPAN&gt;ControlDefinitions&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"AppUpdateMassPropertiesCmd"&lt;/SPAN&gt;)

    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDefs&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ObjectCollection&lt;/SPAN&gt;
    &lt;SPAN&gt;oDefs&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;TransientObjects&lt;/SPAN&gt;.&lt;SPAN&gt;CreateObjectCollection&lt;/SPAN&gt;

    &lt;SPAN&gt;oDefs&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;oDef1&lt;/SPAN&gt;)
    &lt;SPAN&gt;oDefs&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;oDef2&lt;/SPAN&gt;)

    &lt;SPAN&gt;' Create a split button control&lt;/SPAN&gt;
    &lt;SPAN&gt;Call&lt;/SPAN&gt; &lt;SPAN&gt;oPanel&lt;/SPAN&gt;.&lt;SPAN&gt;CommandControls&lt;/SPAN&gt;.&lt;SPAN&gt;AddSplitButton&lt;/SPAN&gt;(&lt;SPAN&gt;oDef1&lt;/SPAN&gt;, &lt;SPAN&gt;oDefs&lt;/SPAN&gt;, &lt;SPAN&gt;True&lt;/SPAN&gt;)
	
	

    &lt;SPAN&gt;' Get the rebuild command&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDef3&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ButtonDefinition&lt;/SPAN&gt;
    &lt;SPAN&gt;oDef3&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;CommandManager&lt;/SPAN&gt;.&lt;SPAN&gt;ControlDefinitions&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"AppRebuildAllWrapperCmd"&lt;/SPAN&gt;)

    &lt;SPAN&gt;' Create a button control&lt;/SPAN&gt;
    &lt;SPAN&gt;Call&lt;/SPAN&gt; &lt;SPAN&gt;oPanel&lt;/SPAN&gt;.&lt;SPAN&gt;CommandControls&lt;/SPAN&gt;.&lt;SPAN&gt;AddButton&lt;/SPAN&gt;(&lt;SPAN&gt;oDef3&lt;/SPAN&gt;, &lt;SPAN&gt;True&lt;/SPAN&gt;)
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 04 Dec 2023 14:20:08 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/add-button-too-externales-rules/m-p/12418272#M161002</guid>
      <dc:creator>JMGunnar</dc:creator>
      <dc:date>2023-12-04T14:20:08Z</dc:date>
    </item>
    <item>
      <title>Re: Add button too externales rules</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/add-button-too-externales-rules/m-p/12418423#M161008</link>
      <description>&lt;P&gt;Which version of Inventor are you using?&amp;nbsp; If 2024, then when iterating through the ControlDefinitions, you will see some with the name starts with "iLogic.Rule:", followed by the name of the external rule file, and file extension.&amp;nbsp; That is the name of the ControlDefinition that the button will execute when clicked.&amp;nbsp; And if adding the rule as a button using an iLogic rule, it may only stay there for the current session of Inventor, then it will be gone again.&amp;nbsp; If you want the buttons to stay, you will want to add them manually, or use an add-in which puts them in place when Inventor starts.&amp;nbsp; And I usually just get the ClientID of he iLogic ApplicationAddIn to use there, instead of "SampleClientID", when it is just for iLogic related stuff.&lt;/P&gt;</description>
      <pubDate>Mon, 04 Dec 2023 15:09:32 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/add-button-too-externales-rules/m-p/12418423#M161008</guid>
      <dc:creator>WCrihfield</dc:creator>
      <dc:date>2023-12-04T15:09:32Z</dc:date>
    </item>
    <item>
      <title>Re: Add button too externales rules</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/add-button-too-externales-rules/m-p/12419053#M161025</link>
      <description>Thanks &lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/7812054"&gt;@WCrihfield&lt;/a&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 04 Dec 2023 19:39:14 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/add-button-too-externales-rules/m-p/12419053#M161025</guid>
      <dc:creator>JMGunnar</dc:creator>
      <dc:date>2023-12-04T19:39:14Z</dc:date>
    </item>
  </channel>
</rss>

